Releases: ghiscoding/slickgrid-universal
v4.3.0
4.3.0 (2024-01-20)
Quick Info
This release brings some great new features, the most interesting one was contributed by @zewa666 which is a new Row Base Editing. The Row Based Edit plugin allows you to edit either a single or multiple specific rows at a time, while disabling the rest of the grid rows. See our new Example 22 and new Row Base Editing docs.
Another great but smaller feature is a new reorderable
column option to help lock a column in place (for more info see PR #1357 which include a small animated gif of the feature). Note that this feature is better when used with column position as first or last columns in the grid.
⚠️ Warnings
I did add and set reorderable: false
to the following 4 plugins, they can all be overriden when instantiating the plugin via their respective options
- Checkbox Selector Column (Row Selection)
- Row Detail
- Row Move Manager
- Row Base Editor
Thanks
A huge thanks for @zewa666 contribution, the new Row Base Editing is most probably the biggest contribution made so far to this project. Thanks a lot!!! 🎉
Bug Fixes
- core:
getCellFromPoint()
should return row/cell -1 outside grid canvas (#1325) (b483e62) - by @ghiscoding - core: add grid & cell
role
for screen ready accessibility (#1337) (7309fa8) - by @ghiscoding - core: allow extra spaces in
headerCssClass
& othercssClass
(#1303) (59ebaa6) - by @ghiscoding - core: allow extra spaces to be striped to any css classes (#1352) (e5e29c0) - by @ghiscoding
- core: column resize handle could throw when invalid elm (#1344) (41f6058) - by @ghiscoding
- core: DataView
inlineFilters
should allow ES6 arrow functions (#1304) (25b9a10) - by @ghiscoding - core: don't show column header empty title tooltip (#1317) (8b20407) - by @ghiscoding
- core: EventHandler subscribed event should be SlickEventData type (#1327) (2573310) - by @ghiscoding
- core: remove editor keydown keyCaptureList duplicate code (#1322) (c5f6b85) - by @ghiscoding
- core: SlickEvent handler event should be type of ArgType (#1328) (a9cb8ee), closes #1327 - by @ghiscoding
- demo: Unsaved Cell CSS Styling follow sort/filter/pagination (#1313) (7619579) - by @ghiscoding
- common: Editors/Filters should create SlickEventData with event arg (#1326) (e008902) - by @ghiscoding
- plugin: CustomDataView for CellSelectionModel & SlickCustomTooltip (#1306) (3bdd300) - by @ghiscoding
- core: regression with
onSelectedRowsChanged
not receiving correctcaller
prop (#1341) (03cad4a) - by @ghiscoding - plugin: SlickEmptyWarningComponent should accept native HTML for CSP safe (#1333) (4740f96) - by @ghiscoding
- core: when
onDragInit
return false it should stop (#1340) (d9c714c), closes #1339 - by @ghiscoding - core: when
onResizeStart
return false it should stop (#1339) (5a3bd1c) - by @ghiscoding
Features
- plugin: add
name
option to CheckboxSelectColumn plugin on columDef (#1331) (abe344b) - by @ghiscoding - editor: add
onBeforePasteCell
event to excel copy buffer (#1298) (22037ca) - by @zewa666 - core: add column
reorderable
option to optionally lock a column (#1357) (44f6c08) - by @ghiscoding - plugin: convert CheckSelectColumn plugin to native HTML for CSP safe code (#1332) (2b9216d) - by @ghiscoding
- core: expose all SlickEvent via internal PubSub Service (#1311) (f56edef) - by @ghiscoding
- editor: auto commit before save; add
onBeforeEditMode
callback (#1353) (f33bf52) - by @zewa666 - plugin: new Row Based Editor (#1323) (64d464c) - by @zewa666
Performance Improvements
- resizer:
autosizeColumns
is called too many times on page load (#1343) (e02ac55) - by @ghiscoding
v4.2.0
4.2.0 (2023-12-30)
Quick Info
This release brings some perf improvements and also completes the CSP Safe implementation, there was 1 last DataView function that was not yet converted to be CSP Safe and now it is (don't forget to use the new useCSPSafeFilter
if you also use the DataView). There is also a new CSP Compliance documentation that you can read.
Lastly a new Example 21 - Row Detail was added and a few other small features and fixes, see below. Happy Holidays 🎁
Bug Fixes
- core:
updateColumns()
should be public use with column hidden (#1288) (211180b) - by @ghiscoding - core: applyDefaults use provided grid options before applying defaults (#1283) (7fc772f) - by @ghiscoding
- core:
SlickGroupItemMetadataProvider
should implementsSlickPlugin
(#1294) (5aac2b6) - by @ghiscoding - core: add missing option to control row highlight duration after CRUD (#1278) (8240c8c) - by @ghiscoding
- core: GroupingGetterFunction should be allowed to return arbitrary value (#1296) (3807116) - by @ghiscoding
- RowDetail: sort change should collapse all Row Detail (#1284) (21f6031) - by @ghiscoding
- core: use correct argument type on
setData()
(#1287) (0b0b86c) - by @ghiscoding
Features
- RowDetail: (re)add option to cancel Row Detail opening (#1286) (f08925c) - by @ghiscoding
- core: datasetIdPropertyName respected in newRowCreator (#1279) (9d60a9d) - by @zewa666
- core: make DataView Grouping
compileAccumulatorLoop
CSP safe (#1295) (af82208) - by @ghiscoding
Performance Improvements
- core: prefer
.forEach
overfor...in
andfor...of
(#1281) (9cc6941) - by @ghiscoding
v4.1.0
4.1.0 (2023-12-21)
Bug Fixes
- composite:
onSave
always include last dataContext on few inserts (#1271) (14791e7) - by @ghiscoding - npm: publish src folder for source maps, fixes downstream builds (#1269) (701da75) - by @ghiscoding
Features
- core: add
rowHighlightCssClass
&highlightRow()
to SlickGrid (#1272) (31c38ad) - by @ghiscoding - utils: replace slick-core extend utils with
node-extend
(#1277) (3439118) - by @ghiscoding
v4.0.3
4.0.3 (2023-12-16)
Bug Fixes
- add back moment rollup patch with default import (2e81421) - by @ghiscoding
v4.0.2 - Breaking Changes
4.0.2 (2023-12-15)
Quick Info
This new release is merging SlickGrid
into the project and is dropping the previous external 6pac/slickgrid
dependency. The aim of this release is to be standalone, improve best practices & move towards CSP compliance while also making the project leaner. Merging SlickGrid into the projects has a few benefits, the biggest are (easier to troubleshoot, drop unused code, deduplicate code like DOM utils, decrease external dependencies usage and finally a small decrease in build size).
Another great feature in conjunction with this release is a new Documentation website powered by GitBook. This should be more pleasing to read and also easier to receive documentation changes (note that because of the changes from Wiki to GitBook, some of the links might be invalid and if you find any then please submit a PR).
Read the Migration to 4.0 for all the changes
Bug Fixes
-
deps: update dependency multiple-select-vanilla to ^1.1.1 (#1267) (f6e5e2c) - by @renovate-bot
-
BREAKING CHANGE: merge SlickGrid into Slickgrid-Universal & drop external dep (#1264) (18b96ce), closes #1264 - by @ghiscoding
BREAKING CHANGES
- merge SlickGrid into Slickgrid-Universal & drop external dep
v4.0.1-alpha.1
4.0.1-alpha.1 (2023-12-12)
Bug Fixes
- changing
enableCellNavigation
grid option not working (#1262) (b7de0f1) - by @ghiscoding
v3.7.2 - deprecated Formatters
3.7.2 (2023-12-12)
Deprecations
Please note that multiple built-in Formatters are now deprecated and will be removed in the next major version (which is coming very soon). Below is the list of Formatters and their alternatives with code sample on what to change. The CSS class may vary depending on which UI framework you use
Formatter removed | cssClass equivalent |
alternative |
---|---|---|
Formatters.bold |
cssClass: 'text-bold' or fs-bold |
|
Formatters.center |
cssClass: 'text-center' |
|
Formatters.italic |
cssClass: 'text-italic' or fst-italic |
|
Formatters.alignRight |
cssClass: 'text-right' or text-end |
|
Formatters.lowercase |
cssClass: 'text-lowercase' |
|
Formatters.uppercase |
cssClass: 'text-uppercase' |
|
Formatters.fakeHyperlink |
cssClass: 'text-underline cursor' |
cssClass: 'fake-hyperlink' |
Formatters.checkbox |
to be removed | use the Formatters.iconBoolean |
Formatters.deleteIcon |
to be removed | use the Formatters.icon (see below) |
Formatters.editIcon |
to be removed | use the Formatters.icon (see below) |
Formatters.infoIcon |
to be removed | use the Formatters.icon (see below) |
Formatters.yesNo |
to be removed | create a custom Formatter |
The alternative is to use cssClass
as shown below
this.columnDefinitions = [
{
id: 'firstName', name: 'First Name', field: 'firstName',
- formatter: Formatters.bold
+ cssClass: 'text-bold'
},
{
id: 'lastName', name: 'Last Name', field: 'lastName',
- formatter: Formatters.multiple, params: { formatters: [Formatters.uppercase, Formatters.bold] },
+ cssClass: 'text-uppercase text-bold'
},
{
id: 'deleteIcon', name: '', field: '',
- formatter: Formatters.deleteIcon,
// NOTE: we previously accepted "icon" and "formatterIcon" property in the past but these props will be removed
+ formatter: Formatters.icon, params: { iconCssClass: 'fa fa-trash pointer' }
},
];
Bug Fixes
- the
devMode
should befalse
or an object with other options (ad2285a) - by @ghiscoding-SE - use !important on CSS text utils (7fdbeb6) - by @ghiscoding
v4.0.1-alpha.0
4.0.1-alpha.0 (2023-12-10)
Bug Fixes
stripTags
shouldn't throw with null/undefined (8f706fc) - by @ghiscoding- core: SlickEventHandler handler args should have Types (#1261) (a33129b) - by @ghiscoding
- regression, Row Detail no longer displayed after CSP safe code (#1259) (a35f0a4) - by @ghiscoding
- utils: undefined html shouldn't throw on stripTags (05361e7) - by @ghiscoding
v4.0.0-alpha.0
4.0.0-alpha.0 (2023-12-09)
Bug Fixes
setActiveCellInternal()
should not throw when cell/row undefined (dbe6413) - by @ghiscoding- change dynamic html string w/CSP safe code to fix scroll (#1210) (cd03907) - by @ghiscoding
- Draggable shouldn't trigger dragEnd without first dragging (#1211) (47cb36e) - by @ghiscoding
- escape glob pattern for SASS copy to work in CI (0590b24) - by @ghiscoding-SE
- only allow row drag on cell w/
dnd
orcell-reorder
, fix #937 (6a2ab55), closes #897 - by @ghiscoding-SE - remove CellRange, SlickRange, SlickGroup, ... unused interfaces (#1219) (a4cc469) - by @ghiscoding
- the
devMode
should befalse
or an object with other options (ac57992) - by @ghiscoding-SE - the
devMode
should befalse
or an object with other options (ad2285a) - by @ghiscoding-SE - try adding sort icon on non
sortable
column shouldn't throw (4791fc8) - by @ghiscoding-SE
Features
- convert GroupItemMetadataProvider Formatter to native HTML for CSP (#1215) (d723856) - by @ghiscoding
- introduce devMode to support nodejs based unit testing (#1251) (596737d) - by @ghiscoding
- remove unnecessary Formatters, replace by
cssClass
(#1225) (de26496) - by @ghiscoding - rewrite all Formatters as native HTML elements (#1229) (5cb4dd5) - by @ghiscoding
- use PubSub Service singleton to subscribe to any SlickEvent (#1248) (388bd11) - by @ghiscoding
Performance Improvements
- skip reapplying empty html when target is already empty (#1230) (ba99fae) - by @ghiscoding
v3.7.1 - deprecated Formatters
3.7.1 (2023-12-08)
Deprecations
Please note that multiple built-in Formatters are now deprecated and will be removed in the next major version (which is coming very soon). Below is the list of Formatters and their alternatives with code sample on what to change. The CSS class may vary depending on which UI framework you use
Bug Fixes
- cell selection range with key combos were incorrect (#1244) (79d86fe) - by @ghiscoding
- DraggableGrouping & Select Filter
collectionAsync
mem leaks (#1247) (7dcf53a) - by @ghiscoding - formatters: show console error on invalid multiple formatters (#1227) (fd69ac0) - by @ghiscoding
- registered external resouces should keep singleton ref (#1242) (adf2054) - by @ghiscoding
Bug Fixes
- add missing
devMode
option intoGridOption
interface (a963223) - by @ghiscoding-SE
Features
- Formatters: add new
Formatters.iconBoolean
for icon w/truthy val (#1228) (17ab965) - by @ghiscoding - GraphQL: Provide ability to specify operationName (#1224) (4db6c34) - by @Harsgalt86