You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,14 +29,14 @@ This is a monorepo project (using [pnpm workspaces](https://pnpm.io/workspaces)
29
29
### What's the difference with the original SlickGrid (now [`6pac/slickgrid`](https://github.com/6pac/SlickGrid)) project?
30
30
If you've used the original SlickGrid in the past, you might be wondering, should I use the [`6pac/slickgrid`](https://github.com/6pac/SlickGrid) or Slickgrid-Universal (or any of its wrappers), what are the differences? The main difference is that the original `SlickGrid`/`6pac/slickgrid` is like an unassembled IKEA product where it's very bare bone and unassembled, on the other hand Slickgrid-Universal is an all assembled product with batteries included. What that means is that Slickgrid-Universal comes in with many built-in features like Formatters, Editors, Filters, Tree Data, ... which are not available in the original SlickGrid. So in the end SlickGrid (`6pac/slickgrid`) project is much smaller in size because it's very bare bone but you will have to implement many things by yourself (Sorting/Filtering/Editing/...), and if you're looking at creating very basic grids with the smallest footprint possible, then SlickGrid might work for you, otherwise Slickgrid-Universal has a more complete set of features with a bit larger download and installation size.
31
31
32
-
Side note, I am (`@ghiscoding`) a maintainer in both projects, which are Slickgrid-Universal as well as the `6pac/slickgrid` (in fact Slickgrid-Universal was originally requiring the `6pac/slickgrid` dependency but that was eventually dropped in v4 and it is now a standalone). The main reason to support both projects is to keep core files in sync as much as possible (SlickGrid, SlickDataView and all plugins). Both projects combined together have a much larger userbase and this mean more more stability for both projects, and we also often sync new features in both projects as well... and that's it, this makes it clearer what the differences are and if you need more clarity then feel free to open a new Discussion for more details.
32
+
Side note, I am (`@ghiscoding`) a maintainer in both projects, which are Slickgrid-Universal as well as the `6pac/slickgrid` (in fact Slickgrid-Universal was originally requiring the `6pac/slickgrid` dependency but that was eventually dropped in v4 and it is now a standalone). The main reason to support both projects is to keep core files in sync as much as possible (SlickGrid, SlickDataView and all plugins). Both projects combined together have a much larger user base and this mean much more stability for both projects, and we also often sync new core & plugin files in both projects as well... and that's it, I hope this makes it clear what the differences are and in case you need more clarity then feel free to open a new Discussion for more details.
33
33
34
34
### Why create this monorepo?
35
35
Below is a list of reasons as to why this project was created and why it was built as a monorepo project:
36
36
1. originally created to remove duplicated code from the first 2 framework wrappers (Angular, Aurelia)
37
-
2. it also decoupled a few Services which are simply not required in every project
37
+
2. it also decoupled many of the Services that are simply not required by every project
38
38
- OData, GraphQL, Export to CSV, Export to Excel, Composite Editor, RxJS, ...
39
-
4. and finally it is framework agnostic, the same logic is reused in all different framework wrappers
39
+
4. and finally it is framework agnostic
40
40
- you can reuse the same grids and logic in many different frameworks, it's easily transportable
41
41
- you can use it in plain JavaScript (ES6) or TypeScript, i.e. we use plain JS (ES6) in our Salesforce environment with LWC (Lightning Web Component)
42
42
@@ -49,7 +49,7 @@ You could star ⭐ the project and/or support me with caffeine via GitHub [spons
49
49
<ahref='https://ko-fi.com/ghiscoding'target='_blank'><imgheight='36'style='border:0px;height:36px;'src='https://storage.ko-fi.com/cdn/kofi3.png?v=6'border='0'alt='Buy Me a Coffee at ko-fi.com' /></a>
50
50
51
51
## Live Demos & Available Framework Wrappers
52
-
The GitHub [live demo](https://ghiscoding.github.io/slickgrid-universal) above shows 2 different UI themes (Material Design / Salesforce), but you could also choose the Bootstrap theme which is demoed in other frameworks from links available in the table below. Also note that even if the demos are built with either [Bootstrap](https://getbootstrap.com/) or [Bulma](https://bulma.io/), you could in theory use any other UI libraries. The project tries to be as much agnostic as possible and it does so by providing a large set of CSS/SASS variables which are available to you to customize the UI however you want.
52
+
The GitHub [live demo](https://ghiscoding.github.io/slickgrid-universal) above shows 2 different UI themes (Material Design / Salesforce), but you could also choose the Bootstrap theme which is demoed in other frameworks from links available in the table shown below. Also note that even if the demos are built with either [Bootstrap](https://getbootstrap.com/) or [Bulma](https://bulma.io/), you could in theory use any other UI libraries. The project tries to be as much agnostic as possible and it does so by providing a large set of CSS/SASS variables which are available to you to customize the UI however you want.
53
53
54
54
### Available Framework Wrappers
55
55
@@ -63,10 +63,10 @@ The GitHub [live demo](https://ghiscoding.github.io/slickgrid-universal) above s
63
63
| [Slickgrid-Universal-Vite-Demo](https://github.com/ghiscoding/slickgrid-universal-vite-demo) | [demo](https://ghiscoding.github.io/slickgrid-universal-vite-demo) | [](https://stackblitz.com/github/ghiscoding/slickgrid-universal-vite-demo) | Vanilla / Vite | [docs](https://ghiscoding.gitbook.io/slickgrid-universal/)
The Slickgrid-Universal [live demo](https://ghiscoding.github.io/slickgrid-universal) is a Vanilla Implementation (which is not associated to any framework) built with [ViteJS](https://vitejs.dev/) (originally [WebPack](https://webpack.js.org/)) and is also being used to run all E2E tests with [Cypress](https://www.cypress.io/) for testing every UI functionalities. The [Vanilla-force-bundle](https://github.com/ghiscoding/slickgrid-universal/tree/master/packages/vanilla-force-bundle), which extends the [vanilla-bundle](https://github.com/ghiscoding/slickgrid-universal/tree/master/packages/vanilla-bundle) package, is what we use in our SalesForce implementation (with Lightning Web Component) and it can also be used as a Standalone script (see [zip](https://github.com/ghiscoding/slickgrid-universal/tree/master/packages/vanilla-force-bundle/dist-grid-bundle-zip) file). These were all the original reasons to create this monorepo library but above all it was to avoid code duplication. Dark Mode is also shown in some of the examples (not all), see [Dark Mode](https://ghiscoding.gitbook.io/slickgrid-universal/styling/dark-mode) documentation for more infos.
66
+
The Slickgrid-Universal [live demo](https://ghiscoding.github.io/slickgrid-universal) is a Vanilla Implementation (which is not associated to any framework) built with [ViteJS](https://vitejs.dev/) (originally [WebPack](https://webpack.js.org/)) and is also being used to run all E2E tests with [Cypress](https://www.cypress.io/) for testing every UI functionalities. The [Vanilla-force-bundle](https://github.com/ghiscoding/slickgrid-universal/tree/master/packages/vanilla-force-bundle), which extends the [vanilla-bundle](https://github.com/ghiscoding/slickgrid-universal/tree/master/packages/vanilla-bundle) package, is what we use in our SalesForce implementation (with Lightning Web Component) and it can also be used as a Standalone script (see [zip](https://github.com/ghiscoding/slickgrid-universal/tree/master/packages/vanilla-force-bundle/dist-grid-bundle-zip) file). These were all the original reasons to create this monorepo library but above all, it was to avoid code duplication. Dark Mode is also shown in some of the examples (not all), see [Dark Mode](https://ghiscoding.gitbook.io/slickgrid-universal/styling/dark-mode) documentation for more infos.
Slickgrid-Universal has close to **100%** Unit Test Coverage, ~5,000 Vitest unit tests including ~900 Cypress E2E tests to cover all [Examples](https://ghiscoding.github.io/slickgrid-universal/) and most UI functionalities (each framework implementation also includes the same amount of E2E tests), the goal is to offer peace of mind that pretty much all the code and PR changes are fully tested before releasing anything. Every time a new Pull Request (PR) is created, it will run all unit tests and Cypress E2E tests for every framework wrappers.
69
+
Slickgrid-Universal has close to **100%** Unit Test Coverage, ~5,000 Vitest unit tests including ~900 Cypress E2E tests to cover all [Examples](https://ghiscoding.github.io/slickgrid-universal/) and most UI functionalities (each framework implementation also includes roughly the same amount of E2E tests), the goal is to offer peace of mind that pretty much all the code and PR changes are fully tested before releasing anything. Every time a new Pull Request (PR) is created, it runs all unit tests and Cypress E2E tests for vanilla and every framework wrappers.
0 commit comments