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,97 +0,0 @@
1
- import { Locale } from '@slickgrid-universal/common';
2
-
3
- export class Constants {
4
- // English Locale texts when using only 1 Locale instead of I18N
5
- static readonly locales: Locale = {
6
- TEXT_ALL_SELECTED: 'All Selected',
7
- TEXT_ALL_X_RECORDS_SELECTED: 'All {{x}} records selected',
8
- TEXT_APPLY_MASS_UPDATE: 'Apply Mass Update',
9
- TEXT_APPLY_TO_SELECTION: 'Update Selection',
10
- TEXT_CANCEL: 'Cancel',
11
- TEXT_CLEAR_ALL_FILTERS: 'Clear all Filters',
12
- TEXT_CLEAR_ALL_GROUPING: 'Clear all Grouping',
13
- TEXT_CLEAR_ALL_SORTING: 'Clear all Sorting',
14
- TEXT_CLEAR_PINNING: 'Unfreeze Columns/Rows',
15
- TEXT_CLONE: 'Clone',
16
- TEXT_COLLAPSE_ALL_GROUPS: 'Collapse all Groups',
17
- TEXT_CONTAINS: 'Contains',
18
- TEXT_COLUMNS: 'Columns',
19
- TEXT_COLUMN_RESIZE_BY_CONTENT: 'Resize by Content',
20
- TEXT_COMMANDS: 'Commands',
21
- TEXT_COPY: 'Copy',
22
- TEXT_EQUALS: 'Equals',
23
- TEXT_EQUAL_TO: 'Equal to',
24
- TEXT_ENDS_WITH: 'Ends With',
25
- TEXT_ERROR_EDITABLE_GRID_REQUIRED: 'Your grid must be editable in order to use the Composite Editor Modal.',
26
- TEXT_ERROR_ENABLE_CELL_NAVIGATION_REQUIRED: 'Composite Editor requires the flag "enableCellNavigation" to be set to True in your Grid Options.',
27
- TEXT_ERROR_NO_CHANGES_DETECTED: 'Sorry we could not detect any changes.',
28
- TEXT_ERROR_NO_EDITOR_FOUND: 'We could not find any Editor in your Column Definition.',
29
- TEXT_ERROR_NO_RECORD_FOUND: 'No records selected for edit or clone operation.',
30
- TEXT_ERROR_ROW_NOT_EDITABLE: 'Current row is not editable.',
31
- TEXT_ERROR_ROW_SELECTION_REQUIRED: 'You must select some rows before trying to apply new value(s).',
32
- TEXT_EXPAND_ALL_GROUPS: 'Expand all Groups',
33
- TEXT_EXPORT_TO_CSV: 'Export in CSV format',
34
- TEXT_EXPORT_TO_TEXT_FORMAT: 'Export in Text format (Tab delimited)',
35
- TEXT_EXPORT_TO_EXCEL: 'Export to Excel',
36
- TEXT_EXPORT_TO_TAB_DELIMITED: 'Export in Text format (Tab delimited)',
37
- TEXT_FORCE_FIT_COLUMNS: 'Force fit columns',
38
- TEXT_FREEZE_COLUMNS: 'Freeze Columns',
39
- TEXT_GREATER_THAN: 'Greater than',
40
- TEXT_GREATER_THAN_OR_EQUAL_TO: 'Greater than or equal to',
41
- TEXT_GROUP_BY: 'Group By',
42
- TEXT_HIDE_COLUMN: 'Hide Column',
43
- TEXT_ITEMS: 'items',
44
- TEXT_ITEMS_PER_PAGE: 'items per page',
45
- TEXT_ITEMS_SELECTED: 'items selected',
46
- TEXT_OF: 'of',
47
- TEXT_OK: 'OK',
48
- TEXT_LAST_UPDATE: 'Last Update',
49
- TEXT_LESS_THAN: 'Less than',
50
- TEXT_LESS_THAN_OR_EQUAL_TO: 'Less than or equal to',
51
- TEXT_NOT_CONTAINS: 'Not contains',
52
- TEXT_NOT_EQUAL_TO: 'Not equal to',
53
- TEXT_PAGE: 'Page',
54
- TEXT_REFRESH_DATASET: 'Refresh Dataset',
55
- TEXT_REMOVE_FILTER: 'Remove Filter',
56
- TEXT_REMOVE_SORT: 'Remove Sort',
57
- TEXT_SAVE: 'Save',
58
- TEXT_SELECT_ALL: 'Select All',
59
- TEXT_SYNCHRONOUS_RESIZE: 'Synchronous resize',
60
- TEXT_SORT_ASCENDING: 'Sort Ascending',
61
- TEXT_SORT_DESCENDING: 'Sort Descending',
62
- TEXT_STARTS_WITH: 'Starts With',
63
- TEXT_TOGGLE_FILTER_ROW: 'Toggle Filter Row',
64
- TEXT_TOGGLE_PRE_HEADER_ROW: 'Toggle Pre-Header Row',
65
- TEXT_X_OF_Y_SELECTED: '# of % selected',
66
- TEXT_X_OF_Y_MASS_SELECTED: '{{x}} of {{y}} selected',
67
- };
68
-
69
- static readonly treeDataProperties = {
70
- CHILDREN_PROP: 'children',
71
- COLLAPSED_PROP: '__collapsed',
72
- HAS_CHILDREN_PROP: '__hasChildren',
73
- TREE_LEVEL_PROP: '__treeLevel',
74
- PARENT_PROP: '__parentId',
75
- };
76
-
77
- // some Validation default texts
78
- static readonly VALIDATION_REQUIRED_FIELD = 'Field is required';
79
- static readonly VALIDATION_EDITOR_VALID_NUMBER = 'Please enter a valid number';
80
- static readonly VALIDATION_EDITOR_VALID_INTEGER = 'Please enter a valid integer number';
81
- static readonly VALIDATION_EDITOR_INTEGER_BETWEEN = 'Please enter a valid integer number between {{minValue}} and {{maxValue}}';
82
- static readonly VALIDATION_EDITOR_INTEGER_MAX = 'Please enter a valid integer number that is lower than {{maxValue}}';
83
- static readonly VALIDATION_EDITOR_INTEGER_MAX_INCLUSIVE = 'Please enter a valid integer number that is lower than or equal to {{maxValue}}';
84
- static readonly VALIDATION_EDITOR_INTEGER_MIN = 'Please enter a valid integer number that is greater than {{minValue}}';
85
- static readonly VALIDATION_EDITOR_INTEGER_MIN_INCLUSIVE = 'Please enter a valid integer number that is greater than or equal to {{minValue}}';
86
- static readonly VALIDATION_EDITOR_NUMBER_BETWEEN = 'Please enter a valid number between {{minValue}} and {{maxValue}}';
87
- static readonly VALIDATION_EDITOR_NUMBER_MAX = 'Please enter a valid number that is lower than {{maxValue}}';
88
- static readonly VALIDATION_EDITOR_NUMBER_MAX_INCLUSIVE = 'Please enter a valid number that is lower than or equal to {{maxValue}}';
89
- static readonly VALIDATION_EDITOR_NUMBER_MIN = 'Please enter a valid number that is greater than {{minValue}}';
90
- static readonly VALIDATION_EDITOR_NUMBER_MIN_INCLUSIVE = 'Please enter a valid number that is greater than or equal to {{minValue}}';
91
- static readonly VALIDATION_EDITOR_DECIMAL_BETWEEN = 'Please enter a valid number with a maximum of {{maxDecimal}} decimals';
92
- static readonly VALIDATION_EDITOR_TEXT_LENGTH_BETWEEN = 'Please make sure your text length is between {{minLength}} and {{maxLength}} characters';
93
- static readonly VALIDATION_EDITOR_TEXT_MAX_LENGTH = 'Please make sure your text is less than {{maxLength}} characters';
94
- static readonly VALIDATION_EDITOR_TEXT_MAX_LENGTH_INCLUSIVE = 'Please make sure your text is less than or equal to {{maxLength}} characters';
95
- static readonly VALIDATION_EDITOR_TEXT_MIN_LENGTH = 'Please make sure your text is more than {{minLength}} character(s)';
96
- static readonly VALIDATION_EDITOR_TEXT_MIN_LENGTH_INCLUSIVE = 'Please make sure your text is at least {{minLength}} character(s)';
97
- }
@@ -1 +0,0 @@
1
- export * from './slickRowDetailView';
@@ -1,375 +0,0 @@
1
- import 'slickgrid/plugins/slick.rowdetailview';
2
- import 'slickgrid/plugins/slick.rowselectionmodel';
3
-
4
- import { ApplicationRef, ComponentRef, Type, ViewContainerRef } from '@angular/core';
5
- import {
6
- addToArrayWhenNotExists,
7
- castObservableToPromise,
8
- EventSubscription,
9
- RxJsFacade,
10
- SlickEventHandler,
11
- SlickGrid,
12
- SlickRowSelectionModel,
13
- unsubscribeAll,
14
- } from '@slickgrid-universal/common';
15
- import { EventPubSubService } from '@slickgrid-universal/event-pub-sub';
16
- import { SlickRowDetailView as UniversalSlickRowDetailView } from '@slickgrid-universal/row-detail-view-plugin';
17
- import { Observable, Subject } from 'rxjs';
18
- import * as DOMPurify from 'dompurify';
19
-
20
- import { GridOption, RowDetailView } from '../models/index';
21
- import { AngularUtilService } from '../services/angularUtil.service';
22
-
23
- const ROW_DETAIL_CONTAINER_PREFIX = 'container_';
24
- const PRELOAD_CONTAINER_PREFIX = 'container_loading';
25
-
26
- export interface CreatedView {
27
- id: string | number;
28
- dataContext: any;
29
- componentRef?: ComponentRef<any>;
30
- }
31
-
32
- export class SlickRowDetailView extends UniversalSlickRowDetailView {
33
- rowDetailContainer!: ViewContainerRef;
34
- protected _eventHandler!: SlickEventHandler;
35
- protected _preloadComponent: Type<object> | undefined;
36
- protected _views: CreatedView[] = [];
37
- protected _viewComponent!: Type<object>;
38
- protected _subscriptions: EventSubscription[] = [];
39
- protected _userProcessFn!: (item: any) => Promise<any> | Observable<any> | Subject<any>;
40
-
41
- constructor(
42
- protected readonly angularUtilService: AngularUtilService,
43
- protected readonly appRef: ApplicationRef,
44
- protected readonly eventPubSubService: EventPubSubService,
45
- protected readonly gridContainerElement: HTMLDivElement,
46
- protected rxjs?: RxJsFacade,
47
- ) {
48
- super();
49
- }
50
-
51
- get addonOptions() {
52
- return this.getOptions();
53
- }
54
-
55
- protected get datasetIdPropName(): string {
56
- return this.gridOptions.datasetIdPropertyName || 'id';
57
- }
58
-
59
- get eventHandler(): SlickEventHandler {
60
- return this._eventHandler;
61
- }
62
- set eventHandler(eventHandler: SlickEventHandler) {
63
- this._eventHandler = eventHandler;
64
- }
65
-
66
- /** Getter for the Grid Options pulled through the Grid Object */
67
- get gridOptions(): GridOption {
68
- return (this._grid?.getOptions() || {}) as GridOption;
69
- }
70
-
71
- get rowDetailViewOptions(): RowDetailView | undefined {
72
- return this.gridOptions.rowDetailView;
73
- }
74
-
75
- addRxJsResource(rxjs: RxJsFacade) {
76
- this.rxjs = rxjs;
77
- }
78
-
79
- /** Dispose of the RowDetailView Extension */
80
- dispose() {
81
- this.disposeAllViewComponents();
82
- this._subscriptions = unsubscribeAll(this._subscriptions); // also unsubscribe all RxJS subscriptions
83
- super.dispose();
84
- }
85
-
86
- /** Dispose of all the opened Row Detail Panels Angular View Components */
87
- disposeAllViewComponents() {
88
- this._views.forEach((compRef) => this.disposeViewComponent(compRef));
89
- this._views = [];
90
- }
91
-
92
- /** Get the instance of the SlickGrid addon (control or plugin). */
93
- getAddonInstance(): SlickRowDetailView | null {
94
- return this;
95
- }
96
-
97
- init(grid: SlickGrid) {
98
- this._grid = grid;
99
- super.init(this._grid);
100
- this.register(grid?.getSelectionModel());
101
- }
102
-
103
- /**
104
- * Create the plugin before the Grid creation, else it will behave oddly.
105
- * Mostly because the column definitions might change after the grid creation
106
- */
107
- register(rowSelectionPlugin?: SlickRowSelectionModel) {
108
- if (typeof this.gridOptions.rowDetailView?.process === 'function') {
109
- // we need to keep the user "process" method and replace it with our own execution method
110
- // we do this because when we get the item detail, we need to call "onAsyncResponse.notify" for the plugin to work
111
- this._userProcessFn = this.gridOptions.rowDetailView.process as (item: any) => Promise<any>; // keep user's process method
112
- this.gridOptions.rowDetailView.process = (item) => this.onProcessing(item); // replace process method & run our internal one
113
- } else {
114
- throw new Error('[Angular-Slickgrid] You need to provide a "process" function for the Row Detail Extension to work properly');
115
- }
116
-
117
- if (this._grid && this.gridOptions?.rowDetailView) {
118
- // load the Preload & RowDetail Templates (could be straight HTML or Angular View/ViewModel)
119
- // when those are Angular View/ViewModel, we need to create View Component & provide the html containers to the Plugin (preTemplate/postTemplate methods)
120
- if (!this.gridOptions.rowDetailView.preTemplate) {
121
- this._preloadComponent = this.gridOptions?.rowDetailView?.preloadComponent;
122
- this.gridOptions.rowDetailView.preTemplate = () => DOMPurify.sanitize(`<div class="${PRELOAD_CONTAINER_PREFIX}"></div>`);
123
- }
124
- if (!this.gridOptions.rowDetailView.postTemplate) {
125
- this._viewComponent = this.gridOptions?.rowDetailView?.viewComponent;
126
- this.gridOptions.rowDetailView.postTemplate = (itemDetail: any) => DOMPurify.sanitize(`<div class="${ROW_DETAIL_CONTAINER_PREFIX}${itemDetail[this.datasetIdPropName]}"></div>`);
127
- }
128
-
129
- // this also requires the Row Selection Model to be registered as well
130
- if (!rowSelectionPlugin || !this._grid.getSelectionModel()) {
131
- rowSelectionPlugin = new SlickRowSelectionModel(this.gridOptions.rowSelectionOptions || { selectActiveRow: true });
132
- this._grid.setSelectionModel(rowSelectionPlugin);
133
- }
134
-
135
- // hook all events
136
- if (this._grid && this.rowDetailViewOptions) {
137
- if (this.rowDetailViewOptions.onExtensionRegistered) {
138
- this.rowDetailViewOptions.onExtensionRegistered(this);
139
- }
140
-
141
- if (this.onAsyncResponse) {
142
- this._eventHandler.subscribe(this.onAsyncResponse, (event, args) => {
143
- if (this.rowDetailViewOptions && typeof this.rowDetailViewOptions.onAsyncResponse === 'function') {
144
- this.rowDetailViewOptions.onAsyncResponse(event, args);
145
- }
146
- });
147
- }
148
-
149
- if (this.onAsyncEndUpdate) {
150
- this._eventHandler.subscribe(this.onAsyncEndUpdate, (e: any, args: { grid: SlickGrid; item: any; }) => {
151
- // triggers after backend called "onAsyncResponse.notify()"
152
- this.renderViewModel(args?.item);
153
-
154
- if (this.rowDetailViewOptions && typeof this.rowDetailViewOptions.onAsyncEndUpdate === 'function') {
155
- this.rowDetailViewOptions.onAsyncEndUpdate(e, args);
156
- }
157
- });
158
- }
159
-
160
- if (this.onAfterRowDetailToggle) {
161
- this._eventHandler.subscribe(this.onAfterRowDetailToggle, (e: any, args: { grid: SlickGrid; item: any; expandedRows: number[]; }) => {
162
- // display preload template & re-render all the other Detail Views after toggling
163
- // the preload View will eventually go away once the data gets loaded after the "onAsyncEndUpdate" event
164
- this.renderPreloadView();
165
- this.renderAllViewComponents();
166
-
167
- if (this.rowDetailViewOptions && typeof this.rowDetailViewOptions.onAfterRowDetailToggle === 'function') {
168
- this.rowDetailViewOptions.onAfterRowDetailToggle(e, args);
169
- }
170
- });
171
- }
172
-
173
- if (this.onBeforeRowDetailToggle) {
174
- this._eventHandler.subscribe(this.onBeforeRowDetailToggle, (e, args) => {
175
- // before toggling row detail, we need to create View Component if it doesn't exist
176
- this.handleOnBeforeRowDetailToggle(e, args);
177
-
178
- if (this.rowDetailViewOptions && typeof this.rowDetailViewOptions.onBeforeRowDetailToggle === 'function') {
179
- this.rowDetailViewOptions.onBeforeRowDetailToggle(e, args);
180
- }
181
- });
182
- }
183
-
184
- if (this.onRowBackToViewportRange) {
185
- this._eventHandler.subscribe(this.onRowBackToViewportRange, (e: any, args: { grid: SlickGrid; item: any; rowId: number; rowIndex: number; expandedRows: any[]; rowIdsOutOfViewport: number[]; }) => {
186
- // when row is back to viewport range, we will re-render the View Component(s)
187
- this.handleOnRowBackToViewportRange(e, args);
188
-
189
- if (this.rowDetailViewOptions && typeof this.rowDetailViewOptions.onRowBackToViewportRange === 'function') {
190
- this.rowDetailViewOptions.onRowBackToViewportRange(e, args);
191
- }
192
- });
193
- }
194
-
195
- if (this.onRowOutOfViewportRange) {
196
- this._eventHandler.subscribe(this.onRowOutOfViewportRange, (e: any, args: { grid: SlickGrid; item: any; rowId: number; rowIndex: number; expandedRows: any[]; rowIdsOutOfViewport: number[]; }) => {
197
- if (this.rowDetailViewOptions && typeof this.rowDetailViewOptions.onRowOutOfViewportRange === 'function') {
198
- this.rowDetailViewOptions.onRowOutOfViewportRange(e, args);
199
- }
200
- });
201
- }
202
-
203
- // --
204
- // hook some events needed by the Plugin itself
205
-
206
- // we need to redraw the open detail views if we change column position (column reorder)
207
- this._eventHandler.subscribe(this._grid.onColumnsReordered, this.redrawAllViewComponents.bind(this));
208
-
209
- // on row selection changed, we also need to redraw
210
- if (this.gridOptions.enableRowSelection || this.gridOptions.enableCheckboxSelector) {
211
- this._eventHandler.subscribe(this._grid.onSelectedRowsChanged, this.redrawAllViewComponents.bind(this));
212
- }
213
-
214
- // on sort, all row detail are collapsed so we can dispose of all the Views as well
215
- this._eventHandler.subscribe(this._grid.onSort, this.disposeAllViewComponents.bind(this));
216
-
217
- // on filter changed, we need to re-render all Views
218
- this._subscriptions.push(
219
- this.eventPubSubService?.subscribe('onFilterChanged', this.redrawAllViewComponents.bind(this)),
220
- this.eventPubSubService?.subscribe('onGridMenuClearAllFilters', () => setTimeout(() => this.redrawAllViewComponents())),
221
- this.eventPubSubService?.subscribe('onGridMenuClearAllSorting', () => setTimeout(() => this.redrawAllViewComponents())),
222
- );
223
- }
224
- }
225
- return this;
226
- }
227
-
228
- /** Redraw (re-render) all the expanded row detail View Components */
229
- redrawAllViewComponents() {
230
- this._views.forEach((compRef) => {
231
- this.redrawViewComponent(compRef);
232
- });
233
- }
234
-
235
- /** Render all the expanded row detail View Components */
236
- renderAllViewComponents() {
237
- this._views.forEach((view) => {
238
- if (view && view.dataContext) {
239
- this.renderViewModel(view.dataContext);
240
- }
241
- });
242
- }
243
-
244
- /** Redraw the necessary View Component */
245
- redrawViewComponent(createdView: CreatedView) {
246
- const containerElements = this.gridContainerElement.getElementsByClassName(`${ROW_DETAIL_CONTAINER_PREFIX}${createdView.id}`);
247
- if (containerElements && containerElements.length >= 0) {
248
- this.renderViewModel(createdView.dataContext);
249
- }
250
- }
251
-
252
- /** Render (or re-render) the View Component (Row Detail) */
253
- renderPreloadView() {
254
- const containerElements = this.gridContainerElement.getElementsByClassName(`${PRELOAD_CONTAINER_PREFIX}`);
255
- if (containerElements && containerElements.length >= 0) {
256
- this.angularUtilService.createAngularComponentAppendToDom(this._preloadComponent, containerElements[containerElements.length - 1], true);
257
- }
258
- }
259
-
260
- /** Render (or re-render) the View Component (Row Detail) */
261
- renderViewModel(item: any): CreatedView | undefined {
262
- const containerElements = this.gridContainerElement.getElementsByClassName(`${ROW_DETAIL_CONTAINER_PREFIX}${item[this.datasetIdPropName]}`);
263
- if (containerElements && containerElements.length > 0) {
264
- const componentOutput = this.angularUtilService.createAngularComponentAppendToDom(this._viewComponent, containerElements[containerElements.length - 1], true);
265
- if (componentOutput && componentOutput.componentRef && componentOutput.componentRef.instance) {
266
- // pass a few properties to the Row Detail template component
267
- Object.assign(componentOutput.componentRef.instance, {
268
- model: item,
269
- addon: this,
270
- grid: this._grid,
271
- dataView: this.dataView,
272
- parent: this.rowDetailViewOptions && this.rowDetailViewOptions.parent,
273
- });
274
-
275
- const viewObj = this._views.find(obj => obj.id === item[this.datasetIdPropName]);
276
- if (viewObj) {
277
- viewObj.componentRef = componentOutput.componentRef;
278
- }
279
- return viewObj;
280
- }
281
- }
282
- return undefined;
283
- }
284
-
285
- // --
286
- // protected functions
287
- // ------------------
288
-
289
- protected disposeViewComponent(expandedView: CreatedView): CreatedView | void {
290
- const compRef = expandedView?.componentRef;
291
- if (compRef) {
292
- this.appRef.detachView(compRef.hostView);
293
- if (compRef?.destroy) {
294
- compRef.destroy();
295
- }
296
- return expandedView;
297
- }
298
- }
299
-
300
- /**
301
- * notify the onAsyncResponse with the "args.item" (required property)
302
- * the plugin will then use item to populate the row detail panel with the "postTemplate"
303
- * @param item
304
- */
305
- protected notifyTemplate(item: any) {
306
- if (this.onAsyncResponse) {
307
- this.onAsyncResponse.notify({ item }, undefined, this);
308
- }
309
- }
310
-
311
- /**
312
- * On Processing, we will notify the plugin with the new item detail once backend server call completes
313
- * @param item
314
- */
315
- protected async onProcessing(item: any) {
316
- if (item && typeof this._userProcessFn === 'function') {
317
- let awaitedItemDetail: any;
318
- const userProcessFn = this._userProcessFn(item);
319
-
320
- // wait for the "userProcessFn", once resolved we will save it into the "collection"
321
- const response: any | any[] = await userProcessFn;
322
-
323
- if (response.hasOwnProperty(this.datasetIdPropName)) {
324
- awaitedItemDetail = response; // from Promise
325
- } else if (response && response instanceof Observable || response instanceof Promise) {
326
- awaitedItemDetail = await castObservableToPromise(this.rxjs as RxJsFacade, response); // from Angular-http-client
327
- }
328
-
329
- if (!awaitedItemDetail || !awaitedItemDetail.hasOwnProperty(this.datasetIdPropName)) {
330
- throw new Error(`[Angular-Slickgrid] could not process the Row Detail, you must make sure that your "process" callback
331
- (a Promise or an HttpClient call returning an Observable) returns an item object that has an "${this.datasetIdPropName}" property`);
332
- }
333
-
334
- // notify the plugin with the new item details
335
- this.notifyTemplate(awaitedItemDetail || {});
336
- }
337
- }
338
-
339
- /**
340
- * Just before the row get expanded or collapsed we will do the following
341
- * First determine if the row is expanding or collapsing,
342
- * if it's expanding we will add it to our View Components reference array if we don't already have it
343
- * or if it's collapsing we will remove it from our View Components reference array
344
- */
345
- protected handleOnBeforeRowDetailToggle(e: Event, args: { grid: SlickGrid; item: any; }) {
346
- // expanding
347
- if (args && args.item && args.item.__collapsed) {
348
- // expanding row detail
349
- const viewInfo: CreatedView = {
350
- id: args.item[this.datasetIdPropName],
351
- dataContext: args.item
352
- };
353
- const idPropName = this.gridOptions.datasetIdPropertyName || 'id';
354
- addToArrayWhenNotExists(this._views, viewInfo, idPropName);
355
- } else {
356
- // collapsing, so dispose of the View/Component
357
- const foundViewIndex = this._views.findIndex((view: CreatedView) => view.id === args.item[this.datasetIdPropName]);
358
- if (foundViewIndex >= 0 && this._views.hasOwnProperty(foundViewIndex)) {
359
- const compRef = this._views[foundViewIndex].componentRef;
360
- if (compRef) {
361
- this.appRef.detachView(compRef.hostView);
362
- compRef.destroy();
363
- }
364
- this._views.splice(foundViewIndex, 1);
365
- }
366
- }
367
- }
368
-
369
- /** When Row comes back to Viewport Range, we need to redraw the View */
370
- protected handleOnRowBackToViewportRange(e: Event, args: { grid: SlickGrid; item: any; rowId: number; rowIndex: number; expandedRows: any[]; rowIdsOutOfViewport: number[]; }) {
371
- if (args?.item) {
372
- this.redrawAllViewComponents();
373
- }
374
- }
375
- }