define(); return $content ->header(admin_trans_label('Extensions')) ->description(trans('admin.list')) ->body($this->grid()); } /** * @return \Illuminate\Http\JsonResponse */ public function import() { $extension = request('id'); if (!$extension) { return response()->json(['status' => false, 'messages' => 'Invalid extension hash.']); } $box = Box::make("admin:import $extension") ->content(Terminal::call('admin:import', ['extension' => $extension, '--force' => '1'])) ->style('default') ->collapsable() ->removable(); return response()->json(['status' => true, 'content' => $box->render()]); } /** * @return \Illuminate\Http\JsonResponse */ public function create() { $name = request('name'); $namespace = trim(request('namespace'), '\\'); $box = Box::make("admin:extend $name --namespace=$namespace") ->content(Terminal::call('admin:extend', ['extension' => $name, '--namespace' => $namespace])) ->style('default') ->collapsable() ->removable(); return response()->json(['status' => true, 'content' => $box->render()]); } /** * Make a grid builder. * * @return Grid */ protected function grid() { $grid = new Grid(new Extension()); $grid->disablePagination(); $grid->disableCreateButton(); $grid->disableQuickCreateButton(); $grid->disableDeleteButton(); $grid->disableBatchDelete(); $grid->disableFilterButton(); $grid->disableFilter(); $grid->disableQuickEditButton(); $grid->disableEditButton(); $grid->disableDeleteButton(); $grid->disableViewButton(); $grid->actions(function (Grid\Displayers\Actions $actions) { $actions->append(new ImportButton($this)); }); $grid->tools(function (Grid\Tools $tools) { $tools->append(new BuildExtensionButton()); }); $grid->number(); $grid->name; $grid->version; $grid->alias; $grid->description ->if(function () { return mb_strlen($this->description) > 14; }) ->limit(14) ->expand(function ($expand) { if (!$this->description) { return; } return "
{$item['email']}>";
}
return implode('