angular-slickgrid 9.0.0 → 9.0.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/LICENSE +1 -1
- package/{dist/fesm2022 → fesm2022}/angular-slickgrid.mjs +16 -16
- package/package.json +27 -14
- package/.gitbook.yaml +0 -5
- package/CHANGELOG.md +0 -1691
- package/CONTRIBUTING.md +0 -17
- package/angular.json +0 -133
- package/coverage/base.css +0 -224
- package/coverage/block-navigation.js +0 -87
- package/coverage/clover.xml +0 -1620
- package/coverage/coverage-final.json +0 -9
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +0 -176
- package/coverage/library/components/angular-slickgrid.component.ts.html +0 -5074
- package/coverage/library/components/index.html +0 -116
- package/coverage/library/constants.ts.html +0 -397
- package/coverage/library/extensions/index.html +0 -116
- package/coverage/library/extensions/slickRowDetailView.ts.html +0 -1261
- package/coverage/library/index.html +0 -116
- package/coverage/library/modules/angular-slickgrid.module.ts.html +0 -166
- package/coverage/library/modules/index.html +0 -116
- package/coverage/library/services/angularUtil.service.ts.html +0 -445
- package/coverage/library/services/container.service.ts.html +0 -163
- package/coverage/library/services/index.html +0 -161
- package/coverage/library/services/translater.service.ts.html +0 -199
- package/coverage/library/services/utilities.ts.html +0 -142
- package/coverage/prettify.css +0 -1
- package/coverage/prettify.js +0 -2
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +0 -196
- package/dist/LICENSE +0 -21
- package/dist/README.md +0 -142
- package/docs/README.md +0 -5
- package/docs/TOC.md +0 -105
- package/docs/backend-services/Custom-Backend-Service.md +0 -50
- package/docs/backend-services/GraphQL.md +0 -276
- package/docs/backend-services/OData.md +0 -245
- package/docs/backend-services/graphql/GraphQL-Filtering.md +0 -156
- package/docs/backend-services/graphql/GraphQL-JSON-Result.md +0 -85
- package/docs/backend-services/graphql/GraphQL-Pagination.md +0 -77
- package/docs/backend-services/graphql/GraphQL-Sorting.md +0 -78
- package/docs/column-functionalities/cell-menu.md +0 -212
- package/docs/column-functionalities/editors/autocomplete-editor.md +0 -466
- package/docs/column-functionalities/editors/date-editor-flatpickr.md +0 -71
- package/docs/column-functionalities/editors/date-editor-vanilla-calendar.md +0 -91
- package/docs/column-functionalities/editors/longtext-editor-textarea.md +0 -80
- package/docs/column-functionalities/editors/select-dropdown-editor.md +0 -227
- package/docs/column-functionalities/editors.md +0 -604
- package/docs/column-functionalities/filters/autocomplete-filter.md +0 -183
- package/docs/column-functionalities/filters/compound-filters.md +0 -234
- package/docs/column-functionalities/filters/custom-filter.md +0 -117
- package/docs/column-functionalities/filters/filter-intro.md +0 -81
- package/docs/column-functionalities/filters/input-filter.md +0 -260
- package/docs/column-functionalities/filters/range-filters.md +0 -188
- package/docs/column-functionalities/filters/select-filter.md +0 -695
- package/docs/column-functionalities/filters/single-search-filter.md +0 -77
- package/docs/column-functionalities/filters/styling-filled-filters.md +0 -45
- package/docs/column-functionalities/formatters.md +0 -325
- package/docs/column-functionalities/sorting.md +0 -200
- package/docs/developer-guides/csp-compliance.md +0 -64
- package/docs/events/Available-Events.md +0 -223
- package/docs/events/Grid-&-DataView-Events.md +0 -211
- package/docs/getting-started/quick-start.md +0 -230
- package/docs/getting-started/troubleshooting.md +0 -80
- package/docs/grid-functionalities/Column-Picker.md +0 -22
- package/docs/grid-functionalities/Composite-Editor-Modal.md +0 -627
- package/docs/grid-functionalities/Context-Menu.md +0 -226
- package/docs/grid-functionalities/Custom-Footer.md +0 -80
- package/docs/grid-functionalities/Custom-Tooltip-(plugin).md +0 -258
- package/docs/grid-functionalities/Export-to-Excel.md +0 -457
- package/docs/grid-functionalities/Export-to-Text-File.md +0 -165
- package/docs/grid-functionalities/FAQ.md +0 -53
- package/docs/grid-functionalities/Global-Options.md +0 -29
- package/docs/grid-functionalities/Grid-Auto-Resize.md +0 -218
- package/docs/grid-functionalities/Grid-Menu.md +0 -134
- package/docs/grid-functionalities/Grid-State-&-Preset.md +0 -245
- package/docs/grid-functionalities/Header-Menu-&-Header-Buttons.md +0 -125
- package/docs/grid-functionalities/Resize-by-Cell-Content.md +0 -138
- package/docs/grid-functionalities/Row-Selection.md +0 -247
- package/docs/grid-functionalities/Row-based-edit.md +0 -71
- package/docs/grid-functionalities/add-update-highlight.md +0 -258
- package/docs/grid-functionalities/column-row-spanning.md +0 -74
- package/docs/grid-functionalities/dynamic-item-metadata.md +0 -124
- package/docs/grid-functionalities/excel-copy-buffer.md +0 -145
- package/docs/grid-functionalities/frozen-columns-rows.md +0 -164
- package/docs/grid-functionalities/grouping-and-aggregators.md +0 -269
- package/docs/grid-functionalities/header-footer-slots.md +0 -22
- package/docs/grid-functionalities/infinite-scroll.md +0 -150
- package/docs/grid-functionalities/providing-grid-data.md +0 -61
- package/docs/grid-functionalities/row-detail.md +0 -530
- package/docs/grid-functionalities/tree-data-grid.md +0 -391
- package/docs/localization/Localization---Component-Sample.md +0 -87
- package/docs/localization/Localization-with-Custom-Locales.md +0 -66
- package/docs/localization/Localization-with-ngx-translate.md +0 -148
- package/docs/migrations/migration-to-2.x.md +0 -304
- package/docs/migrations/migration-to-3.x.md +0 -295
- package/docs/migrations/migration-to-4.x.md +0 -83
- package/docs/migrations/migration-to-5.x.md +0 -160
- package/docs/migrations/migration-to-6.x.md +0 -128
- package/docs/migrations/migration-to-7.x.md +0 -294
- package/docs/migrations/migration-to-8.x.md +0 -316
- package/docs/migrations/migration-to-9.x.md +0 -219
- package/docs/slick-grid-dataview-objects/slickgrid-dataview-objects.md +0 -79
- package/docs/styling/dark-mode.md +0 -100
- package/docs/styling/styling.md +0 -250
- package/docs/testing/testing-patterns.md +0 -73
- package/eslint.config.mjs +0 -60
- package/ng-package.json +0 -10
- package/src/assets/angular-logo.png +0 -0
- package/src/assets/angular-logo2.png +0 -0
- package/src/assets/data/collection_100_numbers.json +0 -12
- package/src/assets/data/collection_500_numbers.json +0 -52
- package/src/assets/data/countries.json +0 -245
- package/src/assets/data/country_names.json +0 -245
- package/src/assets/data/customers_100.json +0 -102
- package/src/assets/data/users.csv +0 -5
- package/src/assets/i18n/en.json +0 -102
- package/src/assets/i18n/fr.json +0 -103
- package/src/demos/app-routing.module.ts +0 -108
- package/src/demos/app.component.html +0 -187
- package/src/demos/app.component.scss +0 -79
- package/src/demos/app.component.ts +0 -11
- package/src/demos/app.module.ts +0 -196
- package/src/demos/environments/environment.dev.ts +0 -3
- package/src/demos/environments/environment.prod.ts +0 -3
- package/src/demos/environments/environment.ts +0 -8
- package/src/demos/examples/custom-angularComponentEditor.ts +0 -187
- package/src/demos/examples/custom-angularComponentFilter.ts +0 -123
- package/src/demos/examples/custom-buttonFormatter.component.ts +0 -13
- package/src/demos/examples/custom-inputEditor.ts +0 -132
- package/src/demos/examples/custom-inputFilter.ts +0 -134
- package/src/demos/examples/custom-titleFormatter.component.ts +0 -9
- package/src/demos/examples/data/collection_100_numbers.json +0 -12
- package/src/demos/examples/data/collection_500_numbers.json +0 -52
- package/src/demos/examples/data/countries.json +0 -245
- package/src/demos/examples/data/country_names.json +0 -245
- package/src/demos/examples/data/customers_100.json +0 -102
- package/src/demos/examples/data/users.csv +0 -5
- package/src/demos/examples/editor-ng-select.component.ts +0 -38
- package/src/demos/examples/example01.component.html +0 -48
- package/src/demos/examples/example01.component.ts +0 -109
- package/src/demos/examples/example02.component.html +0 -45
- package/src/demos/examples/example02.component.ts +0 -218
- package/src/demos/examples/example03.component.html +0 -118
- package/src/demos/examples/example03.component.ts +0 -694
- package/src/demos/examples/example04.component.html +0 -87
- package/src/demos/examples/example04.component.ts +0 -326
- package/src/demos/examples/example05.component.html +0 -151
- package/src/demos/examples/example05.component.ts +0 -474
- package/src/demos/examples/example06.component.html +0 -163
- package/src/demos/examples/example06.component.ts +0 -446
- package/src/demos/examples/example07.component.html +0 -56
- package/src/demos/examples/example07.component.scss +0 -10
- package/src/demos/examples/example07.component.ts +0 -216
- package/src/demos/examples/example08.component.html +0 -51
- package/src/demos/examples/example08.component.scss +0 -23
- package/src/demos/examples/example08.component.ts +0 -195
- package/src/demos/examples/example09.component.html +0 -55
- package/src/demos/examples/example09.component.scss +0 -22
- package/src/demos/examples/example09.component.ts +0 -302
- package/src/demos/examples/example10.component.html +0 -103
- package/src/demos/examples/example10.component.ts +0 -309
- package/src/demos/examples/example11.component.html +0 -91
- package/src/demos/examples/example11.component.ts +0 -276
- package/src/demos/examples/example12.component.html +0 -98
- package/src/demos/examples/example12.component.ts +0 -317
- package/src/demos/examples/example13.component.html +0 -96
- package/src/demos/examples/example13.component.ts +0 -370
- package/src/demos/examples/example14.component.html +0 -50
- package/src/demos/examples/example14.component.scss +0 -11
- package/src/demos/examples/example14.component.ts +0 -156
- package/src/demos/examples/example15.component.html +0 -56
- package/src/demos/examples/example15.component.ts +0 -304
- package/src/demos/examples/example16.component.html +0 -77
- package/src/demos/examples/example16.component.ts +0 -277
- package/src/demos/examples/example17.component.html +0 -50
- package/src/demos/examples/example17.component.ts +0 -109
- package/src/demos/examples/example18.component.html +0 -132
- package/src/demos/examples/example18.component.ts +0 -445
- package/src/demos/examples/example19-rowdetail.component.html +0 -40
- package/src/demos/examples/example19-rowdetail.component.ts +0 -54
- package/src/demos/examples/example19.component.html +0 -79
- package/src/demos/examples/example19.component.ts +0 -316
- package/src/demos/examples/example20.component.html +0 -76
- package/src/demos/examples/example20.component.scss +0 -11
- package/src/demos/examples/example20.component.ts +0 -341
- package/src/demos/examples/example21.component.html +0 -86
- package/src/demos/examples/example21.component.scss +0 -16
- package/src/demos/examples/example21.component.ts +0 -140
- package/src/demos/examples/example22.component.html +0 -41
- package/src/demos/examples/example22.component.ts +0 -117
- package/src/demos/examples/example23.component.html +0 -111
- package/src/demos/examples/example23.component.ts +0 -323
- package/src/demos/examples/example24.component.html +0 -120
- package/src/demos/examples/example24.component.scss +0 -62
- package/src/demos/examples/example24.component.ts +0 -641
- package/src/demos/examples/example25.component.html +0 -60
- package/src/demos/examples/example25.component.scss +0 -8
- package/src/demos/examples/example25.component.ts +0 -255
- package/src/demos/examples/example26.component.html +0 -98
- package/src/demos/examples/example26.component.scss +0 -42
- package/src/demos/examples/example26.component.ts +0 -383
- package/src/demos/examples/example27.component.html +0 -138
- package/src/demos/examples/example27.component.scss +0 -10
- package/src/demos/examples/example27.component.ts +0 -369
- package/src/demos/examples/example28.component.html +0 -143
- package/src/demos/examples/example28.component.scss +0 -54
- package/src/demos/examples/example28.component.ts +0 -453
- package/src/demos/examples/example29.component.html +0 -30
- package/src/demos/examples/example29.component.ts +0 -70
- package/src/demos/examples/example30.component.html +0 -116
- package/src/demos/examples/example30.component.scss +0 -20
- package/src/demos/examples/example30.component.ts +0 -1070
- package/src/demos/examples/example32.component.html +0 -77
- package/src/demos/examples/example32.component.scss +0 -8
- package/src/demos/examples/example32.component.ts +0 -905
- package/src/demos/examples/example33.component.html +0 -50
- package/src/demos/examples/example33.component.scss +0 -46
- package/src/demos/examples/example33.component.ts +0 -571
- package/src/demos/examples/example34.component.html +0 -82
- package/src/demos/examples/example34.component.scss +0 -77
- package/src/demos/examples/example34.component.ts +0 -434
- package/src/demos/examples/example35.component.html +0 -77
- package/src/demos/examples/example35.component.scss +0 -18
- package/src/demos/examples/example35.component.ts +0 -264
- package/src/demos/examples/example36.component.html +0 -56
- package/src/demos/examples/example36.component.scss +0 -26
- package/src/demos/examples/example36.component.ts +0 -504
- package/src/demos/examples/example37.component.html +0 -30
- package/src/demos/examples/example37.component.ts +0 -123
- package/src/demos/examples/example38.component.html +0 -104
- package/src/demos/examples/example38.component.scss +0 -8
- package/src/demos/examples/example38.component.ts +0 -420
- package/src/demos/examples/example39.component.html +0 -112
- package/src/demos/examples/example39.component.scss +0 -8
- package/src/demos/examples/example39.component.ts +0 -371
- package/src/demos/examples/example40.component.html +0 -76
- package/src/demos/examples/example40.component.ts +0 -226
- package/src/demos/examples/example41.component.html +0 -50
- package/src/demos/examples/example41.component.scss +0 -42
- package/src/demos/examples/example41.component.ts +0 -229
- package/src/demos/examples/example42.component.html +0 -47
- package/src/demos/examples/example42.component.ts +0 -203
- package/src/demos/examples/example43.component.html +0 -94
- package/src/demos/examples/example43.component.scss +0 -30
- package/src/demos/examples/example43.component.ts +0 -449
- package/src/demos/examples/example44.component.html +0 -78
- package/src/demos/examples/example44.component.scss +0 -50
- package/src/demos/examples/example44.component.ts +0 -375
- package/src/demos/examples/example45-detail.component.html +0 -15
- package/src/demos/examples/example45-detail.component.ts +0 -97
- package/src/demos/examples/example45.component.html +0 -110
- package/src/demos/examples/example45.component.scss +0 -50
- package/src/demos/examples/example45.component.ts +0 -243
- package/src/demos/examples/filter-ng-select.component.ts +0 -33
- package/src/demos/examples/grid-custom-pager.component.html +0 -60
- package/src/demos/examples/grid-custom-pager.component.scss +0 -57
- package/src/demos/examples/grid-custom-pager.component.ts +0 -107
- package/src/demos/examples/grid-remote.component.html +0 -44
- package/src/demos/examples/grid-remote.component.ts +0 -164
- package/src/demos/examples/home.component.html +0 -39
- package/src/demos/examples/home.component.ts +0 -10
- package/src/demos/examples/jsonp.ts +0 -89
- package/src/demos/examples/rowdetail-preload.component.ts +0 -10
- package/src/demos/examples/swt-common-grid-pagination.component.ts +0 -160
- package/src/demos/examples/swt-common-grid-test.component.html +0 -37
- package/src/demos/examples/swt-common-grid-test.component.ts +0 -214
- package/src/demos/examples/swt-common-grid.component.ts +0 -436
- package/src/demos/examples/swt-logger.service.ts +0 -173
- package/src/demos/examples/utilities.ts +0 -9
- package/src/favicon.ico +0 -0
- package/src/index.html +0 -17
- package/src/library/components/__tests__/angular-slickgrid.component.spec.ts +0 -2638
- package/src/library/components/angular-slickgrid.component.html +0 -5
- package/src/library/components/angular-slickgrid.component.ts +0 -1662
- package/src/library/constants.ts +0 -105
- package/src/library/extensions/__tests__/slickRowDetailView.spec.ts +0 -751
- package/src/library/extensions/index.ts +0 -1
- package/src/library/extensions/slickRowDetailView.ts +0 -395
- package/src/library/global-grid-options.ts +0 -273
- package/src/library/index.ts +0 -11
- package/src/library/models/angularComponentOutput.interface.ts +0 -6
- package/src/library/models/angularGridInstance.interface.ts +0 -76
- package/src/library/models/externalTestingDependencies.interface.ts +0 -37
- package/src/library/models/gridOption.interface.ts +0 -15
- package/src/library/models/index.ts +0 -5
- package/src/library/models/rowDetailView.interface.ts +0 -16
- package/src/library/modules/angular-slickgrid.module.spec.ts +0 -25
- package/src/library/modules/angular-slickgrid.module.ts +0 -27
- package/src/library/services/__tests__/angularUtilService.spec.ts +0 -156
- package/src/library/services/__tests__/container.service.spec.ts +0 -25
- package/src/library/services/__tests__/translater.service.spec.ts +0 -43
- package/src/library/services/__tests__/utilities.spec.ts +0 -22
- package/src/library/services/angularUtil.service.ts +0 -120
- package/src/library/services/container.service.ts +0 -26
- package/src/library/services/index.ts +0 -4
- package/src/library/services/translater.service.ts +0 -38
- package/src/library/services/utilities.ts +0 -19
- package/src/library/slickgrid-config.ts +0 -10
- package/src/main.ts +0 -13
- package/src/public_api.ts +0 -1
- package/src/styles.scss +0 -178
- package/test/cypress/e2e/example01.cy.ts +0 -367
- package/test/cypress/e2e/example02.cy.ts +0 -60
- package/test/cypress/e2e/example03.cy.ts +0 -268
- package/test/cypress/e2e/example04.cy.ts +0 -254
- package/test/cypress/e2e/example05.cy.ts +0 -804
- package/test/cypress/e2e/example06.cy.ts +0 -890
- package/test/cypress/e2e/example07.cy.ts +0 -384
- package/test/cypress/e2e/example08.cy.ts +0 -190
- package/test/cypress/e2e/example09.cy.ts +0 -392
- package/test/cypress/e2e/example10.cy.ts +0 -650
- package/test/cypress/e2e/example11.cy.ts +0 -86
- package/test/cypress/e2e/example12.cy.ts +0 -269
- package/test/cypress/e2e/example13.cy.ts +0 -246
- package/test/cypress/e2e/example14.cy.ts +0 -122
- package/test/cypress/e2e/example15.cy.ts +0 -598
- package/test/cypress/e2e/example16.cy.ts +0 -427
- package/test/cypress/e2e/example17.cy.ts +0 -83
- package/test/cypress/e2e/example18.cy.ts +0 -431
- package/test/cypress/e2e/example19.cy.ts +0 -263
- package/test/cypress/e2e/example20.cy.ts +0 -264
- package/test/cypress/e2e/example21.cy.ts +0 -77
- package/test/cypress/e2e/example22.cy.ts +0 -94
- package/test/cypress/e2e/example23.cy.ts +0 -259
- package/test/cypress/e2e/example24.cy.ts +0 -707
- package/test/cypress/e2e/example25.cy.ts +0 -193
- package/test/cypress/e2e/example26.cy.ts +0 -111
- package/test/cypress/e2e/example27.cy.ts +0 -261
- package/test/cypress/e2e/example28.cy.ts +0 -740
- package/test/cypress/e2e/example29.cy.ts +0 -30
- package/test/cypress/e2e/example30.cy.ts +0 -757
- package/test/cypress/e2e/example31.cy.ts +0 -69
- package/test/cypress/e2e/example32.cy.ts +0 -272
- package/test/cypress/e2e/example33.cy.ts +0 -278
- package/test/cypress/e2e/example34.cy.ts +0 -84
- package/test/cypress/e2e/example35.cy.ts +0 -178
- package/test/cypress/e2e/example36.cy.ts +0 -219
- package/test/cypress/e2e/example37.cy.ts +0 -52
- package/test/cypress/e2e/example38.cy.ts +0 -160
- package/test/cypress/e2e/example39.cy.ts +0 -150
- package/test/cypress/e2e/example40.cy.ts +0 -126
- package/test/cypress/e2e/example41.cy.ts +0 -90
- package/test/cypress/e2e/example42.cy.ts +0 -82
- package/test/cypress/e2e/example43.cy.ts +0 -482
- package/test/cypress/e2e/example44.cy.ts +0 -458
- package/test/cypress/e2e/example45.cy.ts +0 -455
- package/test/cypress/e2e/home.cy.ts +0 -7
- package/test/cypress/fixtures/example.json +0 -5
- package/test/cypress/plugins/index.ts +0 -17
- package/test/cypress/plugins/utilities.ts +0 -28
- package/test/cypress/support/commands.ts +0 -88
- package/test/cypress/support/common.ts +0 -47
- package/test/cypress/support/drag.ts +0 -101
- package/test/cypress/support/index.ts +0 -20
- package/test/cypress/tsconfig.json +0 -9
- package/test/cypress.config.ts +0 -34
- package/test/mockSlickEvent.ts +0 -77
- package/test/rxjsResourceStub.ts +0 -69
- package/test/test-setup.ts +0 -6
- package/test/translateServiceStub.ts +0 -230
- package/test/translaterServiceStub.ts +0 -239
- package/test/tsconfig.json +0 -17
- package/test/vitest-global-mocks.ts +0 -41
- package/test/vitest-global-setup.ts +0 -3
- package/test/vitest-pretest.ts +0 -5
- package/tsconfig.app.json +0 -14
- package/tsconfig.json +0 -31
- package/tsconfig.spec.json +0 -11
- package/types/sortablejs.d.ts +0 -4
- package/vite.config.mts +0 -51
- /package/{dist/fesm2022 → fesm2022}/angular-slickgrid.mjs.map +0 -0
- /package/{dist/i18n → i18n}/en.json +0 -0
- /package/{dist/i18n → i18n}/fr.json +0 -0
- /package/{dist/index.d.ts → index.d.ts} +0 -0
- /package/{dist/library → library}/components/angular-slickgrid.component.d.ts +0 -0
- /package/{dist/library → library}/constants.d.ts +0 -0
- /package/{dist/library → library}/extensions/index.d.ts +0 -0
- /package/{dist/library → library}/extensions/slickRowDetailView.d.ts +0 -0
- /package/{dist/library → library}/global-grid-options.d.ts +0 -0
- /package/{dist/library → library}/index.d.ts +0 -0
- /package/{dist/library → library}/models/angularComponentOutput.interface.d.ts +0 -0
- /package/{dist/library → library}/models/angularGridInstance.interface.d.ts +0 -0
- /package/{dist/library → library}/models/externalTestingDependencies.interface.d.ts +0 -0
- /package/{dist/library → library}/models/gridOption.interface.d.ts +0 -0
- /package/{dist/library → library}/models/index.d.ts +0 -0
- /package/{dist/library → library}/models/rowDetailView.interface.d.ts +0 -0
- /package/{dist/library → library}/modules/angular-slickgrid.module.d.ts +0 -0
- /package/{dist/library → library}/services/angularUtil.service.d.ts +0 -0
- /package/{dist/library → library}/services/container.service.d.ts +0 -0
- /package/{dist/library → library}/services/index.d.ts +0 -0
- /package/{dist/library → library}/services/translater.service.d.ts +0 -0
- /package/{dist/library → library}/services/utilities.d.ts +0 -0
- /package/{dist/library → library}/slickgrid-config.d.ts +0 -0
- /package/{dist/public_api.d.ts → public_api.d.ts} +0 -0
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
# Quick start
|
|
2
|
-
|
|
3
|
-
> **NOTE** The Documentations shown on this website are meant for Angular-Slickgrid v7.x and higher, for older versions please refer to the project [Wikis](https://github.com/ghiscoding/Angular-Slickgrid/wiki).
|
|
4
|
-
|
|
5
|
-
### 1. Install NPM Package
|
|
6
|
-
Install the `Angular-Slickgrid`, and other external packages like `Bootstrap`
|
|
7
|
-
(Bootstrap is optional, you can choose other framework if you wish)
|
|
8
|
-
```bash
|
|
9
|
-
npm install --save angular-slickgrid bootstrap # the last dep is optional
|
|
10
|
-
```
|
|
11
|
-
#### Important note about `ngx-translate`
|
|
12
|
-
#### Now optional
|
|
13
|
-
`ngx-translate` is now optional as of version `2.10.0`, see more info below at [step 5](#5-installsetup-ngx-translate-for-localization-optional)
|
|
14
|
-
**NOTE** however, please note that `@ngx-translate` is still going to be installed behind the scene just to make DI (dependency injection) build properly because of our use of `@Optional()` but it should be removed by the build tree shaking process once you run a production build. See their version compatibility table below
|
|
15
|
-
|
|
16
|
-
| Angular Version | @ngx-translate/core |
|
|
17
|
-
|---------------------|---------------------|
|
|
18
|
-
| 16+ | 15.x |
|
|
19
|
-
| 13+ (**Ivy only**) | 14.x |
|
|
20
|
-
| 10-13 | 13.x |
|
|
21
|
-
| 8-9 | 12.x |
|
|
22
|
-
| 7 | 11.x |
|
|
23
|
-
|
|
24
|
-
### 2. Modify the `angular.json` and `tsconfig.app.json` files
|
|
25
|
-
#### previous Angular versions were using `.angular-cli.json`
|
|
26
|
-
Then modify your `angular.json` file with the following Styles and Scripts:
|
|
27
|
-
|
|
28
|
-
```js
|
|
29
|
-
"styles": [
|
|
30
|
-
"node_modules/bootstrap/dist/css/bootstrap.min.css", // optional, install when you use Bootstrap
|
|
31
|
-
"styles.css"
|
|
32
|
-
],
|
|
33
|
-
"scripts": [
|
|
34
|
-
"node_modules/bootstrap/dist/js/bootstrap.js", // optional, install when you use Bootstrap
|
|
35
|
-
],
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
<a name="step3"></a>
|
|
39
|
-
### 3. CSS / SASS Styles
|
|
40
|
-
Load the default Bootstrap theme style and/or customize it to your taste (either by using SASS or CSS variables)
|
|
41
|
-
|
|
42
|
-
#### CSS
|
|
43
|
-
Default compiled `css` (if you use the plain Bootstrap Theme CSS, you could simply add it to your `.angular-cli.json` file and be done with it).
|
|
44
|
-
|
|
45
|
-
**Note:** If you are also using `Bootstrap-SASS`, then there is no need to include the `bootstrap.css` in the `styles: []` section.
|
|
46
|
-
|
|
47
|
-
```json
|
|
48
|
-
"styles": [
|
|
49
|
-
"node_modules/bootstrap/dist/css/bootstrap.css",
|
|
50
|
-
"styles.css",
|
|
51
|
-
"node_modules/@slickgrid-universal/common/dist/styles/css/slickgrid-theme-bootstrap.css"
|
|
52
|
-
],
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
> **Note** Bootstrap is optional, you can use any other framework, other themes are also available as CSS and SCSS file extensions
|
|
56
|
-
> `slickgrid-theme-default.css`, `slickgrid-theme-bootstrap.css`, `slickgrid-theme-material.css`, `slickgrid-theme-salesforce.css`
|
|
57
|
-
|
|
58
|
-
#### SASS (scss)
|
|
59
|
-
You could also compile the SASS files with your own customization, for that simply take any of the [_variables.scss](https://github.com/ghiscoding/slickgrid-universal/blob/master/packages/common/src/styles/_variables.scss) (without the `!default` flag) variable file and make sure to import the Bootstrap Theme afterward. For example, you could modify your `style.scss` with the following changes:
|
|
60
|
-
|
|
61
|
-
```scss
|
|
62
|
-
/* for example, let's change the mouse hover color */
|
|
63
|
-
@use '@slickgrid-universal/common/dist/styles/sass/slickgrid-theme-default.scss' with (
|
|
64
|
-
$cell-odd-background-color: lightyellow,
|
|
65
|
-
$row-mouse-hover-color: lightgreen
|
|
66
|
-
);
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
### 4. Include it in your App Module (or App Config for Standalone)
|
|
70
|
-
Below are 2 different setups (with App Module (legacy) or Standalone) but in both cases the `AngularSlickgridModule.forRoot()` is **required**, so make sure to include it. Also note that the GitHub demo is strictly built with an App Module which is considered the legacy approach.
|
|
71
|
-
|
|
72
|
-
#### App Module (legacy)
|
|
73
|
-
Include `AngularSlickgridModule` in your App Module (`app.module.ts`)
|
|
74
|
-
**Note**
|
|
75
|
-
Make sure to add the `forRoot` since it will throw an error in the console when missing.
|
|
76
|
-
|
|
77
|
-
```typescript
|
|
78
|
-
import { AngularSlickgridModule } from 'angular-slickgrid';
|
|
79
|
-
|
|
80
|
-
@NgModule({
|
|
81
|
-
declarations: [AppComponent],
|
|
82
|
-
imports: [AngularSlickgridModule.forRoot()], // forRoot() is REQUIRED
|
|
83
|
-
bootstrap: [AppComponent]
|
|
84
|
-
})
|
|
85
|
-
export class AppModule { }
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
#### Standalone (App Config)
|
|
89
|
-
> #### see this Stack Overflow [answer](https://stackoverflow.com/a/78527155/1212166) for more details and Stackblitz demo
|
|
90
|
-
|
|
91
|
-
If your app is using standalone style, go to `app.config.ts`
|
|
92
|
-
|
|
93
|
-
```ts
|
|
94
|
-
import { ApplicationConfig, importProvidersFrom, provideZoneChangeDetection } from '@angular/core';
|
|
95
|
-
import { provideRouter } from '@angular/router';
|
|
96
|
-
|
|
97
|
-
import { routes } from './app.routes';
|
|
98
|
-
import { AngularSlickgridModule } from 'angular-slickgrid';
|
|
99
|
-
|
|
100
|
-
export const appConfig: ApplicationConfig = {
|
|
101
|
-
providers: [
|
|
102
|
-
provideZoneChangeDetection({ eventCoalescing: true }),
|
|
103
|
-
provideRouter(routes),
|
|
104
|
-
importProvidersFrom(AngularSlickgridModule.forRoot()), // <- notice!
|
|
105
|
-
],
|
|
106
|
-
};
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
Then import the `AngularSlickgridModule` to the `app.component.ts`
|
|
110
|
-
|
|
111
|
-
```ts
|
|
112
|
-
import { RouterOutlet } from '@angular/router';
|
|
113
|
-
import { Component, OnDestroy, OnInit } from '@angular/core';
|
|
114
|
-
import { Column, GridOption, AngularSlickgridModule } from 'angular-slickgrid';
|
|
115
|
-
|
|
116
|
-
@Component({
|
|
117
|
-
selector: 'app-root',
|
|
118
|
-
standalone: true,
|
|
119
|
-
imports: [RouterOutlet, AngularSlickgridModule], // <- notice!
|
|
120
|
-
templateUrl: './app.component.html',
|
|
121
|
-
styleUrl: './app.component.scss',
|
|
122
|
-
})
|
|
123
|
-
export class AppComponent {
|
|
124
|
-
// ...
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
#### Angular 7+
|
|
128
|
-
The new updated version of `ng-packagr` use strict metadata and you might get errors about `Lambda not supported`, to bypass this problem you can add the `@dynamic` comment over the `@NgModule` as shown below:
|
|
129
|
-
```ts
|
|
130
|
-
// @dynamic
|
|
131
|
-
@NgModule({
|
|
132
|
-
...
|
|
133
|
-
})
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
### 5. Install/Setup `ngx-translate` for Localization (optional)
|
|
137
|
-
#### If you don't want to use any Translate Service and use only 1 Locale then take a look at this [demo](https://github.com/ghiscoding/angular-slickgrid-demos/tree/master/bootstrap4-demo-with-locales)
|
|
138
|
-
To provide locales other than English (default locale), you have 2 options that you can go with. If you only use English, there is nothing to do (you can still change some of the texts in the grid via option 1.)
|
|
139
|
-
1. Using [Custom Locale](../localization/Localization-with-Custom-Locales.md), that is when you use **only 1** locale (other than English)... this is a new feature starting from version `2.10.0` and up.
|
|
140
|
-
2. Using [Localization with I18N](../localization/Localization-with-ngx-translate.md), that is when you want to use multiple locales dynamically.
|
|
141
|
-
3. **NOTE** you still need to install `@ngx-translate` (since it is a peer dependency) but it should be removed after doing a production build since it's optional.
|
|
142
|
-
|
|
143
|
-
##### Translation Keys
|
|
144
|
-
Also note that every time you want to use a translation key, you simply have to use a property with the `Key` suffix. For example if you wish to have a column definition `name` with a translation, just use the `nameKey: 'TRANSLATE_KEY'` instead of `name`. Below is a list of keys that can be used in the lib
|
|
145
|
-
|
|
146
|
-
| without Translate | with Translate |
|
|
147
|
-
| ----------------- | -------------- |
|
|
148
|
-
| name | nameKey |
|
|
149
|
-
| label | labelKey |
|
|
150
|
-
| title | titleKey |
|
|
151
|
-
| columnGroup | columnGroupKey |
|
|
152
|
-
| optionTitle | optionTitleKey |
|
|
153
|
-
|
|
154
|
-
### 6. Create a basic grid
|
|
155
|
-
And finally, you are now ready to use it in your project, for example let's create both html/ts files for a `grid-basic.component` example, configure the Column Definitions, Grid Options and pass a Dataset to the grid:
|
|
156
|
-
```ts
|
|
157
|
-
import { Column, GridOption } from 'angular-slickgrid';
|
|
158
|
-
|
|
159
|
-
export class GridBasicComponent {
|
|
160
|
-
columnDefinitions: Column[] = [];
|
|
161
|
-
gridOptions: GridOption = {};
|
|
162
|
-
dataset: any[] = [];
|
|
163
|
-
|
|
164
|
-
constructor() {
|
|
165
|
-
this.prepareGrid();
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
prepareGrid() {
|
|
169
|
-
this.columnDefinitions = [
|
|
170
|
-
{ id: 'title', name: 'Title', field: 'title', sortable: true },
|
|
171
|
-
{ id: 'duration', name: 'Duration (days)', field: 'duration', sortable: true },
|
|
172
|
-
{ id: '%', name: '% Complete', field: 'percentComplete', sortable: true },
|
|
173
|
-
{ id: 'start', name: 'Start', field: 'start' },
|
|
174
|
-
{ id: 'finish', name: 'Finish', field: 'finish' },
|
|
175
|
-
];
|
|
176
|
-
|
|
177
|
-
this.gridOptions = {
|
|
178
|
-
enableAutoResize: true,
|
|
179
|
-
enableSorting: true
|
|
180
|
-
};
|
|
181
|
-
|
|
182
|
-
// fill the dataset with your data (or read it from the DB)
|
|
183
|
-
this.dataset = [
|
|
184
|
-
{ id: 0, title: 'Task 1', duration: 45, percentComplete: 5, start: '2001-01-01', finish: '2001-01-31' },
|
|
185
|
-
{ id: 1, title: 'Task 2', duration: 33, percentComplete: 34, start: '2001-01-11', finish: '2001-02-04' },
|
|
186
|
-
];
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
define Angular-Slickgrid in your View
|
|
192
|
-
```html
|
|
193
|
-
<div class="container">
|
|
194
|
-
<angular-slickgrid gridId="grid1"
|
|
195
|
-
[columns]="columnDefinitions"
|
|
196
|
-
[options]="gridOptions"
|
|
197
|
-
[dataset]="dataset">
|
|
198
|
-
</angular-slickgrid>
|
|
199
|
-
</div>
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
### 7. Explore the Documentation
|
|
203
|
-
The last step is really to explore all the pages that are available in the documentation, everything you need to use the library should be available in here and so you should visit it often. For example a good starter is to look at the following
|
|
204
|
-
|
|
205
|
-
- for all the `Grid Options`, take a look at all the [Grid Options](https://github.com/ghiscoding/slickgrid-universal/blob/master/packages/common/src/interfaces/gridOption.interface.ts) interface.
|
|
206
|
-
- [Formatters](../column-functionalities/Formatters.md)
|
|
207
|
-
- [Editors](../column-functionalities/Editors.md)
|
|
208
|
-
- [Filters](../column-functionalities/filters/select-filter.md)
|
|
209
|
-
- [Grid Menu](../grid-functionalities/Grid-Menu.md)
|
|
210
|
-
... and much more, just explore the Documentation through all the available pages.
|
|
211
|
-
|
|
212
|
-
### 8. How to load data with `HttpClient`?
|
|
213
|
-
You might notice that all demos are made with mocked dataset that are embedded in each 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 and that's it. The `dataset` property can be changed 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`.
|
|
214
|
-
|
|
215
|
-
### 9. Live Demo - Clone the Examples
|
|
216
|
-
The best way to get started is to clone the [Angular-Slickgrid-demos](https://github.com/ghiscoding/angular-slickgrid-demos), it has multiple examples and it is also updated frequently since it is used for the GitHub Bootstrap 5 demo page. `Angular-Slickgrid` has 3 `Bootstrap` repos, you can see a demo of each ones below.
|
|
217
|
-
- [Bootstrap 5 demo](https://ghiscoding.github.io/angular-slickgrid-bs5-demo) / [examples repo](https://github.com/ghiscoding/angular-slickgrid-demos/tree/master/bootstrap5-demo-with-translate) (using `ngx-translate`)
|
|
218
|
-
- [Bootstrap 5 - examples repo](https://github.com/ghiscoding/angular-slickgrid-demos/tree/master/bootstrap5-demo-with-locales) (single Locale, without using `ngx-translate`)
|
|
219
|
-
|
|
220
|
-
##### All Live Demo Examples have links to the actual code
|
|
221
|
-
If you would like to see the code to a particular Example, just click on the "see code" which is available in all live examples.
|
|
222
|
-
|
|
223
|
-
### 10. CSP Compliance
|
|
224
|
-
The project supports Content Security Policy (CSP) as long as you provide an optional `sanitizer` in your grid options (we recommend DOMPurify). Review the [CSP Compliance](../developer-guides/csp-compliance.md) documentation for more info.
|
|
225
|
-
|
|
226
|
-
### 11. Missing Features compared to SlickGrid?
|
|
227
|
-
What if `Angular-Slickgrid` is missing feature(s) versus the original `SlickGrid`? Fear not and just use the `SlickGrid` and `DataView` objects directly, which are expose from the start through Custom Events. For more info continue reading on [Docs - SlickGrid & DataView objects](../slick-grid-dataview-objects/SlickGrid-&-DataView-Objects.md)
|
|
228
|
-
|
|
229
|
-
### 12. Troubleshooting - Build Errors/Warnings
|
|
230
|
-
Visit the [Troubleshooting](./troubleshooting.md) section for more common errors.
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
## Troubleshooting
|
|
2
|
-
|
|
3
|
-
### `ngcc` Build Warnings (Angular >=8.0 && <16.0)
|
|
4
|
-
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):
|
|
5
|
-
```js
|
|
6
|
-
module.exports = {
|
|
7
|
-
packages: {
|
|
8
|
-
'angular-slickgrid': {
|
|
9
|
-
ignorableDeepImportMatchers: [
|
|
10
|
-
/assign-deep/,
|
|
11
|
-
/dequal/,
|
|
12
|
-
/slickgrid\//,
|
|
13
|
-
/flatpickr/,
|
|
14
|
-
]
|
|
15
|
-
},
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
### Angular 12 with WebPack 5 - how to fix polyfill error
|
|
21
|
-
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.
|
|
22
|
-
|
|
23
|
-
#### The error you might get
|
|
24
|
-
|
|
25
|
-
```text
|
|
26
|
-
BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
|
|
27
|
-
This is no longer the case. Verify if you need this module and configure a polyfill for it.
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
#### Steps to fix it
|
|
31
|
-
1. `npm install stream-browserify`
|
|
32
|
-
2. Add a path mapping in `tsconfig.json`:
|
|
33
|
-
```ts
|
|
34
|
-
{
|
|
35
|
-
...
|
|
36
|
-
"compilerOptions": {
|
|
37
|
-
"paths": {
|
|
38
|
-
"stream": [ "./node_modules/stream-browserify" ]
|
|
39
|
-
},
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
```
|
|
43
|
-
3. Add `stream` (and any other CJS deps) to `allowedCommonJsDependencies` in your `angular.json` config:
|
|
44
|
-
```ts
|
|
45
|
-
"options": {
|
|
46
|
-
"allowedCommonJsDependencies": [
|
|
47
|
-
"stream"
|
|
48
|
-
],
|
|
49
|
-
},
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
#### `strictTemplates` error
|
|
53
|
-
In Angular 14 and higher, Angular has a `strictTemplates` flag in your `tsconfig.json` file (enabled by default when creating new projects from CLI) which causes issues with Angular-Slickgrid events with errors similar to this:
|
|
54
|
-
|
|
55
|
-
> Property 'detail' does not exist on type 'Event'. (onAngularGridCreated)="angularGridReady($event.detail)"
|
|
56
|
-
|
|
57
|
-
The reason is because Angular-Slickgrid uses Custom Event for all its events and Angular complains because these Custom Events aren't typed. In order to fix this issue, you have 3 viable approaches:
|
|
58
|
-
|
|
59
|
-
1. disabled `strictTemplates` in your `tsconfig.json` config
|
|
60
|
-
2. cast the event in the View template to `$any` type
|
|
61
|
-
- `$any($event)` for example `$any($event).detail.eventData`
|
|
62
|
-
3. cast the event in the component ViewModel to `CustomEvent`
|
|
63
|
-
```html
|
|
64
|
-
<angular-slickgrid gridId="grid28"
|
|
65
|
-
[columns]="columnDefinitions"
|
|
66
|
-
[options]="gridOptions"
|
|
67
|
-
[dataset]="dataset"
|
|
68
|
-
(onAngularGridCreated)="angularGridReady($event.detail)">
|
|
69
|
-
</angular-slickgrid>
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
```ts
|
|
73
|
-
angularGridReady(event: CustomEvent<AngularGridInstance>) {
|
|
74
|
-
this.angularGrid = event.detail;
|
|
75
|
-
this.gridObj = this.angularGrid.slickGrid;
|
|
76
|
-
}
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
The simplest is obviously the option 1 but you lose the strictness on the view templates, more details can found under the discussion [(`strictTemplates`) Template error ](https://github.com/ghiscoding/Angular-Slickgrid/discussions/815), I have also opened a similar Stack Overflow question myself:
|
|
80
|
-
[How to use Custom Event (not Event Emitter) without `strictTemplates` to complain about `$event` not being a Custom Event type?](https://stackoverflow.com/questions/68490848/how-to-use-custom-event-not-event-emitter-without-stricttemplates-to-complai).
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
## Column Picker
|
|
2
|
-
Enable by default and provides the list of available fields by simply doing a `right+click` over any column header, you can then hide/show the column(s) you want.
|
|
3
|
-
|
|
4
|
-
#### Grid Options
|
|
5
|
-
To enable/disable the Column Picker, simply call the `enableColumnPicker` flag in the Grid Options (enabled by default).
|
|
6
|
-
|
|
7
|
-
```ts
|
|
8
|
-
this.gridOptions = {
|
|
9
|
-
enableColumnPicker: true,
|
|
10
|
-
|
|
11
|
-
// you can also enable/disable options and also use event for it
|
|
12
|
-
columnPicker: {
|
|
13
|
-
hideForceFitButton: true,
|
|
14
|
-
hideSyncResizeButton: true,
|
|
15
|
-
onColumnsChanged: (e, args) => {
|
|
16
|
-
console.log('Column selection changed from Column Picker, visible columns: ', args.visibleColumns);
|
|
17
|
-
}
|
|
18
|
-
},
|
|
19
|
-
}
|
|
20
|
-
```
|
|
21
|
-
#### UI Sample
|
|
22
|
-

|