/**
* @return string
*/
- public function getName(){
+ public function getName()
+ {
return $this->getAttribute('name');
}
use Backpack\CRUD\app\Http\Controllers\Operations\BulkCloneOperation;
use Backpack\CRUD\app\Http\Controllers\Operations\BulkDeleteOperation;
use Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation;
+use Cubist\Backpack\Magic\Fields\Files;
use Cubist\Backpack\Magic\Operations\CreateOperation;
use Backpack\CRUD\app\Http\Controllers\Operations\DeleteOperation;
use Cubist\Backpack\Magic\Operations\UpdateOperation;
return $type;
}
+ public function registerMediaCollections(): void
+ {
+ foreach ($this->getFields() as $field) {
+ if ($field instanceof Files && $field->getAttribute('name_as_collection', false)) {
+ $this->addMediaCollection($field->getAttribute('name'))
+ ->onlyKeepLatest($field->getAttribute('maxFiles'));
+ }
+ }
+ }
+
public function registerMediaConversions(Media $media = null): void
{
$this->addMediaConversion('backpack_thumb')
if ($preserveOriginal) {
$media->preservingOriginal();
}
- $media->toMediaCollection($collection);
+
$col = $this->getMediaCollection($collection);
if ($col) {
- $col->onlyKeepLatest($field->getAttribute('maxFiles'));
+ $maxFiles = $field->getAttribute('maxFiles');
+ $col->onlyKeepLatest($maxFiles);
}
+
+ $media->toMediaCollection($collection);
+
if ($save) {
$this->save();
}
+@extends(backpack_view('blank'))
+
@include('cubist_back::when')
-@include('crud::create')
+
+@php
+ $defaultBreadcrumbs = [
+ trans('backpack::crud.admin') => url(config('backpack.base.route_prefix'), 'dashboard'),
+ $crud->entity_name_plural => url($crud->route),
+ trans('backpack::crud.add') => false,
+ ];
+
+ // if breadcrumbs aren't defined in the CrudController, use the default breadcrumbs
+ $breadcrumbs = $breadcrumbs ?? $defaultBreadcrumbs;
+@endphp
+
+@section('header')
+ <section class="container-fluid">
+ <h2>
+ <span class="text-capitalize">{!! $crud->getHeading() ?? $crud->entity_name_plural !!}</span>
+ <small>{!! $crud->getSubheading() ?? trans('backpack::crud.add').' '.$crud->entity_name !!}.</small>
+
+ @if ($crud->hasAccess('list'))
+ <small><a href="{{ url($crud->route) }}" class="hidden-print font-sm"><i class="la la-angle-double-{{ config('backpack.base.html_direction') == 'rtl' ? 'right' : 'left' }}"></i> {{ trans('backpack::crud.back_to_all') }} <span>{{ $crud->entity_name_plural }}</span></a></small>
+ @endif
+ </h2>
+ </section>
+@endsection
+
+@section('content')
+
+ <div class="row">
+ <div class="{{ $crud->getCreateContentClass() }}">
+ <!-- Default box -->
+
+ @include('crud::inc.grouped_errors')
+
+ <form method="post"
+ action="{{ url($crud->route) }}"
+ @if ($crud->hasUploadFields('create'))
+ enctype="multipart/form-data"
+ @endif
+ >
+ {!! csrf_field() !!}
+ <!-- load the view from the application if it exists, otherwise load the one in the package -->
+ @if(view()->exists('vendor.backpack.crud.form_content'))
+ @include('vendor.backpack.crud.form_content', [ 'fields' => $crud->fields(), 'action' => 'create' ])
+ @else
+ @include('crud::form_content', [ 'fields' => $crud->fields(), 'action' => 'create' ])
+ @endif
+
+ @include('crud::inc.form_save_buttons')
+ </form>
+ </div>
+ @include('cubist_back::form.shortcuts')
+ </div>
+
+@endsection
+
+@extends(backpack_view('blank'))
+
@push('crud_fields_scripts')
<script>
jQuery(document).ready(function ($) {
@endpush
@include('cubist_back::when')
-@include('crud::edit')
+
+
+@php
+ $defaultBreadcrumbs = [
+ trans('backpack::crud.admin') => backpack_url('dashboard'),
+ $crud->entity_name_plural => url($crud->route),
+ trans('backpack::crud.edit') => false,
+ ];
+
+ // if breadcrumbs aren't defined in the CrudController, use the default breadcrumbs
+ $breadcrumbs = $breadcrumbs ?? $defaultBreadcrumbs;
+@endphp
+
+@section('header')
+ <section class="container-fluid">
+ <h2>
+ <span class="text-capitalize">{!! $crud->getHeading() ?? $crud->entity_name_plural !!}</span>
+ <small>{!! $crud->getSubheading() ?? trans('backpack::crud.edit').' '.$crud->entity_name !!}.</small>
+
+ @if ($crud->hasAccess('list'))
+ <small><a href="{{ url($crud->route) }}" class="hidden-print font-sm"><i class="la la-angle-double-{{ config('backpack.base.html_direction') == 'rtl' ? 'right' : 'left' }}"></i> {{ trans('backpack::crud.back_to_all') }} <span>{{ $crud->entity_name_plural }}</span></a></small>
+ @endif
+ </h2>
+ </section>
+@endsection
+
+@section('content')
+ <div class="row">
+ <div class="{{ $crud->getEditContentClass() }}">
+ <!-- Default box -->
+
+ @include('crud::inc.grouped_errors')
+
+ <form method="post"
+ action="{{ url($crud->route.'/'.$entry->getKey()) }}"
+ @if ($crud->hasUploadFields('update', $entry->getKey()))
+ enctype="multipart/form-data"
+ @endif
+ >
+ {!! csrf_field() !!}
+ {!! method_field('PUT') !!}
+
+ @if ($crud->model->translationEnabled())
+ <div class="mb-2 text-right">
+ <!-- Single button -->
+ <div class="btn-group">
+ <button type="button" class="btn btn-sm btn-primary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+ {{trans('backpack::crud.language')}}: {{ $crud->model->getAvailableLocales()[request()->input('locale')?request()->input('locale'):App::getLocale()] }} <span class="caret"></span>
+ </button>
+ <ul class="dropdown-menu">
+ @foreach ($crud->model->getAvailableLocales() as $key => $locale)
+ <a class="dropdown-item" href="{{ url($crud->route.'/'.$entry->getKey().'/edit') }}?locale={{ $key }}">{{ $locale }}</a>
+ @endforeach
+ </ul>
+ </div>
+ </div>
+ @endif
+ <!-- load the view from the application if it exists, otherwise load the one in the package -->
+ @if(view()->exists('vendor.backpack.crud.form_content'))
+ @include('vendor.backpack.crud.form_content', ['fields' => $crud->fields(), 'action' => 'edit'])
+ @else
+ @include('crud::form_content', ['fields' => $crud->fields(), 'action' => 'edit'])
+ @endif
+
+ @include('crud::inc.form_save_buttons')
+ </form>
+ </div>
+ @include('cubist_back::form.shortcuts')
+ </div>
+@endsection
+
height: 26px;
color: #fff;
text-align: center;
- font-weight: 400;
font-size: 14px;
line-height: 1em;
padding-top: 6px;
<div class="card">
<div class="card-body row">
@include('crud::fields.inc.wrapper_start')
-<h3 id="{{$field['name']}}">{{$field['label']}}</h3>
+<h3 id="s_{{$field['name']}}">{{$field['label']}}</h3>
@include('crud::fields.inc.wrapper_end')
+
+@push('form_shortcuts')
+ <a href="#s_{{$field['name']}}">{{$field['label']}}</a>
+@endpush
--- /dev/null
+@section('form_shortcut_m')
+ @stack('form_shortcuts')
+@endsection
+
+@hasSection('form_shortcut_m')
+ <style type="text/css">
+ #form_shortcuts {
+ position: sticky;
+ top: 30px;
+ }
+
+ #form_shortcuts .card {
+ padding: 30px;
+ }
+
+ #form_shortcuts a {
+ display: block;
+ font-size: 120%;
+ font-weight: 500;
+ }
+ </style>
+ <div class="col-md-4">
+ <aside id="form_shortcuts">
+ <div class="card">
+ <nav>
+ @yield('form_shortcut_m')
+ </nav>
+ </div>
+ </aside>
+ </div>
+@endif