From 6d57945bd1bb64ffe20c8404a779b92ab78af366 Mon Sep 17 00:00:00 2001 From: Stephen Abello Date: Thu, 27 May 2021 11:20:48 +0200 Subject: [PATCH] =?UTF-8?q?N=C2=B03914=20Hide=20lists=20pagination=20when?= =?UTF-8?q?=20there's=20only=201=20page?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/datatable/layout.ready.js.twig | 21 +++++++++++++++---- .../static/formtable/layout.ready.js.twig | 8 +++++++ .../datatable/static/layout.ready.js.twig | 13 ++++++++---- 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/templates/base/components/datatable/layout.ready.js.twig b/templates/base/components/datatable/layout.ready.js.twig index c42feb3b0..c21d7993f 100644 --- a/templates/base/components/datatable/layout.ready.js.twig +++ b/templates/base/components/datatable/layout.ready.js.twig @@ -75,17 +75,30 @@ var oTable{{ sListIfForVarSuffix }} = $('#{{ oUIBlock.GetId() }}').DataTable({ if ($(this).closest('.ibo-panel--body').find('[name=selectionMode]').val() === "negative") { $(this).closest('.dataTables_wrapper').find('.checkAll')[0].checked = true; } - else { - $(this).closest('.dataTables_wrapper').find('.dataTables_paginate, .dataTables_info').show(); - } bSelectAllowed{{ oUIBlock.GetId() }} = true; + // Hiding pagination if only one page + if ($(this).closest('.dataTables_wrapper').find('.dataTables_paginate:last .paginate_button:not(.previous):not(.next)').length < 2) { + $(this).closest('.dataTables_wrapper').find('.dataTables_paginate, .dataTables_info').hide(); + } else { + $(this).closest('.dataTables_wrapper').find('.dataTables_paginate, .dataTables_info').show(); + } + $("#{{ oUIBlock.GetId() }} a").on('click', function (e) { //disable select action when there is a link e.stopPropagation(); }); }, - {% endif %} + {% else %} + drawCallback: function () { + // Hiding pagination if only one page + if ($(this).closest('.dataTables_wrapper').find('.dataTables_paginate:last .paginate_button:not(.previous):not(.next)').length < 2) { + $(this).closest('.dataTables_wrapper').find('.dataTables_paginate, .dataTables_info').hide(); + } else { + $(this).closest('.dataTables_wrapper').find('.dataTables_paginate, .dataTables_info').show(); + } + }, + {% endif %} rowId: "id", filter: false, retrieve: true, diff --git a/templates/base/components/datatable/static/formtable/layout.ready.js.twig b/templates/base/components/datatable/static/formtable/layout.ready.js.twig index 08a68880d..bc1acfba9 100644 --- a/templates/base/components/datatable/static/formtable/layout.ready.js.twig +++ b/templates/base/components/datatable/static/formtable/layout.ready.js.twig @@ -24,6 +24,14 @@ var table{{ sListIDForVarSuffix }} = $('#{{ oUIBlock.GetId() }}').DataTable({ {orderable: false, targets: 0} ], {% endif %} + drawCallback: function () { + // Hiding pagination if only one page + if ($(this).closest('.dataTables_wrapper').find('.dataTables_paginate:last .paginate_button:not(.previous):not(.next)').length < 2) { + $(this).closest('.dataTables_wrapper').find('.dataTables_paginate, .dataTables_info').hide(); + } else { + $(this).closest('.dataTables_wrapper').find('.dataTables_paginate, .dataTables_info').show(); + } + } }); if ($('#{{ oUIBlock.GetId() }}').find('thead').is(':visible')) { table{{ sListIDForVarSuffix }}.columns.adjust().draw(); diff --git a/templates/base/components/datatable/static/layout.ready.js.twig b/templates/base/components/datatable/static/layout.ready.js.twig index c850e1f58..49cc18a37 100644 --- a/templates/base/components/datatable/static/layout.ready.js.twig +++ b/templates/base/components/datatable/static/layout.ready.js.twig @@ -41,9 +41,6 @@ $('#{{ oUIBlock.GetId() }}').DataTable({ {% if oUIBlock.GetOption("pageLength") is not empty %} pageLength: {{ oUIBlock.GetOption("pageLength") }}, {% endif %} - {% if oUIBlock.GetData()|length <= iPageSize %} - paging: false, - {% endif %} {% if oUIBlock.GetOption("dom") is not empty %} dom: "<'ibo-datatable-toolbar'{{ oUIBlock.GetOption("dom") }}>t", {% else %} @@ -58,7 +55,15 @@ $('#{{ oUIBlock.GetId() }}').DataTable({ sortable: true }, {% endfor %} - ] + ], + drawCallback: function () { + // Hiding pagination if only one page + if ($(this).closest('.dataTables_wrapper').find('.dataTables_paginate:last .paginate_button:not(.previous):not(.next)').length < 2) { + $(this).closest('.dataTables_wrapper').find('.dataTables_paginate, .dataTables_info').hide(); + } else { + $(this).closest('.dataTables_wrapper').find('.dataTables_paginate, .dataTables_info').show(); + } + } }); if(window.ResizeObserver){