angular-slickgrid 4.2.0 → 4.2.1

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.
Files changed (232) hide show
  1. package/{dist/angular-slickgrid.d.ts → angular-slickgrid.d.ts} +0 -0
  2. package/{dist/app → app}/modules/angular-slickgrid/components/angular-slickgrid.component.d.ts +0 -0
  3. package/{dist/app → app}/modules/angular-slickgrid/constants.d.ts +0 -0
  4. package/{dist/app → app}/modules/angular-slickgrid/extensions/index.d.ts +0 -0
  5. package/{dist/app → app}/modules/angular-slickgrid/extensions/slickRowDetailView.d.ts +0 -0
  6. package/{dist/app → app}/modules/angular-slickgrid/global-grid-options.d.ts +0 -0
  7. package/{dist/app → app}/modules/angular-slickgrid/index.d.ts +0 -0
  8. package/{dist/app → app}/modules/angular-slickgrid/models/angularComponentOutput.interface.d.ts +0 -0
  9. package/{dist/app → app}/modules/angular-slickgrid/models/angularGridInstance.interface.d.ts +0 -0
  10. package/{dist/app → app}/modules/angular-slickgrid/models/externalTestingDependencies.interface.d.ts +0 -0
  11. package/{dist/app → app}/modules/angular-slickgrid/models/gridOption.interface.d.ts +0 -0
  12. package/{dist/app → app}/modules/angular-slickgrid/models/index.d.ts +0 -0
  13. package/{dist/app → app}/modules/angular-slickgrid/models/rowDetailView.interface.d.ts +0 -0
  14. package/{dist/app → app}/modules/angular-slickgrid/models/slickGrid.interface.d.ts +0 -0
  15. package/{dist/app → app}/modules/angular-slickgrid/modules/angular-slickgrid.module.d.ts +0 -0
  16. package/{dist/app → app}/modules/angular-slickgrid/services/angularUtil.service.d.ts +0 -0
  17. package/{dist/app → app}/modules/angular-slickgrid/services/bsDropdown.service.d.ts +0 -0
  18. package/{dist/app → app}/modules/angular-slickgrid/services/container.service.d.ts +0 -0
  19. package/{dist/app → app}/modules/angular-slickgrid/services/index.d.ts +0 -0
  20. package/{dist/app → app}/modules/angular-slickgrid/services/translater.service.d.ts +0 -0
  21. package/{dist/app → app}/modules/angular-slickgrid/services/utilities.d.ts +0 -0
  22. package/{dist/app → app}/modules/angular-slickgrid/slickgrid-config.d.ts +0 -0
  23. package/docs/assets/lib/multiple-select/README.md +17 -0
  24. package/{dist/esm2020 → esm2020}/angular-slickgrid.mjs +0 -0
  25. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/components/angular-slickgrid.component.mjs +0 -0
  26. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/constants.mjs +0 -0
  27. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/extensions/index.mjs +0 -0
  28. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/extensions/slickRowDetailView.mjs +0 -0
  29. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/global-grid-options.mjs +0 -0
  30. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/index.mjs +0 -0
  31. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/models/angularComponentOutput.interface.mjs +0 -0
  32. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/models/angularGridInstance.interface.mjs +0 -0
  33. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/models/externalTestingDependencies.interface.mjs +0 -0
  34. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/models/gridOption.interface.mjs +0 -0
  35. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/models/index.mjs +0 -0
  36. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/models/rowDetailView.interface.mjs +0 -0
  37. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/models/slickGrid.interface.mjs +0 -0
  38. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/modules/angular-slickgrid.module.mjs +0 -0
  39. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/services/angularUtil.service.mjs +0 -0
  40. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/services/bsDropdown.service.mjs +0 -0
  41. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/services/container.service.mjs +0 -0
  42. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/services/index.mjs +0 -0
  43. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/services/translater.service.mjs +0 -0
  44. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/services/utilities.mjs +0 -0
  45. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/slickgrid-config.mjs +0 -0
  46. package/{dist/esm2020 → esm2020}/public_api.mjs +0 -0
  47. package/{dist/fesm2015 → fesm2015}/angular-slickgrid.mjs +0 -0
  48. package/{dist/fesm2015 → fesm2015}/angular-slickgrid.mjs.map +0 -0
  49. package/{dist/fesm2020 → fesm2020}/angular-slickgrid.mjs +0 -0
  50. package/{dist/fesm2020 → fesm2020}/angular-slickgrid.mjs.map +0 -0
  51. package/{dist/i18n → i18n}/en.json +0 -0
  52. package/{dist/i18n → i18n}/fr.json +0 -0
  53. package/package.json +25 -110
  54. package/{dist/public_api.d.ts → public_api.d.ts} +0 -0
  55. package/.browserslistrc +0 -12
  56. package/.codecov.yml +0 -17
  57. package/.editorconfig +0 -18
  58. package/.eslintrc.json +0 -50
  59. package/.github/CODE_OF_CONDUCT.md +0 -76
  60. package/.github/FUNDING.yml +0 -8
  61. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -54
  62. package/.github/ISSUE_TEMPLATE/config.yml +0 -5
  63. package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -44
  64. package/.github/renovate.json5 +0 -26
  65. package/.github/stale.yml +0 -7
  66. package/.github/workflows/main.yml +0 -83
  67. package/.vscode/extensions.json +0 -9
  68. package/.vscode/launch.json +0 -72
  69. package/.vscode/settings.json +0 -7
  70. package/.vscode/tasks.json +0 -77
  71. package/CHANGELOG.md +0 -1172
  72. package/angular.json +0 -148
  73. package/dist/LICENSE +0 -20
  74. package/dist/README.md +0 -182
  75. package/dist/package.json +0 -79
  76. package/global.d.ts +0 -1
  77. package/ngcc.config.js +0 -13
  78. package/screenshots/column-picker.png +0 -0
  79. package/screenshots/composite-editor.png +0 -0
  80. package/screenshots/draggable-grouping.png +0 -0
  81. package/screenshots/editors.png +0 -0
  82. package/screenshots/export-to-file.png +0 -0
  83. package/screenshots/filter_and_sort.png +0 -0
  84. package/screenshots/formatters.png +0 -0
  85. package/screenshots/frozen.png +0 -0
  86. package/screenshots/multipleSelectFilter.png +0 -0
  87. package/screenshots/pagination.png +0 -0
  88. package/screenshots/selectFilter.png +0 -0
  89. package/screenshots/singleFilter.png +0 -0
  90. package/src/app/app-routing.module.ts +0 -83
  91. package/src/app/app.component.html +0 -160
  92. package/src/app/app.component.scss +0 -65
  93. package/src/app/app.component.ts +0 -10
  94. package/src/app/app.module.ts +0 -175
  95. package/src/app/examples/custom-angularComponentEditor.ts +0 -184
  96. package/src/app/examples/custom-angularComponentFilter.ts +0 -126
  97. package/src/app/examples/custom-inputEditor.ts +0 -124
  98. package/src/app/examples/custom-inputFilter.ts +0 -142
  99. package/src/app/examples/custom-titleFormatter.component.ts +0 -8
  100. package/src/app/examples/editor-ng-select.component.ts +0 -37
  101. package/src/app/examples/filter-ng-select.component.ts +0 -32
  102. package/src/app/examples/grid-additem.component.html +0 -48
  103. package/src/app/examples/grid-additem.component.ts +0 -272
  104. package/src/app/examples/grid-angular.component.html +0 -79
  105. package/src/app/examples/grid-angular.component.scss +0 -28
  106. package/src/app/examples/grid-angular.component.ts +0 -370
  107. package/src/app/examples/grid-autoheight.component.html +0 -52
  108. package/src/app/examples/grid-autoheight.component.ts +0 -147
  109. package/src/app/examples/grid-basic.component.html +0 -29
  110. package/src/app/examples/grid-basic.component.ts +0 -82
  111. package/src/app/examples/grid-clientside.component.html +0 -51
  112. package/src/app/examples/grid-clientside.component.ts +0 -293
  113. package/src/app/examples/grid-colspan.component.html +0 -39
  114. package/src/app/examples/grid-colspan.component.scss +0 -11
  115. package/src/app/examples/grid-colspan.component.ts +0 -155
  116. package/src/app/examples/grid-composite-editor.component.html +0 -79
  117. package/src/app/examples/grid-composite-editor.component.scss +0 -19
  118. package/src/app/examples/grid-composite-editor.component.ts +0 -948
  119. package/src/app/examples/grid-contextmenu.component.html +0 -62
  120. package/src/app/examples/grid-contextmenu.component.scss +0 -44
  121. package/src/app/examples/grid-contextmenu.component.ts +0 -473
  122. package/src/app/examples/grid-custom-tooltip.component.html +0 -25
  123. package/src/app/examples/grid-custom-tooltip.component.scss +0 -77
  124. package/src/app/examples/grid-custom-tooltip.component.ts +0 -483
  125. package/src/app/examples/grid-draggrouping.component.html +0 -93
  126. package/src/app/examples/grid-draggrouping.component.ts +0 -397
  127. package/src/app/examples/grid-editor.component.html +0 -88
  128. package/src/app/examples/grid-editor.component.ts +0 -699
  129. package/src/app/examples/grid-formatter.component.html +0 -26
  130. package/src/app/examples/grid-formatter.component.ts +0 -162
  131. package/src/app/examples/grid-frozen.component.html +0 -65
  132. package/src/app/examples/grid-frozen.component.scss +0 -11
  133. package/src/app/examples/grid-frozen.component.ts +0 -303
  134. package/src/app/examples/grid-graphql-nopage.component.html +0 -33
  135. package/src/app/examples/grid-graphql-nopage.component.scss +0 -9
  136. package/src/app/examples/grid-graphql-nopage.component.ts +0 -242
  137. package/src/app/examples/grid-graphql.component.html +0 -87
  138. package/src/app/examples/grid-graphql.component.ts +0 -304
  139. package/src/app/examples/grid-grouping.component.html +0 -80
  140. package/src/app/examples/grid-grouping.component.ts +0 -313
  141. package/src/app/examples/grid-headerbutton.component.html +0 -31
  142. package/src/app/examples/grid-headerbutton.component.scss +0 -10
  143. package/src/app/examples/grid-headerbutton.component.ts +0 -233
  144. package/src/app/examples/grid-headermenu.component.html +0 -31
  145. package/src/app/examples/grid-headermenu.component.scss +0 -25
  146. package/src/app/examples/grid-headermenu.component.ts +0 -159
  147. package/src/app/examples/grid-localization.component.html +0 -54
  148. package/src/app/examples/grid-localization.component.ts +0 -293
  149. package/src/app/examples/grid-menu.component.html +0 -37
  150. package/src/app/examples/grid-menu.component.scss +0 -28
  151. package/src/app/examples/grid-menu.component.ts +0 -229
  152. package/src/app/examples/grid-odata.component.html +0 -116
  153. package/src/app/examples/grid-odata.component.ts +0 -441
  154. package/src/app/examples/grid-range.component.html +0 -74
  155. package/src/app/examples/grid-range.component.ts +0 -291
  156. package/src/app/examples/grid-remote.component.html +0 -37
  157. package/src/app/examples/grid-remote.component.ts +0 -153
  158. package/src/app/examples/grid-resize-by-content.component.html +0 -62
  159. package/src/app/examples/grid-resize-by-content.component.scss +0 -19
  160. package/src/app/examples/grid-resize-by-content.component.ts +0 -780
  161. package/src/app/examples/grid-rowdetail.component.html +0 -35
  162. package/src/app/examples/grid-rowdetail.component.ts +0 -205
  163. package/src/app/examples/grid-rowmove.component.html +0 -49
  164. package/src/app/examples/grid-rowmove.component.ts +0 -234
  165. package/src/app/examples/grid-rowselection.component.html +0 -76
  166. package/src/app/examples/grid-rowselection.component.ts +0 -267
  167. package/src/app/examples/grid-state.component.html +0 -36
  168. package/src/app/examples/grid-state.component.ts +0 -259
  169. package/src/app/examples/grid-tabs.component.html +0 -35
  170. package/src/app/examples/grid-tabs.component.ts +0 -115
  171. package/src/app/examples/grid-trading.component.html +0 -58
  172. package/src/app/examples/grid-trading.component.scss +0 -49
  173. package/src/app/examples/grid-trading.component.ts +0 -319
  174. package/src/app/examples/grid-tree-data-hierarchical.component.html +0 -79
  175. package/src/app/examples/grid-tree-data-hierarchical.component.scss +0 -47
  176. package/src/app/examples/grid-tree-data-hierarchical.component.ts +0 -311
  177. package/src/app/examples/grid-tree-data-parent-child.component.html +0 -108
  178. package/src/app/examples/grid-tree-data-parent-child.component.scss +0 -10
  179. package/src/app/examples/grid-tree-data-parent-child.component.ts +0 -351
  180. package/src/app/examples/home.component.html +0 -41
  181. package/src/app/examples/home.component.ts +0 -9
  182. package/src/app/examples/rowdetail-preload.component.ts +0 -10
  183. package/src/app/examples/rowdetail-view.component.html +0 -36
  184. package/src/app/examples/rowdetail-view.component.ts +0 -54
  185. package/src/app/examples/swt-common-grid-pagination.component.ts +0 -156
  186. package/src/app/examples/swt-common-grid-test.component.html +0 -30
  187. package/src/app/examples/swt-common-grid-test.component.ts +0 -219
  188. package/src/app/examples/swt-common-grid.component.ts +0 -436
  189. package/src/app/examples/swt-logger.service.ts +0 -165
  190. package/src/app/modules/angular-slickgrid/components/angular-slickgrid.component.html +0 -4
  191. package/src/app/modules/angular-slickgrid/components/angular-slickgrid.component.ts +0 -1395
  192. package/src/app/modules/angular-slickgrid/constants.ts +0 -97
  193. package/src/app/modules/angular-slickgrid/extensions/index.ts +0 -1
  194. package/src/app/modules/angular-slickgrid/extensions/slickRowDetailView.ts +0 -375
  195. package/src/app/modules/angular-slickgrid/global-grid-options.ts +0 -245
  196. package/src/app/modules/angular-slickgrid/index.ts +0 -11
  197. package/src/app/modules/angular-slickgrid/models/angularComponentOutput.interface.ts +0 -6
  198. package/src/app/modules/angular-slickgrid/models/angularGridInstance.interface.ts +0 -68
  199. package/src/app/modules/angular-slickgrid/models/externalTestingDependencies.interface.ts +0 -37
  200. package/src/app/modules/angular-slickgrid/models/gridOption.interface.ts +0 -12
  201. package/src/app/modules/angular-slickgrid/models/index.ts +0 -6
  202. package/src/app/modules/angular-slickgrid/models/rowDetailView.interface.ts +0 -33
  203. package/src/app/modules/angular-slickgrid/models/slickGrid.interface.ts +0 -7
  204. package/src/app/modules/angular-slickgrid/modules/angular-slickgrid.module.ts +0 -37
  205. package/src/app/modules/angular-slickgrid/services/angularUtil.service.ts +0 -48
  206. package/src/app/modules/angular-slickgrid/services/bsDropdown.service.ts +0 -142
  207. package/src/app/modules/angular-slickgrid/services/container.service.ts +0 -24
  208. package/src/app/modules/angular-slickgrid/services/index.ts +0 -5
  209. package/src/app/modules/angular-slickgrid/services/translater.service.ts +0 -38
  210. package/src/app/modules/angular-slickgrid/services/utilities.ts +0 -19
  211. package/src/app/modules/angular-slickgrid/slickgrid-config.ts +0 -10
  212. package/src/app/slickgrid-custom-variables.scss +0 -10
  213. package/src/assets/.gitkeep +0 -0
  214. package/src/assets/data/collection_100_numbers.json +0 -12
  215. package/src/assets/data/collection_500_numbers.json +0 -52
  216. package/src/assets/data/countries.json +0 -245
  217. package/src/assets/data/country_names.json +0 -245
  218. package/src/assets/data/customers_100.json +0 -102
  219. package/src/assets/i18n/en.json +0 -90
  220. package/src/assets/i18n/fr.json +0 -91
  221. package/src/environments/environment.prod.ts +0 -3
  222. package/src/environments/environment.ts +0 -8
  223. package/src/favicon.ico +0 -0
  224. package/src/index.html +0 -18
  225. package/src/main.ts +0 -13
  226. package/src/polyfills.ts +0 -52
  227. package/src/public_api.ts +0 -1
  228. package/src/styles.scss +0 -66
  229. package/src/typings.d.ts +0 -10
  230. package/tsconfig.app.json +0 -25
  231. package/tsconfig.json +0 -40
  232. package/tsconfig.spec.json +0 -23
@@ -1,229 +0,0 @@
1
- import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';
2
- import { AngularGridInstance, Column, ExtensionName, FieldType, Filters, Formatters, GridOption, unsubscribeAllObservables } from './../modules/angular-slickgrid';
3
- import { TranslateService } from '@ngx-translate/core';
4
- import { Subscription } from 'rxjs';
5
-
6
- @Component({
7
- templateUrl: './grid-menu.component.html',
8
- styleUrls: ['./grid-menu.component.scss'],
9
- encapsulation: ViewEncapsulation.None,
10
- })
11
- export class GridMenuComponent implements OnInit, OnDestroy {
12
- title = 'Example 9: Grid Menu Control';
13
- subTitle = `
14
- This example demonstrates using the <b>Slick.Controls.GridMenu</b> plugin to easily add a Grid Menu (aka hamburger menu) on the top right corner of the grid.
15
- (<a href="https://github.com/ghiscoding/Angular-Slickgrid/wiki/Grid-Menu" target="_blank">Wiki docs</a>)
16
- <br/>
17
- <ul>
18
- <li>You can change the Grid Menu icon, for example "fa-ellipsis-v"&nbsp;&nbsp;<span class="fa fa-ellipsis-v"></span>&nbsp;&nbsp;(which is shown in this example)</li>
19
- <li>By default the Grid Menu shows all columns which you can show/hide them</li>
20
- <li>You can configure multiple custom "commands" to show up in the Grid Menu and use the "onGridMenuCommand()" callback</li>
21
- <li>Doing a "right + click" over any column header will also provide a way to show/hide a column (via the Column Picker Plugin)</li>
22
- <li>You can change the icons of both picker via SASS variables as shown in this demo (check all SASS variables)</li>
23
- <li><i class="fa fa-arrow-down"></i> You can also show the Grid Menu anywhere on your page</li>
24
- </ul>
25
- `;
26
-
27
- private subscriptions: Subscription[] = [];
28
- angularGrid!: AngularGridInstance;
29
- columnDefinitions!: Column[];
30
- gridOptions!: GridOption;
31
- dataset!: any[];
32
- selectedLanguage: string;
33
-
34
- constructor(private translate: TranslateService) {
35
- // always start with English for Cypress E2E tests to be consistent
36
- const defaultLang = 'en';
37
- this.translate.use(defaultLang);
38
- this.selectedLanguage = defaultLang;
39
- }
40
-
41
- ngOnDestroy() {
42
- // also unsubscribe all Angular Subscriptions
43
- this.subscriptions = unsubscribeAllObservables(this.subscriptions);
44
- }
45
-
46
- ngOnInit(): void {
47
- this.columnDefinitions = [
48
- { id: 'title', name: 'Title', field: 'title', nameKey: 'TITLE', filterable: true, type: FieldType.string },
49
- { id: 'duration', name: 'Duration', field: 'duration', nameKey: 'DURATION', sortable: true, filterable: true, type: FieldType.string },
50
- {
51
- id: 'percentComplete', name: '% Complete', field: 'percentComplete', nameKey: 'PERCENT_COMPLETE', sortable: true, filterable: true,
52
- type: FieldType.number,
53
- formatter: Formatters.percentCompleteBar,
54
- filter: { model: Filters.compoundSlider, params: { hideSliderNumber: false } }
55
- },
56
- { id: 'start', name: 'Start', field: 'start', nameKey: 'START', filterable: true, type: FieldType.string },
57
- { id: 'finish', name: 'Finish', field: 'finish', nameKey: 'FINISH', filterable: true, type: FieldType.string },
58
- {
59
- id: 'effort-driven', name: 'Completed', field: 'effortDriven', nameKey: 'COMPLETED', maxWidth: 80, formatter: Formatters.checkmark,
60
- type: FieldType.boolean,
61
- minWidth: 100,
62
- sortable: true,
63
- filterable: true,
64
- filter: {
65
- collection: [{ value: '', label: '' }, { value: true, label: 'true' }, { value: false, label: 'false' }],
66
- model: Filters.singleSelect
67
- }
68
- }
69
- ];
70
-
71
- this.gridOptions = {
72
- columnPicker: {
73
- hideForceFitButton: true,
74
- hideSyncResizeButton: true,
75
- onColumnsChanged: (e, args) => {
76
- console.log('Column selection changed from Column Picker, visible columns: ', args.visibleColumns);
77
- }
78
- },
79
- enableAutoResize: true,
80
- enableGridMenu: true,
81
- autoResize: {
82
- container: '#demo-container',
83
- rightPadding: 10
84
- },
85
- enableFiltering: true,
86
- enableCellNavigation: true,
87
- gridMenu: {
88
- // we could disable the menu entirely by returning false depending on some code logic
89
- menuUsabilityOverride: (args) => true,
90
-
91
- // all titles optionally support translation keys, if you wish to use that feature then use the title properties with the 'Key' suffix (e.g: titleKey)
92
- // example "commandTitle" for a plain string OR "commandTitleKey" to use a translation key
93
- commandTitleKey: 'CUSTOM_COMMANDS',
94
- iconCssClass: 'fa fa-ellipsis-v', // defaults to "fa-bars"
95
- hideForceFitButton: true,
96
- hideSyncResizeButton: true,
97
- hideToggleFilterCommand: false, // show/hide internal custom commands
98
- menuWidth: 17,
99
- resizeOnShowHeaderRow: true,
100
- commandItems: [
101
- // add Custom Items Commands which will be appended to the existing internal custom items
102
- // you cannot override an internal items but you can hide them and create your own
103
- // also note that the internal custom commands are in the positionOrder range of 50-60,
104
- // if you want yours at the bottom then start with 61, below 50 will make your command(s) show on top
105
- {
106
- iconCssClass: 'fa fa-question-circle',
107
- titleKey: 'HELP',
108
- disabled: false,
109
- command: 'help',
110
- positionOrder: 90,
111
- cssClass: 'bold', // container css class
112
- textCssClass: 'blue' // just the text css class
113
- },
114
- // you can pass divider as a string or an object with a boolean (if sorting by position, then use the object)
115
- // note you should use the "divider" string only when items array is already sorted and positionOrder are not specified
116
- { divider: true, command: '', positionOrder: 89 },
117
- // 'divider',
118
- {
119
- title: 'Command 1',
120
- command: 'command1',
121
- positionOrder: 91,
122
- cssClass: 'orange',
123
- iconCssClass: 'fa fa-warning',
124
- // you can use the "action" callback and/or use "onCallback" callback from the grid options, they both have the same arguments
125
- action: (e, args) => alert(args.command),
126
- itemUsabilityOverride: (args) => {
127
- // for example disable the command if there's any hidden column(s)
128
- if (args && Array.isArray(args.columns)) {
129
- return args.columns.length === args.visibleColumns.length;
130
- }
131
- return true;
132
- },
133
- },
134
- {
135
- title: 'Command 2',
136
- command: 'command2',
137
- positionOrder: 92,
138
- cssClass: 'red', // container css class
139
- textCssClass: 'italic', // just the text css class
140
- action: (e, args) => alert(args.command),
141
- itemVisibilityOverride: (args) => {
142
- // for example hide this command from the menu if there's any filter entered
143
- if (this.angularGrid) {
144
- return this.isObjectEmpty(this.angularGrid.filterService.getColumnFilters());
145
- }
146
- return true;
147
- },
148
- },
149
- {
150
- title: 'Disabled command',
151
- disabled: true,
152
- command: 'disabled-command',
153
- positionOrder: 98
154
- }
155
- ],
156
- // you can use the "action" callback and/or use "onCallback" callback from the grid options, they both have the same arguments
157
- onCommand: (e, args) => {
158
- if (args.command === 'help') {
159
- alert('Please help!!!');
160
- }
161
- },
162
- onColumnsChanged: (e, args) => {
163
- console.log('Column selection changed from Grid Menu, visible columns: ', args.visibleColumns);
164
- }
165
- },
166
- enableTranslate: true,
167
- i18n: this.translate
168
- };
169
-
170
- this.getData();
171
- }
172
-
173
- angularGridReady(angularGrid: AngularGridInstance) {
174
- this.angularGrid = angularGrid;
175
- }
176
-
177
- getData() {
178
- // Set up some test columns.
179
- const mockDataset = [];
180
- for (let i = 0; i < 500; i++) {
181
- mockDataset[i] = {
182
- id: i,
183
- title: 'Task ' + i,
184
- phone: this.generatePhoneNumber(),
185
- duration: Math.round(Math.random() * 25) + ' days',
186
- percentComplete: Math.round(Math.random() * 100),
187
- start: '01/01/2009',
188
- finish: '01/05/2009',
189
- effortDriven: (i % 5 === 0)
190
- };
191
- }
192
- this.dataset = mockDataset;
193
- }
194
-
195
- generatePhoneNumber() {
196
- let phone = '';
197
- for (let i = 0; i < 10; i++) {
198
- phone += Math.round(Math.random() * 9) + '';
199
- }
200
- return phone;
201
- }
202
-
203
- switchLanguage() {
204
- const nextLanguage = (this.selectedLanguage === 'en') ? 'fr' : 'en';
205
- this.subscriptions.push(
206
- this.translate.use(nextLanguage).subscribe(() => {
207
- this.selectedLanguage = nextLanguage;
208
- })
209
- );
210
- }
211
-
212
- toggleGridMenu(e: MouseEvent) {
213
- if (this.angularGrid && this.angularGrid.extensionService) {
214
- const gridMenuInstance = this.angularGrid.extensionService.getExtensionInstanceByName(ExtensionName.gridMenu);
215
- // open the external button Grid Menu, you can also optionally pass Grid Menu options as 2nd argument
216
- // for example we want to align our external button on the right without affecting the menu within the grid which will stay aligned on the left
217
- gridMenuInstance.showGridMenu(e, { dropSide: 'right' });
218
- }
219
- }
220
-
221
- private isObjectEmpty(obj: any) {
222
- for (const key in obj) {
223
- if (obj.hasOwnProperty(key) && obj[key] !== '') {
224
- return false;
225
- }
226
- }
227
- return true;
228
- }
229
- }
@@ -1,116 +0,0 @@
1
- <div id="demo-container" class="container-fluid">
2
- <h2>
3
- {{title}}
4
- <span class="float-end">
5
- <a style="font-size: 18px"
6
- target="_blank"
7
- href="https://github.com/ghiscoding/Angular-Slickgrid/blob/master/src/app/examples/grid-odata.component.ts">
8
- <span class="fa fa-link"></span> code
9
- </a>
10
- </span>
11
- </h2>
12
- <div class="row">
13
- <div class="col-sm-9">
14
- <div class="subtitle" [innerHTML]="subTitle"></div>
15
- </div>
16
- <div class="col-sm-3">
17
- <div class="alert alert-danger" *ngIf="errorStatus" data-test="error-status">
18
- <em><strong>Backend Error:</strong> <span [innerHTML]="errorStatus"></span></em>
19
- </div>
20
- </div>
21
- </div>
22
-
23
- <div class="row">
24
- <div class="col-sm-2">
25
- <div [class]="status.class" role="alert" data-test="status">
26
- <strong>Status: </strong> {{status.text}}
27
- <span [hidden]="!processing">
28
- <i class="fa fa-refresh fa-spin fa-lg fa-fw"></i>
29
- </span>
30
- </div>
31
- </div>
32
- <div class="col-sm-10">
33
- <div class="alert alert-info" data-test="alert-odata-query">
34
- <strong>OData Query:</strong> <span data-test="odata-query-result">{{odataQuery}}</span>
35
- </div>
36
- </div>
37
- </div>
38
-
39
- <div class="row">
40
- <div class="col-sm-4">
41
- <button class="btn btn-outline-secondary btn-sm" data-test="set-dynamic-filter"
42
- (click)="setFiltersDynamically()">
43
- Set Filters Dynamically
44
- </button>
45
- <button class="btn btn-outline-secondary btn-sm" data-test="set-dynamic-sorting"
46
- (click)="setSortingDynamically()">
47
- Set Sorting Dynamically
48
- </button>
49
- <br>
50
- <span *ngIf="metrics">
51
- <b>Metrics:</b> {{metrics.endTime | date: 'yyyy-MM-dd hh:mm aaaaa\'m\''}} | {{metrics.executionTime}}ms
52
- | {{metrics.totalItemCount}} items
53
- </span>
54
- </div>
55
-
56
- <div class="col-sm-8">
57
- <label>OData Version: </label>
58
- <span data-test="radioVersion">
59
- <label class="radio-inline control-label" for="radio2">
60
- <input type="radio" name="inlineRadioOptions" data-test="version2" id="radio2" checked [value]="2"
61
- (change)="setOdataVersion(2)"> 2
62
- </label>
63
- <label class="radio-inline control-label" for="radio4">
64
- <input type="radio" name="inlineRadioOptions" data-test="version4" id="radio4" [value]="4"
65
- (change)="setOdataVersion(4)"> 4
66
- </label>
67
- </span>
68
- <label class="checkbox-inline control-label" for="enableCount" style="margin-left: 20px">
69
- <input type="checkbox" id="enableCount" data-test="enable-count" [checked]="isCountEnabled"
70
- (click)="changeCountEnableFlag()">
71
- <span style="font-weight: bold">Enable Count</span> (add to OData query)
72
- </label>
73
- <label class="checkbox-inline control-label" for="enableSelect" style="margin-left: 20px">
74
- <input type="checkbox" id="enableSelect" data-test="enable-select" [checked]="isSelectEnabled"
75
- (click)="changeEnableSelectFlag()">
76
- <span style="font-weight: bold">Enable Select</span> (add to OData query)
77
- </label>
78
- <label class="checkbox-inline control-label" for="enableExpand" style="margin-left: 20px">
79
- <input type="checkbox" id="enableExpand" data-test="enable-expand" [checked]="isExpandEnabled"
80
- (click)="changeEnableExpandFlag()">
81
- <span style="font-weight: bold">Enable Expand</span> (add to OData query)
82
- </label>
83
- </div>
84
- </div>
85
- <div class="row mt-2 mb-1">
86
- <div class="col-md-12">
87
- <button class="btn btn-outline-danger btn-sm" data-test="throw-page-error-btn"
88
- (click)="throwPageChangeError()">
89
- <span>Throw Error Going to Last Page... </span>
90
- <i class="mdi mdi-page-last"></i>
91
- </button>
92
-
93
- <span class="ms-2">
94
- <label>Programmatically go to first/last page:</label>
95
- <button class="btn btn-outline-secondary btn-xs" data-test="goto-first-page" (click)="goToFirstPage()">
96
- <i class="fa fa-caret-left fa-lg"></i>
97
- </button>
98
- <button class="btn btn-outline-secondary btn-xs" data-test="goto-last-page" (click)="goToLastPage()">
99
- <i class="fa fa-caret-right fa-lg"></i>
100
- </button>
101
- </span>
102
- </div>
103
- </div>
104
-
105
- <angular-slickgrid gridId="grid5"
106
- [columnDefinitions]="columnDefinitions"
107
- [gridOptions]="gridOptions"
108
- [paginationOptions]="paginationOptions"
109
- [dataset]="dataset"
110
- (onAngularGridCreated)="angularGridReady($event.detail)"
111
- (onGridStateChanged)="gridStateChanged($event.detail)"
112
- (onBeforeSort)="handleOnBeforeSort($event)"
113
- (onBeforeSearchChange)="handleOnBeforeSearchChange($event)"
114
- (onBeforePaginationChange)="handleOnBeforePaginationChange($event)">
115
- </angular-slickgrid>
116
- </div>