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,69 +0,0 @@
1
- describe('Example 31 - Custom Backend Server Pagination', () => {
2
- const fullTitles = ['Note', 'Status', 'Currency', 'Amount', 'Input Date', 'Input Time'];
3
-
4
- it('should display Example title', () => {
5
- cy.visit(`${Cypress.config('baseUrl')}/example31`);
6
- cy.get('h2').should('contain', 'Example 31: Custom Backend Server Pagination');
7
- });
8
-
9
- it('should have exact column titles in grid', () => {
10
- cy.get('#slickGridContainer-common-grid')
11
- .find('.slick-header-columns')
12
- .children()
13
- .each(($child, index) => expect($child.text()).to.eq(fullTitles[index]));
14
- });
15
-
16
- it('should be on 1st page and have default query string', () => {
17
- cy.get('.slick-pagination-nav input')
18
- .invoke('val')
19
- .then((pageNumber) => expect(pageNumber).to.eq('1'));
20
-
21
- cy.get('[data-test="query-string"]').contains('http://127.0.0.1:8080/grid!display.do?¤tPage=1');
22
- });
23
-
24
- it('should go on next page and expect query to be updated accordingly', () => {
25
- cy.get('.icon-seek-next').click();
26
-
27
- cy.get('.page-spin').should('be.visible', true);
28
-
29
- cy.get('.slick-pagination-nav input')
30
- .invoke('val')
31
- .then((pageNumber) => expect(pageNumber).to.eq('2'));
32
-
33
- cy.get('[data-test="query-string"]').contains('http://127.0.0.1:8080/grid!display.do?¤tPage=2&selectedSort=&selectedFilter=');
34
-
35
- cy.get('.page-spin').should('be.visible', false);
36
- });
37
-
38
- xit('should filter with "New" Status and expect query string to contains the search and the page to be back to Page 1', () => {
39
- cy.get('input.search-filter.filter-status').type('New');
40
-
41
- cy.get('.page-spin').should('be.visible', true);
42
-
43
- cy.get('[data-test="query-string"]').contains(
44
- 'http://127.0.0.1:8080/grid!display.do?¤tPage=1&selectedSort=&selectedFilter=All|New|All|All|All|All|'
45
- );
46
-
47
- cy.get('.slick-pagination-nav input')
48
- .invoke('val')
49
- .then((pageNumber) => expect(pageNumber).to.eq('1'));
50
-
51
- cy.get('.page-spin').should('be.visible', false);
52
- });
53
-
54
- xit('should go to last page 5 and expect query to be updated accordingly', () => {
55
- cy.get('.icon-seek-end').click();
56
-
57
- cy.get('.page-spin').should('be.visible', true);
58
-
59
- cy.get('.slick-pagination-nav input')
60
- .invoke('val')
61
- .then((pageNumber) => expect(pageNumber).to.eq('5'));
62
-
63
- cy.get('[data-test="query-string"]').contains(
64
- 'http://127.0.0.1:8080/grid!display.do?¤tPage=5&selectedSort=&selectedFilter=All|New|All|All|All|All|'
65
- );
66
-
67
- cy.get('.page-spin').should('be.visible', false);
68
- });
69
- });
@@ -1,272 +0,0 @@
1
- describe('Example 32 - Columns Resize by Content', () => {
2
- const GRID_ROW_HEIGHT = 33;
3
-
4
- beforeEach(() => {
5
- // create a console.log spy for later use
6
- cy.window().then((win) => {
7
- cy.spy(win.console, 'log');
8
- });
9
- });
10
-
11
- describe('Main Tests', () => {
12
- it('should display Example title', () => {
13
- cy.visit(`${Cypress.config('baseUrl')}/example32`);
14
- cy.get('h2').should('contain', 'Example 32: Columns Resize by Content');
15
- });
16
-
17
- it('should have cell that fit the text content', () => {
18
- cy.get('.slick-row').find('.slick-cell:nth(1)').invoke('width').should('be.gt', 75);
19
- cy.get('.slick-row').find('.slick-cell:nth(2)').invoke('width').should('be.gt', 67);
20
- cy.get('.slick-row').find('.slick-cell:nth(3)').invoke('width').should('be.gt', 59);
21
- cy.get('.slick-row').find('.slick-cell:nth(4)').invoke('width').should('be.gt', 102);
22
- cy.get('.slick-row').find('.slick-cell:nth(5)').invoke('width').should('be.gt', 89);
23
- cy.get('.slick-row').find('.slick-cell:nth(6)').invoke('width').should('be.gt', 72);
24
- cy.get('.slick-row').find('.slick-cell:nth(7)').invoke('width').should('be.gt', 67);
25
- cy.get('.slick-row').find('.slick-cell:nth(8)').invoke('width').should('be.gt', 72);
26
- cy.get('.slick-row').find('.slick-cell:nth(9)').invoke('width').should('be.gt', 179);
27
- cy.get('.slick-row').find('.slick-cell:nth(10)').invoke('width').should('be.gt', 94);
28
- cy.get('.slick-row').find('.slick-cell:nth(11)').invoke('width').should('be.approximately', 58, 1);
29
- });
30
-
31
- it('should make the grid readonly and expect to fit the text by content and expect column width to be the same as earlier', () => {
32
- cy.get('[data-test="toggle-readonly-btn"]').click();
33
-
34
- cy.get('.slick-row').find('.slick-cell:nth(1)').invoke('width').should('be.gt', 75);
35
- cy.get('.slick-row').find('.slick-cell:nth(2)').invoke('width').should('be.gt', 67);
36
- cy.get('.slick-row').find('.slick-cell:nth(3)').invoke('width').should('be.gt', 59);
37
- cy.get('.slick-row').find('.slick-cell:nth(4)').invoke('width').should('be.gt', 102);
38
- cy.get('.slick-row').find('.slick-cell:nth(5)').invoke('width').should('be.gt', 89);
39
- cy.get('.slick-row').find('.slick-cell:nth(6)').invoke('width').should('be.gt', 72);
40
- cy.get('.slick-row').find('.slick-cell:nth(7)').invoke('width').should('be.gt', 67);
41
- cy.get('.slick-row').find('.slick-cell:nth(8)').invoke('width').should('be.gt', 72);
42
- cy.get('.slick-row').find('.slick-cell:nth(9)').invoke('width').should('be.gt', 179);
43
- cy.get('.slick-row').find('.slick-cell:nth(10)').invoke('width').should('be.gt', 94);
44
- cy.get('.slick-row').find('.slick-cell:nth(11)').invoke('width').should('be.approximately', 58, 1);
45
- });
46
-
47
- it('should click on (default resize "autosizeColumns") and expect column to be much thinner and fit all its column within the grid container', () => {
48
- cy.get('[data-test="autosize-columns-btn"]').click();
49
-
50
- cy.get('.slick-row').find('.slick-cell:nth(1)').invoke('width').should('be.lt', 75);
51
- cy.get('.slick-row').find('.slick-cell:nth(2)').invoke('width').should('be.lt', 95);
52
- cy.get('.slick-row').find('.slick-cell:nth(3)').invoke('width').should('be.lt', 70);
53
- cy.get('.slick-row').find('.slick-cell:nth(4)').invoke('width').should('be.lt', 100);
54
- cy.get('.slick-row').find('.slick-cell:nth(5)').invoke('width').should('be.lt', 100);
55
- cy.get('.slick-row').find('.slick-cell:nth(6)').invoke('width').should('be.lt', 85);
56
- cy.get('.slick-row').find('.slick-cell:nth(7)').invoke('width').should('be.lt', 70);
57
- cy.get('.slick-row').find('.slick-cell:nth(8)').invoke('width').should('be.lt', 85);
58
- cy.get('.slick-row').find('.slick-cell:nth(9)').invoke('width').should('be.lt', 120);
59
- cy.get('.slick-row').find('.slick-cell:nth(10)').invoke('width').should('be.lt', 100);
60
- cy.get('.slick-row').find('.slick-cell:nth(11)').invoke('width').should('be.approximately', 58, 1);
61
- });
62
-
63
- it('should double-click on the "Complexity" column resize handle and expect the column to become wider and show all text', () => {
64
- cy.get('.slick-row').find('.slick-cell:nth(5)').invoke('width').should('be.lt', 80);
65
-
66
- cy.get('.slick-header-column:nth-child(6) .slick-resizable-handle').dblclick();
67
-
68
- cy.get('.slick-row').find('.slick-cell:nth(5)').invoke('width').should('be.gt', 95);
69
- });
70
-
71
- it('should open the "Product" header menu and click on "Resize by Content" and expect the column to become wider and show all text', () => {
72
- cy.get('.slick-row').find('.slick-cell:nth(9)').invoke('width').should('be.lt', 120);
73
-
74
- cy.get('#grid32')
75
- .find('.slick-header-column:nth-child(10)')
76
- .trigger('mouseover')
77
- .children('.slick-header-menu-button')
78
- .invoke('show')
79
- .click();
80
-
81
- cy.get('.slick-header-menu .slick-menu-command-list')
82
- .should('be.visible')
83
- .children('.slick-menu-item:nth-of-type(1)')
84
- .children('.slick-menu-content')
85
- .should('contain', 'Resize by Content')
86
- .click();
87
-
88
- cy.get('.slick-row').find('.slick-cell:nth(9)').invoke('width').should('be.gt', 120);
89
- });
90
-
91
- it('should change row selection across multiple pages, first page should have 2 selected', () => {
92
- cy.get('[data-test="set-dynamic-rows-btn"]').click();
93
-
94
- // Row index 3, 4 and 11 (last one will be on 2nd page)
95
- cy.get('input[type="checkbox"]:checked').should('have.length', 2); // 2x in current page and 1x in next page
96
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 3}px);"] > .slick-cell:nth(0) input[type="checkbox"]`).should('be.checked');
97
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 4}px);"] > .slick-cell:nth(0) input[type="checkbox"]`).should('be.checked');
98
- });
99
-
100
- it('should go to next page and expect 1 row selected in that second page', () => {
101
- cy.get('.icon-seek-next').click();
102
-
103
- cy.get('input[type="checkbox"]:checked').should('have.length', 1); // only 1x row in page 2
104
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(0) input[type="checkbox"]`).should('be.checked');
105
- });
106
-
107
- it('should click on "Select All" checkbox and expect all rows selected in current page', () => {
108
- const expectedRowIds = [11, 3, 4];
109
-
110
- // go back to 1st page
111
- cy.get('.icon-seek-prev').click();
112
-
113
- cy.get('#filter-checkbox-selectall-container input[type=checkbox]').click({ force: true });
114
-
115
- cy.window().then((win) => {
116
- expect(win.console.log).to.have.callCount(3);
117
- expect(win.console.log).to.be.calledWith('Selected Ids:', expectedRowIds);
118
- });
119
- });
120
-
121
- it('should go to the next 2 pages and expect all rows selected in each page', () => {
122
- cy.get('.icon-seek-next').click();
123
-
124
- cy.get('.slick-cell-checkboxsel input:checked').should('have.length', 10);
125
-
126
- cy.get('.icon-seek-next').click();
127
-
128
- cy.get('.slick-cell-checkboxsel input:checked').should('have.length', 10);
129
- });
130
-
131
- it('should uncheck 1 row and expect current and next page to have "Select All" uncheck', () => {
132
- cy.get('.slick-row:nth(0) .slick-cell:nth(0) input[type=checkbox]').click({ force: true });
133
-
134
- cy.get('#filter-checkbox-selectall-container input[type=checkbox]').should('not.be.checked', true);
135
-
136
- cy.get('.icon-seek-next').click();
137
-
138
- cy.get('#filter-checkbox-selectall-container input[type=checkbox]').should('not.be.checked', true);
139
- });
140
-
141
- it('should go back to previous page, select the row that was unchecked and expect "Select All" to be selected again', () => {
142
- cy.get('.icon-seek-prev').click();
143
-
144
- cy.get('.slick-row:nth(0) .slick-cell:nth(0) input[type=checkbox]').click({ force: true });
145
-
146
- cy.get('#filter-checkbox-selectall-container input[type=checkbox]').should('be.checked', true);
147
-
148
- cy.get('.icon-seek-next').click();
149
-
150
- cy.get('#filter-checkbox-selectall-container input[type=checkbox]').should('be.checked', true);
151
- });
152
-
153
- it('should Unselect All and expect all pages to no longer have any row selected', () => {
154
- cy.get('#filter-checkbox-selectall-container input[type=checkbox]').click({ force: true });
155
-
156
- cy.get('.slick-cell-checkboxsel input:checked').should('have.length', 0);
157
-
158
- cy.get('.icon-seek-prev').click();
159
-
160
- cy.get('.slick-cell-checkboxsel input:checked').should('have.length', 0);
161
-
162
- cy.get('.icon-seek-prev').click();
163
-
164
- cy.get('.slick-cell-checkboxsel input:checked').should('have.length', 0);
165
- });
166
- });
167
-
168
- describe('Filter Predicate on "Title" column that act similarly to an SQL LIKE matcher', () => {
169
- it('should return 4 rows using "%10" (ends with 10)', () => {
170
- cy.get('.search-filter.filter-title').clear().type('%10');
171
-
172
- cy.get('[data-test="total-items"]').should('have.text', 4);
173
-
174
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 10');
175
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 110');
176
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 210');
177
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 3}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 310');
178
- });
179
-
180
- it('should return 4 rows using "%ask%20" (contains "ask" + ends with 20)', () => {
181
- cy.get('.search-filter.filter-title').clear().type('%ask%20');
182
-
183
- cy.get('[data-test="total-items"]').should('have.text', 4);
184
-
185
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 20');
186
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 120');
187
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 220');
188
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 3}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 320');
189
- });
190
-
191
- it('should return all 400 rows using "%ask%" (contains "ask")', () => {
192
- cy.get('.search-filter.filter-title').clear().type('%ask%');
193
-
194
- cy.get('[data-test="total-items"]').should('have.text', 400);
195
-
196
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 0');
197
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 1');
198
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 2');
199
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 3}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 3');
200
- });
201
-
202
- it('should return 4 rows using "Ta%30" (starts with "Ta" + ends with 30)', () => {
203
- cy.get('.search-filter.filter-title').clear().type('Ta%30');
204
-
205
- cy.get('[data-test="total-items"]').should('have.text', 4);
206
-
207
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 30');
208
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 130');
209
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 230');
210
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 3}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 330');
211
- });
212
-
213
- it('should return 14 rows using "Ta%30%" (starts with "Ta" + ends with 30)', () => {
214
- cy.get('.search-filter.filter-title').clear().type('Ta%30%');
215
-
216
- cy.get('[data-test="total-items"]').should('have.text', 14);
217
-
218
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 30');
219
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 130');
220
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 230');
221
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 3}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 300');
222
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 4}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 301');
223
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 5}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 302');
224
- });
225
-
226
- it('should return all 400 rows using "Ta%" (starts with "Ta")', () => {
227
- cy.get('.search-filter.filter-title').clear().type('Ta%');
228
-
229
- cy.get('[data-test="total-items"]').should('have.text', 400);
230
-
231
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 0');
232
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 1');
233
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 2');
234
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 3}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 3');
235
- });
236
-
237
- it('should return 14 rows using "25" (contains 25)', () => {
238
- cy.get('.search-filter.filter-title').clear().type('25');
239
-
240
- cy.get('[data-test="total-items"]').should('have.text', 14);
241
-
242
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 25');
243
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 125');
244
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 225');
245
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 3}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 250');
246
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 4}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 251');
247
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 5}px);"] > .slick-cell:nth(1)`).should('have.text', 'Task 252');
248
- });
249
-
250
- it('should not return any row when filtering Title with "%%"', () => {
251
- cy.get('.search-filter.filter-title').clear().type('%%');
252
-
253
- cy.get('[data-test="total-items"]').should('have.text', 0);
254
- });
255
-
256
- it('return all 400 rows when filtering Title as "%ask%"', () => {
257
- cy.get('.search-filter.filter-duration').clear();
258
- cy.get('.search-filter.filter-title').clear().type('%ask%');
259
-
260
- cy.get('[data-test="total-items"]').should('have.text', 400);
261
- });
262
-
263
- it('return some rows (not all 400) when filtering Title as "%ask%" AND a Duration ">50" to test few filters still working', () => {
264
- cy.get('.search-filter.filter-title').clear();
265
- cy.get('.search-filter.filter-duration').clear().type('>50');
266
-
267
- cy.get('[data-test="total-items"]').should('not.have.text', 0);
268
-
269
- cy.get('[data-test="total-items"]').should('not.have.text', 400);
270
- });
271
- });
272
- });
@@ -1,278 +0,0 @@
1
- describe('Example 33 - Regular & Custom Tooltips', () => {
2
- const titles = [
3
- '',
4
- 'Title',
5
- 'Duration',
6
- 'Description',
7
- 'Description 2',
8
- 'Cost',
9
- '% Complete',
10
- 'Start',
11
- 'Finish',
12
- 'Effort Driven',
13
- 'Prerequisites',
14
- 'Action',
15
- ];
16
- const GRID_ROW_HEIGHT = 33;
17
-
18
- it('should display Example title', () => {
19
- cy.visit(`${Cypress.config('baseUrl')}/example33`);
20
- cy.get('h2').should('contain', 'Example 33: Regular & Custom Tooltips');
21
- });
22
-
23
- it('should have exact column titles on 1st grid', () => {
24
- cy.get('#grid33')
25
- .find('.slick-header-columns')
26
- .children()
27
- .each(($child, index) => expect($child.text()).to.eq(titles[index]));
28
- });
29
-
30
- it('should change server delay to 10ms for faster testing', () => {
31
- cy.get('[data-test="server-delay"]').clear().type('50');
32
- });
33
-
34
- it('should mouse over 1st row checkbox column and NOT expect any tooltip to show since it is disabled on that column', () => {
35
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(0)`).as('checkbox0-cell');
36
- cy.get('@checkbox0-cell').trigger('mouseover');
37
-
38
- cy.get('.slick-custom-tooltip').should('not.exist');
39
- cy.get('@checkbox0-cell').trigger('mouseout');
40
- });
41
-
42
- it('should mouse over Task 2 cell and expect async tooltip to show', () => {
43
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(1)`).as('task1-cell');
44
- cy.get('@task1-cell').should('contain', 'Task 2');
45
- cy.get('@task1-cell').trigger('mouseover');
46
- cy.get('.slick-custom-tooltip').contains('loading...');
47
-
48
- cy.wait(10);
49
- cy.get('.slick-custom-tooltip').should('be.visible');
50
- cy.get('.slick-custom-tooltip').contains('Task 2 - (async tooltip)');
51
-
52
- cy.get('.tooltip-2cols-row:nth(0)').find('div:nth(0)').contains('Completion:');
53
- cy.get('.tooltip-2cols-row:nth(0)').find('div').should('have.class', 'percent-complete-bar-with-text');
54
-
55
- cy.get('.tooltip-2cols-row:nth(1)').find('div:nth(0)').contains('Lifespan:');
56
- cy.get('.tooltip-2cols-row:nth(1)').find('div:nth(1)').contains(/\d+$/); // use regexp to make sure it's a number
57
-
58
- cy.get('.tooltip-2cols-row:nth(2)').find('div:nth(0)').contains('Ratio:');
59
- cy.get('.tooltip-2cols-row:nth(2)').find('div:nth(1)').contains(/\d+$/); // use regexp to make sure it's a number
60
-
61
- cy.get('@task1-cell').trigger('mouseout');
62
- });
63
-
64
- it('should mouse over Task 6 cell and expect async tooltip to show', () => {
65
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(1)`).as('task6-cell');
66
- cy.get('@task6-cell').should('contain', 'Task 6');
67
- cy.get('@task6-cell').trigger('mouseover');
68
- cy.get('.slick-custom-tooltip').contains('loading...');
69
-
70
- cy.wait(10);
71
- cy.get('.slick-custom-tooltip').should('be.visible');
72
- cy.get('.slick-custom-tooltip').contains('Task 6 - (async tooltip)');
73
-
74
- cy.get('.tooltip-2cols-row:nth(1)').find('div:nth(0)').contains('Lifespan:');
75
- cy.get('.tooltip-2cols-row:nth(1)').find('div:nth(1)').contains(/\d+$/); // use regexp to make sure it's a number
76
-
77
- cy.get('.tooltip-2cols-row:nth(2)').find('div:nth(0)').contains('Ratio:');
78
- cy.get('.tooltip-2cols-row:nth(2)').find('div:nth(1)').contains(/\d+$/); // use regexp to make sure it's a number
79
-
80
- cy.get('@task6-cell').trigger('mouseout');
81
- });
82
-
83
- it('should mouse over Task 6 cell on "Start" column and expect a delayed tooltip opening via async process', () => {
84
- cy.get('.slick-custom-tooltip').should('not.exist');
85
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(7)`).as('start6-cell');
86
- cy.get('@start6-cell').contains(/\d{4}-\d{2}-\d{2}$/); // use regexp to make sure it's a number
87
- cy.get('@start6-cell').trigger('mouseover');
88
-
89
- cy.wait(10);
90
- cy.get('.slick-custom-tooltip').should('be.visible');
91
- cy.get('.slick-custom-tooltip').contains('Custom Tooltip');
92
-
93
- cy.get('.tooltip-2cols-row:nth(0)').find('div:nth(0)').contains('Id:');
94
- cy.get('.tooltip-2cols-row:nth(0)').find('div:nth(1)').contains('6');
95
-
96
- cy.get('.tooltip-2cols-row:nth(1)').find('div:nth(0)').contains('Title:');
97
- cy.get('.tooltip-2cols-row:nth(1)').find('div:nth(1)').contains('Task 6');
98
-
99
- cy.get('.tooltip-2cols-row:nth(2)').find('div:nth(0)').contains('Effort Driven:');
100
- cy.get('.tooltip-2cols-row:nth(2)').find('div:nth(1)').should('be.empty');
101
-
102
- cy.get('.tooltip-2cols-row:nth(3)').find('div:nth(0)').contains('Completion:');
103
- cy.get('.tooltip-2cols-row:nth(3)').find('div:nth(1)').find('.mdi-check-circle-outline').should('exist');
104
-
105
- cy.get('@start6-cell').trigger('mouseout');
106
- });
107
-
108
- it('should mouse over 6th row Description and expect full cell content to show in a tooltip because cell has ellipsis and is too long for the cell itself', () => {
109
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(3)`).as('desc6-cell');
110
- cy.get('@desc6-cell').should('contain', 'This is a sample task description.');
111
- cy.get('@desc6-cell').trigger('mouseover');
112
-
113
- cy.get('.slick-custom-tooltip').should('be.visible');
114
- cy.get('.slick-custom-tooltip').should(
115
- 'not.contain',
116
- `regular tooltip (from title attribute)\nTask 6 cell value:\n\nThis is a sample task description.\nIt can be multiline\n\nAnother line...`
117
- );
118
- cy.get('.slick-custom-tooltip').should('contain', `This is a sample task description.\nIt can be multiline\n\nAnother line...`);
119
-
120
- cy.get('@desc6-cell').trigger('mouseout');
121
- });
122
-
123
- it('should mouse over 6th row Description 2 and expect regular tooltip title + concatenated full cell content when using "useRegularTooltipFromFormatterOnly: true"', () => {
124
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(4)`).as('desc2-5-cell');
125
- cy.get('@desc2-5-cell').should('contain', 'This is a sample task description.');
126
- cy.get('@desc2-5-cell').trigger('mouseover');
127
-
128
- cy.get('.slick-custom-tooltip').should('be.visible');
129
- cy.get('.slick-custom-tooltip').should(
130
- 'contain',
131
- `regular tooltip (from title attribute)\nTask 6 cell value:\n\nThis is a sample task description.\nIt can be multiline\n\nAnother line...`
132
- );
133
-
134
- cy.get('@desc2-5-cell').trigger('mouseout');
135
- });
136
-
137
- it('should mouse over 2nd row Duration and expect a custom tooltip shown with 4 label/value pairs displayed', () => {
138
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(2)`).as('duration2-cell');
139
- cy.get('@duration2-cell').contains(/\d+\sday[s]?$/);
140
- cy.get('@duration2-cell').trigger('mouseover');
141
-
142
- cy.get('.slick-custom-tooltip').should('be.visible');
143
- cy.get('.slick-custom-tooltip').contains('Custom Tooltip');
144
-
145
- cy.get('.tooltip-2cols-row:nth(0)').find('div:nth(0)').contains('Id:');
146
- cy.get('.tooltip-2cols-row:nth(0)').find('div:nth(1)').contains('6');
147
-
148
- cy.get('.tooltip-2cols-row:nth(1)').find('div:nth(0)').contains('Title:');
149
- cy.get('.tooltip-2cols-row:nth(1)').find('div:nth(1)').contains('Task 6');
150
-
151
- cy.get('.tooltip-2cols-row:nth(2)').find('div:nth(0)').contains('Effort Driven:');
152
- cy.get('.tooltip-2cols-row:nth(2)').find('div:nth(1)').should('be.empty');
153
-
154
- cy.get('.tooltip-2cols-row:nth(3)').find('div:nth(0)').contains('Completion:');
155
- cy.get('.tooltip-2cols-row:nth(3)').find('div:nth(1)').find('.mdi-check-circle-outline').should('exist');
156
-
157
- cy.get('@duration2-cell').trigger('mouseout');
158
- });
159
-
160
- it('should mouse over % Complete cell of Task 6 and expect regular tooltip to show with content "x %" where x is a number', () => {
161
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(6)`).as('percentage-cell');
162
- cy.get('@percentage-cell').find('.percent-complete-bar').should('exist');
163
- cy.get('@percentage-cell').trigger('mouseover');
164
-
165
- cy.get('.slick-custom-tooltip').should('be.visible');
166
- cy.get('.slick-custom-tooltip').contains(/\d+%$/);
167
-
168
- cy.get('@percentage-cell').trigger('mouseout');
169
- });
170
-
171
- it('should mouse over Prerequisite cell of Task 6 and expect regular tooltip to show with content "Task 6, Task 5"', () => {
172
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(10)`).as('prereq-cell');
173
- cy.get('@prereq-cell').should('contain', 'Task 6, Task 5');
174
- cy.get('@prereq-cell').trigger('mouseover');
175
-
176
- cy.get('.slick-custom-tooltip').should('be.visible');
177
- cy.get('.slick-custom-tooltip').should('contain', 'Task 6, Task 5');
178
-
179
- cy.get('@prereq-cell').trigger('mouseout');
180
- });
181
-
182
- it('should mouse over header-row (filter) 1st column checkbox and NOT expect any tooltip to show since it is disabled on that column', () => {
183
- cy.get(`.slick-headerrow-columns .slick-headerrow-column:nth(0)`).as('checkbox0-filter');
184
- cy.get('@checkbox0-filter').trigger('mouseover');
185
-
186
- cy.get('.slick-custom-tooltip').should('not.exist');
187
- cy.get('@checkbox0-filter').trigger('mouseout');
188
- });
189
-
190
- it('should mouse over header-row (filter) 2nd column Title and expect a tooltip to show rendered from an headerRowFormatter', () => {
191
- cy.get(`.slick-headerrow-columns .slick-headerrow-column:nth(1)`).as('checkbox0-filter');
192
- cy.get('@checkbox0-filter').trigger('mouseover');
193
-
194
- cy.get('.slick-custom-tooltip').should('be.visible');
195
- cy.get('.slick-custom-tooltip').contains('Custom Tooltip - Header Row (filter)');
196
-
197
- cy.get('.tooltip-2cols-row:nth(0)').find('div:nth(0)').contains('Column:');
198
- cy.get('.tooltip-2cols-row:nth(0)').find('div:nth(1)').contains('title');
199
-
200
- cy.get('@checkbox0-filter').trigger('mouseout');
201
- });
202
-
203
- it('should mouse over header-row (filter) Finish column and NOT expect any tooltip to show since it is disabled on that column', () => {
204
- cy.get(`.slick-headerrow-columns .slick-headerrow-column:nth(8)`).as('finish-filter');
205
- cy.get('@finish-filter').trigger('mouseover');
206
-
207
- cy.get('.slick-custom-tooltip').should('not.exist');
208
- cy.get('@finish-filter').trigger('mouseout');
209
- });
210
-
211
- it('should open PreRequisite dropdown and expect it be lazily loaded', () => {
212
- cy.get('.slick-headerrow-columns .slick-headerrow-column:nth(10)').as('checkbox10-header');
213
- cy.get('@checkbox10-header').click();
214
- cy.get('[data-test="alert-lazy"]').should('be.visible');
215
- cy.get('[data-name="filter-prerequisites"] .ms-loading span').contains('Loading...');
216
- cy.wait(50);
217
- cy.get('@checkbox10-header').click();
218
- cy.get('[data-test="alert-lazy"]').should('not.be.visible');
219
- cy.get('[data-name="filter-prerequisites"] .ms-loading').should('not.exist');
220
- });
221
-
222
- it('should mouse over header-row (filter) Prerequisite column and expect to see tooltip of selected filter options', () => {
223
- cy.get('.slick-headerrow-columns .slick-headerrow-column:nth(10)').as('checkbox10-header');
224
- cy.get('@checkbox10-header').trigger('mouseover');
225
-
226
- cy.get('.filter-prerequisites .ms-choice span').contains('15 of 1000 selected');
227
- cy.get('.slick-custom-tooltip').should('be.visible');
228
- cy.get('.slick-custom-tooltip').contains(
229
- 'Task 1, Task 3, Task 5, Task 7, Task 9, Task 12, Task 15, Task 18, Task 21, Task 25, Task 28, Task 29, Task 30, Task 32, Task 34'
230
- );
231
-
232
- cy.get('@checkbox10-header').trigger('mouseout');
233
- });
234
-
235
- it('should mouse over header title on 1st column with checkbox and NOT expect any tooltip to show since it is disabled on that column', () => {
236
- cy.get('.slick-header-columns .slick-header-column:nth(0)').as('checkbox-header');
237
- cy.get('@checkbox-header').trigger('mouseover');
238
-
239
- cy.get('.slick-custom-tooltip').should('not.exist');
240
- cy.get('@checkbox-header').trigger('mouseout');
241
- });
242
-
243
- it('should mouse over header title on 2nd column with Title name and expect a tooltip to show rendered from an headerFormatter', () => {
244
- cy.get('.slick-header-columns .slick-header-column:nth(1)').as('checkbox0-header');
245
- cy.get('@checkbox0-header').trigger('mouseover');
246
-
247
- cy.get('.slick-custom-tooltip').should('be.visible');
248
- cy.get('.slick-custom-tooltip').contains('Custom Tooltip - Header');
249
-
250
- cy.get('.tooltip-2cols-row:nth(0)').find('div:nth(0)').contains('Column:');
251
- cy.get('.tooltip-2cols-row:nth(0)').find('div:nth(1)').contains('Title');
252
-
253
- cy.get('@checkbox0-header').trigger('mouseout');
254
- });
255
-
256
- it('should mouse over header title on 2nd column with Finish name and NOT expect any tooltip to show since it is disabled on that column', () => {
257
- cy.get('.slick-header-columns .slick-header-column:nth(8)').as('finish-header');
258
- cy.get('@finish-header').trigger('mouseover');
259
-
260
- cy.get('.slick-custom-tooltip').should('not.exist');
261
- cy.get('@finish-header').trigger('mouseout');
262
- });
263
-
264
- it('should click Prerequisite editor of 1st row (Task 2) and expect Task1 & 2 to be selected in the multiple-select drop', () => {
265
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(10)`).as('prereq-cell');
266
- cy.get('@prereq-cell').should('contain', 'Task 2, Task 1').click();
267
-
268
- cy.get('div.ms-drop[data-name=editor-prerequisites]').find('li.selected').should('have.length', 2);
269
-
270
- cy.get('div.ms-drop[data-name=editor-prerequisites]').find('li.selected:nth(0) span').should('contain', 'Task 1');
271
-
272
- cy.get('div.ms-drop[data-name=editor-prerequisites]').find('li.selected:nth(1) span').should('contain', 'Task 2');
273
-
274
- cy.get('div.ms-drop[data-name=editor-prerequisites]').find('.ms-ok-button').click();
275
-
276
- cy.get('div.ms-drop[data-name=editor-prerequisites]').should('not.exist');
277
- });
278
- });