Releases: ghiscoding/aurelia-slickgrid
v7.4.1
7.4.1 (2024-02-13)
Quick Info (Excel Export)
this new release is mainly targeting @slickgrid-universal/excel-export
🚀
We are migrating from excel-builder.js to a new fork Excel-Builder-Vanilla
, the approach is a very similar to what I have done previously with multiple-select-vanilla
and it is all about modernizing the project. This migration brings a lot of goodies by using this new Excel-Builder-Vanilla
, it was rewritten in TypeScript, dropped Q
(replaced by regular Promise
), dropped Lodash
(now uses native code) and finally replaced JSZip
with fflate
which itself also has an ESM build giving us Tree Shaking and it is also giving us better perf by using Web Workers (when using CSP, you might need to adjust your CSP rules). Why the switch? The reason is mainly to be ESM ready because technologies are evolving and ESM is really the future (the next release of ViteJS is also expected to drop CJS (CommonJS) support). The switch has other benefits too, the most noticeable one being the large build size decrease (that is because we dropped Q
and Lodash
).
You might be wondering, why not switch to a more popular library like SheetJS
or ExcelJS
? Well, believe or not, all these projects are still written as CJS with no foreseeable support to ESM builds. For that reason you cannot take advantage of proper Tree Shaking which mean that whoever uses these projects, are in fact downloading their entire (large) library and all their dependencies. We certainly don't need all of these features in here since all we need is to export to Excel and this is what Excel-Builder-Vanilla
is giving us in an ESM build and it is also extremely small since it's only targeting Excel file creation. 🏗️
Below are the migrating advantages to Excel-Builder-Vanilla
- rewritten in TypeScript (providing us with TS Types (
d.ts
) - dropped old dependencies that are no longer necessary (
Q
andLodash
) - switched from
JSZip
tofflate
(has ESM support with Tree Shaking and also better perf by using Web Workers) - big decrease in final build size (our standalone build (.zip), used in Salesforce, dropped by almost 10%)
No breaking change, the changes required were all internal and are totally transparent to the developers because the API is exactly the same as before, the only difference will be your build size decrease ;)
For a very customized view of what you can do with Excel-Builder, take a look at the Slickgrid-Universal Example 2, try to group by any column and then Export to Excel to see the very customized Excel output.
Note that if you had a JSZip
path defined in your tsconfig.json
, you can now remove it. that is because we migrated to fflate
and it doesn't require any special config.
{
"compilerOptions": {
- "paths": {
- "jszip": [
- "node_modules/jszip/dist/jszip.min.js"
- ]
- }
}
}
Bug Fixes
- update to latest Slickgrid-Universal v4.4.1 (44f933e) - by @ghiscoding
- demo: change trading demo full screen z-index lower than ms-select (6a89be9) - by @ghiscoding
Features
- ExcelExport: migrate to Excel-Builder-Vanilla (ESM) (#1157) (92e24a4) - by @ghiscoding
Installation
Please remember that all packages of @slickgrid-universal
(v4.4.1
) and Aurelia-Slickgrid
(v7.4.1
) must be updated at the same time and they will always get bumped on the same day to avoid any upgrade issues. You can also consult the Versions Compatibility Table - Wiki
please remember that Slickgrid-Universal monorepo now contains the biggest portion of the code (~90%), so most of the commits are now happening on that side.
- review the Slickgrid-Universal changelog
- and the Aurelia-Slickgrid changelog (above)
v7.3.1
7.3.1 (2024-01-27)
Performance Improvements
- decrease number of calls to translate all extensions only once (#1151) (97966a1) - by @ghiscoding
v7.3.0
7.3.0 (2024-01-21)
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 35 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 Slickgrid-Universal PR 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!!! 🎉
Features
- plugin: new Row Based Editing (#1150) (9baf115) - by @ghiscoding
Performance Improvements
- resizer:
autosizeColumns
is called too many times on page load (#1148) (f4f64b3) - by @ghiscoding
Installation
Please remember that all packages of @slickgrid-universal
(v4.3.0
) and Aurelia-Slickgrid
(v7.3.0
) must be updated at the same time and they will always get bumped on the same day to avoid any upgrade issues. You can also consult the Versions Compatibility Table - Wiki
please remember that Slickgrid-Universal monorepo now contains the biggest portion of the code (~90%), so most of the commits are now happening on that side.
- review the Slickgrid-Universal changelog
- and the Aurelia-Slickgrid changelog (above)
v7.2.1
7.2.1 (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 few other small features and fixes were pushed, see below. Happy Holidays 🎁
Bug Fixes
- sync row defatil grid option to fix build (#1138) (f51220f) - by @ghiscoding
Features
- (re)add option to cancel Row Detail opening (#1136) (b4980ec) - by @ghiscoding
Installation
Please remember that all packages of @slickgrid-universal
(v4.2.0
) and Aurelia-Slickgrid
(v7.2.1
) must be updated at the same time and they will always get bumped on the same day to avoid any upgrade issues. You can also consult the Versions Compatibility Table - Wiki
please remember that Slickgrid-Universal monorepo now contains the biggest portion of the code (~90%), so most of the commits are now happening on that side.
- review the Slickgrid-Universal changelog
- and the Aurelia-Slickgrid changelog (above)
v7.1.0
7.1.0 (2023-12-21)
Quick Info
This new release fixes the demo with single locale (without using I18N), there are now 2 demos available in the external repo Aurelia-Slickgrid-Demos (with I18N and without I18N).
Bug Fixes
- I18N could be optional when providing single locale (#1129) (94fcfce) - by @ghiscoding
Features
- reimplement highlight row, node-extend & fix few issues (#1134) (c047781) - by @ghiscoding
Installation
Please remember that all packages of @slickgrid-universal
(v4.1.0
) and Aurelia-Slickgrid
(v7.1.0
) must be updated at the same time and they will always get bumped on the same day to avoid any upgrade issues. You can also consult the Versions Compatibility Table - Wiki
please remember that Slickgrid-Universal monorepo now contains the biggest portion of the code (~90%), so most of the commits are now happening on that side.
- review the Slickgrid-Universal changelog
- and the Aurelia-Slickgrid changelog (above)
v7.0.3 - Aurelia 2 (official release)
7.0.3 (2023-12-19)
Official Aurelia 2 Support
For real this time, starting with v7.0.3, Aurelia-Slickgrid is now working with Aurelia 2 🚀
A huge thanks to @MaximBalaganskiy he is the main player in getting this possible 👏🏻 🥇
⚠️ BREAKING CHANGES
- BREAKING CHANGE: migrate to Slickgrid-Universal v4.0 and Aurelia 2, fixes #709 (#1124) (8d0aa70), closes #709 #1124
Aurelia 2 is now required
Quick Info
The biggest change to this release is Aurelia 2 new minimum requirement
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 7.0 for all the changes
BREAKING CHANGES
- migrate to Slickgrid-Universal v4.0 and Aurelia 2, fixes #709
Bug Fixes
- spreading 2 grids options causes duplicate ext resources (#1126) (00a0be2)
- add missing types in pkg and fix cjs/esm exports (17eb5e8)
Installation
Please remember that all packages of @slickgrid-universal
(v4.0.3
) and Aurelia-Slickgrid
(v7.0.3
) must be updated at the same time and they will always get bumped on the same day to avoid any upgrade issues. You can also consult the Versions Compatibility Table - Wiki
please remember that Slickgrid-Universal monorepo now contains the biggest portion of the code (~90%), so most of the commits are now happening on that side.
- review the Slickgrid-Universal changelog
- and the Aurelia-Slickgrid changelog (above)
v7.0.2 - Aurelia 2 support
7.0.2 (2023-12-16)
Not Ready Yet
It looks like I went ahead a little too early on releasing this new version, the plugin build process is different in Aurelia 2 and I am still working on this part. Sorry for the delay
v6.6.6
v6.6.5 - deprecated Formatters
6.6.5 (2023-12-13)
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. Note that the CSS class may vary depending on which UI framework you use.
Formatter removed | cssClass equivalent |
alternative |
---|---|---|
Formatters.bold |
cssClass: 'text-bold' or fw-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
Installation
Please remember that all packages of @slickgrid-universal
(v3.7.2
) and Aurelia-Slickgrid
(v6.6.5
) must be updated at the same time and they will always get bumped on the same day to avoid any upgrade issues. You can also consult the Versions Compatibility Table - Wiki
please remember that Slickgrid-Universal monorepo now contains the biggest portion of the code (~90%), so most of the commits are now happening on that side.
- review the Slickgrid-Universal changelog
- and the Aurelia-Slickgrid changelog (above)
v6.6.4 - deprecated Formatters
6.6.4 (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. Note that the CSS class may vary depending on which UI framework you use.
Bug Fixes
Features
Installation
Please remember that all packages of @slickgrid-universal
(v3.7.1
) and Aurelia-Slickgrid
(v6.6.4
) must be updated at the same time and they will always get bumped on the same day to avoid any upgrade issues. You can also consult the Versions Compatibility Table - Wiki
please remember that Slickgrid-Universal monorepo now contains the biggest portion of the code (~90%), so most of the commits are now happening on that side.
- review the Slickgrid-Universal changelog
- and the Aurelia-Slickgrid changelog (above)