baseCRUD() ->headerToolbar([ $this->createButton(true, 'lg'), 'bulkActions', amis('reload')->align('right'), amis('filter-toggler')->align('right'), ]) ->filterTogglable(false) ->columns([ TableColumn::make()->label('ID')->name('id')->sortable(true), TableColumn::make()->label(__('admin.admin_role.name'))->name('name'), TableColumn::make()->label(__('admin.admin_role.slug'))->name('slug')->type('tag'), TableColumn::make()->label(__('admin.created_at'))->name('created_at')->type('datetime')->sortable(true), TableColumn::make()->label(__('admin.updated_at'))->name('updated_at')->type('datetime')->sortable(true), Operation::make()->label(__('admin.actions'))->buttons([ $this->rowEditButton(true, 'lg'), $this->rowDeleteButton()->visibleOn('${slug != "administrator"}'), ]), ]); return $this->baseList($crud); } public function form(): Form { return $this->baseForm()->body([ TextControl::make()->label(__('admin.admin_role.name'))->name('name')->required(true)->size('lg'), TextControl::make() ->label(__('admin.admin_role.slug')) ->name('slug') ->description(__('admin.admin_role.slug_description')) ->required(true)->size('lg'), CheckboxesControl::make() ->name('permissions') ->label(__('admin.admin_role.permissions')) ->options(AdminPermissionService::make()->getTree()) // ->checkAll(true) ->labelField('name') ->valueField('id') ->joinValues(false) ->extractValue(true) // TreeSelectControl::make() // ->name('permissions') // ->label(__('admin.admin_role.permissions')) // ->multiple(true) // ->options(AdminPermissionService::make()->getTree()) // ->searchable(true) // ->labelField('name') // ->valueField('id') // ->autoCheckChildren(false) // ->joinValues(false) // ->extractValue(true), ]); } public function detail(): Form { return $this->baseDetail()->body([]); } }