v4.6.0
4.6.0 (2024-03-23)
Quick Info
This release upgrades multiple-select-vanilla
package, that I also maintained, with a much more modern UI with the use of SVG icons. The SVG icons in that external lib are now also written in pure CSS which helps for Dark Mode (in that mode, the primary color for checked icon is a lighter version of the primary color). Note however that the SVG icons in Slickgrid-Universal are not yet pure CSS since that would introduce breaking changes in Slickgrid-Universal (a new major version will be pushed later on to address that).
⚠️ internalColumnEditor
is deprecated and no longer needed
Note that in the past, SlickGrid and Slickgrid-Universal were using 2 different references for editor
. The original SlickGrid was using editor
as a Class to be later instantiated (e.g. Editors.longText
) but that wasn't very convenient for the end users (you). For that reason I decided a long time ago to take this editor
and reassign to another ref named internalEditor
and then SlickGrid kept using editor
(read from editor.model
) and whenever the user wanted to read the SlickGrid editor after the grid was initialized, the user would have to get it from column.internalEditor
(because after the initialization editor
is SlickGrid's internal editor class not the one provided by the user), but that was so damn confusing... but now that Slickgrid-Universal is a standalone (no longer relying on 6pac/slickgrid
) I decided to get rid of this confusion, so with this new release the editor
remains the same to the user but the one used by SlickGrid just got renamed to editorClass
. So in summary, editor
is the same for the end user and editorClass
is what is defined by model: Editors.longText
and the internal ref swap that Slickgrid-Universal was previously doing is no longer needed internally. Below is an example of when that would be in use
// previously, to add an item to the editor/filter collection
this.columnDefinitions = [{ id: 'complexity', editor: { model: Editors.singleSelect, collection: [{ value: 1, label: 'Simple' }, /*...*/ ]; }];
// then adding an item would require to read `internalColumnEditor`
// after grid init, our `editor` became `internalColumnEditor
- const complexityEditor = this.columnDefinitions[0].internalColumnEditor;
// BUT with this new release, adding a new item to the collection is as simple as
+ const complexityEditor = this.columnDefinitions[0].editor;
complexityEditor.collection.push({ value: 9, label: 'Hard' });
// and if you want to read the SlickGrid editor, you would now use
this.columnDefinitions[0].editorClass; // which is the same as `editor.model`
Bug Fixes
column.editor
andgridOptions.editorFactory
type changed (#1428) (bf8c5b9) - by @ghiscoding- build: add ESLint-TS rules to enforce
type
imports and exports (#1432) (cce4693) - by @ghiscoding - build: add ESLint-TS rules to enforce
type
imports and exports (#1437) (324c4fe) - by @ghiscoding - common: add missing Filter
model
Type ofFilterConstructor
(#1430) (3f3e952) - by @ghiscoding - common: bump ms-select to fix compatibility problem in Salesforce (#1425) (d3d2d39) - by @ghiscoding
- common: Select All checkbox shouldn't disappear w/Dark Mode toggle (#1421) (5fab179) - by @ghiscoding
- Join type (#1427) (21c76cc) - by @zewa666
- styling: add border & box-shadow to Flatpickr in Dark Mode (fdbb6ae) - by @ghiscoding
- styling: add missing orange border for Salesforce modified inputs (e830dd3) - by @ghiscoding
- styling: add more visual cue for column picker uncheck row select (b4712e9) - by @ghiscoding
- styling: don't add filled border all side for group-addon btn (30be835) - by @ghiscoding-SE
- styling: small Composite Editor fixes for Dark Mode (#1417) (7e00087) - by @ghiscoding
Features
- common: add optional "Toggle Dark Mode" in Grid Menu (#1418) (990c1df) - by @ghiscoding
- core: rename SG
editorClass
& deprecateinternalColumnEditor
(#1429) (409115c) - by @ghiscoding - upgrade to ms-select-vanilla v3.x (#1439) (8f2378e) - by @ghiscoding