From 9ea0d9a7fa5a1c453e737a60cd0f1292f822ac3b Mon Sep 17 00:00:00 2001 From: Ghislain B Date: Tue, 2 May 2023 21:50:30 -0400 Subject: [PATCH] feat(plugins): remove jQuery from ColumnPicker & GridMenu controls (#752) * feat(plugins): remove jQuery from ColumnPicker & GridMenu controls * tests: use input checked property instead of attr checked - the previous code with `attr('checked')` was jQuery oriented and we are going away from jQuery --- controls/slick.columnpicker.js | 196 +++++---- controls/slick.gridmenu.js | 396 ++++++++++-------- ...le-frozen-columns-and-column-group.spec.js | 18 - cypress/integration/example-grid-menu.spec.js | 2 +- .../example-multi-grid-basic.spec.js | 16 +- examples/example-checkbox-header-row.html | 43 +- examples/example-grid-menu.html | 35 +- examples/example-multi-grid-basic.html | 7 +- 8 files changed, 406 insertions(+), 307 deletions(-) diff --git a/controls/slick.columnpicker.js b/controls/slick.columnpicker.js index 124bc9b6..3f50e70c 100644 --- a/controls/slick.columnpicker.js +++ b/controls/slick.columnpicker.js @@ -25,17 +25,18 @@ * @constructor */ -(function ($) { +(function (window) { 'use strict'; function SlickColumnPicker(columns, grid, options) { var _grid = grid; var _options = options; var _gridUid = (grid && grid.getUID) ? grid.getUID() : ''; - var $columnTitleElm; - var $list; - var $menu; + var _columnTitleElm; + var _listElm; + var _menuElm; var columnCheckboxes; var onColumnsChanged = new Slick.Event(); + var _bindingEventService = new Slick.BindingEventService(); var defaults = { fadeSpeed: 250, @@ -54,68 +55,91 @@ function init(grid) { grid.onHeaderContextMenu.subscribe(handleHeaderContextMenu); grid.onColumnsReordered.subscribe(updateColumnOrder); - _options = $.extend({}, defaults, options); - - $menu = $("