angular-slickgrid 4.1.1 → 4.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,190 +1,180 @@
1
- # Angular-Slickgrid
2
-
3
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4
- [![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-%230074c1.svg)](http://www.typescriptlang.org/)
5
- [![npm version](https://badge.fury.io/js/angular-slickgrid.svg)](//npmjs.com/package/angular-slickgrid)
6
- [![NPM downloads](https://img.shields.io/npm/dy/angular-slickgrid.svg)](https://npmjs.org/package/angular-slickgrid)
7
-
8
- [![Actions Status](https://github.com/ghiscoding/Angular-Slickgrid/workflows/CI%20Build/badge.svg)](https://github.com/ghiscoding/Angular-Slickgrid/actions)
9
- [![Cypress.io](https://img.shields.io/badge/tested%20with-Cypress-04C38E.svg)](https://www.cypress.io/)
10
- [![jest](https://jestjs.io/img/jest-badge.svg)](https://github.com/facebook/jest)
11
- [![codecov](https://codecov.io/gh/ghiscoding/Angular-Slickgrid/branch/master/graph/badge.svg)](https://codecov.io/gh/ghiscoding/Angular-Slickgrid)
12
-
13
- ### Brief introduction
14
- One of the best javascript datagrid [SlickGrid](https://github.com/mleibman/SlickGrid) which was originally developed by @mleibman is now available to Angular. I have used a few datagrids and SlickGrid beats most of them in terms of functionalities and performance (it can easily deal with even a million row). We will be using the [6pac/SlickGrid](https://github.com/6pac/SlickGrid/) fork, it is the most active fork since the original author @mleibman stopped working on his original repo. Also worth knowing that I have contributed a lot to the 6pac/SlickGrid fork for the benefit of Angular-Slickgrid... also a reminder, this is a wrapper of a jQuery lib (SlickGrid) and a big portion of the lib (like Editors, Filters and others) are written in jQuery/JavaScript, so just keep that in mind and it also mean that jQuery is a dependency.
15
-
16
- ### License
17
- [MIT License](LICENSE)
18
-
19
- ### NPM Package
20
- [Angular-Slickgrid on NPM](https://www.npmjs.com/package/angular-slickgrid)
21
-
22
- ### Demo page
23
- `Angular-Slickgrid` works with all `Bootstrap` versions, you can see a demo of each one below. There are also 2 new styling Themes, Material & Salesforce which are also available. You can also use different SVG icons, you may want to look at the [Wiki - SVG Icons](https://github.com/ghiscoding/Angular-Slickgrid/wiki/SVG-Icons)
24
- - [Bootstrap 5 demo](https://ghiscoding.github.io/Angular-Slickgrid) / [examples repo](https://github.com/ghiscoding/angular-slickgrid-demos/tree/master/bootstrap5-demo-with-translate)
25
- - [Bootstrap 4 demo](https://ghiscoding.github.io/angular-slickgrid-demos) / [examples repo](https://github.com/ghiscoding/angular-slickgrid-demos/tree/master/bootstrap4-demo-with-translate)
26
-
27
- #### Working Demo
28
- For a complete & working local demo (30+ examples), you can (and should) clone the [Angular-Slickgrid Demos](https://github.com/ghiscoding/angular-slickgrid-demos) repository to get started. That repo is updated frequently and is used to update the GitHub demo page for both the [Bootstrap 5 demo](https://ghiscoding.github.io/Angular-Slickgrid) and [Bootstrap 4 demo](https://ghiscoding.github.io/angular-slickgrid-demos).
29
- ```bash
30
- git clone https://github.com/ghiscoding/angular-slickgrid-demos
31
- cd bootstrap4-demo-with-translate # or any of the 4 demos
32
- npm install
33
- npm start
34
- ```
35
-
36
- ### Like it? :star: it
37
- You like and use **Angular-Slickgrid**? Be sure to upvote :star: and feel free to contribute. :construction_worker:👷‍♀️
38
-
39
- ### Like my work?
40
- If you like my work, you can also support me with caffeine. I certainly drank many coffees to build and keep adding features for this great library.
41
-
42
- <a href='https://ko-fi.com/N4N679OT'
43
- target='_blank'>
44
- <img height='30'
45
- style='border:0px;height:32px;'
46
- src='https://az743702.vo.msecnd.net/cdn/kofi2.png?v=0'
47
- border='0'
48
- alt='Buy Me a Coffee at ko-fi.com' />
49
- </a>
50
-
51
- ## Latest News & Releases
52
- Check out the [Releases](https://github.com/ghiscoding/Angular-Slickgrid/releases) section for all latest News & Releases.
53
-
54
- ## Angular Compatibility
55
- - version `1.x.x` for Angular 4 to 6
56
- - version `2.x.x` for Angular 7+
57
- - version `3.x.x` for Angular 12+ and RxJS 7+ ([migration guide to 3.x](https://github.com/ghiscoding/Angular-Slickgrid/wiki/Migration-to-3.x))
58
- - build `target` got bumped to `ES2018` for modern browser **only**
59
- - IE11 is reaching EOL by year end and is **no longer supported**, if you still need to support it then stick with version 2.x
60
- - uses [Slickgrid-Universal](https://github.com/ghiscoding/slickgrid-universal) monorepo
61
- - version `4.x.x` for Angular 13+ and RxJS 7+ (**Ivy only**, [migration guide to 4.x](https://github.com/ghiscoding/Angular-Slickgrid/wiki/Migration-to-4.x))
62
- - for Ivy build only (no more UMD bundle), IE is definitely out of the picture
63
-
64
- For Angular 12+ see the instructions below - [Angular 12 with WebPack 5 - polyfill issue](https://github.com/ghiscoding/Angular-Slickgrid#angular-12-with-webpack-5---how-to-fix-polyfill-error)
65
-
66
- ### ngx-translate Compatibility
67
-
68
- If you are facing any issues with `ngx-translate` library while building your Angular Project. You need to make sure that `@ngx-translate/core` is part of your dependencies, that is also true even when using a single Locale, that is because it is a `peerDependency` of Angular-Slickgrid. The reason is because, we use `@Optional() TranslateService` in the lib and for that to work, we still need it to be installed, but don't worry it should still be removed by the tree shaking process after a running a production build. See their version compatibility table below
69
-
70
- | Angular Version | @ngx-translate/core |
71
- |-----------------|---------------------|
72
- | 13+ (Ivy only) | 14.x+ |
73
- | 10-13 | 13.x+ |
74
- | 8-9 | 12.x+ |
75
- | 7 | 11.x+ |
76
-
77
- ### Build Warnings (Angular 8+)
78
- You might get warnings about SlickGrid while doing a production build, most of them are fine and the best way to fix them, is to simply remove/ignore the warnings, all you have to do is to add a file named `ngcc.config.js` in your project root (same location as the `angular.json` file) with the following content (you can also see this [commit](https://github.com/ghiscoding/angular-slickgrid-demos/commit/1fe8092bcd2e99ede5ab048f4a7ebe6254e4bee0) which fixes the Angular-Slickgrid-Demos prod build):
79
- ```js
80
- module.exports = {
81
- packages: {
82
- 'angular-slickgrid': {
83
- ignorableDeepImportMatchers: [
84
- /assign-deep/,
85
- /slickgrid\//,
86
- /flatpickr/,
87
- /dequal/,
88
- /jquery-ui\//,
89
- ]
90
- },
91
- }
92
- };
93
- ```
94
- You should also add `Angular-Slickgrid` as an allowed CommonJS dependency to your `angular.json` file to silence the warnings.
95
- ```json
96
- "options": {
97
- "allowedCommonJsDependencies": ["angular-slickgrid"]
98
- }
99
- ```
100
-
101
- ### Angular 12 with WebPack 5 - how to fix polyfill error
102
- Since Angular 12 switched to WebPack 5, you might get some new errors and you will need to add some polyfills manually to get the Excel Builder (Excel Export) to work.
103
-
104
- #### The error you might get
105
-
106
- ```text
107
- BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
108
- This is no longer the case. Verify if you need this module and configure a polyfill for it.
109
- ```
110
-
111
- #### Steps to fix it
112
- 1. `npm install stream-browserify`
113
- 2. Add a path mapping in `tsconfig.json`:
114
- ```
115
- {
116
- ...
117
- "compilerOptions": {
118
- "paths": {
119
- "stream": [ "./node_modules/stream-browserify" ]
120
- },
121
- ```
122
- 3. Add `stream` to `allowedCommonJsDependencies` in `angular.json`:
123
- ```
124
- "options": {
125
- "allowedCommonJsDependencies": [
126
- "assign-deep",
127
- "excel-builder-webpacker",
128
- "jquery-ui",
129
- "stream"
130
- ],
131
- ```
132
-
133
- ### Fully Tested with [Jest](https://jestjs.io/) (Unit Tests) - [Cypress](https://www.cypress.io/) (E2E Tests)
134
- Angular-Slickgrid and Slickgrid-Universal both have **100%** Unit Test Coverage, we are talking about +15,000 lines of code (+3,750 unit tests) that are fully tested with [Jest](https://jestjs.io/). On the UI side, all Angular-Slickgrid Examples are tested with [Cypress](https://www.cypress.io/), there are over +500 Cypress E2E tests.
135
-
136
- ## Installation
137
- Refer to the **[Wiki - HOWTO Step by Step](https://github.com/ghiscoding/angular-slickgrid/wiki/HOWTO---Step-by-Step)** and/or clone the [Angular-Slickgrid Demos](https://github.com/ghiscoding/angular-slickgrid-demos) repository. Please don't open any issue unless you have followed these steps (from the Wiki), and if any of the steps are incorrect or confusing, then please let me know.
138
-
139
- **NOTE:** if you have any question, please consider asking installation and/or general questions on [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=slickgrid)
140
-
141
- #### How to load data with `HttpClient`?
142
- You might notice that all demos are coded with mocked dataset in each of the examples, that is mainly for demo purposes, but you might be wondering how to connect this with an `HttpClient`? Easy... just replace the mocked data, assigned to the `dataset` property, by your `HttpClient` call it and that's it. The `dataset` property can be changed or refreshed at any time, which is why you can use local data and/or connect it to a `Promise` or an `Observable` with `HttpClient` (internally it's just a SETTER that refreshes the grid). See [Example 24](https://ghiscoding.github.io/Angular-Slickgrid/#/gridtabs) for a demo showing how to load a JSON file with `HttpClient`.
143
-
144
- ## Wiki / Documentation
145
- The Wiki is where all the documentation and instructions will go, so please consult the [Angular-Slickgrid - Wiki](https://github.com/ghiscoding/Angular-Slickgrid/wiki) before opening any issues. The [Wiki - HOWTO](https://github.com/ghiscoding/Angular-Slickgrid/wiki/HOWTO---Step-by-Step) is a great place to start with. You can also take a look at the [Demo page](https://ghiscoding.github.io/Angular-Slickgrid), it includes sample for most of the features and it keeps growing (so you might want to consult it whenever a new version comes out).
146
-
147
- ## Main features
148
- You can see some screenshots below and the instructions down below and if that is not enough for you to decide, head over to the [Wiki - Main Features](https://github.com/ghiscoding/Angular-Slickgrid/wiki).
149
-
150
- ## Missing features
151
- What if `Angular-Slickgrid` is missing feature(s) compare to the original core library [6pac/SlickGrid](https://github.com/6pac/SlickGrid/)?
152
-
153
- Fear not, and just simply reference the `SlickGrid` and `DataView` objects, just like in the core lib, those are exposed through Event Emitters. For more info continue reading on [Wiki - SlickGrid & DataView objects](/ghiscoding/Angular-Slickgrid/wiki/SlickGrid-&-DataView-Objects) and [Wiki - Grid & DataView Events](https://github.com/ghiscoding/Angular-Slickgrid/wiki/Grid-&-DataView-Events)
154
-
155
-
156
- ## Screenshots
157
-
158
- Screenshots from the demo app with the `Bootstrap` theme.
159
-
160
- _Note that the styling changed a bit, the best is to simply head over to the [Live Demo](https://ghiscoding.github.io/Angular-Slickgrid) page._
161
-
162
- ### Slickgrid example with Formatters (last column shown is a custom Formatter)
163
-
164
- #### _You can also see the Grid Menu opened (aka hambuger menu)_
165
-
166
- ![Default Slickgrid Example](/screenshots/formatters.png)
167
-
168
- ### Filters and Multi-Column Sort
169
-
170
- ![Filter and Sort](/screenshots/filter_and_sort.png)
171
-
172
- ### Inline Editing
173
-
174
- ![Editors](/screenshots/editors.png)
175
-
176
- ### Pinned (aka frozen) Columns/Rows
177
-
178
- ![Pinned Columns/Rows](/screenshots/frozen.png)
179
-
180
- ### Draggable Grouping & Aggregators
181
-
182
- ![Draggable Grouping](/screenshots/draggable-grouping.png)
183
-
184
- ### Slickgrid Example with Server Side (Filter/Sort/Pagination)
185
- #### Comes with OData & GraphQL support (you can implement custom ones too)
186
-
187
- ![Slickgrid Server Side](/screenshots/pagination.png)
188
-
189
- ### Composite Editor Modal Windows
190
- ![Composite Editor Modal](/screenshots/composite-editor.png)
1
+ # Angular-Slickgrid
2
+
3
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4
+ [![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-%230074c1.svg)](http://www.typescriptlang.org/)
5
+ [![npm version](https://badge.fury.io/js/angular-slickgrid.svg)](//npmjs.com/package/angular-slickgrid)
6
+ [![NPM downloads](https://img.shields.io/npm/dy/angular-slickgrid.svg)](https://npmjs.org/package/angular-slickgrid)
7
+
8
+ [![Actions Status](https://github.com/ghiscoding/Angular-Slickgrid/workflows/CI%20Build/badge.svg)](https://github.com/ghiscoding/Angular-Slickgrid/actions)
9
+ [![Cypress.io](https://img.shields.io/badge/tested%20with-Cypress-04C38E.svg)](https://www.cypress.io/)
10
+ [![jest](https://jestjs.io/img/jest-badge.svg)](https://github.com/facebook/jest)
11
+ [![codecov](https://codecov.io/gh/ghiscoding/Angular-Slickgrid/branch/master/graph/badge.svg)](https://codecov.io/gh/ghiscoding/Angular-Slickgrid)
12
+
13
+ ### Brief introduction
14
+ One of the best javascript datagrid [SlickGrid](https://github.com/mleibman/SlickGrid) which was originally developed by @mleibman is now available to Angular. I have used a few datagrids and SlickGrid beats most of them in terms of functionalities and performance (it can easily deal with even a million row). We will be using the [6pac/SlickGrid](https://github.com/6pac/SlickGrid/) fork, it is the most active fork since the original author @mleibman stopped working on his original repo. Also worth knowing that I have contributed a lot to the 6pac/SlickGrid fork for the benefit of Angular-Slickgrid... also a reminder, this is a wrapper of a jQuery lib (SlickGrid) and a big portion of the lib (like Editors, Filters and others) are written in jQuery/JavaScript, so just keep that in mind and it also mean that jQuery is a dependency.
15
+
16
+ ### License
17
+ [MIT License](LICENSE)
18
+
19
+ ### NPM Package
20
+ [Angular-Slickgrid on NPM](https://www.npmjs.com/package/angular-slickgrid)
21
+
22
+ ### Demo page
23
+ `Angular-Slickgrid` works with all `Bootstrap` versions, you can see a demo of each one below. There are also 2 new styling Themes, Material & Salesforce which are also available. You can also use different SVG icons, you may want to look at the [Wiki - SVG Icons](https://github.com/ghiscoding/Angular-Slickgrid/wiki/SVG-Icons)
24
+ - [Bootstrap 5 demo](https://ghiscoding.github.io/Angular-Slickgrid) / [examples repo](https://github.com/ghiscoding/angular-slickgrid-demos/tree/master/bootstrap5-demo-with-translate)
25
+ - [Bootstrap 4 demo](https://ghiscoding.github.io/angular-slickgrid-demos) / [examples repo](https://github.com/ghiscoding/angular-slickgrid-demos/tree/master/bootstrap4-demo-with-translate)
26
+
27
+ #### Working Demo
28
+ For a complete & working local demo (30+ examples), you can (and should) clone the [Angular-Slickgrid Demos](https://github.com/ghiscoding/angular-slickgrid-demos) repository to get started. That repo is updated frequently and is used to update the GitHub demo page for both the [Bootstrap 5 demo](https://ghiscoding.github.io/Angular-Slickgrid) and [Bootstrap 4 demo](https://ghiscoding.github.io/angular-slickgrid-demos).
29
+ ```bash
30
+ git clone https://github.com/ghiscoding/angular-slickgrid-demos
31
+ cd bootstrap4-demo-with-translate # or any of the 4 demos
32
+ npm install
33
+ npm start
34
+ ```
35
+
36
+ ### Like it? :star: it
37
+ You like to use **Angular-Slickgrid**? Be sure to upvote :star:, maybe support me with cafeine :coffee: and feel free to contribute. 👷👷‍♀️
38
+
39
+ <a href='https://ko-fi.com/N4N679OT' target='_blank'><img height='32' style='border:0px;height:32px;' src='https://az743702.vo.msecnd.net/cdn/kofi3.png?v=0' border='0' alt='Buy Me a Coffee at ko-fi.com' />
40
+
41
+ ## Latest News & Releases
42
+ Check out the [Releases](https://github.com/ghiscoding/Angular-Slickgrid/releases) section for all latest News & Releases.
43
+
44
+ ## Angular Compatibility
45
+ - version `1.x.x` for Angular 4 to 6
46
+ - version `2.x.x` for Angular 7+
47
+ - version `3.x.x` for Angular 12+ and RxJS 7+ ([migration guide to 3.x](https://github.com/ghiscoding/Angular-Slickgrid/wiki/Migration-to-3.x))
48
+ - build `target` got bumped to `ES2018` for modern browser **only**
49
+ - IE11 is reaching EOL by year end and is **no longer supported**, if you still need to support it then stick with version 2.x
50
+ - uses [Slickgrid-Universal](https://github.com/ghiscoding/slickgrid-universal) monorepo
51
+ - version `4.x.x` for Angular 13+ and RxJS 7+ (**Ivy only**, [migration guide to 4.x](https://github.com/ghiscoding/Angular-Slickgrid/wiki/Migration-to-4.x))
52
+ - for Ivy build only (no more UMD bundle), IE is definitely out of the picture
53
+
54
+ For Angular 12+ see the instructions below - [Angular 12 with WebPack 5 - polyfill issue](https://github.com/ghiscoding/Angular-Slickgrid#angular-12-with-webpack-5---how-to-fix-polyfill-error)
55
+
56
+ ### ngx-translate Compatibility
57
+
58
+ If you are facing any issues with `ngx-translate` library while building your Angular Project. You need to make sure that `@ngx-translate/core` is part of your dependencies, that is also true even when using a single Locale, that is because it is a `peerDependency` of Angular-Slickgrid. The reason is because, we use `@Optional() TranslateService` in the lib and for that to work, we still need it to be installed, but don't worry it should still be removed by the tree shaking process after a running a production build. See their version compatibility table below
59
+
60
+ | Angular Version | @ngx-translate/core |
61
+ |-----------------|---------------------|
62
+ | 13+ (Ivy only) | 14.x+ |
63
+ | 10-13 | 13.x+ |
64
+ | 8-9 | 12.x+ |
65
+ | 7 | 11.x+ |
66
+
67
+ ### Build Warnings (Angular 8+)
68
+ You might get warnings about SlickGrid while doing a production build, most of them are fine and the best way to fix them, is to simply remove/ignore the warnings, all you have to do is to add a file named `ngcc.config.js` in your project root (same location as the `angular.json` file) with the following content (you can also see this [commit](https://github.com/ghiscoding/angular-slickgrid-demos/commit/1fe8092bcd2e99ede5ab048f4a7ebe6254e4bee0) which fixes the Angular-Slickgrid-Demos prod build):
69
+ ```js
70
+ module.exports = {
71
+ packages: {
72
+ 'angular-slickgrid': {
73
+ ignorableDeepImportMatchers: [
74
+ /assign-deep/,
75
+ /slickgrid\//,
76
+ /flatpickr/,
77
+ /dequal/,
78
+ /jquery-ui\//,
79
+ ]
80
+ },
81
+ }
82
+ };
83
+ ```
84
+ You should also add `Angular-Slickgrid` as an allowed CommonJS dependency to your `angular.json` file to silence the warnings.
85
+ ```json
86
+ "options": {
87
+ "allowedCommonJsDependencies": ["angular-slickgrid"]
88
+ }
89
+ ```
90
+
91
+ ### Angular 12 with WebPack 5 - how to fix polyfill error
92
+ Since Angular 12 switched to WebPack 5, you might get some new errors and you will need to add some polyfills manually to get the Excel Builder (Excel Export) to work.
93
+
94
+ #### The error you might get
95
+
96
+ ```text
97
+ BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
98
+ This is no longer the case. Verify if you need this module and configure a polyfill for it.
99
+ ```
100
+
101
+ #### Steps to fix it
102
+ 1. `npm install stream-browserify`
103
+ 2. Add a path mapping in `tsconfig.json`:
104
+ ```
105
+ {
106
+ ...
107
+ "compilerOptions": {
108
+ "paths": {
109
+ "stream": [ "./node_modules/stream-browserify" ]
110
+ },
111
+ ```
112
+ 3. Add `stream` to `allowedCommonJsDependencies` in `angular.json`:
113
+ ```
114
+ "options": {
115
+ "allowedCommonJsDependencies": [
116
+ "assign-deep",
117
+ "excel-builder-webpacker",
118
+ "jquery-ui",
119
+ "stream"
120
+ ],
121
+ ```
122
+
123
+ ### Fully Tested with [Jest](https://jestjs.io/) (Unit Tests) - [Cypress](https://www.cypress.io/) (E2E Tests)
124
+ Angular-Slickgrid and Slickgrid-Universal both have **100%** Unit Test Coverage, we are talking about +15,000 lines of code (+3,750 unit tests) that are fully tested with [Jest](https://jestjs.io/). On the UI side, all Angular-Slickgrid Examples are tested with [Cypress](https://www.cypress.io/), there are over +500 Cypress E2E tests.
125
+
126
+ ## Installation
127
+ Refer to the **[Wiki - HOWTO Step by Step](https://github.com/ghiscoding/angular-slickgrid/wiki/HOWTO---Step-by-Step)** and/or clone the [Angular-Slickgrid Demos](https://github.com/ghiscoding/angular-slickgrid-demos) repository. Please don't open any issue unless you have followed these steps (from the Wiki), and if any of the steps are incorrect or confusing, then please let me know.
128
+
129
+ **NOTE:** if you have any question, please consider asking installation and/or general questions on [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=slickgrid)
130
+
131
+ #### How to load data with `HttpClient`?
132
+ You might notice that all demos are coded with mocked dataset in each of the examples, that is mainly for demo purposes, but you might be wondering how to connect this with an `HttpClient`? Easy... just replace the mocked data, assigned to the `dataset` property, by your `HttpClient` call it and that's it. The `dataset` property can be changed or refreshed at any time, which is why you can use local data and/or connect it to a `Promise` or an `Observable` with `HttpClient` (internally it's just a SETTER that refreshes the grid). See [Example 24](https://ghiscoding.github.io/Angular-Slickgrid/#/gridtabs) for a demo showing how to load a JSON file with `HttpClient`.
133
+
134
+ ## Wiki / Documentation
135
+ The Wiki is where all the documentation and instructions will go, so please consult the [Angular-Slickgrid - Wiki](https://github.com/ghiscoding/Angular-Slickgrid/wiki) before opening any issues. The [Wiki - HOWTO](https://github.com/ghiscoding/Angular-Slickgrid/wiki/HOWTO---Step-by-Step) is a great place to start with. You can also take a look at the [Demo page](https://ghiscoding.github.io/Angular-Slickgrid), it includes sample for most of the features and it keeps growing (so you might want to consult it whenever a new version comes out).
136
+
137
+ ## Main features
138
+ You can see some screenshots below and the instructions down below and if that is not enough for you to decide, head over to the [Wiki - Main Features](https://github.com/ghiscoding/Angular-Slickgrid/wiki).
139
+
140
+ ## Missing features
141
+ What if `Angular-Slickgrid` is missing feature(s) compare to the original core library [6pac/SlickGrid](https://github.com/6pac/SlickGrid/)?
142
+
143
+ Fear not, and just simply reference the `SlickGrid` and `DataView` objects, just like in the core lib, those are exposed through Event Emitters. For more info continue reading on [Wiki - SlickGrid & DataView objects](/ghiscoding/Angular-Slickgrid/wiki/SlickGrid-&-DataView-Objects) and [Wiki - Grid & DataView Events](https://github.com/ghiscoding/Angular-Slickgrid/wiki/Grid-&-DataView-Events)
144
+
145
+
146
+ ## Screenshots
147
+
148
+ Screenshots from the demo app with the `Bootstrap` theme.
149
+
150
+ _Note that the styling changed a bit, the best is to simply head over to the [Live Demo](https://ghiscoding.github.io/Angular-Slickgrid) page._
151
+
152
+ ### Slickgrid example with Formatters (last column shown is a custom Formatter)
153
+
154
+ #### _You can also see the Grid Menu opened (aka hambuger menu)_
155
+
156
+ ![Default Slickgrid Example](/screenshots/formatters.png)
157
+
158
+ ### Filters and Multi-Column Sort
159
+
160
+ ![Filter and Sort](/screenshots/filter_and_sort.png)
161
+
162
+ ### Inline Editing
163
+
164
+ ![Editors](/screenshots/editors.png)
165
+
166
+ ### Pinned (aka frozen) Columns/Rows
167
+
168
+ ![Pinned Columns/Rows](/screenshots/frozen.png)
169
+
170
+ ### Draggable Grouping & Aggregators
171
+
172
+ ![Draggable Grouping](/screenshots/draggable-grouping.png)
173
+
174
+ ### Slickgrid Example with Server Side (Filter/Sort/Pagination)
175
+ #### Comes with OData & GraphQL support (you can implement custom ones too)
176
+
177
+ ![Slickgrid Server Side](/screenshots/pagination.png)
178
+
179
+ ### Composite Editor Modal Windows
180
+ ![Composite Editor Modal](/screenshots/composite-editor.png)