angular-slickgrid 4.2.0 → 4.2.3

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 (415) hide show
  1. package/LICENSE +20 -20
  2. package/{dist/app → app}/modules/angular-slickgrid/components/angular-slickgrid.component.d.ts +2 -2
  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 -2
  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 +1 -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/esm2020/app/modules/angular-slickgrid/components/angular-slickgrid.component.mjs +1170 -0
  26. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/constants.mjs +1 -1
  27. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/extensions/index.mjs +1 -1
  28. package/esm2020/app/modules/angular-slickgrid/extensions/slickRowDetailView.mjs +298 -0
  29. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/global-grid-options.mjs +1 -1
  30. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/index.mjs +1 -1
  31. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/models/angularComponentOutput.interface.mjs +1 -1
  32. package/esm2020/app/modules/angular-slickgrid/models/angularGridInstance.interface.mjs +2 -0
  33. package/esm2020/app/modules/angular-slickgrid/models/externalTestingDependencies.interface.mjs +2 -0
  34. package/esm2020/app/modules/angular-slickgrid/models/gridOption.interface.mjs +2 -0
  35. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/models/index.mjs +1 -1
  36. package/esm2020/app/modules/angular-slickgrid/models/rowDetailView.interface.mjs +2 -0
  37. package/esm2020/app/modules/angular-slickgrid/models/slickGrid.interface.mjs +2 -0
  38. package/esm2020/app/modules/angular-slickgrid/modules/angular-slickgrid.module.mjs +43 -0
  39. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/services/angularUtil.service.mjs +4 -4
  40. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/services/bsDropdown.service.mjs +4 -4
  41. package/esm2020/app/modules/angular-slickgrid/services/container.service.mjs +29 -0
  42. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/services/index.mjs +1 -1
  43. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/services/translater.service.mjs +4 -4
  44. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/services/utilities.mjs +1 -1
  45. package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/slickgrid-config.mjs +1 -1
  46. package/{dist/esm2020 → esm2020}/public_api.mjs +1 -1
  47. package/{dist/fesm2015 → fesm2015}/angular-slickgrid.mjs +48 -51
  48. package/fesm2015/angular-slickgrid.mjs.map +1 -0
  49. package/{dist/fesm2020 → fesm2020}/angular-slickgrid.mjs +48 -51
  50. package/fesm2020/angular-slickgrid.mjs.map +1 -0
  51. package/{dist/i18n → i18n}/en.json +89 -89
  52. package/{dist/i18n → i18n}/fr.json +90 -90
  53. package/{dist/angular-slickgrid.d.ts → index.d.ts} +0 -0
  54. package/package.json +33 -118
  55. package/{dist/public_api.d.ts → public_api.d.ts} +0 -0
  56. package/test/cypress/node_modules/@cypress/request/README.md +1038 -0
  57. package/test/cypress/node_modules/@cypress/xvfb/README.md +48 -0
  58. package/test/cypress/node_modules/@cypress/xvfb/node_modules/debug/README.md +437 -0
  59. package/test/cypress/node_modules/@types/node/README.md +16 -0
  60. package/test/cypress/node_modules/@types/sinonjs__fake-timers/README.md +16 -0
  61. package/test/cypress/node_modules/@types/sizzle/README.md +16 -0
  62. package/test/cypress/node_modules/@types/yauzl/README.md +16 -0
  63. package/test/cypress/node_modules/@types/yauzl/node_modules/@types/node/README.md +16 -0
  64. package/test/cypress/node_modules/aggregate-error/README.md +61 -0
  65. package/test/cypress/node_modules/ansi-colors/README.md +315 -0
  66. package/test/cypress/node_modules/ansi-escapes/README.md +245 -0
  67. package/test/cypress/node_modules/ansi-regex/README.md +78 -0
  68. package/test/cypress/node_modules/ansi-styles/README.md +152 -0
  69. package/test/cypress/node_modules/arch/README.md +71 -0
  70. package/test/cypress/node_modules/asn1/README.md +50 -0
  71. package/test/cypress/node_modules/assert-plus/README.md +162 -0
  72. package/test/cypress/node_modules/astral-regex/README.md +46 -0
  73. package/test/cypress/node_modules/async/README.md +60 -0
  74. package/test/cypress/node_modules/asynckit/README.md +233 -0
  75. package/test/cypress/node_modules/at-least-node/README.md +25 -0
  76. package/test/cypress/node_modules/aws-sign2/README.md +4 -0
  77. package/test/cypress/node_modules/aws4/README.md +183 -0
  78. package/test/cypress/node_modules/balanced-match/README.md +91 -0
  79. package/test/cypress/node_modules/base64-js/README.md +34 -0
  80. package/test/cypress/node_modules/bcrypt-pbkdf/README.md +45 -0
  81. package/test/cypress/node_modules/blob-util/README.md +623 -0
  82. package/test/cypress/node_modules/bluebird/README.md +57 -0
  83. package/test/cypress/node_modules/brace-expansion/README.md +129 -0
  84. package/test/cypress/node_modules/buffer/README.md +410 -0
  85. package/test/cypress/node_modules/buffer-crc32/README.md +47 -0
  86. package/test/cypress/node_modules/cachedir/README.md +27 -0
  87. package/test/cypress/node_modules/caseless/README.md +45 -0
  88. package/test/cypress/node_modules/chalk/README.md +293 -0
  89. package/test/cypress/node_modules/chalk/node_modules/supports-color/README.md +76 -0
  90. package/test/cypress/node_modules/check-more-types/README.md +952 -0
  91. package/test/cypress/node_modules/ci-info/README.md +114 -0
  92. package/test/cypress/node_modules/clean-stack/README.md +76 -0
  93. package/test/cypress/node_modules/cli-cursor/README.md +55 -0
  94. package/test/cypress/node_modules/cli-table3/README.md +218 -0
  95. package/test/cypress/node_modules/cli-truncate/README.md +139 -0
  96. package/test/cypress/node_modules/color-convert/README.md +68 -0
  97. package/test/cypress/node_modules/color-name/README.md +11 -0
  98. package/test/cypress/node_modules/colorette/README.md +102 -0
  99. package/test/cypress/node_modules/colors/README.md +221 -0
  100. package/test/cypress/node_modules/combined-stream/README.md +138 -0
  101. package/test/cypress/node_modules/commander/README.md +737 -0
  102. package/test/cypress/node_modules/common-tags/README.md +687 -0
  103. package/test/cypress/node_modules/core-util-is/README.md +3 -0
  104. package/test/cypress/node_modules/cross-spawn/README.md +96 -0
  105. package/test/cypress/node_modules/cypress/README.md +25 -0
  106. package/test/cypress/node_modules/cypress/mount-utils/README.md +14 -0
  107. package/test/cypress/node_modules/cypress/react/README.md +414 -0
  108. package/test/cypress/node_modules/cypress/vue/README.md +678 -0
  109. package/test/cypress/node_modules/cypress/vue2/README.md +693 -0
  110. package/test/cypress/node_modules/dashdash/README.md +574 -0
  111. package/test/cypress/node_modules/dayjs/README.md +128 -0
  112. package/test/cypress/node_modules/debug/README.md +455 -0
  113. package/test/cypress/node_modules/delayed-stream/README.md +141 -0
  114. package/test/cypress/node_modules/ecc-jsbn/README.md +8 -0
  115. package/test/cypress/node_modules/emoji-regex/README.md +73 -0
  116. package/test/cypress/node_modules/end-of-stream/README.md +54 -0
  117. package/test/cypress/node_modules/enquirer/README.md +1752 -0
  118. package/test/cypress/node_modules/escape-string-regexp/README.md +27 -0
  119. package/test/cypress/node_modules/eventemitter2/README.md +809 -0
  120. package/test/cypress/node_modules/execa/README.md +656 -0
  121. package/test/cypress/node_modules/executable/README.md +64 -0
  122. package/test/cypress/node_modules/extend/README.md +81 -0
  123. package/test/cypress/node_modules/extract-zip/README.md +57 -0
  124. package/test/cypress/node_modules/extract-zip/node_modules/debug/README.md +455 -0
  125. package/test/cypress/node_modules/extsprintf/README.md +46 -0
  126. package/test/cypress/node_modules/fd-slicer/README.md +199 -0
  127. package/test/cypress/node_modules/figures/README.md +139 -0
  128. package/test/cypress/node_modules/forever-agent/README.md +4 -0
  129. package/test/cypress/node_modules/form-data/README.md +234 -0
  130. package/test/cypress/node_modules/fs-extra/README.md +264 -0
  131. package/test/cypress/node_modules/fs.realpath/README.md +33 -0
  132. package/test/cypress/node_modules/get-stream/README.md +124 -0
  133. package/test/cypress/node_modules/getos/README.md +79 -0
  134. package/test/cypress/node_modules/getpass/README.md +32 -0
  135. package/test/cypress/node_modules/glob/README.md +375 -0
  136. package/test/cypress/node_modules/global-dirs/README.md +72 -0
  137. package/test/cypress/node_modules/graceful-fs/README.md +133 -0
  138. package/test/cypress/node_modules/has-flag/README.md +89 -0
  139. package/test/cypress/node_modules/http-signature/README.md +80 -0
  140. package/test/cypress/node_modules/human-signals/README.md +155 -0
  141. package/test/cypress/node_modules/ieee754/README.md +51 -0
  142. package/test/cypress/node_modules/indent-string/README.md +70 -0
  143. package/test/cypress/node_modules/inflight/README.md +37 -0
  144. package/test/cypress/node_modules/inherits/README.md +42 -0
  145. package/test/cypress/node_modules/ini/README.md +102 -0
  146. package/test/cypress/node_modules/is-ci/README.md +50 -0
  147. package/test/cypress/node_modules/is-fullwidth-code-point/README.md +39 -0
  148. package/test/cypress/node_modules/is-installed-globally/README.md +31 -0
  149. package/test/cypress/node_modules/is-path-inside/README.md +63 -0
  150. package/test/cypress/node_modules/is-stream/README.md +57 -0
  151. package/test/cypress/node_modules/is-typedarray/README.md +16 -0
  152. package/test/cypress/node_modules/isexe/README.md +51 -0
  153. package/test/cypress/node_modules/isstream/README.md +66 -0
  154. package/test/cypress/node_modules/jsbn/README.md +175 -0
  155. package/test/cypress/node_modules/json-schema/README.md +3 -0
  156. package/test/cypress/node_modules/json-stringify-safe/README.md +52 -0
  157. package/test/cypress/node_modules/jsonfile/README.md +205 -0
  158. package/test/cypress/node_modules/jsonfile/node_modules/universalify/README.md +76 -0
  159. package/test/cypress/node_modules/jsprim/README.md +287 -0
  160. package/test/cypress/node_modules/lazy-ass/README.md +269 -0
  161. package/test/cypress/node_modules/listr2/README.md +17 -0
  162. package/test/cypress/node_modules/lodash/README.md +39 -0
  163. package/test/cypress/node_modules/lodash.once/README.md +18 -0
  164. package/test/cypress/node_modules/log-symbols/README.md +51 -0
  165. package/test/cypress/node_modules/log-update/README.md +97 -0
  166. package/test/cypress/node_modules/log-update/node_modules/slice-ansi/README.md +66 -0
  167. package/test/cypress/node_modules/log-update/node_modules/wrap-ansi/README.md +97 -0
  168. package/test/cypress/node_modules/lru-cache/README.md +166 -0
  169. package/test/cypress/node_modules/merge-stream/README.md +78 -0
  170. package/test/cypress/node_modules/mime-db/README.md +102 -0
  171. package/test/cypress/node_modules/mime-types/README.md +123 -0
  172. package/test/cypress/node_modules/mimic-fn/README.md +69 -0
  173. package/test/cypress/node_modules/minimatch/README.md +209 -0
  174. package/test/cypress/node_modules/ms/README.md +60 -0
  175. package/test/cypress/node_modules/npm-run-path/README.md +115 -0
  176. package/test/cypress/node_modules/once/README.md +79 -0
  177. package/test/cypress/node_modules/onetime/README.md +94 -0
  178. package/test/cypress/node_modules/ospath/README.md +53 -0
  179. package/test/cypress/node_modules/p-map/README.md +89 -0
  180. package/test/cypress/node_modules/path-is-absolute/README.md +59 -0
  181. package/test/cypress/node_modules/path-key/README.md +61 -0
  182. package/test/cypress/node_modules/pend/README.md +41 -0
  183. package/test/cypress/node_modules/performance-now/README.md +30 -0
  184. package/test/cypress/node_modules/pify/README.md +119 -0
  185. package/test/cypress/node_modules/pretty-bytes/README.md +131 -0
  186. package/test/cypress/node_modules/proxy-from-env/README.md +131 -0
  187. package/test/cypress/node_modules/psl/README.md +215 -0
  188. package/test/cypress/node_modules/pump/README.md +65 -0
  189. package/test/cypress/node_modules/punycode/README.md +122 -0
  190. package/test/cypress/node_modules/qs/README.md +475 -0
  191. package/test/cypress/node_modules/request-progress/README.md +78 -0
  192. package/test/cypress/node_modules/restore-cursor/README.md +26 -0
  193. package/test/cypress/node_modules/rimraf/README.md +101 -0
  194. package/test/cypress/node_modules/rxjs/README.md +147 -0
  195. package/test/cypress/node_modules/rxjs/_esm2015/README.md +147 -0
  196. package/test/cypress/node_modules/rxjs/_esm5/README.md +147 -0
  197. package/test/cypress/node_modules/rxjs/src/README.md +147 -0
  198. package/test/cypress/node_modules/safe-buffer/README.md +584 -0
  199. package/test/cypress/node_modules/safer-buffer/README.md +156 -0
  200. package/test/cypress/node_modules/semver/README.md +566 -0
  201. package/test/cypress/node_modules/shebang-command/README.md +34 -0
  202. package/test/cypress/node_modules/shebang-regex/README.md +33 -0
  203. package/test/cypress/node_modules/signal-exit/README.md +39 -0
  204. package/test/cypress/node_modules/slice-ansi/README.md +72 -0
  205. package/test/cypress/node_modules/sshpk/README.md +804 -0
  206. package/test/cypress/node_modules/string-width/README.md +50 -0
  207. package/test/cypress/node_modules/strip-ansi/README.md +46 -0
  208. package/test/cypress/node_modules/strip-final-newline/README.md +30 -0
  209. package/test/cypress/node_modules/supports-color/README.md +77 -0
  210. package/test/cypress/node_modules/throttleit/README.md +32 -0
  211. package/test/cypress/node_modules/tmp/README.md +365 -0
  212. package/test/cypress/node_modules/tough-cookie/README.md +527 -0
  213. package/test/cypress/node_modules/tslib/README.md +142 -0
  214. package/test/cypress/node_modules/tunnel-agent/README.md +4 -0
  215. package/test/cypress/node_modules/tweetnacl/README.md +459 -0
  216. package/test/cypress/node_modules/type-fest/README.md +760 -0
  217. package/test/cypress/node_modules/universalify/README.md +76 -0
  218. package/test/cypress/node_modules/untildify/README.md +30 -0
  219. package/test/cypress/node_modules/uuid/README.md +505 -0
  220. package/test/cypress/node_modules/verror/README.md +528 -0
  221. package/test/cypress/node_modules/verror/node_modules/extsprintf/README.md +46 -0
  222. package/test/cypress/node_modules/which/README.md +54 -0
  223. package/test/cypress/node_modules/wrap-ansi/README.md +91 -0
  224. package/test/cypress/node_modules/wrappy/README.md +36 -0
  225. package/test/cypress/node_modules/yallist/README.md +204 -0
  226. package/test/cypress/node_modules/yauzl/README.md +658 -0
  227. package/.browserslistrc +0 -12
  228. package/.codecov.yml +0 -17
  229. package/.editorconfig +0 -18
  230. package/.eslintrc.json +0 -50
  231. package/.github/CODE_OF_CONDUCT.md +0 -76
  232. package/.github/FUNDING.yml +0 -8
  233. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -54
  234. package/.github/ISSUE_TEMPLATE/config.yml +0 -5
  235. package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -44
  236. package/.github/renovate.json5 +0 -26
  237. package/.github/stale.yml +0 -7
  238. package/.github/workflows/main.yml +0 -83
  239. package/.vscode/extensions.json +0 -9
  240. package/.vscode/launch.json +0 -72
  241. package/.vscode/settings.json +0 -7
  242. package/.vscode/tasks.json +0 -77
  243. package/CHANGELOG.md +0 -1172
  244. package/angular.json +0 -148
  245. package/dist/LICENSE +0 -20
  246. package/dist/README.md +0 -182
  247. package/dist/esm2020/app/modules/angular-slickgrid/components/angular-slickgrid.component.mjs +0 -1171
  248. package/dist/esm2020/app/modules/angular-slickgrid/extensions/slickRowDetailView.mjs +0 -300
  249. package/dist/esm2020/app/modules/angular-slickgrid/models/angularGridInstance.interface.mjs +0 -2
  250. package/dist/esm2020/app/modules/angular-slickgrid/models/externalTestingDependencies.interface.mjs +0 -2
  251. package/dist/esm2020/app/modules/angular-slickgrid/models/gridOption.interface.mjs +0 -2
  252. package/dist/esm2020/app/modules/angular-slickgrid/models/rowDetailView.interface.mjs +0 -2
  253. package/dist/esm2020/app/modules/angular-slickgrid/models/slickGrid.interface.mjs +0 -2
  254. package/dist/esm2020/app/modules/angular-slickgrid/modules/angular-slickgrid.module.mjs +0 -46
  255. package/dist/esm2020/app/modules/angular-slickgrid/services/container.service.mjs +0 -26
  256. package/dist/fesm2015/angular-slickgrid.mjs.map +0 -1
  257. package/dist/fesm2020/angular-slickgrid.mjs.map +0 -1
  258. package/dist/package.json +0 -79
  259. package/global.d.ts +0 -1
  260. package/ngcc.config.js +0 -13
  261. package/screenshots/column-picker.png +0 -0
  262. package/screenshots/composite-editor.png +0 -0
  263. package/screenshots/draggable-grouping.png +0 -0
  264. package/screenshots/editors.png +0 -0
  265. package/screenshots/export-to-file.png +0 -0
  266. package/screenshots/filter_and_sort.png +0 -0
  267. package/screenshots/formatters.png +0 -0
  268. package/screenshots/frozen.png +0 -0
  269. package/screenshots/multipleSelectFilter.png +0 -0
  270. package/screenshots/pagination.png +0 -0
  271. package/screenshots/selectFilter.png +0 -0
  272. package/screenshots/singleFilter.png +0 -0
  273. package/src/app/app-routing.module.ts +0 -83
  274. package/src/app/app.component.html +0 -160
  275. package/src/app/app.component.scss +0 -65
  276. package/src/app/app.component.ts +0 -10
  277. package/src/app/app.module.ts +0 -175
  278. package/src/app/examples/custom-angularComponentEditor.ts +0 -184
  279. package/src/app/examples/custom-angularComponentFilter.ts +0 -126
  280. package/src/app/examples/custom-inputEditor.ts +0 -124
  281. package/src/app/examples/custom-inputFilter.ts +0 -142
  282. package/src/app/examples/custom-titleFormatter.component.ts +0 -8
  283. package/src/app/examples/editor-ng-select.component.ts +0 -37
  284. package/src/app/examples/filter-ng-select.component.ts +0 -32
  285. package/src/app/examples/grid-additem.component.html +0 -48
  286. package/src/app/examples/grid-additem.component.ts +0 -272
  287. package/src/app/examples/grid-angular.component.html +0 -79
  288. package/src/app/examples/grid-angular.component.scss +0 -28
  289. package/src/app/examples/grid-angular.component.ts +0 -370
  290. package/src/app/examples/grid-autoheight.component.html +0 -52
  291. package/src/app/examples/grid-autoheight.component.ts +0 -147
  292. package/src/app/examples/grid-basic.component.html +0 -29
  293. package/src/app/examples/grid-basic.component.ts +0 -82
  294. package/src/app/examples/grid-clientside.component.html +0 -51
  295. package/src/app/examples/grid-clientside.component.ts +0 -293
  296. package/src/app/examples/grid-colspan.component.html +0 -39
  297. package/src/app/examples/grid-colspan.component.scss +0 -11
  298. package/src/app/examples/grid-colspan.component.ts +0 -155
  299. package/src/app/examples/grid-composite-editor.component.html +0 -79
  300. package/src/app/examples/grid-composite-editor.component.scss +0 -19
  301. package/src/app/examples/grid-composite-editor.component.ts +0 -948
  302. package/src/app/examples/grid-contextmenu.component.html +0 -62
  303. package/src/app/examples/grid-contextmenu.component.scss +0 -44
  304. package/src/app/examples/grid-contextmenu.component.ts +0 -473
  305. package/src/app/examples/grid-custom-tooltip.component.html +0 -25
  306. package/src/app/examples/grid-custom-tooltip.component.scss +0 -77
  307. package/src/app/examples/grid-custom-tooltip.component.ts +0 -483
  308. package/src/app/examples/grid-draggrouping.component.html +0 -93
  309. package/src/app/examples/grid-draggrouping.component.ts +0 -397
  310. package/src/app/examples/grid-editor.component.html +0 -88
  311. package/src/app/examples/grid-editor.component.ts +0 -699
  312. package/src/app/examples/grid-formatter.component.html +0 -26
  313. package/src/app/examples/grid-formatter.component.ts +0 -162
  314. package/src/app/examples/grid-frozen.component.html +0 -65
  315. package/src/app/examples/grid-frozen.component.scss +0 -11
  316. package/src/app/examples/grid-frozen.component.ts +0 -303
  317. package/src/app/examples/grid-graphql-nopage.component.html +0 -33
  318. package/src/app/examples/grid-graphql-nopage.component.scss +0 -9
  319. package/src/app/examples/grid-graphql-nopage.component.ts +0 -242
  320. package/src/app/examples/grid-graphql.component.html +0 -87
  321. package/src/app/examples/grid-graphql.component.ts +0 -304
  322. package/src/app/examples/grid-grouping.component.html +0 -80
  323. package/src/app/examples/grid-grouping.component.ts +0 -313
  324. package/src/app/examples/grid-headerbutton.component.html +0 -31
  325. package/src/app/examples/grid-headerbutton.component.scss +0 -10
  326. package/src/app/examples/grid-headerbutton.component.ts +0 -233
  327. package/src/app/examples/grid-headermenu.component.html +0 -31
  328. package/src/app/examples/grid-headermenu.component.scss +0 -25
  329. package/src/app/examples/grid-headermenu.component.ts +0 -159
  330. package/src/app/examples/grid-localization.component.html +0 -54
  331. package/src/app/examples/grid-localization.component.ts +0 -293
  332. package/src/app/examples/grid-menu.component.html +0 -37
  333. package/src/app/examples/grid-menu.component.scss +0 -28
  334. package/src/app/examples/grid-menu.component.ts +0 -229
  335. package/src/app/examples/grid-odata.component.html +0 -116
  336. package/src/app/examples/grid-odata.component.ts +0 -441
  337. package/src/app/examples/grid-range.component.html +0 -74
  338. package/src/app/examples/grid-range.component.ts +0 -291
  339. package/src/app/examples/grid-remote.component.html +0 -37
  340. package/src/app/examples/grid-remote.component.ts +0 -153
  341. package/src/app/examples/grid-resize-by-content.component.html +0 -62
  342. package/src/app/examples/grid-resize-by-content.component.scss +0 -19
  343. package/src/app/examples/grid-resize-by-content.component.ts +0 -780
  344. package/src/app/examples/grid-rowdetail.component.html +0 -35
  345. package/src/app/examples/grid-rowdetail.component.ts +0 -205
  346. package/src/app/examples/grid-rowmove.component.html +0 -49
  347. package/src/app/examples/grid-rowmove.component.ts +0 -234
  348. package/src/app/examples/grid-rowselection.component.html +0 -76
  349. package/src/app/examples/grid-rowselection.component.ts +0 -267
  350. package/src/app/examples/grid-state.component.html +0 -36
  351. package/src/app/examples/grid-state.component.ts +0 -259
  352. package/src/app/examples/grid-tabs.component.html +0 -35
  353. package/src/app/examples/grid-tabs.component.ts +0 -115
  354. package/src/app/examples/grid-trading.component.html +0 -58
  355. package/src/app/examples/grid-trading.component.scss +0 -49
  356. package/src/app/examples/grid-trading.component.ts +0 -319
  357. package/src/app/examples/grid-tree-data-hierarchical.component.html +0 -79
  358. package/src/app/examples/grid-tree-data-hierarchical.component.scss +0 -47
  359. package/src/app/examples/grid-tree-data-hierarchical.component.ts +0 -311
  360. package/src/app/examples/grid-tree-data-parent-child.component.html +0 -108
  361. package/src/app/examples/grid-tree-data-parent-child.component.scss +0 -10
  362. package/src/app/examples/grid-tree-data-parent-child.component.ts +0 -351
  363. package/src/app/examples/home.component.html +0 -41
  364. package/src/app/examples/home.component.ts +0 -9
  365. package/src/app/examples/rowdetail-preload.component.ts +0 -10
  366. package/src/app/examples/rowdetail-view.component.html +0 -36
  367. package/src/app/examples/rowdetail-view.component.ts +0 -54
  368. package/src/app/examples/swt-common-grid-pagination.component.ts +0 -156
  369. package/src/app/examples/swt-common-grid-test.component.html +0 -30
  370. package/src/app/examples/swt-common-grid-test.component.ts +0 -219
  371. package/src/app/examples/swt-common-grid.component.ts +0 -436
  372. package/src/app/examples/swt-logger.service.ts +0 -165
  373. package/src/app/modules/angular-slickgrid/components/angular-slickgrid.component.html +0 -4
  374. package/src/app/modules/angular-slickgrid/components/angular-slickgrid.component.ts +0 -1395
  375. package/src/app/modules/angular-slickgrid/constants.ts +0 -97
  376. package/src/app/modules/angular-slickgrid/extensions/index.ts +0 -1
  377. package/src/app/modules/angular-slickgrid/extensions/slickRowDetailView.ts +0 -375
  378. package/src/app/modules/angular-slickgrid/global-grid-options.ts +0 -245
  379. package/src/app/modules/angular-slickgrid/index.ts +0 -11
  380. package/src/app/modules/angular-slickgrid/models/angularComponentOutput.interface.ts +0 -6
  381. package/src/app/modules/angular-slickgrid/models/angularGridInstance.interface.ts +0 -68
  382. package/src/app/modules/angular-slickgrid/models/externalTestingDependencies.interface.ts +0 -37
  383. package/src/app/modules/angular-slickgrid/models/gridOption.interface.ts +0 -12
  384. package/src/app/modules/angular-slickgrid/models/index.ts +0 -6
  385. package/src/app/modules/angular-slickgrid/models/rowDetailView.interface.ts +0 -33
  386. package/src/app/modules/angular-slickgrid/models/slickGrid.interface.ts +0 -7
  387. package/src/app/modules/angular-slickgrid/modules/angular-slickgrid.module.ts +0 -37
  388. package/src/app/modules/angular-slickgrid/services/angularUtil.service.ts +0 -48
  389. package/src/app/modules/angular-slickgrid/services/bsDropdown.service.ts +0 -142
  390. package/src/app/modules/angular-slickgrid/services/container.service.ts +0 -24
  391. package/src/app/modules/angular-slickgrid/services/index.ts +0 -5
  392. package/src/app/modules/angular-slickgrid/services/translater.service.ts +0 -38
  393. package/src/app/modules/angular-slickgrid/services/utilities.ts +0 -19
  394. package/src/app/modules/angular-slickgrid/slickgrid-config.ts +0 -10
  395. package/src/app/slickgrid-custom-variables.scss +0 -10
  396. package/src/assets/.gitkeep +0 -0
  397. package/src/assets/data/collection_100_numbers.json +0 -12
  398. package/src/assets/data/collection_500_numbers.json +0 -52
  399. package/src/assets/data/countries.json +0 -245
  400. package/src/assets/data/country_names.json +0 -245
  401. package/src/assets/data/customers_100.json +0 -102
  402. package/src/assets/i18n/en.json +0 -90
  403. package/src/assets/i18n/fr.json +0 -91
  404. package/src/environments/environment.prod.ts +0 -3
  405. package/src/environments/environment.ts +0 -8
  406. package/src/favicon.ico +0 -0
  407. package/src/index.html +0 -18
  408. package/src/main.ts +0 -13
  409. package/src/polyfills.ts +0 -52
  410. package/src/public_api.ts +0 -1
  411. package/src/styles.scss +0 -66
  412. package/src/typings.d.ts +0 -10
  413. package/tsconfig.app.json +0 -25
  414. package/tsconfig.json +0 -40
  415. package/tsconfig.spec.json +0 -23
@@ -1,80 +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-grouping.component.ts">
8
- <span class="fa fa-link"></span> code
9
- </a>
10
- </span>
11
- </h2>
12
- <div class="subtitle"
13
- [innerHTML]="subTitle"></div>
14
-
15
- <div class="row">
16
- <div class="col-sm-12">
17
- <button class="btn btn-outline-secondary btn-xs" data-test="add-500-rows-btn" (click)="loadData(500)">
18
- 500 rows
19
- </button>
20
- <button class="btn btn-outline-secondary btn-xs" data-test="add-50k-rows-btn" (click)="loadData(50000)">
21
- 50k rows
22
- </button>
23
- <button class="btn btn-outline-secondary btn-xs" data-test="clear-grouping-btn" (click)="clearGrouping()">
24
- <i class="fa fa-times"></i> Clear grouping
25
- </button>
26
- <button class="btn btn-outline-secondary btn-xs" data-test="collapse-all-btn" (click)="collapseAllGroups()">
27
- <i class="fa fa-compress"></i> Collapse all groups
28
- </button>
29
- <button class="btn btn-outline-secondary btn-xs" data-test="expand-all-btn" (click)="expandAllGroups()">
30
- <i class="fa fa-expand"></i> Expand all groups
31
- </button>
32
- <button class="btn btn-outline-secondary btn-xs" data-test="export-excel-btn" (click)="exportToExcel()">
33
- <i class="fa fa-file-excel-o text-success"></i> Export to Excel
34
- </button>
35
- </div>
36
- </div>
37
- <hr />
38
- <div class="row">
39
- <div class="col-sm-12">
40
- <button class="btn btn-outline-secondary btn-xs" data-test="group-duration-sort-value-btn"
41
- (click)="groupByDuration()">
42
- Group by duration &amp; sort groups by value
43
- </button>
44
- <button class="btn btn-outline-secondary btn-xs" data-test="group-duration-sort-count-btn"
45
- (click)="groupByDurationOrderByCount(false)">
46
- Group by duration &amp; sort groups by count
47
- </button>
48
- </div>
49
- </div>
50
- <div class="row">
51
- <div class="col-sm-12">
52
- <button class="btn btn-outline-secondary btn-xs" data-test="group-duration-sort-count-collapse-btn"
53
- (click)="groupByDurationOrderByCount(true)">
54
- Group by duration &amp; sort groups by count, aggregate collapsed
55
- </button>
56
- <button class="btn btn-outline-secondary btn-xs" data-test="group-duration-effort-btn"
57
- (click)="groupByDurationEffortDriven()">
58
- Group by duration then effort-driven
59
- </button>
60
- <button class="btn btn-outline-secondary btn-xs" data-test="group-duration-effort-percent-btn"
61
- (click)="groupByDurationEffortDrivenPercent()">
62
- Group by duration then effort-driven then percent.
63
- </button>
64
- <span [hidden]="!processing">
65
- <i class="fa fa-refresh fa-spin fa-lg fa-fw"></i>
66
- </span>
67
- </div>
68
- </div>
69
-
70
- <angular-slickgrid gridId="grid14"
71
- [dataset]="dataset"
72
- [columnDefinitions]="columnDefinitions"
73
- [gridOptions]="gridOptions"
74
- (onBeforeExportToTextFile)="processing = true"
75
- (onAfterExportToTextFile)="processing = false"
76
- (onBeforeExportToExcel)="processing = true"
77
- (onAfterExportToExcel)="processing = false"
78
- (onAngularGridCreated)="angularGridReady($event.detail)">
79
- </angular-slickgrid>
80
- </div>
@@ -1,313 +0,0 @@
1
- import { Component, OnInit, } from '@angular/core';
2
- import { ExcelExportService } from '@slickgrid-universal/excel-export';
3
- import { TextExportService } from '@slickgrid-universal/text-export';
4
-
5
- import {
6
- AngularGridInstance,
7
- Aggregators,
8
- Column,
9
- DelimiterType,
10
- FieldType,
11
- FileType,
12
- Filters,
13
- Formatters,
14
- GridOption,
15
- Grouping,
16
- GroupTotalFormatters,
17
- SortDirectionNumber,
18
- SortComparers,
19
- } from './../modules/angular-slickgrid';
20
-
21
- @Component({
22
- templateUrl: './grid-grouping.component.html'
23
- })
24
- export class GridGroupingComponent implements OnInit {
25
- title = 'Example 14: Grouping & Aggregators';
26
- subTitle = `
27
- (<a href="https://github.com/ghiscoding/Angular-Slickgrid/wiki/Grouping-&-Aggregators" target="_blank">Wiki docs</a>)
28
- <ul>
29
- <li>
30
- Fully dynamic and interactive multi-level grouping with filtering and aggregates over 50'000 items
31
- </li>
32
- <li>Each grouping level can have its own aggregates (over child rows, child groups, or all descendant rows)..</li>
33
- </ul>
34
- `;
35
-
36
- angularGrid!: AngularGridInstance;
37
- columnDefinitions!: Column[];
38
- gridOptions!: GridOption;
39
- dataset!: any[];
40
- gridObj: any;
41
- dataviewObj: any;
42
- processing = false;
43
- excelExportService = new ExcelExportService();
44
- textExportService = new TextExportService();
45
-
46
- constructor() { }
47
-
48
- ngOnInit(): void {
49
- this.columnDefinitions = [
50
- {
51
- id: 'sel', name: '#', field: 'num', width: 40,
52
- excludeFromExport: true,
53
- maxWidth: 70,
54
- resizable: true,
55
- filterable: true,
56
- selectable: false,
57
- focusable: false
58
- },
59
- {
60
- id: 'title', name: 'Title', field: 'title',
61
- width: 50,
62
- minWidth: 50,
63
- cssClass: 'cell-title',
64
- filterable: true,
65
- sortable: true
66
- },
67
- {
68
- id: 'duration', name: 'Duration', field: 'duration',
69
- minWidth: 50, width: 60,
70
- filterable: true,
71
- filter: { model: Filters.slider, operator: '>=' },
72
- sortable: true,
73
- type: FieldType.number,
74
- groupTotalsFormatter: GroupTotalFormatters.sumTotals,
75
- params: { groupFormatterPrefix: 'Total: ' }
76
- },
77
- {
78
- id: '%', name: '% Complete', field: 'percentComplete',
79
- minWidth: 70, width: 90,
80
- formatter: Formatters.percentCompleteBar,
81
- filterable: true,
82
- filter: { model: Filters.compoundSlider },
83
- sortable: true,
84
- type: FieldType.number,
85
- groupTotalsFormatter: GroupTotalFormatters.avgTotalsPercentage,
86
- params: { groupFormatterPrefix: '<i>Avg</i>: ' }
87
- },
88
- {
89
- id: 'start', name: 'Start', field: 'start',
90
- minWidth: 60,
91
- filterable: true,
92
- filter: { model: Filters.compoundDate },
93
- sortable: true,
94
- type: FieldType.dateIso,
95
- formatter: Formatters.dateIso,
96
- exportWithFormatter: true
97
- },
98
- {
99
- id: 'finish', name: 'Finish', field: 'finish',
100
- minWidth: 60,
101
- filterable: true,
102
- filter: { model: Filters.compoundDate },
103
- sortable: true,
104
- type: FieldType.dateIso,
105
- formatter: Formatters.dateIso,
106
- exportWithFormatter: true
107
- },
108
- {
109
- id: 'cost', name: 'Cost', field: 'cost',
110
- minWidth: 70,
111
- width: 100,
112
- filterable: true,
113
- filter: { model: Filters.compoundInputNumber },
114
- type: FieldType.number,
115
- sortable: true,
116
- exportWithFormatter: true,
117
- formatter: Formatters.dollar,
118
- groupTotalsFormatter: GroupTotalFormatters.sumTotalsDollar,
119
- params: { groupFormatterPrefix: '<b>Total</b>: ' /*, groupFormatterSuffix: ' USD'*/ }
120
- },
121
- {
122
- id: 'effort-driven', name: 'Effort Driven',
123
- minWidth: 20, width: 80, maxWidth: 80,
124
- cssClass: 'cell-effort-driven',
125
- field: 'effortDriven',
126
- formatter: Formatters.checkmark,
127
- sortable: true,
128
- filterable: true,
129
- filter: {
130
- collection: [{ value: '', label: '' }, { value: true, label: 'True' }, { value: false, label: 'False' }],
131
- model: Filters.singleSelect,
132
- }
133
- }
134
- ];
135
-
136
- this.gridOptions = {
137
- autoResize: {
138
- container: '#demo-container',
139
- rightPadding: 10
140
- },
141
- enableExcelExport: true,
142
- enableFiltering: true,
143
- // you could debounce/throttle the input text filter if you have lots of data
144
- // filterTypingDebounce: 250,
145
- enableGrouping: true,
146
- enableExport: true,
147
- gridMenu: {
148
- hideExportTextDelimitedCommand: false
149
- },
150
- excelExportOptions: { sanitizeDataExport: true },
151
- textExportOptions: { sanitizeDataExport: true },
152
- registerExternalResources: [this.excelExportService, this.textExportService],
153
- };
154
-
155
- this.loadData(500);
156
- }
157
-
158
- angularGridReady(angularGrid: AngularGridInstance) {
159
- this.angularGrid = angularGrid;
160
- this.gridObj = angularGrid.slickGrid;
161
- this.dataviewObj = angularGrid.dataView;
162
- }
163
-
164
- loadData(rowCount: number) {
165
- // mock a dataset
166
- this.dataset = [];
167
- for (let i = 0; i < rowCount; i++) {
168
- const randomYear = 2000 + Math.floor(Math.random() * 10);
169
- const randomMonth = Math.floor(Math.random() * 11);
170
- const randomDay = Math.floor((Math.random() * 29));
171
- const randomPercent = Math.round(Math.random() * 100);
172
-
173
- this.dataset[i] = {
174
- id: 'id_' + i,
175
- num: i,
176
- title: 'Task ' + i,
177
- duration: Math.round(Math.random() * 100) + '',
178
- percentComplete: randomPercent,
179
- percentCompleteNumber: randomPercent,
180
- start: new Date(randomYear, randomMonth, randomDay),
181
- finish: new Date(randomYear, (randomMonth + 1), randomDay),
182
- cost: (i % 33 === 0) ? null : Math.round(Math.random() * 10000) / 100,
183
- effortDriven: (i % 5 === 0)
184
- };
185
- }
186
- }
187
-
188
- clearGrouping() {
189
- this.dataviewObj.setGrouping([]);
190
- }
191
-
192
- collapseAllGroups() {
193
- this.dataviewObj.collapseAllGroups();
194
- }
195
-
196
- expandAllGroups() {
197
- this.dataviewObj.expandAllGroups();
198
- }
199
-
200
- exportToExcel() {
201
- this.excelExportService.exportToExcel({
202
- filename: 'Export',
203
- format: FileType.xlsx
204
- });
205
- }
206
-
207
- exportToFile(type = 'csv') {
208
- this.textExportService.exportToFile({
209
- delimiter: (type === 'csv') ? DelimiterType.comma : DelimiterType.tab,
210
- filename: 'myExport',
211
- format: (type === 'csv') ? FileType.csv : FileType.txt
212
- });
213
- }
214
-
215
- groupByDuration() {
216
- this.dataviewObj.setGrouping({
217
- getter: 'duration',
218
- formatter: (g) => `Duration: ${g.value} <span style="color:green">(${g.count} items)</span>`,
219
- aggregators: [
220
- new Aggregators.Avg('percentComplete'),
221
- new Aggregators.Sum('cost')
222
- ],
223
- comparer: (a, b) => SortComparers.numeric(a.value, b.value, SortDirectionNumber.asc),
224
- aggregateCollapsed: false,
225
- lazyTotalsCalculation: true
226
- } as Grouping);
227
-
228
- // you need to manually add the sort icon(s) in UI
229
- this.angularGrid.filterService.setSortColumnIcons([{ columnId: 'duration', sortAsc: true }]);
230
- this.gridObj.invalidate(); // invalidate all rows and re-render
231
- }
232
-
233
- groupByDurationOrderByCount(aggregateCollapsed: boolean) {
234
- this.angularGrid.filterService.setSortColumnIcons([]);
235
- this.dataviewObj.setGrouping({
236
- getter: 'duration',
237
- formatter: (g) => `Duration: ${g.value} <span style="color:green">(${g.count} items)</span>`,
238
- comparer: (a, b) => {
239
- return a.count - b.count;
240
- },
241
- aggregators: [
242
- new Aggregators.Avg('percentComplete'),
243
- new Aggregators.Sum('cost')
244
- ],
245
- aggregateCollapsed,
246
- lazyTotalsCalculation: true
247
- } as Grouping);
248
- this.gridObj.invalidate(); // invalidate all rows and re-render
249
- }
250
-
251
- groupByDurationEffortDriven() {
252
- this.angularGrid.filterService.setSortColumnIcons([]);
253
- this.dataviewObj.setGrouping([
254
- {
255
- getter: 'duration',
256
- formatter: (g) => `Duration: ${g.value} <span style="color:green">(${g.count} items)</span>`,
257
- aggregators: [
258
- new Aggregators.Sum('duration'),
259
- new Aggregators.Sum('cost')
260
- ],
261
- aggregateCollapsed: true,
262
- lazyTotalsCalculation: true
263
- },
264
- {
265
- getter: 'effortDriven',
266
- formatter: (g) => `Effort-Driven: ${(g.value ? 'True' : 'False')} <span style="color:green">(${g.count} items)</span>`,
267
- aggregators: [
268
- new Aggregators.Avg('percentComplete'),
269
- new Aggregators.Sum('cost')
270
- ],
271
- collapsed: true,
272
- lazyTotalsCalculation: true
273
- }
274
- ] as Grouping[]);
275
- this.gridObj.invalidate(); // invalidate all rows and re-render
276
- }
277
-
278
- groupByDurationEffortDrivenPercent() {
279
- this.angularGrid.filterService.setSortColumnIcons([]);
280
- this.dataviewObj.setGrouping([
281
- {
282
- getter: 'duration',
283
- formatter: (g) => `Duration: ${g.value} <span style="color:green">(${g.count} items)</span>`,
284
- aggregators: [
285
- new Aggregators.Sum('duration'),
286
- new Aggregators.Sum('cost')
287
- ],
288
- aggregateCollapsed: true,
289
- lazyTotalsCalculation: true
290
- },
291
- {
292
- getter: 'effortDriven',
293
- formatter: (g) => `Effort-Driven: ${(g.value ? 'True' : 'False')} <span style="color:green">(${g.count} items)</span>`,
294
- aggregators: [
295
- new Aggregators.Sum('duration'),
296
- new Aggregators.Sum('cost')
297
- ],
298
- lazyTotalsCalculation: true
299
- },
300
- {
301
- getter: 'percentComplete',
302
- formatter: (g) => `% Complete: ${g.value} <span style="color:green">(${g.count} items)</span>`,
303
- aggregators: [
304
- new Aggregators.Avg('percentComplete')
305
- ],
306
- aggregateCollapsed: true,
307
- collapsed: true,
308
- lazyTotalsCalculation: true
309
- }
310
- ] as Grouping[]);
311
- this.gridObj.invalidate(); // invalidate all rows and re-render
312
- }
313
- }
@@ -1,31 +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-headerbutton.component.ts">
8
- <span class="fa fa-link"></span> code
9
- </a>
10
- </span>
11
- </h2>
12
- <div class="subtitle" [innerHTML]="subTitle"></div>
13
-
14
- <h5>Grid 1</h5>
15
- <angular-slickgrid gridId="grid7-1"
16
- [columnDefinitions]="columnDefinitions1"
17
- [gridOptions]="gridOptions1"
18
- [dataset]="dataset1"
19
- (onAngularGridCreated)="angularGrid1Ready($event.detail)">
20
- </angular-slickgrid>
21
-
22
- <br />
23
- <h5>Grid 2 - <span class="subtitle">with both Header Buttons & Menus</span></h5>
24
- <angular-slickgrid gridId="grid7-2"
25
- [columnDefinitions]="columnDefinitions2"
26
- [gridOptions]="gridOptions2"
27
- [dataset]="dataset2"
28
- (onAngularGridCreated)="angularGrid2Ready($event.detail)">
29
- </angular-slickgrid>
30
-
31
- </div>
@@ -1,10 +0,0 @@
1
- /* 1st grid */
2
- #grid7-1 {
3
- --slick-header-button-float: right;
4
- }
5
-
6
- /* 2nd grid */
7
- #grid7-2 {
8
- --slick-header-button-margin: 4px 0 50px 0;
9
- --slick-header-button-float: left;
10
- }
@@ -1,233 +0,0 @@
1
- import { Component, OnInit, ViewEncapsulation } from '@angular/core';
2
-
3
- import { AngularGridInstance, Column, GridOption, } from './../modules/angular-slickgrid';
4
-
5
- // create a custom Formatter to highlight negative values in red
6
- let columns1WithHighlightingById: any = {};
7
- let columns2WithHighlightingById: any = {};
8
-
9
- @Component({
10
- styleUrls: ['./grid-headerbutton.component.scss'],
11
- encapsulation: ViewEncapsulation.None,
12
- templateUrl: './grid-headerbutton.component.html'
13
- })
14
- export class GridHeaderButtonComponent implements OnInit {
15
- title = 'Example 7: Header Button Plugin';
16
- subTitle = `
17
- This example demonstrates using the <b>Slick.Plugins.HeaderButtons</b> plugin to easily add buttons to colum headers.
18
- These buttons can be specified directly in the column definition, and are very easy to configure and use.
19
- (<a href="https://github.com/ghiscoding/Angular-Slickgrid/wiki/Header-Menu-&-Header-Buttons" target="_blank">Wiki docs</a>)
20
- <ul>
21
- <li>Resize the 1st column to see all icon/command</li>
22
- <li>Mouse hover the 2nd column to see it's icon/command</li>
23
- <li>For all the other columns, click on top-right red circle icon to enable highlight of negative numbers.</li>
24
- <li>Use override callback functions to change the properties of show/hide, enable/disable the menu or certain item(s) from the list</li>
25
- <ol>
26
- <li>These callbacks are: "itemVisibilityOverride", "itemUsabilityOverride"</li>
27
- <li>for example the "Column E" does not show the header button via "itemVisibilityOverride"</li>
28
- <li>for example the "Column J" header button is displayed but it not usable via "itemUsabilityOverride"</li>
29
- </ol>
30
- </ul>
31
- `;
32
-
33
- columnDefinitions1: Column[] = [];
34
- columnDefinitions2: Column[] = [];
35
- gridOptions1!: GridOption;
36
- gridOptions2!: GridOption;
37
- dataset1: any[] = [];
38
- dataset2: any[] = [];
39
- angularGrid1!: AngularGridInstance;
40
- angularGrid2!: AngularGridInstance;
41
-
42
- constructor() {
43
- columns1WithHighlightingById = {};
44
- columns2WithHighlightingById = {};
45
- }
46
-
47
- ngOnInit(): void {
48
- this.defineGrid();
49
-
50
- // populate the dataset once the grid is ready
51
- this.dataset1 = this.loadData(200, 1);
52
- this.dataset2 = this.loadData(200, 2);
53
- }
54
-
55
- angularGrid1Ready(angularGrid: AngularGridInstance) {
56
- this.angularGrid1 = angularGrid;
57
- }
58
-
59
- angularGrid2Ready(angularGrid: AngularGridInstance) {
60
- this.angularGrid2 = angularGrid;
61
- }
62
-
63
- defineGrid() {
64
- this.gridOptions1 = {
65
- enableAutoResize: true,
66
- enableHeaderButton: true,
67
- enableHeaderMenu: false,
68
- autoResize: {
69
- container: '#demo-container',
70
- rightPadding: 10
71
- },
72
- enableFiltering: false,
73
- enableExcelCopyBuffer: true,
74
- excelCopyBufferOptions: {
75
- onCopyCells: (e, args) => console.log('onCopyCells', e, args),
76
- onPasteCells: (e, args) => console.log('onPasteCells', e, args),
77
- onCopyCancelled: (e, args) => console.log('onCopyCancelled', e, args),
78
- },
79
- enableCellNavigation: true,
80
- gridHeight: 275,
81
- headerButton: {
82
- // you can use the "onCommand" (in Grid Options) and/or the "action" callback (in Column Definition)
83
- onCommand: (_e, args) => this.handleOnCommand(_e, args, 1)
84
- }
85
- };
86
-
87
- // grid 2 options, same as grid 1 + extras
88
- this.gridOptions2 = {
89
- ...this.gridOptions1,
90
- enableHeaderMenu: true,
91
- enableFiltering: true,
92
- // frozenColumn: 2,
93
- // frozenRow: 2,
94
- headerButton: {
95
- // when floating to left, you might want to inverse the icon orders
96
- onCommand: (_e, args) => this.handleOnCommand(_e, args, 2)
97
- }
98
- };
99
- }
100
-
101
- handleOnCommand(_e: Event, args: any, gridNo: 1 | 2) {
102
- const column = args.column;
103
- const button = args.button;
104
- const command = args.command;
105
-
106
- if (command === 'toggle-highlight') {
107
- if (button.cssClass === 'fa fa-circle red') {
108
- if (gridNo === 1) {
109
- delete columns1WithHighlightingById[column.id];
110
- } else {
111
- delete columns2WithHighlightingById[column.id];
112
- }
113
- button.cssClass = 'fa fa-circle-o red faded';
114
- button.tooltip = 'Highlight negative numbers.';
115
- } else {
116
- if (gridNo === 1) {
117
- columns1WithHighlightingById[column.id] = true;
118
- } else {
119
- columns2WithHighlightingById[column.id] = true;
120
- }
121
- button.cssClass = 'fa fa-circle red';
122
- button.tooltip = 'Remove highlight.';
123
- }
124
- ((this as any)[`angularGrid${gridNo}`] as AngularGridInstance).slickGrid.invalidate();
125
- }
126
- }
127
-
128
- loadData(count: number, gridNo: 1 | 2) {
129
- // Set up some test columns.
130
- for (let i = 0; i < 10; i++) {
131
- (this as any)[`columnDefinitions${gridNo}`].push({
132
- id: i,
133
- name: 'Column ' + String.fromCharCode('A'.charCodeAt(0) + i),
134
- field: i + '',
135
- width: i === 0 ? 70 : 100, // have the 2 first columns wider
136
- filterable: true,
137
- sortable: true,
138
- formatter: (_row: number, _cell: number, value: any, columnDef: Column) => {
139
- if (gridNo === 1 && columns1WithHighlightingById[columnDef.id] && value < 0) {
140
- return `<div style="color:red; font-weight:bold;">${value}</div>`;
141
- } else if (gridNo === 2 && columns2WithHighlightingById[columnDef.id] && value < 0) {
142
- return `<div style="color:red; font-weight:bold;">${value}</div>`;
143
- }
144
- return value;
145
- },
146
- header: {
147
- buttons: [
148
- {
149
- cssClass: 'fa fa-circle-o red faded',
150
- command: 'toggle-highlight',
151
- tooltip: 'Highlight negative numbers.',
152
- itemVisibilityOverride: (args: any) => {
153
- // for example don't show the header button on column "E"
154
- return args.column.name !== 'Column E';
155
- },
156
- itemUsabilityOverride: (args: any) => {
157
- // for example the button usable everywhere except on last column ='J"
158
- return args.column.name !== 'Column J';
159
- },
160
- action: (_e: Event, args: any) => {
161
- // you can use the "action" callback and/or subscribe to the "onCallback" event, they both have the same arguments
162
- // do something
163
- console.log(`execute a callback action to "${args.command}" on ${args.column.name}`);
164
- }
165
- }
166
- ]
167
- }
168
- });
169
- }
170
-
171
- // Set multiple buttons on the first column to demonstrate overflow.
172
- (this as any)[`columnDefinitions${gridNo}`][0].name = 'Resize me!';
173
- (this as any)[`columnDefinitions${gridNo}`][0].header = {
174
- buttons: [
175
- {
176
- cssClass: 'fa fa-tag',
177
- handler: () => {
178
- alert('Tag');
179
- }
180
- },
181
- {
182
- cssClass: 'fa fa-comment',
183
- handler: () => {
184
- alert('Comment');
185
- }
186
- },
187
- {
188
- cssClass: 'fa fa-info-circle',
189
- handler: () => {
190
- alert('Info');
191
- }
192
- },
193
- {
194
- cssClass: 'fa fa-question-circle',
195
- handler: () => {
196
- alert('Help');
197
- }
198
- }
199
- ]
200
- };
201
-
202
- // when floating to left, you might want to inverse the icon orders
203
- if (gridNo === 2) {
204
- this.columnDefinitions2[0].header?.buttons?.reverse();
205
- }
206
-
207
- // Set a button on the second column to demonstrate hover.
208
- (this as any)[`columnDefinitions${gridNo}`][1].name = 'Hover me!';
209
- (this as any)[`columnDefinitions${gridNo}`][1].header = {
210
- buttons: [
211
- {
212
- cssClass: 'fa fa-question-circle',
213
- showOnHover: true,
214
- tooltip: 'This button only appears on hover.',
215
- handler: () => {
216
- alert('Help');
217
- }
218
- }
219
- ]
220
- };
221
-
222
- // mock a dataset
223
- const mockDataset = [];
224
- for (let i = 0; i < count; i++) {
225
- const d: any = (mockDataset[i] = {});
226
- d['id'] = i;
227
- for (let j = 0; j < (this as any)[`columnDefinitions${gridNo}`].length; j++) {
228
- d[j] = Math.round(Math.random() * 10) - 5;
229
- }
230
- }
231
- return mockDataset;
232
- }
233
- }