From 0ad31dac1999bd66a94375c92a49c02beca3583d Mon Sep 17 00:00:00 2001 From: Ludovic CANDELLIER Date: Mon, 29 Jun 2020 00:15:19 +0200 Subject: [PATCH] Datatables new layout --- app/DataTables/ParentDataTable.php | 48 +++++++++++++------ .../ArticleAttributeFamilies/list.blade.php | 4 +- .../ArticleAttributeValues/list.blade.php | 4 +- .../Shop/Admin/ArticleFamilies/list.blade.php | 4 +- .../views/Shop/Admin/Articles/list.blade.php | 4 +- .../Shop/Admin/Categories/list.blade.php | 12 ++--- .../views/Shop/Admin/TagGroups/list.blade.php | 4 +- .../views/Shop/Admin/Tags/list.blade.php | 4 +- resources/views/components/card.blade.php | 24 ++++++++++ .../views/components/datatable.blade.php | 13 ++--- .../datatables/buttons/add.blade.php | 10 ++++ .../datatables/buttons/exports.blade.php | 14 ++++++ .../datatables/buttons/filters.blade.php | 4 ++ .../components/datatables/header.blade.php | 11 +++++ .../components/datatables/search.blade.php | 19 ++++++++ 15 files changed, 136 insertions(+), 43 deletions(-) create mode 100644 resources/views/components/card.blade.php create mode 100644 resources/views/components/datatables/buttons/add.blade.php create mode 100644 resources/views/components/datatables/buttons/exports.blade.php create mode 100644 resources/views/components/datatables/buttons/filters.blade.php create mode 100644 resources/views/components/datatables/header.blade.php create mode 100644 resources/views/components/datatables/search.blade.php diff --git a/app/DataTables/ParentDataTable.php b/app/DataTables/ParentDataTable.php index 98474a74..2a546aea 100644 --- a/app/DataTables/ParentDataTable.php +++ b/app/DataTables/ParentDataTable.php @@ -35,7 +35,9 @@ class ParentDataTable extends DataTable public function getHtmlButtons() { $buttons = ''; + // $buttons .= ''; + // $buttons .= ''; $buttons .= ''; $buttons .= ''; return $buttons; @@ -47,7 +49,7 @@ class ParentDataTable extends DataTable ->exportable(false) ->printable(false) ->searchable(false) - ->width(80) + ->width(120) ->addClass('text-center'); } @@ -87,32 +89,50 @@ class ParentDataTable extends DataTable ->minifiedAjax() ->dom($this->getDom()) ->orderBy(0,'asc') - ->buttons($this->getDatatablesButtons()); + ->buttons( + Button::make('export'), + Button::make('print') + ); } public function getParameters() { - return []; - } - - public function getDatatablesButtons() - { - $buttons = []; - $buttons[] = Button::make('export'); - $buttons[] = Button::make('print'); - return $buttons; + return [ + 'pageLength' => 10 + ]; } public function getDom() { - $dom = $this->getDatatablesHeaderDefault(); - $dom .= "rt"; + $dom = ''; + // $dom .= $this->getDatatablesHeaderDefault(); + $dom .= "tr"; $dom .= $this->getDatatablesFooterDefault(); return $dom; } + public function getDatatablesHeader() { + return view('components.datatables.header'); + } + public function getDatatablesHeaderDefault() { - return "<'row dt-toolbar-header'<'col-lg-4'l><'col-lg-4'B><'col-lg-4 text-right add'f>>"; + // return "
"; + /* + + $dom = 't<"row datatable-pager light"<"col-md-12"' + . '<"datatable-more-export-buttons filter-buttons pull-left">' + . '<"datatable-more-export-favorites-buttons filter-buttons pull-left">' + . '<"datatable-more-export-basket-buttons filter-buttons pull-left">' + . '<"datatable-download-buttons filter-buttons pull-left">' + . '>>' + . '<"dt-toolbar-footer"<"col"i><"col pull-right datatable-pager light nopadding-right"p>>'; + + */ + + $dom = "<'row dt-toolbar-header'<'col-lg-4'l><'col-lg-4'B><'col-lg-4 text-right add'f>>"; + return $dom; + // return 't<"row datatable-pager light"<"col-md-12"<"datatable-more-export-buttons filter-buttons pull-left"><"datatable-more-export-favorites-buttons filter-buttons pull-left"><"datatable-more-export-basket-buttons filter-buttons pull-left"><"datatable-download-buttons filter-buttons pull-left">>><"dt-toolbar-footer"<"col-md-6"i><"col-md-6 pull-right datatable-pager light nopadding-right"p>>'; + } public function getDatatablesFooterDefault() { diff --git a/resources/views/Shop/Admin/ArticleAttributeFamilies/list.blade.php b/resources/views/Shop/Admin/ArticleAttributeFamilies/list.blade.php index ac365736..9cd2345d 100644 --- a/resources/views/Shop/Admin/ArticleAttributeFamilies/list.blade.php +++ b/resources/views/Shop/Admin/ArticleAttributeFamilies/list.blade.php @@ -5,9 +5,9 @@ ]) @section('content') - @include('components.datatable', ['route' => route('Shop.Admin.ArticleAttributeFamilies.create'), 'label' => __('Shop.article_attribute_families.add')]) + @include('components.datatable', ['route' => route('Shop.Admin.ArticleAttributeFamilies.index'), 'model' => 'ArticleAttributefamilies']) @endsection @push('scripts') - @include('components.js.datatable', ['route' => '/Shop/Admin/ArticleAttributeFamilies', 'model' => 'ArticleAttributefamilies']) + @include('components.js.datatable', ['route' => route('Shop.Admin.ArticleAttributeFamilies.index'), 'model' => 'ArticleAttributefamilies']) @endpush \ No newline at end of file diff --git a/resources/views/Shop/Admin/ArticleAttributeValues/list.blade.php b/resources/views/Shop/Admin/ArticleAttributeValues/list.blade.php index 398a6657..9fabff85 100644 --- a/resources/views/Shop/Admin/ArticleAttributeValues/list.blade.php +++ b/resources/views/Shop/Admin/ArticleAttributeValues/list.blade.php @@ -5,9 +5,9 @@ ]) @section('content') - @include('components.datatable', ['route' => route('Shop.Admin.ArticleAttributeValues.create'), 'label' => __('Shop.article_attribute_values.add')]) + @include('components.datatable', ['route' => route('Shop.Admin.ArticleAttributeValues.index'), 'model' => 'articleattributes']) @endsection @push('scripts') - @include('components.js.datatable', ['route' => '/Shop/Admin/ArticleAttributeValues', 'model' => 'articleattributes']) + @include('components.js.datatable', ['route' => route('Shop.Admin.ArticleAttributeValues.index'), 'model' => 'articleattributes']) @endpush \ No newline at end of file diff --git a/resources/views/Shop/Admin/ArticleFamilies/list.blade.php b/resources/views/Shop/Admin/ArticleFamilies/list.blade.php index 424a08ad..b79b2fd3 100644 --- a/resources/views/Shop/Admin/ArticleFamilies/list.blade.php +++ b/resources/views/Shop/Admin/ArticleFamilies/list.blade.php @@ -5,9 +5,9 @@ ]) @section('content') - @include('components.datatable', ['route' => route('Shop.Admin.ArticleFamilies.create'), 'label' => __('Shop.article_families.add')]) + @include('components.datatable', ['route' => route('Shop.Admin.ArticleFamilies.index'), 'model' => 'articlefamilies']) @endsection @push('scripts') - @include('components.js.datatable', ['route' => '/Shop/Admin/ArticleFamilies', 'model' => 'articlefamilies']) + @include('components.js.datatable', ['route' => route('Shop.Admin.ArticleFamilies.index'), 'model' => 'articlefamilies']) @endpush \ No newline at end of file diff --git a/resources/views/Shop/Admin/Articles/list.blade.php b/resources/views/Shop/Admin/Articles/list.blade.php index 146c94dc..5ac943ca 100644 --- a/resources/views/Shop/Admin/Articles/list.blade.php +++ b/resources/views/Shop/Admin/Articles/list.blade.php @@ -5,9 +5,9 @@ ]) @section('content') - @include('components.datatable', ['route' => route('Shop.Admin.Articles.create'), 'label' => __('Shop.articles.add')]) + @include('components.datatable', ['route' => route('Shop.Admin.Articles.index'), 'model' => 'articles']) @endsection @push('scripts') - @include('components.js.datatable', ['route' => '/Shop/Admin/Articles', 'model' => 'articles']) + @include('components.js.datatable', ['route' => route('Shop.Admin.Articles.index'), 'model' => 'articles']) @endpush \ No newline at end of file diff --git a/resources/views/Shop/Admin/Categories/list.blade.php b/resources/views/Shop/Admin/Categories/list.blade.php index 27644d1b..f7683f8c 100644 --- a/resources/views/Shop/Admin/Categories/list.blade.php +++ b/resources/views/Shop/Admin/Categories/list.blade.php @@ -6,15 +6,11 @@ @section('content') -
- -
-
- {{$dataTable->table()}} + @component('components.card') + @include('components.datatable', ['route' => route('Shop.Admin.Categories.index'), 'model' => 'categories']) + @endcomponent
@include('Shop.Admin.Categories.partials.tree') @@ -24,6 +20,6 @@ @endsection @push('scripts') - @include('components.js.datatable', ['route' => '/Shop/Admin/Categories', 'model' => 'categories']) + @include('components.js.datatable', ['route' => route('Shop.Admin.Categories.index'), 'model' => 'categories']) @endpush diff --git a/resources/views/Shop/Admin/TagGroups/list.blade.php b/resources/views/Shop/Admin/TagGroups/list.blade.php index e3e93f4e..b61a5eb7 100644 --- a/resources/views/Shop/Admin/TagGroups/list.blade.php +++ b/resources/views/Shop/Admin/TagGroups/list.blade.php @@ -5,9 +5,9 @@ ]) @section('content') - @include('components.datatable', ['route' => route('Shop.Admin.TagGroups.create'), 'label' => __('Shop.tag_groups.add')]) + @include('components.datatable', ['route' => route('Shop.Admin.TagGroups.index'), 'model' => 'TagGroups']) @endsection @push('scripts') - @include('components.js.datatable', ['route' => '/Shop/Admin/TagGroups', 'model' => 'TagGroups']) + @include('components.js.datatable', ['route' => route('Shop.Admin.TagGroups.index'), 'model' => 'TagGroups']) @endpush \ No newline at end of file diff --git a/resources/views/Shop/Admin/Tags/list.blade.php b/resources/views/Shop/Admin/Tags/list.blade.php index 9ac528c3..deaa18b8 100644 --- a/resources/views/Shop/Admin/Tags/list.blade.php +++ b/resources/views/Shop/Admin/Tags/list.blade.php @@ -5,7 +5,7 @@ ]) @section('content') - @include('components.datatable', ['route' => route('Shop.Admin.Tags.create'), 'label' => __('Shop.tags.add')]) + @include('components.datatable', ['route' => route('Shop.Admin.Tags.index'), 'model' => 'tags']) @endsection @@ -17,5 +17,5 @@ } ); - @include('components.js.datatable', ['route' => '/Shop/Admin/Tags', 'model' => 'tags']) + @include('components.js.datatable', ['route' => route('Shop.Admin.Tags.index'), 'model' => 'tags']) @endpush \ No newline at end of file diff --git a/resources/views/components/card.blade.php b/resources/views/components/card.blade.php new file mode 100644 index 00000000..9a570564 --- /dev/null +++ b/resources/views/components/card.blade.php @@ -0,0 +1,24 @@ +
+ @if($title ?? $header ?? false) +
+ @isset($header) + {{ $header }} + @else +

{{ $title }}

+ @isset($tools) +
+ {{ $tools }} +
+ @endisset + @endisset +
+ @endif +
+ {{ $slot }} +
+ @isset($footer) + + @endif +
diff --git a/resources/views/components/datatable.blade.php b/resources/views/components/datatable.blade.php index 5f461997..d8cf1bd1 100644 --- a/resources/views/components/datatable.blade.php +++ b/resources/views/components/datatable.blade.php @@ -1,9 +1,4 @@ - - -@component('boilerplate::card') - {{$dataTable->table()}} -@endcomponent \ No newline at end of file +
+ @include('components.datatables.header') + {{$dataTable->table(['class'=>'table table-bordered table-hover table-striped w-100'])}} +
\ No newline at end of file diff --git a/resources/views/components/datatables/buttons/add.blade.php b/resources/views/components/datatables/buttons/add.blade.php new file mode 100644 index 00000000..e08194e0 --- /dev/null +++ b/resources/views/components/datatables/buttons/add.blade.php @@ -0,0 +1,10 @@ + + +@push('js') + +@endpush diff --git a/resources/views/components/datatables/buttons/exports.blade.php b/resources/views/components/datatables/buttons/exports.blade.php new file mode 100644 index 00000000..7621b429 --- /dev/null +++ b/resources/views/components/datatables/buttons/exports.blade.php @@ -0,0 +1,14 @@ +
+ + + + + + +
diff --git a/resources/views/components/datatables/buttons/filters.blade.php b/resources/views/components/datatables/buttons/filters.blade.php new file mode 100644 index 00000000..623e47f1 --- /dev/null +++ b/resources/views/components/datatables/buttons/filters.blade.php @@ -0,0 +1,4 @@ + + diff --git a/resources/views/components/datatables/header.blade.php b/resources/views/components/datatables/header.blade.php new file mode 100644 index 00000000..4fd7642a --- /dev/null +++ b/resources/views/components/datatables/header.blade.php @@ -0,0 +1,11 @@ +
+
+ @include('components.datatables.search') +
+
+ @include('components.datatables.buttons.exports') +
+
+ @include('components.datatables.buttons.add') +
+
\ No newline at end of file diff --git a/resources/views/components/datatables/search.blade.php b/resources/views/components/datatables/search.blade.php new file mode 100644 index 00000000..01af6bdb --- /dev/null +++ b/resources/views/components/datatables/search.blade.php @@ -0,0 +1,19 @@ +
+
+ +
+ +
+ @include('components.datatables.buttons.filters') +
+
+ +@push('js') + +@endpush \ No newline at end of file