D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
tattooscyy
/
test
/
vendor
/
yajra
/
laravel-datatables-oracle
/
src
/
Html
/
Filename :
Column.php
back
Copy
<?php namespace Yajra\Datatables\Html; use Illuminate\Support\Fluent; /** * Class Column. * * @package Yajra\Datatables\Html * @see https://datatables.net/reference/option/ for possible columns option * @author Arjay Angeles <aqangeles@gmail.com> */ class Column extends Fluent { /** * @param array $attributes */ public function __construct($attributes = []) { $attributes['orderable'] = isset($attributes['orderable']) ? $attributes['orderable'] : true; $attributes['searchable'] = isset($attributes['searchable']) ? $attributes['searchable'] : true; $attributes['exportable'] = isset($attributes['exportable']) ? $attributes['exportable'] : true; $attributes['printable'] = isset($attributes['printable']) ? $attributes['printable'] : true; $attributes['footer'] = isset($attributes['footer']) ? $attributes['footer'] : ''; // Allow methods override attribute value foreach ($attributes as $attribute => $value) { $method = 'parse' . ucfirst(strtolower($attribute)); if (method_exists($this, $method)) { $attributes[$attribute] = $this->$method($value); } } parent::__construct($attributes); } /** * Parse render attribute. * * @param mixed $value * @return string|null */ public function parseRender($value) { /** @var \Illuminate\Contracts\View\Factory $view */ $view = app('view'); $parameters = []; if (is_array($value)) { $parameters = array_except($value, 0); $value = $value[0]; } if (is_callable($value)) { return $value($parameters); } elseif ($view->exists($value)) { return $view->make($value)->with($parameters)->render(); } return $value ? $this->parseRenderAsString($value) : null; } /** * Display render value as is. * * @param mixed $value * @return string */ private function parseRenderAsString($value) { return "function(data,type,full,meta){return $value;}"; } }