<?php /* * Describe you custom displays, columns and form items here. * * Display::register('customDisplay', '\Foo\Bar\MyCustomDisplay'); * * Column::register('customColumn', '\Foo\Bar\MyCustomColumn'); * * FormItem::register('customElement', \Foo\Bar\MyCustomElement::class); * */ // Column::register('imageColumn', ImageColumn::class); FormItem::register('textList', TextList::class); FormItem::register('galleryList', GalleryList::class); FormItem::register('jsonField', JsonField::class); FormItem::register('color', ColorField::class); Column::register('color', ColorColumn::class);
* return 'My custom element code'; * }); */ use SleepingOwl\Admin\Columns\Column\BaseColumn; class LinkColumn extends BaseColumn { public function render($instance, $totalCount) { $content = $instance->codigo; return '<td><a href="/orden?codigo=' . $content . '" target="_blank">Link</a></td>'; } } Column::register('Link', 'LinkColumn'); FormItem::register('archivosSelector', function (\Eloquent $model) { $archivos = Storage::directories('archivos-imprentas'); $archivos_seleccionados = explode(",", $model->archivos); $salida = '<div class="form-group"><label for="archivos_s">Archivos</label><div> <select class=" multiselect form-control" size="2" data-select-type="multiple" multiple="multiple" id="archivos_s[]" name="archivos_s"> '; foreach ($archivos as $archivo) { $archivo = str_replace('archivos-imprentas/', '', $archivo); $sel = in_array($archivo, $archivos_seleccionados) ? ' selected="selected" ' : ''; $salida .= '<option ' . $sel . '>' . $archivo . '</option>'; } $salida .= '</select></div></div>'; return $salida; }); FormItem::register('archivosHidden', function (\Eloquent $model) { AssetManager::addScript(URL::asset('js/archivos.js')); return '<input type="hidden" name="archivos" id="archivos" value="' . $model->archivos . '">'; });
* * FormItem::register('customElement', \Foo\Bar\MyCustomElement::class); * * FormItem::register('otherCustomElement', function (\Eloquent $model) * { * AssetManager::addStyle(URL::asset('css/style-to-include-on-page-with-this-element.css')); * AssetManager::addScript(URL::asset('js/script-to-include-on-page-with-this-element.js')); * if ($model->exists) * { * return 'My edit code.'; * } * return 'My custom element code'; * }); */ FormItem::register('CustomImagenNoticia', function (\Eloquent $model) { $img = $model->imagen(); if ($img) { $imghtml = "<div><img width='25%' src='" . URL::to('noticias') . "/" . $model->id . "/imagen'></div>"; } else { $imghtml = ""; } return '<div class="form-group">' . $imghtml . '<label for="imagen">Imagen (1600px x 550px)</label><input class="form-control" accept=".jpg,.png,.gif" type="file" name="imagen"></div>'; }); FormItem::register('CustomCV', function (\Eloquent $model) { $archivo = $model->archivo(); if ($archivo) { return '<div class="form-group"><a href="' . URL::to('curriculum') . "/" . $model->id . "/descargar" . '">Descargar CV adjunto</a></div>'; } else { return '<div class="form-group">No hay CV adjunto</a></div>'; } });
foreach ($listas as $lista) { $options .= "<option value='" . $lista->lista . "'>" . $lista->lista . "</option>"; } return '<div class="form-group"><label for="lista">Lista</label><select class="form-control" name="lista">' . $options . '</select></div>'; }); FormItem::register('CustomAccesorioCategoria', function (\Eloquent $model) { return '<div class="form-group"><label for="categoria">Categoría</label><select class="form-control" name="categoria"> <option value=""></option> <option value="Agujas">Agujas</option> <option value="Otros">Otros</option> </select></div>'; }); FormItem::register('CustomAccesorioTipo', function (\Eloquent $model) { return '<div class="form-group"><label for="tipo">Tipo</label><select class="form-control" name="tipo"> <option value=""></option> <option value="Crochet">Crochet</option> <option value="Tricot">Tricot</option> <option value="Otros">Otros</option> </select></div>'; }); class EstadoColumn extends BaseColumn { public function render($instance, $totalCount) { $estados = ['P' => 'Pendiente', 'I' => 'Ingresado', 'C' => 'Cancelado']; $clases = ['P' => 'success', 'I' => 'info', 'C' => 'danger']; $content = $estados[$instance->estado]; return "<td class='" . $clases[$instance->estado] . " text-center' valign='middle'>" . $content . "</td>"; } } Column::register('Estado', 'EstadoColumn');
<?php /* * Describe you custom columns and form items here. * * There is some simple examples what you can use: * * Column::register('customColumn', '\Foo\Bar\MyCustomColumn'); * * FormItem::register('customElement', \Foo\Bar\MyCustomElement::class); * * FormItem::register('otherCustomElement', function (\Eloquent $model) * { * AssetManager::addStyle(URL::asset('css/style-to-include-on-page-with-this-element.css')); * AssetManager::addScript(URL::asset('js/script-to-include-on-page-with-this-element.js')); * if ($model->exists) * { * return 'My edit code.'; * } * return 'My custom element code'; * }); */ FormItem::register('descriptions', App\AdminCustom\Forms\LanguagesFields::class); FormItem::register('images', App\AdminCustom\Forms\ImagesFields::class); FormItem::register('items', App\AdminCustom\Forms\Order\Items::class); Column::register('image', App\AdminCustom\Column\ImageColumn::class); AdminRouter::get('/customer/photo/{id}/delete', 'App\\Http\\Controllers\\AjaxController@deletePhoto');