Loading entity_list.layouts.yml +2 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,8 @@ filter_entity_list_display: regions: header: label: Header sortable_filters: label: Sortable Filters filters: label: Filters before_items: Loading entity_list.libraries.yml +9 −0 Original line number Diff line number Diff line Loading @@ -7,3 +7,12 @@ region-table: - core/drupal - core/drupalSettings - core/jquery.once sortable-filters: version: VERSION js: js/sortable-filters.js: {} dependencies: - core/jquery - core/drupal - core/once entity_list.module +3 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,9 @@ function entity_list_theme($existing, $type, $theme, $path) { 'entity_list_filters' => [ 'render element' => 'form', ], 'entity_list_sortable_filters' => [ 'render element' => 'form', ], ]; } Loading entity_list.services.yml +3 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,9 @@ services: plugin.manager.entity_list_filter: class: Drupal\entity_list\Plugin\EntityListFilterManager parent: default_plugin_manager plugin.manager.entity_list_sortable_filter: class: Drupal\entity_list\Plugin\EntityListSortableFilterManager parent: default_plugin_manager plugin.manager.entity_list_extra_display: class: Drupal\entity_list\Plugin\EntityListExtraDisplayManager parent: default_plugin_manager Loading js/sortable-filters.js 0 → 100644 +24 −0 Original line number Diff line number Diff line /** * @file * Custom behavior for sortable filters. */ (function ($, Drupal, once) { 'use strict'; Drupal.behaviors.sortableFilters = { attach: function (context) { once("sortable-filter", "body", context).forEach(function () { $('.sortable-filters').each(function (key, elem) { $(elem).change(function (e) { var $elem = $(this); var urlParams = new URLSearchParams(window.location.search); urlParams.set($elem.attr('data-field-name'), $elem.val()); window.location.search = urlParams; }) }) }); } } })(jQuery, Drupal, once); Loading
entity_list.layouts.yml +2 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,8 @@ filter_entity_list_display: regions: header: label: Header sortable_filters: label: Sortable Filters filters: label: Filters before_items: Loading
entity_list.libraries.yml +9 −0 Original line number Diff line number Diff line Loading @@ -7,3 +7,12 @@ region-table: - core/drupal - core/drupalSettings - core/jquery.once sortable-filters: version: VERSION js: js/sortable-filters.js: {} dependencies: - core/jquery - core/drupal - core/once
entity_list.module +3 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,9 @@ function entity_list_theme($existing, $type, $theme, $path) { 'entity_list_filters' => [ 'render element' => 'form', ], 'entity_list_sortable_filters' => [ 'render element' => 'form', ], ]; } Loading
entity_list.services.yml +3 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,9 @@ services: plugin.manager.entity_list_filter: class: Drupal\entity_list\Plugin\EntityListFilterManager parent: default_plugin_manager plugin.manager.entity_list_sortable_filter: class: Drupal\entity_list\Plugin\EntityListSortableFilterManager parent: default_plugin_manager plugin.manager.entity_list_extra_display: class: Drupal\entity_list\Plugin\EntityListExtraDisplayManager parent: default_plugin_manager Loading
js/sortable-filters.js 0 → 100644 +24 −0 Original line number Diff line number Diff line /** * @file * Custom behavior for sortable filters. */ (function ($, Drupal, once) { 'use strict'; Drupal.behaviors.sortableFilters = { attach: function (context) { once("sortable-filter", "body", context).forEach(function () { $('.sortable-filters').each(function (key, elem) { $(elem).change(function (e) { var $elem = $(this); var urlParams = new URLSearchParams(window.location.search); urlParams.set($elem.attr('data-field-name'), $elem.val()); window.location.search = urlParams; }) }) }); } } })(jQuery, Drupal, once);