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,483 +0,0 @@
1
- import { Component, OnInit, ViewEncapsulation, } from '@angular/core';
2
- import { SlickCustomTooltip } from '@slickgrid-universal/custom-tooltip-plugin';
3
- import { ExcelExportService } from '@slickgrid-universal/excel-export';
4
- import {
5
- AngularGridInstance,
6
- Column,
7
- EditCommand,
8
- Editors,
9
- FieldType,
10
- Filters,
11
- Formatter,
12
- Formatters,
13
- GridOption,
14
- MenuCommandItemCallbackArgs,
15
- OperatorType,
16
- SlickGrid,
17
- } from '../modules/angular-slickgrid';
18
-
19
- const NB_ITEMS = 500;
20
-
21
- @Component({
22
- templateUrl: './grid-custom-tooltip.component.html',
23
- styleUrls: ['./grid-custom-tooltip.component.scss'],
24
- encapsulation: ViewEncapsulation.None,
25
- })
26
- export class GridCustomTooltipComponent implements OnInit {
27
- title = 'Example 32: Regular & Custom Tooltips';
28
- subTitle = `
29
- This demo shows how to create Regular & Custom Tooltips (<a href="https://github.com/ghiscoding/Angular-Slickgrid/wiki/Custom-Tooltip-(plugin)" target="_blank">Wiki docs</a>)
30
- <br/>
31
- <ul class="small">
32
- <li>optionally parse regular [title] attributes and transform them into tooltips</li>
33
- <li>create your own Custom Tooltip via a Custom Formatter</li>
34
- <li>create an Async Custom Tooltip (Promise/Observable) to allowing fetching data from an API</li>
35
- <li>optionally add Custom Tooltip on Column Header & Column Header-Row (filters)</li>
36
- </ul>
37
- `;
38
- angularGrid!: AngularGridInstance;
39
- columnDefinitions!: Column[];
40
- editCommandQueue: EditCommand[] = [];
41
- gridOptions!: GridOption;
42
- dataset!: any[];
43
- serverApiDelay = 500;
44
-
45
- constructor() { }
46
-
47
- ngOnInit(): void {
48
- this.initializeGrid();
49
-
50
- // mock a dataset
51
- this.dataset = this.loadData(NB_ITEMS);
52
- }
53
-
54
- angularGridReady(angularGrid: AngularGridInstance) {
55
- this.angularGrid = angularGrid;
56
- }
57
-
58
- initializeGrid() {
59
- this.columnDefinitions = [
60
- {
61
- id: 'title', name: 'Title', field: 'title', sortable: true, type: FieldType.string,
62
- editor: {
63
- model: Editors.longText,
64
- required: true,
65
- alwaysSaveOnEnterKey: true,
66
- minLength: 5,
67
- maxLength: 255,
68
- },
69
- filterable: true,
70
- customTooltip: {
71
- position: 'right-align', // defaults to "auto"
72
- // you can use the Custom Tooltip in 2 ways (synchronous or asynchronous)
73
- // example 1 (sync):
74
- // formatter: this.tooltipTaskFormatter,
75
-
76
- // example 2 (async):
77
- // when using async, the `formatter` will contain the loading spinner
78
- // you will need to provide an `asyncPost` function returning a Promise and also `asyncPostFormatter` formatter to display the result once the Promise resolves
79
- formatter: () => `<div><span class="fa fa-spinner fa-pulse fa-fw"></span> loading...</div>`,
80
- asyncProcess: () => new Promise(resolve => {
81
- setTimeout(() => resolve({ ratio: Math.random() * 10 / 10, lifespan: Math.random() * 100 }), this.serverApiDelay);
82
- }),
83
- asyncPostFormatter: this.tooltipTaskAsyncFormatter as Formatter,
84
-
85
- // optional conditional usability callback
86
- // usabilityOverride: (args) => !!(args.dataContext?.id % 2) // show it only every second row
87
- },
88
- },
89
- {
90
- id: 'duration', name: 'Duration', field: 'duration', sortable: true, filterable: true,
91
- editor: {
92
- model: Editors.float,
93
- // required: true,
94
- decimal: 2,
95
- valueStep: 1,
96
- maxValue: 10000,
97
- alwaysSaveOnEnterKey: true,
98
- },
99
- formatter: (row, cell, value) => value > 1 ? `${value} days` : `${value} day`,
100
- type: FieldType.number,
101
- },
102
- {
103
- id: 'desc', name: `<span title='custom title tooltip text'>Description</span>`, field: 'description', width: 100, filterable: true,
104
- editor: {
105
- model: Editors.longText,
106
- required: true,
107
- alwaysSaveOnEnterKey: true,
108
- minLength: 5,
109
- maxLength: 255,
110
- },
111
- formatter: (row: number, cell: number, value: any, column: Column, dataContext) => `<span title="regular tooltip (from title attribute)\r${dataContext.title} cell value:\r${value || ''}">${value || ''}</span>`,
112
- // define tooltip options here OR for the entire grid via the grid options (cell tooltip options will have precedence over grid options)
113
- customTooltip: {
114
- useRegularTooltip: true, // note regular tooltip will try to find a "title" attribute in the cell formatter (it won't work without a cell formatter)
115
- },
116
- },
117
- {
118
- id: 'desc2', name: `<span title='custom title tooltip text'>Description 2</span>`, field: 'description', width: 100, filterable: true,
119
- editor: {
120
- model: Editors.longText,
121
- required: true,
122
- alwaysSaveOnEnterKey: true,
123
- minLength: 5,
124
- maxLength: 255,
125
- },
126
- formatter: (row: number, cell: number, value: any, column: Column, dataContext) => `<span title="regular tooltip (from title attribute)\r${dataContext.title} cell value:\r\r${value || ''}">${value || ''}</span>`,
127
- // define tooltip options here OR for the entire grid via the grid options (cell tooltip options will have precedence over grid options)
128
- customTooltip: {
129
- useRegularTooltip: true, // note regular tooltip will try to find a "title" attribute in the cell formatter (it won't work without a cell formatter)
130
- useRegularTooltipFromFormatterOnly: true,
131
- // renderRegularTooltipAsHtml: true, // defaults to false, regular "title" tooltip won't be rendered as html unless specified via this flag (also "\r\n" will be replaced by <br>)
132
- // maxWidth: 75,
133
- // maxHeight: 30,
134
- },
135
- },
136
- {
137
- id: 'cost', name: '<span title="custom cost title tooltip text">Cost</span>', field: 'cost',
138
- width: 90,
139
- sortable: true,
140
- filterable: true,
141
- // filter: { model: Filters.compoundInput },
142
- // formatter: Formatters.dollar,
143
- formatter: Formatters.multiple,
144
- // params: { formatters: [Formatters.dollar, (row, cell, value) => `<span title="regular tooltip, cost: ${value}">${value || ''}</span>`] },
145
- params: { formatters: [Formatters.dollar, (_row: number, _cell: number, value: any) => `<span title="regular tooltip (from title attribute) -\rcell value:\n\n${value || ''}">${value || ''}</span>`] },
146
- customTooltip: {
147
- useRegularTooltip: true,
148
- useRegularTooltipFromFormatterOnly: true,
149
- },
150
- type: FieldType.number,
151
- },
152
- {
153
- id: 'percentComplete', name: '% Complete', field: 'percentComplete', type: FieldType.number,
154
- editor: {
155
- model: Editors.slider,
156
- minValue: 0,
157
- maxValue: 100,
158
- // params: { hideSliderNumber: true },
159
- },
160
- formatter: Formatters.percentCompleteBar,
161
- sortable: true, filterable: true,
162
- filter: { model: Filters.slider, operator: '>=' },
163
- customTooltip: { useRegularTooltip: true, },
164
- },
165
- {
166
- id: 'start', name: 'Start', field: 'start', sortable: true,
167
- // formatter: Formatters.dateIso,
168
- type: FieldType.date, outputType: FieldType.dateIso,
169
- filterable: true, filter: { model: Filters.compoundDate },
170
- formatter: Formatters.dateIso,
171
- editor: { model: Editors.date },
172
- // we can delay a tooltip via the async process
173
- customTooltip: {
174
- // 1- loading formatter
175
- formatter: () => ``, // return empty so it won't show any pre-tooltip
176
-
177
- // 2- delay the opening by a simple Promise and `setTimeout`
178
- asyncProcess: () => new Promise(resolve => {
179
- setTimeout(() => resolve({}), this.serverApiDelay); // delayed by half a second
180
- }),
181
- asyncPostFormatter: this.tooltipFormatter.bind(this) as Formatter,
182
- },
183
- },
184
- {
185
- id: 'finish', name: 'Finish', field: 'finish', sortable: true,
186
- editor: { model: Editors.date, editorOptions: { minDate: 'today' }, },
187
- // formatter: Formatters.dateIso,
188
- type: FieldType.date, outputType: FieldType.dateIso,
189
- formatter: Formatters.dateIso,
190
- filterable: true, filter: { model: Filters.dateRange },
191
- // you could disable the custom/regular tooltip via either of the following 2 options
192
- disableTooltip: true,
193
- // customTooltip: {
194
- // usabilityOverride: (args) => false,
195
- // },
196
- },
197
- {
198
- id: 'effortDriven', name: 'Effort Driven', field: 'effortDriven',
199
- width: 80, minWidth: 20, maxWidth: 100,
200
- cssClass: 'cell-effort-driven',
201
- sortable: true,
202
- filterable: true,
203
- filter: {
204
- collection: [{ value: '', label: '' }, { value: true, label: 'True' }, { value: false, label: 'False' }],
205
- model: Filters.singleSelect
206
- },
207
- exportWithFormatter: false,
208
- formatter: Formatters.checkmarkMaterial,
209
- },
210
- {
211
- id: 'prerequisites', name: 'Prerequisites', field: 'prerequisites', filterable: true,
212
- formatter: (_row, _cell, value) => {
213
- if (value && Array.isArray(value)) {
214
- const values = value.map((val) => `Task ${val}`).join(', ');
215
- return `<span title="${values}">${values}</span>`;
216
- }
217
- return '';
218
- },
219
- customTooltip: {
220
- useRegularTooltip: true,
221
- maxWidth: 500,
222
- },
223
- exportWithFormatter: true,
224
- sanitizeDataExport: true,
225
- minWidth: 100,
226
- sortable: true,
227
- type: FieldType.string,
228
- editor: {
229
- // OR 1- use "fetch client", they are both supported
230
- // collectionAsync: fetch(URL_SAMPLE_COLLECTION_DATA),
231
-
232
- // OR 2- use a Promise
233
- collectionAsync: new Promise<any>((resolve) => {
234
- setTimeout(() => {
235
- resolve(Array.from(Array(this.dataset.length).keys()).map(k => ({ value: k, label: k, prefix: 'Task', suffix: 'days' })));
236
- }, 500);
237
- }),
238
- customStructure: {
239
- label: 'label',
240
- value: 'value',
241
- labelPrefix: 'prefix',
242
- },
243
- collectionOptions: {
244
- separatorBetweenTextLabels: ' '
245
- },
246
- model: Editors.multipleSelect,
247
- },
248
- filter: {
249
- // collectionAsync: fetch(URL_SAMPLE_COLLECTION_DATA),
250
- collectionAsync: new Promise((resolve) => {
251
- setTimeout(() => {
252
- resolve(Array.from(Array(this.dataset.length).keys()).map(k => ({ value: k, label: `Task ${k}` })));
253
- });
254
- }),
255
- customStructure: {
256
- label: 'label',
257
- value: 'value',
258
- labelPrefix: 'prefix',
259
- },
260
- collectionOptions: {
261
- separatorBetweenTextLabels: ' '
262
- },
263
- model: Filters.multipleSelect,
264
- operator: OperatorType.inContains,
265
- },
266
- },
267
- {
268
- id: 'action', name: 'Action', field: 'action', width: 70, minWidth: 70, maxWidth: 70,
269
- formatter: () => `<div class="button-style margin-auto" style="width: 35px;"><span class="fa fa-chevron-down text-primary"></span></div>`,
270
- excludeFromExport: true,
271
- cellMenu: {
272
- hideCloseButton: false,
273
- commandTitle: 'Commands',
274
- commandItems: [
275
- // array of command item objects, you can also use the "positionOrder" that will be used to sort the items in the list
276
- {
277
- command: 'command2', title: 'Command 2', positionOrder: 62,
278
- // you can use the "action" callback and/or use "onCallback" callback from the grid options, they both have the same arguments
279
- action: (_e, args) => {
280
- console.log(args.dataContext, args.column);
281
- // action callback.. do something
282
- },
283
- // only enable command when the task is not completed
284
- itemUsabilityOverride: (args) => {
285
- return !args.dataContext.completed;
286
- }
287
- },
288
- { command: 'command1', title: 'Command 1', cssClass: 'orange', positionOrder: 61 },
289
- {
290
- command: 'delete-row', title: 'Delete Row', positionOrder: 64,
291
- iconCssClass: 'mdi mdi-close', cssClass: 'red', textCssClass: 'bold',
292
- // only show command to 'Delete Row' when the task is not completed
293
- itemVisibilityOverride: (args) => {
294
- return !args.dataContext.completed;
295
- }
296
- },
297
- // you can pass divider as a string or an object with a boolean (if sorting by position, then use the object)
298
- // note you should use the "divider" string only when items array is already sorted and positionOrder are not specified
299
- { divider: true, command: '', positionOrder: 63 },
300
- // 'divider',
301
- {
302
- command: 'help',
303
- title: 'Help',
304
- iconCssClass: 'mdi mdi-help-circle-outline',
305
- positionOrder: 66,
306
- },
307
- { command: 'something', title: 'Disabled Command', disabled: true, positionOrder: 67, }
308
- ],
309
- }
310
- },
311
- ];
312
-
313
- this.gridOptions = {
314
- autoEdit: true, // true single click (false for double-click)
315
- autoCommitEdit: true,
316
- editable: true,
317
- autoResize: {
318
- container: '#demo-container',
319
- },
320
- enableAutoSizeColumns: true,
321
- enableAutoResize: true,
322
- enableCellNavigation: true,
323
- enableExcelExport: true,
324
- excelExportOptions: {
325
- exportWithFormatter: true
326
- },
327
- // Custom Tooltip options can be defined in a Column or Grid Options or a mixed of both (first options found wins)
328
- registerExternalResources: [new SlickCustomTooltip(), new ExcelExportService()],
329
- customTooltip: {
330
- formatter: this.tooltipFormatter.bind(this) as Formatter,
331
- headerFormatter: this.headerFormatter,
332
- headerRowFormatter: this.headerRowFormatter,
333
- usabilityOverride: (args) => (args.cell !== 0 && args?.column?.id !== 'action'), // don't show on first/last columns
334
- // hideArrow: true, // defaults to False
335
- },
336
- presets: {
337
- filters: [{ columnId: 'prerequisites', searchTerms: [1, 3, 5, 7, 9, 12, 15, 18, 21, 25, 28, 29, 30, 32, 34] }],
338
- },
339
- rowHeight: 33,
340
- enableFiltering: true,
341
- rowSelectionOptions: {
342
- // True (Single Selection), False (Multiple Selections)
343
- selectActiveRow: false
344
- },
345
- showCustomFooter: true,
346
- enableCheckboxSelector: true,
347
- enableRowSelection: true,
348
- checkboxSelector: {
349
- hideInFilterHeaderRow: false,
350
- hideInColumnTitleRow: true,
351
- },
352
- editCommandHandler: (_item: any, _column: Column, editCommand: EditCommand) => {
353
- this.editCommandQueue.push(editCommand);
354
- editCommand.execute();
355
- },
356
- // when using the cellMenu, you can change some of the default options and all use some of the callback methods
357
- enableCellMenu: true,
358
- cellMenu: {
359
- // all the Cell Menu callback methods (except the action callback)
360
- // are available under the grid options as shown below
361
- onCommand: (e, args) => this.executeCommand(e, args),
362
- onOptionSelected: (_e, args) => {
363
- // change "Completed" property with new option selected from the Cell Menu
364
- const dataContext = args && args.dataContext;
365
- if (dataContext && dataContext.hasOwnProperty('completed')) {
366
- dataContext.completed = args.item.option;
367
- this.angularGrid.gridService.updateItem(dataContext);
368
- }
369
- },
370
- },
371
- };
372
- }
373
-
374
- loadData(itemCount: number): any[] {
375
- // mock a dataset
376
- // mock data
377
- const tmpArray = [];
378
- for (let i = 0; i < itemCount; i++) {
379
- const randomYear = 2000 + Math.floor(Math.random() * 10);
380
- const randomFinishYear = (new Date().getFullYear() - 3) + Math.floor(Math.random() * 10); // use only years not lower than 3 years ago
381
- const randomMonth = Math.floor(Math.random() * 11);
382
- const randomDay = Math.floor((Math.random() * 29));
383
- const randomFinish = new Date(randomFinishYear, (randomMonth + 1), randomDay);
384
-
385
- tmpArray[i] = {
386
- id: i,
387
- title: 'Task ' + i,
388
- duration: Math.round(Math.random() * 100),
389
- description: `This is a sample task description.\nIt can be multiline\r\rAnother line...`,
390
- percentComplete: Math.floor(Math.random() * (100 - 5 + 1) + 5),
391
- start: new Date(randomYear, randomMonth, randomDay),
392
- finish: randomFinish < new Date() ? '' : randomFinish, // make sure the random date is earlier than today
393
- cost: (i % 33 === 0) ? null : Math.round(Math.random() * 10000) / 100,
394
- effortDriven: (i % 5 === 0),
395
- prerequisites: (i % 2 === 0) && i !== 0 && i < 50 ? [i, i - 1] : [],
396
- };
397
- }
398
-
399
- return tmpArray;
400
- }
401
-
402
- executeCommand(_e: Event, args: MenuCommandItemCallbackArgs) {
403
- // const columnDef = args.column;
404
- const command = args.command;
405
- const dataContext = args.dataContext;
406
-
407
- switch (command) {
408
- case 'command1':
409
- alert('Command 1');
410
- break;
411
- case 'command2':
412
- alert('Command 2');
413
- break;
414
- case 'help':
415
- alert('Please help!');
416
- break;
417
- case 'delete-row':
418
- if (confirm(`Do you really want to delete row (${(args.row || 0) + 1}) with "${dataContext.title}"`)) {
419
- this.angularGrid?.gridService.deleteItemById(dataContext.id);
420
- }
421
- break;
422
- }
423
- }
424
-
425
- headerFormatter(row: number, cell: number, value: any, column: Column) {
426
- const tooltipTitle = 'Custom Tooltip - Header';
427
- return `<div class="header-tooltip-title">${tooltipTitle}</div>
428
- <div class="tooltip-2cols-row"><div>Column:</div> <div>${column.name}</div></div>`;
429
- }
430
-
431
- headerRowFormatter(row: number, cell: number, value: any, column: Column) {
432
- const tooltipTitle = 'Custom Tooltip - Header Row (filter)';
433
- return `<div class="headerrow-tooltip-title">${tooltipTitle}</div>
434
- <div class="tooltip-2cols-row"><div>Column:</div> <div>${column.field}</div></div>`;
435
- }
436
-
437
- tooltipFormatter(row: number, cell: number, value: any, column: Column, dataContext: any, grid: SlickGrid) {
438
- const tooltipTitle = 'Custom Tooltip';
439
- const effortDrivenHtml = Formatters.checkmarkMaterial(row, cell, dataContext.effortDriven, column, dataContext, grid);
440
-
441
- return `<div class="header-tooltip-title">${tooltipTitle}</div>
442
- <div class="tooltip-2cols-row"><div>Id:</div> <div>${dataContext.id}</div></div>
443
- <div class="tooltip-2cols-row"><div>Title:</div> <div>${dataContext.title}</div></div>
444
- <div class="tooltip-2cols-row"><div>Effort Driven:</div> <div>${effortDrivenHtml}</div></div>
445
- <div class="tooltip-2cols-row"><div>Completion:</div> <div>${this.loadCompletionIcons(dataContext.percentComplete)}</div></div>
446
- `;
447
- }
448
-
449
- tooltipTaskAsyncFormatter(row: number, cell: number, value: any, column: Column, dataContext: any, grid: SlickGrid) {
450
- const tooltipTitle = `Task ${dataContext.id} - (async tooltip)`;
451
-
452
- // use a 2nd Formatter to get the percent completion
453
- // any properties provided from the `asyncPost` will end up in the `__params` property (unless a different prop name is provided via `asyncParamsPropName`)
454
- const completionBar = Formatters.percentCompleteBarWithText(row, cell, dataContext.percentComplete, column, dataContext, grid);
455
- const out = `<div class="color-sf-primary-dark header-tooltip-title">${tooltipTitle}</div>
456
- <div class="tooltip-2cols-row"><div>Completion:</div> <div>${completionBar}</div></div>
457
- <div class="tooltip-2cols-row"><div>Lifespan:</div> <div>${dataContext.__params.lifespan.toFixed(2)}</div></div>
458
- <div class="tooltip-2cols-row"><div>Ratio:</div> <div>${dataContext.__params.ratio.toFixed(2)}</div></div>
459
- `;
460
- return out;
461
- }
462
-
463
- loadCompletionIcons(percentComplete: number) {
464
- let output = '';
465
- let iconCount = 0;
466
- if (percentComplete > 5 && percentComplete < 25) {
467
- iconCount = 1;
468
- } else if (percentComplete >= 25 && percentComplete < 50) {
469
- iconCount = 2;
470
- } else if (percentComplete >= 50 && percentComplete < 75) {
471
- iconCount = 3;
472
- } else if (percentComplete >= 75 && percentComplete < 100) {
473
- iconCount = 4;
474
- } else if (percentComplete === 100) {
475
- iconCount = 5;
476
- }
477
- for (let i = 0; i < iconCount; i++) {
478
- const iconColor = iconCount === 5 ? 'text-success' : iconCount >= 3 ? 'text-warning' : 'text-secondary';
479
- output += `<span class="fa fa-check-circle-o ${iconColor}"></span>`;
480
- }
481
- return output;
482
- }
483
- }
@@ -1,93 +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-draggrouping.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
- <form class="form-inline">
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"
24
- (click)="clearGroupsAndSelects()">
25
- <i class="fa fa-times"></i> Clear grouping
26
- </button>
27
- <button class="btn btn-outline-secondary btn-xs" data-test="collapse-all-btn" (click)="collapseAllGroups()">
28
- <i class="fa fa-compress"></i> Collapse all groups
29
- </button>
30
- <button class="btn btn-outline-secondary btn-xs" data-test="expand-all-btn" (click)="expandAllGroups()">
31
- <i class="fa fa-expand"></i> Expand all groups
32
- </button>
33
- <button class="btn btn-outline-secondary btn-xs" (click)="toggleDraggableGroupingRow()">
34
- Toggle Draggable Grouping Row
35
- </button>
36
- <button class="btn btn-outline-secondary btn-xs" (click)="exportToExcel()">
37
- <i class="fa fa-file-excel-o text-success"></i> Export to Excel
38
- </button>
39
- </div>
40
- </div>
41
- <div class="row">
42
- <div class="col-sm-12">
43
- <button class="btn btn-outline-secondary btn-xs" data-test="group-duration-sort-value-btn"
44
- (click)="groupByDurationOrderByCount(false)">
45
- Group by duration &amp; sort groups by value
46
- </button>
47
- <button class="btn btn-outline-secondary btn-xs" data-test="group-duration-sort-count-btn"
48
- (click)="groupByDurationOrderByCount(true)">
49
- Group by duration &amp; sort groups by count
50
- </button>
51
- <button class="btn btn-outline-secondary btn-xs" data-test="group-duration-effort-btn"
52
- (click)="groupByDurationEffortDriven()">
53
- Group by Duration &amp; then Effort-Driven
54
- </button>
55
- <button class="btn btn-outline-secondary btn-xs" data-test="set-dynamic-filter"
56
- (click)="setFiltersDynamically()">
57
- Set Filters Dynamically
58
- </button>
59
- <button class="btn btn-outline-secondary btn-xs" data-test="set-dynamic-sorting"
60
- (click)="setSortingDynamically()">
61
- Set Sorting Dynamically
62
- </button>
63
- </div>
64
- </div>
65
- <div class="row mt-2">
66
- <div class="col-sm-12">
67
- <div class="form-row">
68
- <div class="row form-group">
69
- <label for="field1" class="col-sm-3 mb-2">Group by field(s)</label>
70
- <div class="form-group col-md-3"
71
- *ngFor="let groupField of selectedGroupingFields; let i = index; trackBy: selectTrackByFn">
72
- <select class="form-select" name="groupField{{i}}" [(ngModel)]="selectedGroupingFields[i]"
73
- (ngModelChange)="groupByFieldName($event, i)">
74
- <option value=""></option>
75
- <option [ngValue]="field.id" *ngFor="let field of columnDefinitions">{{field.name}}</option>
76
- </select>
77
- </div>
78
- </div>
79
- </div>
80
- </div>
81
- </div>
82
- </form>
83
- <div class="row mt-1 mb-1">
84
- <hr />
85
- </div>
86
-
87
- <angular-slickgrid gridId="grid19"
88
- [dataset]="dataset"
89
- [columnDefinitions]="columnDefinitions"
90
- [gridOptions]="gridOptions"
91
- (onAngularGridCreated)="angularGridReady($event.detail)">
92
- </angular-slickgrid>
93
- </div>