diff --git a/catatan_rilis.md b/catatan_rilis.md index 0c6fc3b51..974cbe6e4 100644 --- a/catatan_rilis.md +++ b/catatan_rilis.md @@ -6,7 +6,8 @@ Terimakasih [isi disini] yang telah berkontribusi langsung mengembangkan aplikas #### FITUR 1. [#1498](https://github.com/OpenSID/OpenDK/issues/1497) Halaman public setelah login mengarah ke halaman dashboard -2. [#1539](https://github.com/OpenSID/OpenDK/issues/1539) Tambahkan tanggal terbit pada postingan artike +2. [#1539](https://github.com/OpenSID/OpenDK/issues/1539) Tambahkan tanggal terbit pada postingan artikel +3. [#1548](https://github.com/OpenSID/OpenDK/issues/1548) Tambahkan fungsi global untuk debounce search datatable #### BUG diff --git a/resources/views/partials/asset_datatables.blade.php b/resources/views/partials/asset_datatables.blade.php index e6fe0f763..f37a8ec73 100644 --- a/resources/views/partials/asset_datatables.blade.php +++ b/resources/views/partials/asset_datatables.blade.php @@ -11,7 +11,35 @@ $.extend($.fn.dataTable.defaults, { language: { url: "{{ asset('/bower_components/datatables.net/i18n/id.json') }}" - } + }, + searchDelay: 500, + }); + $(document).on('init.dt', function(e, settings) { + if (e.namespace !== 'dt') return; + + var table = new $.fn.dataTable.Api(settings); + var searchDelay = table.init().searchDelay || 500; + var searchInput = $('div.dataTables_filter input', table.table().container()); + var debounceTimer = null; + var previousSearch = null; + + searchInput.off('keyup.DT input.DT search.DT keydown.DT'); + + searchInput.on('keyup input', function() { + var currentValue = this.value; + + if (previousSearch === currentValue) return; + + previousSearch = currentValue; + + clearTimeout(debounceTimer); + + debounceTimer = setTimeout(function() { + if (table.search() !== currentValue) { + table.search(currentValue).draw(); + } + }, searchDelay); + }); }); @endpush