angular-slickgrid 9.0.0 → 9.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. package/LICENSE +1 -1
  2. package/{dist/fesm2022 → fesm2022}/angular-slickgrid.mjs +16 -16
  3. package/package.json +27 -14
  4. package/.gitbook.yaml +0 -5
  5. package/CHANGELOG.md +0 -1691
  6. package/CONTRIBUTING.md +0 -17
  7. package/angular.json +0 -133
  8. package/coverage/base.css +0 -224
  9. package/coverage/block-navigation.js +0 -87
  10. package/coverage/clover.xml +0 -1620
  11. package/coverage/coverage-final.json +0 -9
  12. package/coverage/favicon.png +0 -0
  13. package/coverage/index.html +0 -176
  14. package/coverage/library/components/angular-slickgrid.component.ts.html +0 -5074
  15. package/coverage/library/components/index.html +0 -116
  16. package/coverage/library/constants.ts.html +0 -397
  17. package/coverage/library/extensions/index.html +0 -116
  18. package/coverage/library/extensions/slickRowDetailView.ts.html +0 -1261
  19. package/coverage/library/index.html +0 -116
  20. package/coverage/library/modules/angular-slickgrid.module.ts.html +0 -166
  21. package/coverage/library/modules/index.html +0 -116
  22. package/coverage/library/services/angularUtil.service.ts.html +0 -445
  23. package/coverage/library/services/container.service.ts.html +0 -163
  24. package/coverage/library/services/index.html +0 -161
  25. package/coverage/library/services/translater.service.ts.html +0 -199
  26. package/coverage/library/services/utilities.ts.html +0 -142
  27. package/coverage/prettify.css +0 -1
  28. package/coverage/prettify.js +0 -2
  29. package/coverage/sort-arrow-sprite.png +0 -0
  30. package/coverage/sorter.js +0 -196
  31. package/dist/LICENSE +0 -21
  32. package/dist/README.md +0 -142
  33. package/docs/README.md +0 -5
  34. package/docs/TOC.md +0 -105
  35. package/docs/backend-services/Custom-Backend-Service.md +0 -50
  36. package/docs/backend-services/GraphQL.md +0 -276
  37. package/docs/backend-services/OData.md +0 -245
  38. package/docs/backend-services/graphql/GraphQL-Filtering.md +0 -156
  39. package/docs/backend-services/graphql/GraphQL-JSON-Result.md +0 -85
  40. package/docs/backend-services/graphql/GraphQL-Pagination.md +0 -77
  41. package/docs/backend-services/graphql/GraphQL-Sorting.md +0 -78
  42. package/docs/column-functionalities/cell-menu.md +0 -212
  43. package/docs/column-functionalities/editors/autocomplete-editor.md +0 -466
  44. package/docs/column-functionalities/editors/date-editor-flatpickr.md +0 -71
  45. package/docs/column-functionalities/editors/date-editor-vanilla-calendar.md +0 -91
  46. package/docs/column-functionalities/editors/longtext-editor-textarea.md +0 -80
  47. package/docs/column-functionalities/editors/select-dropdown-editor.md +0 -227
  48. package/docs/column-functionalities/editors.md +0 -604
  49. package/docs/column-functionalities/filters/autocomplete-filter.md +0 -183
  50. package/docs/column-functionalities/filters/compound-filters.md +0 -234
  51. package/docs/column-functionalities/filters/custom-filter.md +0 -117
  52. package/docs/column-functionalities/filters/filter-intro.md +0 -81
  53. package/docs/column-functionalities/filters/input-filter.md +0 -260
  54. package/docs/column-functionalities/filters/range-filters.md +0 -188
  55. package/docs/column-functionalities/filters/select-filter.md +0 -695
  56. package/docs/column-functionalities/filters/single-search-filter.md +0 -77
  57. package/docs/column-functionalities/filters/styling-filled-filters.md +0 -45
  58. package/docs/column-functionalities/formatters.md +0 -325
  59. package/docs/column-functionalities/sorting.md +0 -200
  60. package/docs/developer-guides/csp-compliance.md +0 -64
  61. package/docs/events/Available-Events.md +0 -223
  62. package/docs/events/Grid-&-DataView-Events.md +0 -211
  63. package/docs/getting-started/quick-start.md +0 -230
  64. package/docs/getting-started/troubleshooting.md +0 -80
  65. package/docs/grid-functionalities/Column-Picker.md +0 -22
  66. package/docs/grid-functionalities/Composite-Editor-Modal.md +0 -627
  67. package/docs/grid-functionalities/Context-Menu.md +0 -226
  68. package/docs/grid-functionalities/Custom-Footer.md +0 -80
  69. package/docs/grid-functionalities/Custom-Tooltip-(plugin).md +0 -258
  70. package/docs/grid-functionalities/Export-to-Excel.md +0 -457
  71. package/docs/grid-functionalities/Export-to-Text-File.md +0 -165
  72. package/docs/grid-functionalities/FAQ.md +0 -53
  73. package/docs/grid-functionalities/Global-Options.md +0 -29
  74. package/docs/grid-functionalities/Grid-Auto-Resize.md +0 -218
  75. package/docs/grid-functionalities/Grid-Menu.md +0 -134
  76. package/docs/grid-functionalities/Grid-State-&-Preset.md +0 -245
  77. package/docs/grid-functionalities/Header-Menu-&-Header-Buttons.md +0 -125
  78. package/docs/grid-functionalities/Resize-by-Cell-Content.md +0 -138
  79. package/docs/grid-functionalities/Row-Selection.md +0 -247
  80. package/docs/grid-functionalities/Row-based-edit.md +0 -71
  81. package/docs/grid-functionalities/add-update-highlight.md +0 -258
  82. package/docs/grid-functionalities/column-row-spanning.md +0 -74
  83. package/docs/grid-functionalities/dynamic-item-metadata.md +0 -124
  84. package/docs/grid-functionalities/excel-copy-buffer.md +0 -145
  85. package/docs/grid-functionalities/frozen-columns-rows.md +0 -164
  86. package/docs/grid-functionalities/grouping-and-aggregators.md +0 -269
  87. package/docs/grid-functionalities/header-footer-slots.md +0 -22
  88. package/docs/grid-functionalities/infinite-scroll.md +0 -150
  89. package/docs/grid-functionalities/providing-grid-data.md +0 -61
  90. package/docs/grid-functionalities/row-detail.md +0 -530
  91. package/docs/grid-functionalities/tree-data-grid.md +0 -391
  92. package/docs/localization/Localization---Component-Sample.md +0 -87
  93. package/docs/localization/Localization-with-Custom-Locales.md +0 -66
  94. package/docs/localization/Localization-with-ngx-translate.md +0 -148
  95. package/docs/migrations/migration-to-2.x.md +0 -304
  96. package/docs/migrations/migration-to-3.x.md +0 -295
  97. package/docs/migrations/migration-to-4.x.md +0 -83
  98. package/docs/migrations/migration-to-5.x.md +0 -160
  99. package/docs/migrations/migration-to-6.x.md +0 -128
  100. package/docs/migrations/migration-to-7.x.md +0 -294
  101. package/docs/migrations/migration-to-8.x.md +0 -316
  102. package/docs/migrations/migration-to-9.x.md +0 -219
  103. package/docs/slick-grid-dataview-objects/slickgrid-dataview-objects.md +0 -79
  104. package/docs/styling/dark-mode.md +0 -100
  105. package/docs/styling/styling.md +0 -250
  106. package/docs/testing/testing-patterns.md +0 -73
  107. package/eslint.config.mjs +0 -60
  108. package/ng-package.json +0 -10
  109. package/src/assets/angular-logo.png +0 -0
  110. package/src/assets/angular-logo2.png +0 -0
  111. package/src/assets/data/collection_100_numbers.json +0 -12
  112. package/src/assets/data/collection_500_numbers.json +0 -52
  113. package/src/assets/data/countries.json +0 -245
  114. package/src/assets/data/country_names.json +0 -245
  115. package/src/assets/data/customers_100.json +0 -102
  116. package/src/assets/data/users.csv +0 -5
  117. package/src/assets/i18n/en.json +0 -102
  118. package/src/assets/i18n/fr.json +0 -103
  119. package/src/demos/app-routing.module.ts +0 -108
  120. package/src/demos/app.component.html +0 -187
  121. package/src/demos/app.component.scss +0 -79
  122. package/src/demos/app.component.ts +0 -11
  123. package/src/demos/app.module.ts +0 -196
  124. package/src/demos/environments/environment.dev.ts +0 -3
  125. package/src/demos/environments/environment.prod.ts +0 -3
  126. package/src/demos/environments/environment.ts +0 -8
  127. package/src/demos/examples/custom-angularComponentEditor.ts +0 -187
  128. package/src/demos/examples/custom-angularComponentFilter.ts +0 -123
  129. package/src/demos/examples/custom-buttonFormatter.component.ts +0 -13
  130. package/src/demos/examples/custom-inputEditor.ts +0 -132
  131. package/src/demos/examples/custom-inputFilter.ts +0 -134
  132. package/src/demos/examples/custom-titleFormatter.component.ts +0 -9
  133. package/src/demos/examples/data/collection_100_numbers.json +0 -12
  134. package/src/demos/examples/data/collection_500_numbers.json +0 -52
  135. package/src/demos/examples/data/countries.json +0 -245
  136. package/src/demos/examples/data/country_names.json +0 -245
  137. package/src/demos/examples/data/customers_100.json +0 -102
  138. package/src/demos/examples/data/users.csv +0 -5
  139. package/src/demos/examples/editor-ng-select.component.ts +0 -38
  140. package/src/demos/examples/example01.component.html +0 -48
  141. package/src/demos/examples/example01.component.ts +0 -109
  142. package/src/demos/examples/example02.component.html +0 -45
  143. package/src/demos/examples/example02.component.ts +0 -218
  144. package/src/demos/examples/example03.component.html +0 -118
  145. package/src/demos/examples/example03.component.ts +0 -694
  146. package/src/demos/examples/example04.component.html +0 -87
  147. package/src/demos/examples/example04.component.ts +0 -326
  148. package/src/demos/examples/example05.component.html +0 -151
  149. package/src/demos/examples/example05.component.ts +0 -474
  150. package/src/demos/examples/example06.component.html +0 -163
  151. package/src/demos/examples/example06.component.ts +0 -446
  152. package/src/demos/examples/example07.component.html +0 -56
  153. package/src/demos/examples/example07.component.scss +0 -10
  154. package/src/demos/examples/example07.component.ts +0 -216
  155. package/src/demos/examples/example08.component.html +0 -51
  156. package/src/demos/examples/example08.component.scss +0 -23
  157. package/src/demos/examples/example08.component.ts +0 -195
  158. package/src/demos/examples/example09.component.html +0 -55
  159. package/src/demos/examples/example09.component.scss +0 -22
  160. package/src/demos/examples/example09.component.ts +0 -302
  161. package/src/demos/examples/example10.component.html +0 -103
  162. package/src/demos/examples/example10.component.ts +0 -309
  163. package/src/demos/examples/example11.component.html +0 -91
  164. package/src/demos/examples/example11.component.ts +0 -276
  165. package/src/demos/examples/example12.component.html +0 -98
  166. package/src/demos/examples/example12.component.ts +0 -317
  167. package/src/demos/examples/example13.component.html +0 -96
  168. package/src/demos/examples/example13.component.ts +0 -370
  169. package/src/demos/examples/example14.component.html +0 -50
  170. package/src/demos/examples/example14.component.scss +0 -11
  171. package/src/demos/examples/example14.component.ts +0 -156
  172. package/src/demos/examples/example15.component.html +0 -56
  173. package/src/demos/examples/example15.component.ts +0 -304
  174. package/src/demos/examples/example16.component.html +0 -77
  175. package/src/demos/examples/example16.component.ts +0 -277
  176. package/src/demos/examples/example17.component.html +0 -50
  177. package/src/demos/examples/example17.component.ts +0 -109
  178. package/src/demos/examples/example18.component.html +0 -132
  179. package/src/demos/examples/example18.component.ts +0 -445
  180. package/src/demos/examples/example19-rowdetail.component.html +0 -40
  181. package/src/demos/examples/example19-rowdetail.component.ts +0 -54
  182. package/src/demos/examples/example19.component.html +0 -79
  183. package/src/demos/examples/example19.component.ts +0 -316
  184. package/src/demos/examples/example20.component.html +0 -76
  185. package/src/demos/examples/example20.component.scss +0 -11
  186. package/src/demos/examples/example20.component.ts +0 -341
  187. package/src/demos/examples/example21.component.html +0 -86
  188. package/src/demos/examples/example21.component.scss +0 -16
  189. package/src/demos/examples/example21.component.ts +0 -140
  190. package/src/demos/examples/example22.component.html +0 -41
  191. package/src/demos/examples/example22.component.ts +0 -117
  192. package/src/demos/examples/example23.component.html +0 -111
  193. package/src/demos/examples/example23.component.ts +0 -323
  194. package/src/demos/examples/example24.component.html +0 -120
  195. package/src/demos/examples/example24.component.scss +0 -62
  196. package/src/demos/examples/example24.component.ts +0 -641
  197. package/src/demos/examples/example25.component.html +0 -60
  198. package/src/demos/examples/example25.component.scss +0 -8
  199. package/src/demos/examples/example25.component.ts +0 -255
  200. package/src/demos/examples/example26.component.html +0 -98
  201. package/src/demos/examples/example26.component.scss +0 -42
  202. package/src/demos/examples/example26.component.ts +0 -383
  203. package/src/demos/examples/example27.component.html +0 -138
  204. package/src/demos/examples/example27.component.scss +0 -10
  205. package/src/demos/examples/example27.component.ts +0 -369
  206. package/src/demos/examples/example28.component.html +0 -143
  207. package/src/demos/examples/example28.component.scss +0 -54
  208. package/src/demos/examples/example28.component.ts +0 -453
  209. package/src/demos/examples/example29.component.html +0 -30
  210. package/src/demos/examples/example29.component.ts +0 -70
  211. package/src/demos/examples/example30.component.html +0 -116
  212. package/src/demos/examples/example30.component.scss +0 -20
  213. package/src/demos/examples/example30.component.ts +0 -1070
  214. package/src/demos/examples/example32.component.html +0 -77
  215. package/src/demos/examples/example32.component.scss +0 -8
  216. package/src/demos/examples/example32.component.ts +0 -905
  217. package/src/demos/examples/example33.component.html +0 -50
  218. package/src/demos/examples/example33.component.scss +0 -46
  219. package/src/demos/examples/example33.component.ts +0 -571
  220. package/src/demos/examples/example34.component.html +0 -82
  221. package/src/demos/examples/example34.component.scss +0 -77
  222. package/src/demos/examples/example34.component.ts +0 -434
  223. package/src/demos/examples/example35.component.html +0 -77
  224. package/src/demos/examples/example35.component.scss +0 -18
  225. package/src/demos/examples/example35.component.ts +0 -264
  226. package/src/demos/examples/example36.component.html +0 -56
  227. package/src/demos/examples/example36.component.scss +0 -26
  228. package/src/demos/examples/example36.component.ts +0 -504
  229. package/src/demos/examples/example37.component.html +0 -30
  230. package/src/demos/examples/example37.component.ts +0 -123
  231. package/src/demos/examples/example38.component.html +0 -104
  232. package/src/demos/examples/example38.component.scss +0 -8
  233. package/src/demos/examples/example38.component.ts +0 -420
  234. package/src/demos/examples/example39.component.html +0 -112
  235. package/src/demos/examples/example39.component.scss +0 -8
  236. package/src/demos/examples/example39.component.ts +0 -371
  237. package/src/demos/examples/example40.component.html +0 -76
  238. package/src/demos/examples/example40.component.ts +0 -226
  239. package/src/demos/examples/example41.component.html +0 -50
  240. package/src/demos/examples/example41.component.scss +0 -42
  241. package/src/demos/examples/example41.component.ts +0 -229
  242. package/src/demos/examples/example42.component.html +0 -47
  243. package/src/demos/examples/example42.component.ts +0 -203
  244. package/src/demos/examples/example43.component.html +0 -94
  245. package/src/demos/examples/example43.component.scss +0 -30
  246. package/src/demos/examples/example43.component.ts +0 -449
  247. package/src/demos/examples/example44.component.html +0 -78
  248. package/src/demos/examples/example44.component.scss +0 -50
  249. package/src/demos/examples/example44.component.ts +0 -375
  250. package/src/demos/examples/example45-detail.component.html +0 -15
  251. package/src/demos/examples/example45-detail.component.ts +0 -97
  252. package/src/demos/examples/example45.component.html +0 -110
  253. package/src/demos/examples/example45.component.scss +0 -50
  254. package/src/demos/examples/example45.component.ts +0 -243
  255. package/src/demos/examples/filter-ng-select.component.ts +0 -33
  256. package/src/demos/examples/grid-custom-pager.component.html +0 -60
  257. package/src/demos/examples/grid-custom-pager.component.scss +0 -57
  258. package/src/demos/examples/grid-custom-pager.component.ts +0 -107
  259. package/src/demos/examples/grid-remote.component.html +0 -44
  260. package/src/demos/examples/grid-remote.component.ts +0 -164
  261. package/src/demos/examples/home.component.html +0 -39
  262. package/src/demos/examples/home.component.ts +0 -10
  263. package/src/demos/examples/jsonp.ts +0 -89
  264. package/src/demos/examples/rowdetail-preload.component.ts +0 -10
  265. package/src/demos/examples/swt-common-grid-pagination.component.ts +0 -160
  266. package/src/demos/examples/swt-common-grid-test.component.html +0 -37
  267. package/src/demos/examples/swt-common-grid-test.component.ts +0 -214
  268. package/src/demos/examples/swt-common-grid.component.ts +0 -436
  269. package/src/demos/examples/swt-logger.service.ts +0 -173
  270. package/src/demos/examples/utilities.ts +0 -9
  271. package/src/favicon.ico +0 -0
  272. package/src/index.html +0 -17
  273. package/src/library/components/__tests__/angular-slickgrid.component.spec.ts +0 -2638
  274. package/src/library/components/angular-slickgrid.component.html +0 -5
  275. package/src/library/components/angular-slickgrid.component.ts +0 -1662
  276. package/src/library/constants.ts +0 -105
  277. package/src/library/extensions/__tests__/slickRowDetailView.spec.ts +0 -751
  278. package/src/library/extensions/index.ts +0 -1
  279. package/src/library/extensions/slickRowDetailView.ts +0 -395
  280. package/src/library/global-grid-options.ts +0 -273
  281. package/src/library/index.ts +0 -11
  282. package/src/library/models/angularComponentOutput.interface.ts +0 -6
  283. package/src/library/models/angularGridInstance.interface.ts +0 -76
  284. package/src/library/models/externalTestingDependencies.interface.ts +0 -37
  285. package/src/library/models/gridOption.interface.ts +0 -15
  286. package/src/library/models/index.ts +0 -5
  287. package/src/library/models/rowDetailView.interface.ts +0 -16
  288. package/src/library/modules/angular-slickgrid.module.spec.ts +0 -25
  289. package/src/library/modules/angular-slickgrid.module.ts +0 -27
  290. package/src/library/services/__tests__/angularUtilService.spec.ts +0 -156
  291. package/src/library/services/__tests__/container.service.spec.ts +0 -25
  292. package/src/library/services/__tests__/translater.service.spec.ts +0 -43
  293. package/src/library/services/__tests__/utilities.spec.ts +0 -22
  294. package/src/library/services/angularUtil.service.ts +0 -120
  295. package/src/library/services/container.service.ts +0 -26
  296. package/src/library/services/index.ts +0 -4
  297. package/src/library/services/translater.service.ts +0 -38
  298. package/src/library/services/utilities.ts +0 -19
  299. package/src/library/slickgrid-config.ts +0 -10
  300. package/src/main.ts +0 -13
  301. package/src/public_api.ts +0 -1
  302. package/src/styles.scss +0 -178
  303. package/test/cypress/e2e/example01.cy.ts +0 -367
  304. package/test/cypress/e2e/example02.cy.ts +0 -60
  305. package/test/cypress/e2e/example03.cy.ts +0 -268
  306. package/test/cypress/e2e/example04.cy.ts +0 -254
  307. package/test/cypress/e2e/example05.cy.ts +0 -804
  308. package/test/cypress/e2e/example06.cy.ts +0 -890
  309. package/test/cypress/e2e/example07.cy.ts +0 -384
  310. package/test/cypress/e2e/example08.cy.ts +0 -190
  311. package/test/cypress/e2e/example09.cy.ts +0 -392
  312. package/test/cypress/e2e/example10.cy.ts +0 -650
  313. package/test/cypress/e2e/example11.cy.ts +0 -86
  314. package/test/cypress/e2e/example12.cy.ts +0 -269
  315. package/test/cypress/e2e/example13.cy.ts +0 -246
  316. package/test/cypress/e2e/example14.cy.ts +0 -122
  317. package/test/cypress/e2e/example15.cy.ts +0 -598
  318. package/test/cypress/e2e/example16.cy.ts +0 -427
  319. package/test/cypress/e2e/example17.cy.ts +0 -83
  320. package/test/cypress/e2e/example18.cy.ts +0 -431
  321. package/test/cypress/e2e/example19.cy.ts +0 -263
  322. package/test/cypress/e2e/example20.cy.ts +0 -264
  323. package/test/cypress/e2e/example21.cy.ts +0 -77
  324. package/test/cypress/e2e/example22.cy.ts +0 -94
  325. package/test/cypress/e2e/example23.cy.ts +0 -259
  326. package/test/cypress/e2e/example24.cy.ts +0 -707
  327. package/test/cypress/e2e/example25.cy.ts +0 -193
  328. package/test/cypress/e2e/example26.cy.ts +0 -111
  329. package/test/cypress/e2e/example27.cy.ts +0 -261
  330. package/test/cypress/e2e/example28.cy.ts +0 -740
  331. package/test/cypress/e2e/example29.cy.ts +0 -30
  332. package/test/cypress/e2e/example30.cy.ts +0 -757
  333. package/test/cypress/e2e/example31.cy.ts +0 -69
  334. package/test/cypress/e2e/example32.cy.ts +0 -272
  335. package/test/cypress/e2e/example33.cy.ts +0 -278
  336. package/test/cypress/e2e/example34.cy.ts +0 -84
  337. package/test/cypress/e2e/example35.cy.ts +0 -178
  338. package/test/cypress/e2e/example36.cy.ts +0 -219
  339. package/test/cypress/e2e/example37.cy.ts +0 -52
  340. package/test/cypress/e2e/example38.cy.ts +0 -160
  341. package/test/cypress/e2e/example39.cy.ts +0 -150
  342. package/test/cypress/e2e/example40.cy.ts +0 -126
  343. package/test/cypress/e2e/example41.cy.ts +0 -90
  344. package/test/cypress/e2e/example42.cy.ts +0 -82
  345. package/test/cypress/e2e/example43.cy.ts +0 -482
  346. package/test/cypress/e2e/example44.cy.ts +0 -458
  347. package/test/cypress/e2e/example45.cy.ts +0 -455
  348. package/test/cypress/e2e/home.cy.ts +0 -7
  349. package/test/cypress/fixtures/example.json +0 -5
  350. package/test/cypress/plugins/index.ts +0 -17
  351. package/test/cypress/plugins/utilities.ts +0 -28
  352. package/test/cypress/support/commands.ts +0 -88
  353. package/test/cypress/support/common.ts +0 -47
  354. package/test/cypress/support/drag.ts +0 -101
  355. package/test/cypress/support/index.ts +0 -20
  356. package/test/cypress/tsconfig.json +0 -9
  357. package/test/cypress.config.ts +0 -34
  358. package/test/mockSlickEvent.ts +0 -77
  359. package/test/rxjsResourceStub.ts +0 -69
  360. package/test/test-setup.ts +0 -6
  361. package/test/translateServiceStub.ts +0 -230
  362. package/test/translaterServiceStub.ts +0 -239
  363. package/test/tsconfig.json +0 -17
  364. package/test/vitest-global-mocks.ts +0 -41
  365. package/test/vitest-global-setup.ts +0 -3
  366. package/test/vitest-pretest.ts +0 -5
  367. package/tsconfig.app.json +0 -14
  368. package/tsconfig.json +0 -31
  369. package/tsconfig.spec.json +0 -11
  370. package/types/sortablejs.d.ts +0 -4
  371. package/vite.config.mts +0 -51
  372. /package/{dist/fesm2022 → fesm2022}/angular-slickgrid.mjs.map +0 -0
  373. /package/{dist/i18n → i18n}/en.json +0 -0
  374. /package/{dist/i18n → i18n}/fr.json +0 -0
  375. /package/{dist/index.d.ts → index.d.ts} +0 -0
  376. /package/{dist/library → library}/components/angular-slickgrid.component.d.ts +0 -0
  377. /package/{dist/library → library}/constants.d.ts +0 -0
  378. /package/{dist/library → library}/extensions/index.d.ts +0 -0
  379. /package/{dist/library → library}/extensions/slickRowDetailView.d.ts +0 -0
  380. /package/{dist/library → library}/global-grid-options.d.ts +0 -0
  381. /package/{dist/library → library}/index.d.ts +0 -0
  382. /package/{dist/library → library}/models/angularComponentOutput.interface.d.ts +0 -0
  383. /package/{dist/library → library}/models/angularGridInstance.interface.d.ts +0 -0
  384. /package/{dist/library → library}/models/externalTestingDependencies.interface.d.ts +0 -0
  385. /package/{dist/library → library}/models/gridOption.interface.d.ts +0 -0
  386. /package/{dist/library → library}/models/index.d.ts +0 -0
  387. /package/{dist/library → library}/models/rowDetailView.interface.d.ts +0 -0
  388. /package/{dist/library → library}/modules/angular-slickgrid.module.d.ts +0 -0
  389. /package/{dist/library → library}/services/angularUtil.service.d.ts +0 -0
  390. /package/{dist/library → library}/services/container.service.d.ts +0 -0
  391. /package/{dist/library → library}/services/index.d.ts +0 -0
  392. /package/{dist/library → library}/services/translater.service.d.ts +0 -0
  393. /package/{dist/library → library}/services/utilities.d.ts +0 -0
  394. /package/{dist/library → library}/slickgrid-config.d.ts +0 -0
  395. /package/{dist/public_api.d.ts → public_api.d.ts} +0 -0
@@ -1,295 +0,0 @@
1
- Before you start, make sure that you don't have any console log warnings (most of the deprecated code from `2.x` were already displaying some console warnings to advise you of what's being removed). So it will be easier to fix the console warnings first, then move on to the list of changes below.
2
-
3
- **NOTE:** Last Angular-Slickgrid 3.x version is [v3.3.2](https://github.com/ghiscoding/angular-slickgrid/releases/tag/v3.3.2) and is compatible **only** with Slickgrid-Universal [v0.19.2](https://github.com/ghiscoding/slickgrid-universal/releases/tag/v0.19.2)
4
- - Slickgrid-Universal 1.x versions only works with Angular-Slickgrid 4.x ([Migration Guide 4.x](Migration-to-4.x.md))
5
-
6
- ## Biggest Breaking Changes
7
- 1. Export to File & Export to Excel are now decoupled and opt-in (see [Export Services](#export-services) below)
8
- - since both exports are opt-in, they are now also both disabled by default
9
- 2. Backend Service APIs are now decoupled and opt-in (see [Backend Service API](#backend-service-apis) below)
10
- 3. Remove `sg` event name prefix (in other words `(sgOnBeforeEditCell)` becomes `(onBeforeEditCell)`)
11
- - You can however put them back, in your grid options, to avoid having a lot of refactoring (see [Grid Events](#grid-events) below)
12
- 4. Event Emitters are replaced with Custom Events (see [Event Emitters](#event-emitters-are-replaced-with-custom-events-event-data-accessibility-also-changes) below)
13
- - the optional data, when provided, must now be accessed via `($event.detail)` instead of previously `($event)`
14
- 5. Styling (css/sass) main files are now under the `@slickgrid-universal/common` monorepo (see [Stylings](#stylings) below)
15
- 6. RxJS 7 is now the minimum version
16
- - the biggest change that I saw so far was the [`toPromise` deprecation](https://rxjs.dev/deprecations/to-promise) and that was easy enough to replace with `firstValueFrom`
17
-
18
- ### @deprecated Code (removed)
19
- _note: most of the deprecated code already sends you console warnings, so check your console first._
20
- - removed all Grid Service methods having the word "toDatagrid" in their names
21
- - for example, `addItemToDatagrid`, `deleteDataGridItem`, ...
22
- - simply use the newer methods (named as `addItem`, `deleteItemById`, `updateItem`, ...), which have a lot more features and options.
23
- - removed `registerPlugins` Grid Option since all useful plugins/controls already exist in the lib.
24
- - removed `hideColumn(column)` please use `hideColumnById` or `hideColumnByIds` instead
25
- - removed `hideColumnByIndex(idx)` please use `hideColumnById` or `hideColumnByIds` instead
26
- - removed `BackendServiceOption` property named `columnDefinitions`, this is no longer a valid property which means that you cannot use it anymore with OData/GraphQL. This is no longer necessary since the Services can get the columns definition directly from the grid object.
27
- - removed SASS variables
28
- - `$large-editor-textarea-height`
29
- - `$large-editor-textarea-width`
30
-
31
- ## Changes
32
-
33
- ### 3rd Party Libs
34
- The 3rd party lib named `multiple-select.js` is no longer included within Angular-Slickgrid, it is now a separate npm package named [multiple-select-modified](https://www.npmjs.com/package/multiple-select-modified)
35
-
36
- You will have to update the lib path in your `angular.json`, simply update the path as shown below (note that the Slickgrid Bootstrap Theme CSS path portion is optional when using SASS)
37
- ##### `angular.json`
38
- ```diff
39
- "styles": [
40
- "node_modules/flatpickr/dist/flatpickr.css",
41
- - "node_modules/angular-slickgrid/lib/multiple-select/multiple-select.css",
42
- - "node_modules/angular-slickgrid/styles/css/slickgrid-theme-bootstrap.css",
43
- + "node_modules/multiple-select-modified/src/multiple-select.css",
44
- + "node_modules/@slickgrid-universal/common/dist/styles/css/slickgrid-theme-bootstrap.css",
45
- ],
46
- "scripts": [
47
- "node_modules/jquery/dist/jquery.js",
48
- "node_modules/jquery-ui-dist/jquery-ui.min.js",
49
- "node_modules/slickgrid/lib/jquery.event.drag-2.3.0.js",
50
- "node_modules/bootstrap/dist/js/bootstrap.js",
51
- - "node_modules/angular-slickgrid/lib/multiple-select/multiple-select.js"
52
- + "node_modules/multiple-select-modified/src/multiple-select.js",
53
- ],
54
- ```
55
- ##### Allowed CommonJS Dependencies (`angular.json`)
56
- You also need to modify the `allowedCommonJsDependencies` option include `assign-deep`, `jquery-ui` (and `stream` for WebPack 5) while `angular-slickgrid` itself can be removed, so your updated option should be (for a full sample, take a look at this [angular.json](https://github.com/ghiscoding/angular-slickgrid-demos/blob/master/bootstrap5-demo-with-translate/angular.json#L20) from 1 of the demo)
57
- ```diff
58
- "allowedCommonJsDependencies": [
59
- + "assign-deep",
60
- "excel-builder-webpacker",
61
- + "jquery-ui",
62
- + "stream"
63
- ]
64
- ```
65
- and you should also update/create the `ngcc.config.js` in the root of your project (or copy the code live [demo](https://github.com/ghiscoding/angular-slickgrid-demos/blob/master/bootstrap5-demo-with-translate/ngcc.config.js))
66
- ```diff
67
- module.exports = {
68
- packages: {
69
- 'angular-slickgrid': {
70
- ignorableDeepImportMatchers: [
71
- + /assign-deep/,
72
- /slickgrid\//,
73
- /flatpickr/,
74
- + /dequal/,
75
- + /jquery-ui\//,
76
- ]
77
- },
78
- }
79
- };
80
- ```
81
-
82
- ### Interfaces
83
- - renamed `CheckboxSelector` interface to `CheckboxSelectorOption`
84
- - renamed `EditorValidatorOutput` interface to `EditorValidationResult`
85
- - renamed `Sorter` interface to `SortComparer`
86
- - renamed `Sorters` to `SortComparers` (often used when using the Grouping feature)
87
-
88
- #### Backend Service APIs
89
- Note that the `BackendServiceApi` is no longer exposed in the `AngularGridInstance`, so if you wish to reference it (for example when you want to use it with an external export button), then create a reference while instantiating it or get it via the grid option `this.gridOptions.backendServiceApi.service`
90
-
91
- ### Column Definitions
92
- - `headerKey` was replaced by `nameKey` (to align with SlickGrid `name` property when using I18N with translations)
93
-
94
- ### Grid Events
95
- Removed grid events prefixes SlickGrid (`sg`).
96
- **However** please note that you can always add them back to avoid having to refactor all your grids at once, the main changes are in the global grid options:
97
- ```diff
98
- export const GlobalGridOptions: Partial<GridOption> = {
99
- + eventNamingStyle: EventNamingStyle.camelCase,
100
- }
101
- ```
102
-
103
- ##### _Optional (not recommended)_
104
- _In case you wish to keep `sg` prefix (only for SlickGrid/DataView events) to avoid too many refactoring, then could optionally add them back in your grid options via this option:_
105
- ```ts
106
- this.gridOptions = {
107
- defaultSlickgridEventPrefix: 'sg',
108
- // ...
109
- }
110
- ```
111
-
112
- ### Event Emitters are replaced with Custom Events (event data accessibility also changes)
113
- Every events available from Angular-Slickgrid (the events that didn't start with the `sg` prefix, for example `angularGridReady`) are no longer exported as Event Emitter, they are instead available as Custom Events so that all Events (regardless or where they come from, that is from Angular-Slickgrid, SlickGrid or the DataView) are now **all** exported as Custom Events and this also means that the optional data is now accessed the same way across **all events** via the event detail property. So you will need to change some of your events
114
- ```diff
115
- - (onAngularGridCreated)="angularGridReady($event)"
116
- + (onAngularGridCreated)="angularGridReady($event.detail)"
117
- ```
118
-
119
-
120
- #### Event Naming Convention (defaults to camel case)
121
- You might have notice the `eventNamingStyle` grid option, it is indeed a new option and with it you can change the names of the events following a defined naming convention. The default is camel case but you could also use the all lower case option (which is an acceptable ES6 syntax), if you take that for example that would become:
122
-
123
- So the **default is camelCase** event naming:
124
- ```ts
125
- <angular-slickgrid (onClick)="handleOnClick($event.detail)">
126
- ```
127
-
128
- ##### _Optional (not recommended)_
129
- _But if you wish to use all lower case, you can change your grid options with_
130
- ```diff
131
- this.gridOptions {
132
- + eventNamingStyle: EventNamingStyle.lowerCase,
133
- }
134
- ```
135
- _That would result in all lower case names_
136
- ```diff
137
- <angular-slickgrid
138
- - (onClick)="handleOnClick($event.detail)">
139
- + (onclick)="handleOnClick($event.detail)">
140
- ```
141
-
142
- _Again note that the entire documentation is written with event names following the default camel case format (`onClick`)._
143
-
144
- ### Grid Options
145
- - Grid Height/Width should now be passed through the Grid Options instead of the View, for example:
146
- ```diff
147
- <angular-slickgrid gridId="grid1" [columnDefinitions]="columnDefinitions" [gridOptions]="gridOptions" [dataset]="dataset"
148
- - gridHeight="225"
149
- - gridWidth="800">
150
- </angular-slickgrid>
151
- ```
152
- were moved to the Grid Options in the ViewModel
153
- ```diff
154
- this.gridOptions = {
155
- + gridHeight: 225,
156
- + gridWidth: 800 // or as a string like '100%'
157
- };
158
- ```
159
-
160
- ### Header Menu
161
- - renamed `hideFilterCommands` to singular `hideFilterCommand` since there can only be 1 filter per column
162
-
163
- ### Stylings
164
- The CSS/SASS Stylings now come from the `@slickgrid-universal/common` monorepo package, you need to adjust your imports
165
-
166
- ##### with CSS (`angular.json`)
167
- ```diff
168
- "styles": [
169
- "node_modules/flatpickr/dist/flatpickr.css",
170
- - "node_modules/angular-slickgrid/lib/multiple-select/multiple-select.css",
171
- - "node_modules/node_modules/angular-slickgrid/styles/css/slickgrid-theme-bootstrap.css",
172
- + "node_modules/multiple-select-modified/src/multiple-select.css",
173
- + "node_modules/@slickgrid-universal/common/dist/styles/css/slickgrid-theme-bootstrap.css",
174
- ],
175
- ```
176
-
177
- ##### with SASS `.scss` (`styles.scss`)
178
- ```diff
179
- # with SASS
180
- - @import 'angular-slickgrid/styles/sass/slickgrid-theme-bootstrap.scss';
181
- + @import '@slickgrid-universal/common/dist/styles/sass/slickgrid-theme-bootstrap.scss';
182
- ```
183
-
184
- ## Services
185
-
186
- ### Grid Service
187
- - `updateItem()` will no longer highlight the row by default (to get back this behavior add the option `highlightRow: true`)
188
-
189
- #### OData Service
190
- The `GridOdataService` is now an opt-in Service and is no longer exposed in the `AngularGridInstance`, you need create a reference while instantiating it or get it via the grid option `this.gridOptions.backendServiceApi.service`
191
- ```diff
192
- - import { GridOdataService, OdataServiceApi, OdataOption } from 'angular-slickgrid';
193
- + import { GridOdataService, OdataServiceApi, OdataOption } from '@slickgrid-universal/odata';
194
-
195
- export class MyExample {
196
- prepareGrid {
197
- this.columnDefinitions = [ /*...*/ ];
198
- this.gridOptions = {
199
- backendServiceApi: {
200
- service: new GridOdataService(),
201
- options: { /*...*/ } as OdataServiceApi
202
- }
203
- }
204
- }
205
- ```
206
-
207
- #### GraphQL Service
208
- The `GraphqlService` is now an opt-in Service and is no longer exposed in the `AngularGridInstance`, you need create a reference while instantiating it or get it via the grid option `this.gridOptions.backendServiceApi.service`
209
- ```diff
210
- - import { GraphqlService, GraphqlPaginatedResult, GraphqlServiceApi, } from 'angular-slickgrid';
211
- + import { GraphqlService, GraphqlPaginatedResult, GraphqlServiceApi, } from '@slickgrid-universal/graphql';
212
-
213
- export class MyExample {
214
- prepareGrid {
215
- this.columnDefinitions = [ /*...*/ ];
216
- this.gridOptions = {
217
- backendServiceApi: {
218
- service: new GraphqlService(),
219
- options: { /*...*/ } as GraphqlServiceApi
220
- }
221
- }
222
- }
223
- ```
224
-
225
- ### Export Services
226
- #### Text File Export Service
227
- Export Service was renamed to `TextExportService` (export extensions are `.txt`, `.csv`) and is now an opt-in Servicem it is also no longer exposed in the `AngularGridInstance`. You need to use the new `@slickgrid-universal/text-export` packages and register the service(s) in your grid options as shown below.
228
-
229
- Also note that Text Export Service grid options changed as well, a few options got deprecated and renamed to have the word "textExport" instead of just "export". Also to be clear, it's deprecated but still exist, this will give you time to refactor your code. Here's the list
230
- - deprecate `exportOptions` and renamed to `textExportOptions`
231
- - deprecate `enableExport` flag and renamed to `enableTextExport`
232
- - the onBefore/onAfter events got renamed as well:
233
- - `onGridBeforeExportToExcel` renamed to `onBeforeExportToExcel`
234
- - `onGridAfterExportToExcel` renamed to `onAfterExportToExcel`
235
- - `onGridBeforeExportToFile` renamed to `onBeforeExportToTextFile`
236
- - `onGridAfterExportToFile` renamed to `onAfterExportToTextFile`
237
-
238
- ```diff
239
- import { Column, GridOption } from 'angular-slickgrid';
240
- + import { ExcelExportService } from '@slickgrid-universal/excel-export';
241
- + import { TextExportService } from '@slickgrid-universal/text-export';
242
-
243
- export class MyExample {
244
- prepareGrid {
245
- this.columnDefinitions = [ /*...*/ ];
246
- this.gridOptions = {
247
- enableExcelExport: true,
248
- excelExportOptions: { sanitizeDataExport: true },
249
- - enableExport: true,
250
- - exportOptions: { sanitizeDataExport: true },
251
- + enableTextExport: true,
252
- + textExportOptions: { sanitizeDataExport: true },
253
-
254
- // add 2x Export Services (you can add a single or both export services, it should always be an array
255
- + registerExternalResources: [new ExcelExportService(), new TextExportService()],
256
- }
257
- }
258
- }
259
- ```
260
-
261
- #### Excel Export Service
262
- The `ExcelExportService` is also an opt-in Service and is no longer exposed in the `AngularGridInstance`, so if you wish to reference it (for example when you want to use it with an external export button), then create a reference while instantiating it (the `excelExportOptions` are the same as before).
263
- ```diff
264
- import { Column, GridOption } from 'angular-slickgrid';
265
- + import { ExcelExportService } from '@slickgrid-universal/excel-export';
266
-
267
- export class MyExample {
268
- + excelExportService = new ExcelExportService(); // create a variable ref when you need to access it later
269
-
270
- prepareGrid {
271
- this.columnDefinitions = [ /*...*/ ];
272
- this.gridOptions = {
273
- enableExcelExport: true,
274
- excelExportOptions: { sanitizeDataExport: true },
275
- + registerExternalResources: [this.excelExportService],
276
- }
277
- }
278
-
279
- exportToExcel() {
280
- - this.angularGrid.excelExportService.exportToExcel({ filename: 'Export', format: FileType.xlsx });
281
- + this.excelExportService.exportToExcel({ filename: 'export', format: FileType.xlsx });
282
- }
283
- }
284
- ```
285
-
286
- ### Custom Footer
287
- The Custom Footer component is now an external reusable component coming from Slickgrid-Universal and the `dateFormat` changed, it is now using the MomentJS date format (which is the same as all other Date Formatter) instead of the previous Angular date format. The changes in the global grid options is shown below, if you had it defined in your own grid options then make sure to use the correct format
288
-
289
- ```diff
290
- customFooterOptions: {
291
- - dateFormat: 'yyyy-MM-dd, hh:mm aaaaa\'m\'',
292
- + dateFormat: 'YYYY-MM-DD, hh:mm a',
293
- // ...
294
- }
295
- ```
@@ -1,83 +0,0 @@
1
- **NOTE:** if you come from an earlier 2.x version, you first have to follow the [Migration Guide to 3.x](https://github.com/ghiscoding/angular-slickgrid/wiki/Migration-to-3.x), if that is too much work, you can always go the easy route to simply clone the [Angular-Slickgrid-Demos](https://github.com/ghiscoding/angular-slickgrid-demos)
2
-
3
- ## Major Changes List
4
- - [controls/plugins (extensions)](#slickgrid-controlsplugins-extensions)... read below for more info
5
- - replace Grid Menu `customItems` by `commandItems`, see [here](#grid-menu-customitems-renamed-to-commanditems)
6
- - remove all `image` options in favor of CSS classes only, see [here](#images-are-removed-in-favor-of-css-classes)
7
- - [CSS/SASS Styling Changes](#csssass-styling-changes)
8
-
9
-
10
- ### @deprecated Code (removed)
11
- ##### Grid Menu / Column Picker
12
- - `onColumnsChanged` removed `columns` property from Column Picker options, rename to `visibleColumns` instead.
13
- - `onColumnsChanged` removed `columns` property from Grid Menu options, rename to `visibleColumns` instead.
14
- ##### Tree Data
15
- - removed `findItemInHierarchicalStructure()` method, use `findItemInTreeStructure` instead.
16
-
17
- ## Changes
18
-
19
- ### SlickGrid Controls/Plugins (Extensions)
20
- Every SlickGrid controls/plugins were rewritten and moved into Slickgrid-Universal (prior to this new release, we were using them directly from SlickGrid repo and we had Extension bridges/wrappers in Slickgrid-Universal but that is now thing of the past since their entire code exist in Slickgrid-Universal), they were also rewritten as plain vanilla JS (basically there's no more jQuery code with exception of Draggable Grouping which still require jQueryUI). It's also much easier to maintain (we no longer have to wait for the SlickGrid project to release a version) and we can also modify and add extra features, styling, etc...
21
-
22
- Because of all the rewriting, it makes sense to rename the method `getSlickgridAddonInstance` to `getExtensionInstanceByName` and it now returns the instance directly **and** as a bonus it now also automatically infers the correct return instance class as well.
23
-
24
- Here's an example of the code change that you need to do
25
- ```diff
26
- toggleGridMenu(e: Event) {
27
- if (this.angularGrid?.extensionService) {
28
- - const gridMenuInstance = this.angularGrid.extensionService.getSlickgridAddonInstance(ExtensionName.gridMenu); // return type was `any`
29
- + const gridMenuInstance = this.angularGrid.extensionService.getExtensionInstanceByName(ExtensionName.gridMenu); // return type now infers `SlickGridMenu` instance
30
- gridMenuInstance.showGridMenu(e);
31
- }
32
- }
33
-
34
- ```
35
-
36
- #### Grid Menu `customItems` renamed to `commandItems`
37
- Replace all `custom...` properties to `command...` properties to align with all other menu plugins (CellMenu, ContextMenu, GridMenu, HeaderMenu are all using commands)
38
- - replace `customItems` by `commandItems`
39
- - replace `customTitle` by `commandTitle`
40
- - replace `customTitleKey` by `commandTitleKey`
41
-
42
- #### Images are removed in favor of CSS classes
43
- Another change possible the full plugin rewrite, all images related code were removed in favor of CSS classes only (that already existed and was always favored).
44
-
45
- - removed `deleteIconImage`, just use `deleteIconCssClass` instead.
46
- - removed `groupIconImage`, just use `groupIconCssClass` instead.
47
- - removed `buttonImage`, just use `buttonCssClass` instead.
48
- - removed `iconImage`, just use `iconCssClass` instead
49
- - removed `image`, just use `cssClass` instead
50
-
51
- ##### What if you still want images?
52
- If you really want to use image, you can still work around that the new limitation by adding a CSS class similar to this:
53
- `background-image: url(images/my-image.gif);`
54
-
55
- ## CSS/SASS Styling Changes
56
- #### All SASS variables were renamed to add the `$slick-...` prefix
57
- - the prefix is to avoid conflicts with other frameworks (CSS variables were already including this prefix, so no changes there)
58
- - there is only 1 small exception with `$primary-color` (to avoid too many styling changes) but even then there's also a new variable `$slick-primary-color`
59
-
60
- #### Simplify CSS
61
- To simplify and merge all menu styling together (now doable since all controls/plugins now exists in the lib source code), all the following CSS class names got changed with what is shown below
62
- - rename `title` to `slick-menu-title` (to avoid other framework conflicts)
63
- - rename `slick-cell-menu-command-list` to `slick-menu-command-list`
64
- - rename `slick-cell-menu-option-list` to `slick-menu-option-list`
65
- - rename `slick-cell-menu-item` to `slick-menu-item`
66
- - rename `slick-cell-menu-content` to `slick-menu-content`
67
- - rename `slick-context-menu-command-list` to `slick-menu-command-list`
68
- - rename `slick-context-menu-option-list` to `slick-menu-option-list`
69
- - rename `slick-context-menu-item` to `slick-menu-item`
70
- - rename `slick-context-menu-content` to `slick-menu-content`
71
- - rename `slick-header-menu-item` to `slick-menu-item`
72
- - rename `slick-header-menu-content` to `slick-menu-content`
73
- - rename `slick-grid-menu-item` to `slick-menu-item`
74
- - rename `slick-grid-menu-content` to `slick-menu-content`
75
- - rename `slick-grid-menu-command-list` to `slick-menu-command-list`
76
- - rename `slick-grid-menu-option-list` to `slick-menu-option-list`
77
- - rename `slick-grid-menu-list` to `slick-column-picker-list`
78
- - rename `slick-columnpicker` to `slick-column-picker`
79
- - rename `slick-columnpicker-list` to `slick-column-picker-list`
80
- - remove or rename `slick-gridmenu-list` to `slick-column-picker-list`
81
- - we merge the Column Picker & Grid Menu column picker classes, read the note below
82
-
83
- #### NOTE: for simplification, it also means that all SASS/CSS variables got merged as well (e.g.: `$slick-cell-menu-item-disabled-color` got merged to a common `$slick-menu-item-disabled-color`), another change was to merge all the Grid Menu column picker & Column Picker variables with same styling (e.g.: `$slick-grid-menu-checkbox-icon-checked` is now `$slick-column-picker-checkbox-icon-checked` for both extensions)
@@ -1,160 +0,0 @@
1
- ## Bye Bye jQueryUI... 👋🏻 welcome [SortableJS](https://sortablejs.github.io/Sortable/) 🚀
2
-
3
- This new release is rather small for the developer, but a lot changed internally and SortableJS will improve performance and usability since it also works great with touch. The main change for the developer would be if you use the `Editors.autoComplete` since that changed to `Editors.autocompleter` (same goes for associated Filters)... and that's about it for changes since the rest are mostly removal of deprecated things. If you want to know more about the reason behind the removal of jQueryUI (internally), then read the "Why replace jQueryUI with SortableJS?" section below (hint, the next major version will probably remove jQuery as well).
4
-
5
- #### Major Changes - Quick Summary
6
- - minimum requirements
7
- - Angular `>=14.0.0`
8
- - RxJS `>=7.5.0`
9
- - replaced jQueryUI with [SortableJS](https://sortablejs.github.io/Sortable/)
10
- - it required us to replace jQueryUI Autocomplete Editor/Filter, see [Kraaden Autocomplete](#replace-jqueryui-autocomplete-with-kraaden-autocomplete) below
11
- - [Why replace jQueryUI with SortableJS?](#why-replace-jqueryui-with-sortablejs)
12
-
13
- ---
14
-
15
- **NOTE:** if you come from a version earlier than 4.x, it is very important that you follow each migration in the respected order
16
-
17
- ### Removed Code
18
- 1. ~Since we dropped jQueryUI, and we were using jQueryUI Slider for the `Filters.SliderRange`, we had to remove the Slider Range and we don't currently have a replacement at the moment, though it might come in the future.~ The Slider Range Filter got rewritten in pure JS and is back in version **[v5.1.0](https://github.com/ghiscoding/angular-slickgrid/releases/tag/v5.1.0)** release (see [Example 25](https://ghiscoding.github.io/Angular-Slickgrid/#/range)).
19
- 2. `BsDropdownService` was also removed, the alternative is simply to use the built-in [Cell Menu](/ghiscoding/angular-slickgrid/wiki/Cell-Menu)
20
-
21
- ### @deprecated Code
22
- ##### Text Export Service (see [code change](#text-export-service) sample below)
23
- - `enableExport` was renamed to `enableTextExport`
24
- - `exportOptions` was renamed to `textExportOptions`
25
-
26
- ##### SASS - Autocomplete
27
- Since we replaced the jQueryUI Autocomplete with the 3rd party lib [Kraaden Autocomplete](https://github.com/kraaden/autocomplete) (see below), there are a few SASS/CSS variables that we no longer need and were removed.
28
-
29
- ###### variables removed
30
- - `$slick-autocomplete-box-shadow`
31
- - `$slick-autocomplete-border-radius`
32
- - `$slick-autocomplete-hover-color`
33
- - `$slick-autocomplete-hover-border-color`
34
- - `$slick-autocomplete-loading-input-bg-color`
35
- - `$slick-autocomplete-min-width`
36
- - `$slick-autocomplete-overflow-x`
37
- - `$slick-autocomplete-overflow-y`
38
- - `$slick-autocomplete-text-color`
39
- - `$slick-autocomplete-text-overflow`
40
- - `$slick-autocomplete-text-padding`
41
-
42
- ## Changes
43
-
44
- ### Text Export Service
45
-
46
- Here's an example of the code change that you need to do
47
- ```diff
48
- this.gridOptions = {
49
- - enableExport: true,
50
- - exportOptions: {
51
- + enableTextExport: true,
52
- + textExportOptions: {
53
- sanitizeDataExport: true
54
- },
55
- ```
56
-
57
- ### Slickgrid-Universal
58
- If you use any of the Slickgrid-Universal extra dependencies then make sure to upgrade them to `2.0.0` so that they work with Angular-Slickgrid `5.0.0`
59
-
60
- ```diff
61
- "dependencies": {
62
- - "@slickgrid-universal/excel-export": "^1.4.0",
63
- + "@slickgrid-universal/excel-export": "^2.0.0",
64
- - "angular-slickgrid": "^4.3.4",
65
- + "angular-slickgrid": "^5.0.0",
66
- }
67
- ```
68
-
69
- ### `angular.json` config
70
- Since we dropped jQueryUI, you then need to remove it from your `angular.json` and anywhere else that might reference it, but you also need to add SortableJS
71
-
72
- ```diff
73
- # angular.json
74
- {
75
- // ...
76
- "allowedCommonJsDependencies": [
77
- "assign-deep",
78
- + "autocompleter",
79
- "dompurify",
80
- "excel-builder-webpacker",
81
- "flatpickr",
82
- "jquery",
83
- - "jquery-ui",
84
- "stream"
85
- ],
86
-
87
- // ...
88
- "scripts": [
89
- "node_modules/jquery/dist/jquery.min.js",
90
- - "node_modules/jquery-ui/dist/jquery-ui.min.js",
91
- - "node_modules/slickgrid/lib/jquery.event.drag-2.3.0.js",
92
- "node_modules/bootstrap/dist/js/bootstrap.min.js",
93
- "node_modules/multiple-select-modified/src/multiple-select.js",
94
- + "node_modules/sortablejs/Sortable.min.js"
95
- ],
96
- ```
97
-
98
- ### Replaced JqueryUI Autocomplete with [Kraaden Autocomplete](https://github.com/kraaden/autocomplete)
99
- Since we dropped jQueryUI, we had to find an alternative for the AutoComplete Editor/Filter and we settled on the 3rd party lib [Kraaden Autocomplete](https://github.com/kraaden/autocomplete) which does nearly everything that the jQueryUI one was providing. There are subtle changes requiring few line of code change (see below). We also have a new [Autocomplete Editor (Kraaden)](https://github.com/ghiscoding/angular-slickgrid/wiki/Autocomplete-Editor-(Kraaden-lib)) Wiki (and we kept a reference to the old jQueryUI AutoComplete Wiki for users of older Angular-Slickgrid versions).
100
-
101
- You will notice that the Editor/Filter `model` name is quite similar, there are only 2 chars that are different to make it clear that there's a change for the developer (a lower `c` and a `r` at the end of the word which is forming the new name `model: Editors.autocompleter` and the same goes for `AutocompleterOption`)
102
-
103
- If you were using the Autocomplete `onSelect` callback, it got renamed to `onSelectItem`. If you were using `openSearchListOnFocus`, then that is now simply `showOnFocus` with the Kraaden Autocomplete (refer to Kraaden Autocomplete [options](https://github.com/kraaden/autocomplete#options), to use them in `editorOptions` or `filterOptions`)
104
-
105
- ```diff
106
- import {
107
- - AutocompleteOption,
108
- + AutocompleterOption,
109
- } from '@slickgrid-universal/common';
110
-
111
- prepareGrid() {
112
- this.columnDefinitions = [{
113
- id: 'cityOfOrigin', name: 'City of Origin', field: 'cityOfOrigin',
114
- filterable: true,
115
- editor: {
116
- - model: Editors.autoComplete,
117
- + model: Editors.autocompleter,
118
- editorOptions: {
119
- minLength: 3,
120
- forceUserInput: true,
121
- - source: (request, response) => {
122
- + fetch: (searchText, updateCallback) => {
123
- $.ajax({
124
- url: 'http://gd.geobytes.com/AutoCompleteCity',
125
- dataType: 'jsonp',
126
- data: {
127
- - q: request.term
128
- + q: searchText
129
- },
130
- success: (data) => {
131
- - response(data);
132
- + updateCallback(data);
133
- }
134
- });
135
- }
136
- - } as AutocompleteOption,
137
- + } as AutocompleterOption,
138
- filter: {
139
- - model: Filters.autoComplete,
140
- + model: Filters.autocompleter,
141
- filterOptions: {
142
- // ... the rest is the same as the Editor
143
- }
144
- }
145
- }
146
- }
147
- ```
148
-
149
- ### Why replace [jQueryUI](https://jqueryui.com/) with [SortableJS](https://sortablejs.github.io/Sortable/)?
150
- Prior to this new version, jQueryUI had to be installed, that was even for a basic grid, but the fact was that the only jQueryUI feature we needed in SlickGrid was [jQueryUI - Sortable](https://jqueryui.com/sortable/) for column reordering. Considering that SlickGrid required jQueryUI at 281Kb (js+css) just to get column reordering, we figured it was a rather large request, don't you think? We did use jQueryUI Autocomplete & Slider as well but the jQueryUI lib is rather large, is barely maintained and is now quite outdated. [SortableJS](https://sortablejs.github.io/Sortable/) is now the dependency used by SlickGrid and is a lot smaller and more up to date in the JS world.
151
-
152
- #### jQueryUI Cons
153
- - old and outdated, barely supported and rather large (probably because it was written when IE5 was a thing)
154
- - it does not support Touch that well (mobile devices)
155
- - it is rather large at 250Kb (min.js) + 31Kb (min.css)
156
- #### SortableJS Pros
157
- - much smaller at 44Kb (`min.js` doesn't require any css)
158
- - touch friendly (mobile devices)
159
- - much smoother UX and better performance
160
- - written in pure JS without any dependencies
@@ -1,128 +0,0 @@
1
- ## SlickGrid is now jQuery free 🌊
2
-
3
- In our previous v5.0 release (see [Migration to v5.0](https://github.com/ghiscoding/angular-slickgrid/wiki/Migration-to-5.x)), we dropped jQueryUI and now in v6.0 we are going even further and are now dropping [jQuery](https://jquery.com/) entirely. You can still use jQuery but it's no longer a dependency. There are multiple benefits in dropping jQuery and go the vanilla route, the biggest advantages are:
4
-
5
- 1. it should provide better performance (browser native)
6
- 2. build size should be smaller (see table below)
7
-
8
- #### Major Changes - Quick Summary
9
- - minimum requirements bump
10
- - Angular `>=16.0.0`
11
- - RxJS `>=8.7.1`
12
- - we dropped jQuery requirement
13
- - it also required us to rewrite the `multiple-select` (jQuery based lib) into a brand new [`multiple-select-vanilla`](https://github.com/ghiscoding/multiple-select-vanilla) lib which is now native and has zero dependency
14
-
15
- ---
16
-
17
- **NOTE:** if you come from an earlier version other than 5.x, please make sure to follow each migration in their respected order
18
-
19
- ## Changes
20
-
21
- ### Dynamically Loading Component via `AngularUtilService`
22
- as shown in ([Example 21 - Row Detail](https://ghiscoding.github.io/Angular-Slickgrid/#/rowdetail) / [Example 22 - Angular Components](https://ghiscoding.github.io/Angular-Slickgrid/#/angular-components))
23
-
24
- In our `AngularUtilService` we were dynamically creating component by using `ComponentFactoryResolver` but that got removed in Angular 16 and so we had to replace it with `ViewContainerRef` and for that to work you might need to add `providers` to use it as a singleton
25
-
26
- When using AngularUtilService, you might need to add it in your `providers` list
27
- ```diff
28
- @Component({
29
- // ...
30
- + providers: [AngularUtilService]
31
- })
32
- export class GridComponent
33
- ```
34
-
35
- #### `createAngularComponentAppendToDom` signature change (starting from `v6.3.0`)
36
- Also in the same `AngularUtilService`, the method signature arguments `createAngularComponentAppendToDom` changed slightly, the 3rd argument was previously `clearTargetContent`, to match the signature of `createAngularComponent`, but is now replaced by `data` so that you can provide data to the new Component instance. The `clearTargetContent` was dropped because it is no longer needed since we should always replace the entire html content and that is now the default.
37
-
38
- The new signature, in `v6.3.0`, for both `createAngularComponent` and `createAngularComponentAppendToDom` is now the following:
39
- ```ts
40
- // the `CreateComponentOption` are the options you can provide to `ViewContainerRef.createComponent`
41
- createAngularComponent<C>(component: Type<C>, targetElement?: HTMLElement, data?: any, createCompOptions?: CreateComponentOption) {}
42
- createAngularComponentAppendToDom<C>(component: Type<C>, targetElement?: HTMLElement, data?: any, createCompOptions?: CreateComponentOption) {}
43
- ```
44
-
45
- ### replaced `multiple-select` with [`multiple-select-vanilla`](https://github.com/ghiscoding/multiple-select-vanilla)
46
- This change was required because the previous library was a jQuery based lib, so I rewrote the lib as a new native lib to drop jQuery. However with this change, there were a couple of options that were dropped and/or modified.
47
-
48
- ```diff
49
- // you can load `MultipleSelectOption` from either the new Multiple-Select-Vanilla lib or from Angular-Slickgrid (which is a re-export)
50
- import { MultipleSelectOption } from 'angular-slickgrid'; // still works, but is a re-export of the import shown below
51
- + import { MultipleSelectOption } from 'multiple-select-vanilla'; // preferred
52
-
53
- filterOptions: {
54
- - autoDropWidth: true, // removed and no longer required
55
- } as MultipleSelectOption
56
- ```
57
-
58
- The new lib also offers a bunch of new options as well, you can see the full interface at [MultipleSelectOption](https://github.com/ghiscoding/multiple-select-vanilla/blob/main/lib/src/interfaces/multipleSelectOption.interface.ts)
59
-
60
- ### Slickgrid-Universal
61
- If you use any of the Slickgrid-Universal extra dependencies then make sure to upgrade them to the new major `3.0.0` version so that they work with Angular-Slickgrid `6.0.0`
62
-
63
- ```diff
64
- "dependencies": {
65
- - "@slickgrid-universal/excel-export": "^2.6.4",
66
- + "@slickgrid-universal/excel-export": "^3.0.0",
67
- - "angular-slickgrid": "^5.6.4",
68
- + "angular-slickgrid": "^6.0.0",
69
- }
70
- ```
71
-
72
- ### `angular.json` config
73
- Since we dropped jQuery, you can also remove it from your `angular.json` list of scripts as well and anywhere else that might be referencing it. Also the `multiple-select-modified` now uses SASS and is now imported directly in Slickgrid-Universal, so CSS imports are no longer needed
74
-
75
- ```diff
76
- # angular.json
77
- {
78
- // ...
79
- "allowedCommonJsDependencies": [
80
- "assign-deep",
81
- "autocompleter",
82
- "dompurify",
83
- "excel-builder-webpacker",
84
- "flatpickr",
85
- - "jquery",
86
- "stream"
87
- ],
88
-
89
- // ...
90
- "styles": [
91
- "node_modules/bootstrap/dist/css/bootstrap.min.css",
92
- "node_modules/flatpickr/dist/flatpickr.min.css",
93
- - "node_modules/multiple-select-modified/src/multiple-select.css",
94
- "src/styles.scss"
95
- ],
96
- "scripts": [
97
- "node_modules/bootstrap/dist/js/bootstrap.min.js",
98
- - "node_modules/jquery/dist/jquery.min.js",
99
- - "node_modules/multiple-select-modified/src/multiple-select.js",
100
- "node_modules/sortablejs/Sortable.min.js"
101
- ],
102
- ```
103
-
104
- ### Editor/Filter `params` should be using `editorOptions`/`filterOptions`
105
- For better TypeScript support, we now recommend to use either `editorOptions` or `filterOptions` depending if it's an Editor or a Filter.
106
-
107
- ```diff
108
- this.columnDefinitions = [{
109
- id: 'cost', name: 'Cost', field: 'cost',
110
- editor: {
111
- model: Editors.slider,
112
- - params: { hideSliderNumber: false }
113
- + editorOptions: { hideSliderNumber: false } as SliderOption
114
- },
115
- filter: {
116
- model: Filters.slider,
117
- - params: { hideSliderNumber: false }
118
- + filterOptions: { hideSliderNumber: false } as SliderOption
119
- },
120
- ```
121
-
122
- ### Final Note
123
- and that's about it, the migration is relatively simple as you can see :)
124
-
125
- ---
126
-
127
- ### File Size Comparisons
128
- While comparing with the folder properties with "size on disk" on Windows, we're averaging 4-5% smaller size in our new release by removing jQuery with this new release.