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,84 +0,0 @@
1
- describe('Example 34 - Real-Time Trading Platform', () => {
2
- const titles = [
3
- 'Currency',
4
- 'Symbol',
5
- 'Market',
6
- 'Company',
7
- 'Type',
8
- 'Change',
9
- 'Price',
10
- 'Quantity',
11
- 'Amount',
12
- 'Price History',
13
- 'Execution Timestamp',
14
- ];
15
- const GRID_ROW_HEIGHT = 35;
16
-
17
- it('should display Example title', () => {
18
- cy.visit(`${Cypress.config('baseUrl')}/example34`);
19
- cy.get('h2').should('contain', 'Example 34: Real-Time Trading Platform');
20
- });
21
-
22
- it('should have exact column titles on 1st grid', () => {
23
- cy.get('#grid34')
24
- .find('.slick-header-columns')
25
- .children()
26
- .each(($child, index) => expect($child.text()).to.eq(titles[index]));
27
- });
28
-
29
- it('should check first 5 rows and expect certain data', () => {
30
- for (let i = 0; i < 5; i++) {
31
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * i}px);"] > .slick-cell:nth(0)`).contains(/CAD|USD$/);
32
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * i}px);"] > .slick-cell:nth(4)`).contains(/Buy|Sell$/);
33
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * i}px);"] > .slick-cell:nth(5)`).contains(/\$\(?[0-9.]*\)?/);
34
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * i}px);"] > .slick-cell:nth(6)`).contains(/\$[0-9.]*/);
35
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * i}px);"] > .slick-cell:nth(7)`).contains(/\d$/);
36
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * i}px);"] > .slick-cell:nth(8)`).contains(/\$[0-9.]*/);
37
- }
38
- });
39
-
40
- it('should find multiple green & pink backgrounds to show gains & losses when in real-time mode', () => {
41
- cy.get('#refreshRateRange').invoke('val', 5).trigger('change');
42
-
43
- cy.get('.changed-gain').should('have.length.gt', 2);
44
- cy.get('.changed-loss').should('have.length.gt', 2);
45
- });
46
-
47
- it('should NOT find any green neither pink backgrounds when in real-time is stopped', () => {
48
- cy.get('[data-test="highlight-input"]').type('{backspace}{backspace}');
49
- cy.get('[data-test="stop-btn"]').click();
50
-
51
- cy.wait(5);
52
- cy.get('.changed-gain').should('have.length', 0);
53
- cy.get('.changed-loss').should('have.length', 0);
54
- cy.wait(1);
55
- cy.get('.changed-gain').should('have.length', 0);
56
- cy.get('.changed-loss').should('have.length', 0);
57
- });
58
-
59
- it('should Group by 1st column "Currency" and expect 2 groups with Totals when collapsed', () => {
60
- cy.get('.slick-header-column:nth(0)').contains('Currency').drag('.slick-dropzone', { force: true });
61
-
62
- cy.get('.slick-group-toggle-all').click();
63
-
64
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(0) .slick-group-toggle.collapsed`).should(
65
- 'have.length',
66
- 1
67
- );
68
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(0) .slick-group-title`).should(
69
- 'contain',
70
- 'Currency: CAD'
71
- );
72
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(8)`).contains(/\$[0-9,.]*/);
73
-
74
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(0) .slick-group-toggle.collapsed`).should(
75
- 'have.length',
76
- 1
77
- );
78
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(0) .slick-group-title`).should(
79
- 'contain',
80
- 'Currency: USD'
81
- );
82
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 3}px);"] > .slick-cell:nth(8)`).contains(/\$[0-9,.]*/);
83
- });
84
- });
@@ -1,178 +0,0 @@
1
- describe('Example 35 - Row Based Editing', () => {
2
- const fullTitles = ['Title', 'Duration (days)', '% Complete', 'Start', 'Finish', 'Effort Driven', 'Actions'];
3
- const GRID_ROW_HEIGHT = 35;
4
-
5
- it('should display Example title', () => {
6
- cy.visit(`${Cypress.config('baseUrl')}/example35`);
7
- cy.get('h2').should('contain', 'Example 35: Row Based Editing');
8
- });
9
-
10
- it('should have exact column titles on grid', () => {
11
- cy.get('#grid35')
12
- .find('.slick-header-columns')
13
- .children()
14
- .each(($child, index) => expect($child.text()).to.eq(fullTitles[index]));
15
- });
16
-
17
- it('should render edit and delete buttons in the actions column', () => {
18
- cy.get('.slick-cell.l6.r6').each(($child) => {
19
- cy.wrap($child).find('.action-btns--edit, .action-btns--delete').should('have.length', 2);
20
- });
21
- });
22
-
23
- it('should only allow to toggle a single row into editmode on single mode', () => {
24
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] .action-btns--edit`).click();
25
- cy.get('.action-btns--edit:nth(0)').click({ force: true });
26
-
27
- cy.get('.slick-row.slick-rbe-editmode').should('have.length', 1);
28
- });
29
-
30
- it('should allow to toggle a multiple rows into editmode on multiple mode', () => {
31
- cy.reload();
32
- cy.get('[data-test="single-multi-toggle"]').click();
33
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] .action-btns--edit`).click({ force: true });
34
- cy.get('.action-btns--edit').eq(1).click({ force: true });
35
- cy.get('.action-btns--edit').eq(2).click({ force: true });
36
-
37
- cy.get('.slick-row.slick-rbe-editmode').should('have.length', 3);
38
- });
39
-
40
- it('should not display editor in rows not being in editmode', () => {
41
- cy.reload();
42
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell.l2.r2`).click({ force: true });
43
-
44
- cy.get('input').should('have.length', 0);
45
-
46
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] .action-btns--edit`).click({ force: true });
47
-
48
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell.l2.r2`).click({ force: true });
49
-
50
- cy.get('input').should('have.length', 1);
51
- });
52
-
53
- it('should highlight modified cells and maintain proper index on sorting', () => {
54
- cy.reload();
55
-
56
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] .action-btns--edit`).click({ force: true });
57
-
58
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell.l0.r0`)
59
- .click()
60
- .type('abc{enter}');
61
- cy.get('.slick-cell').first().should('have.class', 'slick-rbe-unsaved-cell');
62
- cy.get('[data-id="title"]').click();
63
- cy.get('.slick-cell').first().should('not.have.class', 'slick-rbe-unsaved-cell');
64
- cy.get('[data-id="title"]').click();
65
- cy.get('.slick-cell').first().should('have.class', 'slick-rbe-unsaved-cell');
66
- });
67
-
68
- it('should stay in editmode if saving failed', () => {
69
- cy.reload();
70
-
71
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] .action-btns--edit`).click({ force: true });
72
-
73
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell.l1.r1`)
74
- .click()
75
- .type('50{enter}');
76
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell.l2.r2`)
77
- .click()
78
- .type('50');
79
-
80
- cy.get('.action-btns--update').first().click();
81
- cy.on('window:confirm', () => true);
82
- cy.on('window:alert', (str) => {
83
- expect(str).to.equal('Sorry, 40 is the maximum allowed duration.');
84
- });
85
-
86
- cy.get('.slick-row.slick-rbe-editmode').should('have.length', 1);
87
- });
88
-
89
- it('should save changes on update button click', () => {
90
- cy.reload();
91
-
92
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] .action-btns--edit`).click({ force: true });
93
-
94
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell.l1.r1`)
95
- .click()
96
- .type('30{enter}');
97
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell.l2.r2`).type('30');
98
-
99
- cy.get('.action-btns--update').first().click({ force: true });
100
-
101
- cy.get('[data-test="fetch-result"]').should('contain', 'success');
102
-
103
- cy.get('.slick-cell.l1.r1').first().should('contain', '30');
104
- cy.get('.slick-cell.l2.r2').first().should('contain', '30');
105
- });
106
-
107
- it('should cleanup status when starting a new edit mode', () => {
108
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] .action-btns--edit`).click({ force: true });
109
-
110
- cy.get('[data-test="fetch-result"]').should('be.empty');
111
-
112
- cy.get('.action-btns--cancel').first().click({ force: true });
113
- });
114
-
115
- it('should revert changes on cancel click', () => {
116
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] .action-btns--edit`).click({ force: true });
117
-
118
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell.l1.r1`)
119
- .click()
120
- .type('50{enter}');
121
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell.l2.r2`).type('50{enter}');
122
-
123
- cy.get('.action-btns--cancel').first().click({ force: true });
124
-
125
- cy.get('.slick-cell.l1.r1').first().should('contain', '30');
126
- cy.get('.slick-cell.l2.r2').first().should('contain', '30');
127
- });
128
-
129
- it('should delete a row when clicking it', () => {
130
- cy.get('.action-btns--delete').first().click({ force: true });
131
-
132
- cy.on('window:confirm', () => true);
133
-
134
- cy.get('.slick-row').first().find('.slick-cell.l0.r0').should('contain', 'Task 1');
135
- });
136
-
137
- it('should support translation keys on buttons', () => {
138
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] .action-btns--edit`).click({ force: true });
139
-
140
- cy.get('.action-btns--update')
141
- .first()
142
- .invoke('attr', 'title')
143
- .then((title) => {
144
- expect(title).to.equal('Update the current row');
145
- });
146
-
147
- cy.get('.action-btns--cancel')
148
- .first()
149
- .invoke('attr', 'title')
150
- .then((title) => {
151
- expect(title).to.equal('Cancel changes of the current row');
152
- });
153
-
154
- cy.get('[data-test="toggle-language"]').click();
155
- cy.get('[data-test="selected-locale"]').should('contain', 'fr.json');
156
-
157
- cy.get('.action-btns--edit').first().click({ force: true });
158
-
159
- cy.get('.action-btns--cancel').first().as('cancel-btn');
160
- cy.get('@cancel-btn').should(($btn) => {
161
- expect($btn.attr('title')).to.equal('Annuler la ligne actuelle');
162
- });
163
- cy.get('@cancel-btn').trigger('mouseover', { position: 'top' });
164
- cy.get('.slick-custom-tooltip').should('be.visible');
165
- cy.get('.slick-custom-tooltip .tooltip-body').contains('Annuler la ligne actuelle');
166
-
167
- cy.get('.action-btns--update').first().as('update-btn');
168
- cy.get('@update-btn').should(($btn) => {
169
- expect($btn.attr('title')).to.equal('Mettre à jour la ligne actuelle');
170
- });
171
-
172
- cy.get('@update-btn').trigger('mouseover', { position: 'top' });
173
-
174
- cy.get('.slick-custom-tooltip').should('be.visible');
175
- cy.get('.slick-custom-tooltip .tooltip-body').contains('Mettre à jour la ligne actuelle');
176
- cy.get('@update-btn').first().click({ force: true });
177
- });
178
- });
@@ -1,219 +0,0 @@
1
- describe('Example 36 - Excel Export Formula', () => {
2
- const GRID_ROW_HEIGHT = 33;
3
- const fullTitles = ['#', 'Name', 'Price', 'Quantity', 'Sub-Total', 'Taxable', 'Taxes', 'Total'];
4
-
5
- it('should display Example title', () => {
6
- cy.visit(`${Cypress.config('baseUrl')}/example36`);
7
- cy.get('h2').should('contain', 'Example 36: Excel Export Formula');
8
- });
9
-
10
- it('should have exact column titles on grid', () => {
11
- cy.get('.slick-header-columns')
12
- .children()
13
- .each(($child, index) => expect($child.text()).to.eq(fullTitles[index]));
14
- });
15
-
16
- it('should check first 3 rows with calculated totals', () => {
17
- // 1st row
18
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(0)`).contains('1');
19
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(1)`).contains('Oranges');
20
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(2)`).contains('$2.22');
21
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(3)`).contains('4');
22
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(4)`).contains('$8.88');
23
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(5)`).should('have.text', '');
24
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(6)`).should('have.text', '');
25
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(7)`).contains('$8.88');
26
-
27
- // 2nd row
28
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(0)`).contains('2');
29
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(1)`).contains('Apples');
30
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(2)`).contains('$1.55');
31
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(3)`).contains('3');
32
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(4)`).contains('$4.65');
33
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(5)`).should('have.text', '');
34
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(6)`).should('have.text', '');
35
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(7)`).contains('$4.65');
36
-
37
- // 3rd row
38
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(0)`).contains('3');
39
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(1)`).contains('Honeycomb Cereals');
40
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(2)`).contains('$4.55');
41
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(3)`).contains('2');
42
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(4)`).contains('$9.10');
43
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(4)`)
44
- .should('have.css', 'color')
45
- .and('eq', 'rgb(33, 80, 115)');
46
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(5)`).find('.mdi-check');
47
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(6)`).contains('$0.68');
48
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(6)`)
49
- .should('have.css', 'color')
50
- .and('eq', 'rgb(198, 89, 17)');
51
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(7)`).contains('$9.78');
52
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(7)`)
53
- .should('have.css', 'color')
54
- .and('eq', 'rgb(0, 90, 158)');
55
- });
56
-
57
- it('should change Price & Qty on first 3 rows and expect calculated values to be updated', () => {
58
- // 1st row
59
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(0)`).contains('1');
60
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(2)`).click();
61
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(2) input`)
62
- .clear()
63
- .type('2.44{enter}');
64
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(3)`).click();
65
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(3) input`)
66
- .clear()
67
- .type('7{enter}');
68
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(4)`).contains('$17.08');
69
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(7)`).contains('$17.08');
70
-
71
- // 2nd row
72
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(0)`).contains('2');
73
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(2)`).click();
74
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(2) input`)
75
- .clear()
76
- .type('1.4{enter}');
77
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(3)`).click();
78
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(3) input`)
79
- .clear()
80
- .type('3{enter}');
81
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(4)`).contains('$4.20');
82
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(7)`).contains('$4.20');
83
-
84
- // 3rd row
85
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(0)`).contains('3');
86
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(2)`).click();
87
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(2) input`)
88
- .clear()
89
- .type('4.23{enter}');
90
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(3)`).click();
91
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(3) input`)
92
- .clear()
93
- .type('3{enter}');
94
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(4)`).contains('$12.69');
95
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(6)`).contains('$0.95');
96
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(7)`).contains('$13.64');
97
- });
98
-
99
- it('should be able to change Tax Rate and for first 3 rows only expect the 3rd one to be updated with different taxes and total', () => {
100
- cy.get('[data-test="taxrate"]').clear().type('6.25');
101
- cy.get('[data-test="update-btn"]').click();
102
-
103
- // 1st row
104
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(0)`).contains('1');
105
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(2)`).contains('$2.44');
106
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(3)`).contains('7');
107
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(4)`).contains('$17.08');
108
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(7)`).contains('$17.08');
109
-
110
- // 2nd row
111
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(0)`).contains('2');
112
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(2)`).contains('$1.40');
113
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(3)`).contains('3');
114
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(4)`).contains('$4.20');
115
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 1}px);"] > .slick-cell:nth(7)`).contains('$4.20');
116
-
117
- // 3rd row
118
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(0)`).contains('3');
119
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(2)`).contains('$4.23');
120
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(3)`).contains('3');
121
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(4)`).contains('$12.69');
122
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(6)`).contains('$0.79');
123
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 2}px);"] > .slick-cell:nth(7)`).contains('$13.48');
124
- });
125
-
126
- it('should Group by Taxable and expect calculated totals', () => {
127
- cy.get('[data-test="group-by-btn"]').click();
128
-
129
- // last and 5th row of first Group
130
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 5}px);"] > .slick-cell:nth(0)`).contains('11');
131
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 5}px);"] > .slick-cell:nth(1)`).contains('Milk');
132
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 5}px);"] > .slick-cell:nth(2)`).contains('$3.11');
133
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 5}px);"] > .slick-cell:nth(3)`).contains('3');
134
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 5}px);"] > .slick-cell:nth(4)`).contains('$9.33');
135
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 5}px);"] > .slick-cell:nth(5)`).find('.mdi-check');
136
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 5}px);"] > .slick-cell:nth(6)`).contains('$0.58');
137
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 5}px);"] > .slick-cell:nth(7)`).contains('$9.91');
138
-
139
- // Taxable group total row
140
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 6}px);"] > .slick-cell:nth(2)`).contains('$15.71');
141
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 6}px);"] > .slick-cell:nth(3)`).contains('25');
142
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 6}px);"] > .slick-cell:nth(4)`).contains('$42.32');
143
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 6}px);"] > .slick-cell:nth(6)`).contains('$2.65');
144
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 6}px);"] > .slick-cell:nth(7)`).contains('$44.97');
145
-
146
- // Non-Taxable group total row
147
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 14}px);"] > .slick-cell:nth(2)`).contains('$21.61');
148
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 14}px);"] > .slick-cell:nth(3)`).contains('92');
149
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 14}px);"] > .slick-cell:nth(4)`).contains('$60.29');
150
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 14}px);"] > .slick-cell:nth(6)`).contains('$0.00');
151
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 14}px);"] > .slick-cell:nth(7)`).contains('$60.29');
152
- });
153
-
154
- it('should change Price & Qty of item 10,11 and expect calculated values to be updated in group total', () => {
155
- // item 10
156
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 4}px);"] > .slick-cell:nth(0)`).contains('10');
157
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 4}px);"] > .slick-cell:nth(1)`).contains('Drinkable Yogurt');
158
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 4}px);"] > .slick-cell:nth(2)`).click();
159
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 4}px);"] > .slick-cell:nth(2) input`)
160
- .clear()
161
- .type('1.96{enter}');
162
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 4}px);"] > .slick-cell:nth(3)`).click();
163
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 4}px);"] > .slick-cell:nth(3) input`)
164
- .clear()
165
- .type('4{enter}');
166
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 4}px);"] > .slick-cell:nth(4)`).contains('$7.84');
167
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 4}px);"] > .slick-cell:nth(6)`).contains('$0.49');
168
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 4}px);"] > .slick-cell:nth(7)`).contains('$8.33');
169
-
170
- // item 11
171
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 5}px);"] > .slick-cell:nth(0)`).contains('11');
172
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 5}px);"] > .slick-cell:nth(1)`).contains('Milk');
173
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 5}px);"] > .slick-cell:nth(2)`).click();
174
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 5}px);"] > .slick-cell:nth(2) input`)
175
- .clear()
176
- .type('3.85{enter}');
177
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 5}px);"] > .slick-cell:nth(3)`).click();
178
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 5}px);"] > .slick-cell:nth(3) input`)
179
- .clear()
180
- .type('2{enter}');
181
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 5}px);"] > .slick-cell:nth(4)`).contains('$7.70');
182
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 5}px);"] > .slick-cell:nth(6)`).contains('$0.48');
183
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 5}px);"] > .slick-cell:nth(7)`).contains('$8.18');
184
-
185
- // group total row
186
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 6}px);"] > .slick-cell:nth(2)`).contains('$17.19');
187
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 6}px);"] > .slick-cell:nth(3)`).contains('22');
188
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 6}px);"] > .slick-cell:nth(4)`).contains('$41.21');
189
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 6}px);"] > .slick-cell:nth(6)`).contains('$2.58');
190
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 6}px);"] > .slick-cell:nth(7)`).contains('$43.79');
191
-
192
- // Non-Taxable group total row
193
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 14}px);"] > .slick-cell:nth(2)`).contains('$21.61');
194
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 14}px);"] > .slick-cell:nth(3)`).contains('92');
195
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 14}px);"] > .slick-cell:nth(4)`).contains('$60.29');
196
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 14}px);"] > .slick-cell:nth(6)`).contains('$0.00');
197
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 14}px);"] > .slick-cell:nth(7)`).contains('$60.29');
198
- });
199
-
200
- it('should change Tax Rate again and expect Taxes and Total to be recalculated', () => {
201
- cy.get('[data-test="taxrate"]').clear().type('7');
202
- cy.get('[data-test="update-btn"]').click();
203
-
204
- // item 10
205
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 4}px);"] > .slick-cell:nth(6)`).contains('$0.55');
206
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 4}px);"] > .slick-cell:nth(7)`).contains('$8.39');
207
-
208
- // item 11
209
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 5}px);"] > .slick-cell:nth(6)`).contains('$0.54');
210
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 5}px);"] > .slick-cell:nth(7)`).contains('$8.24');
211
-
212
- // group total row
213
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 6}px);"] > .slick-cell:nth(2)`).contains('$17.19');
214
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 6}px);"] > .slick-cell:nth(3)`).contains('22');
215
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 6}px);"] > .slick-cell:nth(4)`).contains('$41.21');
216
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 6}px);"] > .slick-cell:nth(6)`).contains('$2.88');
217
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 6}px);"] > .slick-cell:nth(7)`).contains('$44.09');
218
- });
219
- });
@@ -1,52 +0,0 @@
1
- describe('Example 37 - Footer Totals Row', () => {
2
- const fullTitles = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'];
3
- const GRID_ROW_HEIGHT = 33;
4
-
5
- it('should display Example title', () => {
6
- cy.visit(`${Cypress.config('baseUrl')}/example37`);
7
- cy.get('h2').should('contain', 'Example 37: Footer Totals Row');
8
- });
9
-
10
- it('should have exact Column Header Titles in the grid', () => {
11
- cy.get('#grid37')
12
- .find('.slick-header-columns:nth(0)')
13
- .children()
14
- .each(($child, index) => expect($child.text()).to.eq(fullTitles[index]));
15
- });
16
-
17
- it('should have a total sum displayed in the footer for each column', () => {
18
- for (let i = 0; i < 10; i++) {
19
- cy.get(`.slick-footerrow-columns .slick-footerrow-column:nth(${i})`).should(($span) => {
20
- const totalStr = $span.text();
21
- const totalVal = Number(totalStr.replace('Sum: ', ''));
22
-
23
- expect(totalStr).to.contain('Sum:');
24
- expect(totalVal).to.gte(400);
25
- });
26
- }
27
- });
28
-
29
- it('should be able to increase cell value by a number of 5 and expect column sum to be increased by 5 as well', () => {
30
- let cellVal = 0;
31
- let totalVal = 0;
32
- const increasingVal = 50;
33
-
34
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(0)`).should(($span) => {
35
- cellVal = Number($span.text());
36
- expect(cellVal).to.gte(0);
37
- });
38
- cy.get('.slick-footerrow-columns .slick-footerrow-column:nth(0)').should(($span) => {
39
- totalVal = parseInt($span.text().replace('Sum: ', ''));
40
- expect(totalVal).to.gte(400);
41
- });
42
-
43
- cy.get(`[style="transform: translateY(${GRID_ROW_HEIGHT * 0}px);"] > .slick-cell:nth(0)`).click();
44
- cy.get('.editor-0').type(`${increasingVal}{enter}`);
45
- cy.wait(1);
46
-
47
- cy.get('.slick-footerrow-columns .slick-footerrow-column:nth(0)').should(($span) => {
48
- const newTotalVal = parseInt($span.text().replace('Sum: ', ''));
49
- expect(newTotalVal).to.eq(totalVal - cellVal + increasingVal);
50
- });
51
- });
52
- });