SleepingOwlAdmin

Колонки таблицы

Расширение для класса отображения данных

Введение

Данные классы предназначены для добавления редактируемых колонок в таблицу. Данные колонки реализованы с помощь библиотеки X-editable v1.5.1

Пример использования

...
use AdminColumnEditable;
...

AdminDisplay::table()
    ->setColumns([
        AdminColumnEditable::text('name')->setLabel('Название'),       
        AdminColumnEditable::textarea('content')->setLabel('Описание'),       
        AdminColumnEditable::select('category_id')->setWidth('250px')
                        ->setModelForOptions(new Category)
                        ->setLabel('Категория')
                        ->setDisplay('name')
                        ->setLoadOptionsQueryPreparer(function($element, $query) {
                            return $query->MyScoupe();
                        })->setTitle('Выберите категорию:'),

        AdminColumnEditable::checkbox('visible')->setLabel('Отображение')->setWidth('30px'),

    ])
...

Класс SleepingOwl\Admin\Display\TableColumn, от которого наследуются все столбцы, реализует интерфейсы Illuminate\Contracts\Support\Arrayable, Illuminate\Contracts\Support\Renderable и SleepingOwl\Admin\Contracts\Initializable.

Поддерживаемые типы

Заголовок столбца

Каждый столбец таблицы имеет заголовок и хранится в виде отдельного класса SleepingOwl\Admin\Contracts\Display\TableHeaderColumnInterface.

Пример работы с заголовком

...
    ->setColumns([
        ...
        AdminColumn::link('title')->setLabel('Title')->setOrderable(false),
        ...
    ]);

Или работая напрямую с классом заголовка

...
    ->setColumns([
        ...
        $link = AdminColumn::link('title')
        ...
    ]);

    $link->getHeader()
        ->setTitle('Title')
        ->setOrderable(false)
        ->setHtmlAttribute('class', 'bg-success text-center')
        ->setHtmlAttribute('data-tooltip', 'Test tooltip');

API

Методы доступные во всех элементах

Во всех Editable элементах доступны методы обычных столбцов таблиц

Помимо этого существуют специальные методы.

setUrl

Вы можете установить свой url для отправки данных и принятия их в Кастом контроллере

SleepingOwl\Admin\Display\Column\Editable\Checkbox::setUrl(string $url): return self

setTitle

Установка сообщения в форме редактирования значения.

SleepingOwl\Admin\Display\Column\Editable\Checkbox::setTitle(string $title): return self

setEditableMode

Устанавливает способ появления формы редактирования. Внутри ячейки - 'inline' или по умолчанию во всплывающем окне - 'popup'

SleepingOwl\Admin\Display\Column\Editable\Checkbox::setEditableMode(string $mode): return self

CheckBox Editable

SleepingOwl\Admin\Display\Column\Editable\Checkbox Данный элемент позволяет меняеть значение столбцов типа boolean прямо в таблице.

AdminColumnEditable::checkbox('visible')->setLabel('Отображение'),
//or
AdminColumnEditable::checkbox('visible','Видно', 'Не видно')->setLabel('Отображение'),

setCheckedLabel

Отображаемый текст в таблице при значении True

SleepingOwl\Admin\Display\Column\Editable\Checkbox::setCheckedLabel(string $label): return self

setUncheckedLabel

Отображаемый текст в таблице при значении False

SleepingOwl\Admin\Display\Column\Editable\Checkbox::setUncheckedLabel(string $label): return self

Text Editable

SleepingOwl\Admin\Display\Column\Editable\Text Данный элемент позволяет менять текстовое значение прямо в таблице.

AdminColumnEditable::text('name')->setLabel('Имя'),

Textarea Editable

SleepingOwl\Admin\Display\Column\Editable\Textarea Данный элемент позволяет менять текстовое значение прямо в таблице. В форме редактирования появится textarea.

AdminColumnEditable::textarea('description')->setLabel('Описание'),