From 29f0144039d465ea1289269088904e2f57f7be1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C3=ADas=20Rold=C3=A1n?= Date: Sat, 9 Sep 2017 21:35:17 -0300 Subject: [PATCH 1/5] Added population logic to datatable select filters to get values from localStorage --- .../views/datatable/datatable_js.html.twig | 8 ++++++++ Resources/views/datatable/search.js.twig | 5 +++-- Resources/views/filter/select.html.twig | 17 +++++++++++++++++ 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/Resources/views/datatable/datatable_js.html.twig b/Resources/views/datatable/datatable_js.html.twig index 61de6dcc..4fe4a790 100644 --- a/Resources/views/datatable/datatable_js.html.twig +++ b/Resources/views/datatable/datatable_js.html.twig @@ -65,6 +65,14 @@ $.extend(defaults, extensions); $.extend(defaults, columns); $.extend(defaults, initialSearch); + $.extend(defaults, { + stateSaveCallback: function(settings,data) { + localStorage.setItem(settings.sInstance, JSON.stringify(data) ) + }, + stateLoadCallback: function(settings) { + return JSON.parse( localStorage.getItem(settings.sInstance ) ) + } + }); if (!$.fn.dataTable.isDataTable(selector)) { $(selector) diff --git a/Resources/views/datatable/search.js.twig b/Resources/views/datatable/search.js.twig index 427c8fa5..61384e28 100644 --- a/Resources/views/datatable/search.js.twig +++ b/Resources/views/datatable/search.js.twig @@ -37,9 +37,10 @@ var search = $.fn.dataTable.util.throttle( options.searchDelay ); -$(selector).find("tr input.sg-datatables-individual-filtering").on("keyup change", search); +$(selector).find("tr input.sg-datatables-individual-filtering").keyup(search); -$(selector).find("tr select.sg-datatables-individual-filtering").on("keyup change", function(event) { +$(selector).find("tr input.sg-datatables-individual-filtering").change(search); +$("tr select.sg-datatables-individual-filtering").change(function(event) { var searchValue = $(this).val(); searchValue = searchValue ? searchValue.toString() : ''; oTable diff --git a/Resources/views/filter/select.html.twig b/Resources/views/filter/select.html.twig index f832dca1..b87dbfde 100644 --- a/Resources/views/filter/select.html.twig +++ b/Resources/views/filter/select.html.twig @@ -89,6 +89,23 @@ {{ filter_select_initial_search }} {# #} {{ filter_select_select_options }} + + + {{ cancel_button_html }} {% endblock %} From 9ff585782fe697f7eabfd36e90725c65d6480599 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C3=ADas?= Date: Sat, 9 Sep 2017 21:42:18 -0300 Subject: [PATCH 2/5] Update composer.json --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 76167e35..90f66e95 100644 --- a/composer.json +++ b/composer.json @@ -1,5 +1,5 @@ { - "name": "sg/datatablesbundle", + "name": "roldan/datatablesbundle", "type": "symfony-bundle", "description": "Symfony Datatable Bundle For Doctrine2 Entities", "keywords": ["symfony3", "datatable", "datatables", "data-table", "grid", "table", "datagrid", "pagination"], From 4d6ff2f46fe372622846c515664e635bc938df21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C3=ADas?= Date: Thu, 12 Oct 2017 02:48:33 -0300 Subject: [PATCH 3/5] Update DateTimeColumn.php --- Datatable/Column/DateTimeColumn.php | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Datatable/Column/DateTimeColumn.php b/Datatable/Column/DateTimeColumn.php index 049593fd..c5f31c72 100644 --- a/Datatable/Column/DateTimeColumn.php +++ b/Datatable/Column/DateTimeColumn.php @@ -67,10 +67,20 @@ public function renderSingleField(array &$row) if (true === $this->isEditableContentRequired($row)) { $content = $this->renderTemplate($this->accessor->getValue($row, $path), $row[$this->editable->getPk()]); } else { - $content = $this->renderTemplate($this->accessor->getValue($row, $path)); + try { + $content = $this->renderTemplate($this->accessor->getValue($row, $path)); + } + catch (\Exception $ex) { + $content = $this->renderTemplate(null); + } + } + + try { + $this->accessor->setValue($row, $path, $content); + } + catch (\Exception $ex) { } - $this->accessor->setValue($row, $path, $content); return $this; } From 0de4ed4aed853888a382191ebf11687ceb9d9351 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C3=ADas?= Date: Mon, 6 Nov 2017 02:18:43 -0300 Subject: [PATCH 4/5] Update datatable_js.html.twig --- Resources/views/datatable/datatable_js.html.twig | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Resources/views/datatable/datatable_js.html.twig b/Resources/views/datatable/datatable_js.html.twig index 4fe4a790..66906883 100644 --- a/Resources/views/datatable/datatable_js.html.twig +++ b/Resources/views/datatable/datatable_js.html.twig @@ -71,6 +71,9 @@ }, stateLoadCallback: function(settings) { return JSON.parse( localStorage.getItem(settings.sInstance ) ) + }, + fixedColumns: { + leftColumns: 2 } }); From fdd8dee0b4e17ec949bb9443c807c04bdb4768d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C3=ADas?= Date: Mon, 6 Nov 2017 02:29:53 -0300 Subject: [PATCH 5/5] Update datatable_js.html.twig --- Resources/views/datatable/datatable_js.html.twig | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Resources/views/datatable/datatable_js.html.twig b/Resources/views/datatable/datatable_js.html.twig index 66906883..6e778100 100644 --- a/Resources/views/datatable/datatable_js.html.twig +++ b/Resources/views/datatable/datatable_js.html.twig @@ -72,9 +72,6 @@ stateLoadCallback: function(settings) { return JSON.parse( localStorage.getItem(settings.sInstance ) ) }, - fixedColumns: { - leftColumns: 2 - } }); if (!$.fn.dataTable.isDataTable(selector)) { @@ -94,6 +91,10 @@ } createDatatable(); + + new $.fn.dataTable.FixedColumns( oTable, { + leftColumns: 2 + } ); {% if sg_datatables_view.columnBuilder.uniqueColumn('multiselect') is not null %} {{ sg_datatables_render_multiselect_actions( sg_datatables_view.columnBuilder.uniqueColumn('multiselect'), sg_datatables_view.ajax.pipeline) }}