{# @copyright Copyright (C) 2010-2021 Combodo SARL #} {# @license http://opensource.org/licenses/AGPL-3.0 #} {% set sListId = oUIBlock.GetId() %} {% set sListIDForVarSuffix = ('' ~ sListId)|sanitize(constant('utils::ENUM_SANITIZATION_FILTER_VARIABLE_NAME')) %} {% if oUIBlock.GetOption("iPageSize") is not empty %} {% set iPageSize = oUIBlock.GetOption("iPageSize") %} {% else %} {% set iPageSize = 10 %} {% endif %} var oTable{{ sListIDForVarSuffix }} = $('#{{ oUIBlock.GetId() }}').DataTable({ language: { processing: "{{ 'UI:Datatables:Language:Processing'|dict_s }}", search: "{{ 'UI:Datatables:Language:Search'|dict_s }}", lengthMenu: "{{ 'UI:Datatables:Language:LengthMenu'|dict_s }}", zeroRecords: "{{ 'UI:Datatables:Language:ZeroRecords'|dict_s }}", info: "{{ 'UI:Datatables:Language:Info'|dict_s }}", infoEmpty: "", infoFiltered: "({{ 'UI:Datatables:Language:InfoFiltered'|dict_s }})", emptyTable: "{{ 'UI:Datatables:Language:EmptyTable'|dict_s }}", paginate: { first: "", previous: "", next: "", last: "" }, aria: { sortAscending: ": {{ 'UI:Datatables:Language:Sort:Ascending'|dict_s }}", sortDescending: ": {{ 'UI:Datatables:Language:Sort:Descending'|dict_s }}" } }, scrollX: true, {% if oUIBlock.GetOption('sMaxHeight') is not empty %} scrollY: "{{ oUIBlock.GetOption('sMaxHeight') }}", {% endif %} scrollCollapse: true, order: [], autoWidth: false, rowId: "id", filter: false, {% if oUIBlock.GetOption("pageLength") is not empty %} pageLength: {{ oUIBlock.GetOption("pageLength") }}, {% endif %} {% if oUIBlock.GetOption("dom") is not empty %} dom: "<'ibo-datatable-toolbar'{{ oUIBlock.GetOption("dom") }}>t", {% else %} dom: "<'ibo-datatable--toolbar'<'ibo-datatable--toolbar-left' pl><'ibo-datatable--toolbar-right' i>>t<'ibo-datatable--toolbar'<'ibo-datatable--toolbar-left' pl><'ibo-datatable--toolbar-right' i>>", {% endif %} lengthMenu: [[ {{ iPageSize }}, {{ iPageSize*2 }}, {{ iPageSize*3 }}, {{ iPageSize*4 }}, -1], [ {{ iPageSize }}, {{ iPageSize*2 }}, {{ iPageSize*3 }}, {{ iPageSize*4 }}, "{{ 'UI:Datatables:Language:DisplayLength:All'|dict_s }}"]], columns: [ {% for key, column in oUIBlock.GetColumns() %} { data: "{{ key }}", width: "auto", 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){ let oStaticTable{{ sListIDForVarSuffix }}ResizeTimeout = null; const oStaticTable{{ sListIDForVarSuffix }}Resize = new ResizeObserver(function(){ clearTimeout(oStaticTable{{ sListIDForVarSuffix }}ResizeTimeout); oStaticTable{{ sListIDForVarSuffix }}ResizeTimeout = setTimeout(function(){ $('#{{ oUIBlock.GetId() }}').DataTable().columns.adjust(); }, 120); }); oStaticTable{{ sListIDForVarSuffix }}Resize.observe($('#{{ oUIBlock.GetId() }}')[0]); }