@sme.up/ketchup 5.0.0 → 5.1.1

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 (196) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/{cell-utils-720be0c8.js → cell-utils-5b16c180.js} +4 -4
  3. package/dist/cjs/{f-button-dbf3cd3a.js → f-button-3b9f32af.js} +2 -2
  4. package/dist/cjs/{f-cell-93d984ad.js → f-cell-c6ad973a.js} +6 -6
  5. package/dist/cjs/{f-chip-438213eb.js → f-chip-bed86c4a.js} +3 -3
  6. package/dist/cjs/{f-image-21865ab7.js → f-image-08a3d340.js} +2 -2
  7. package/dist/cjs/{index-ab119fad.js → index-8d7bb3be.js} +4 -1
  8. package/dist/cjs/ketchup.cjs.js +3 -3
  9. package/dist/cjs/kup-accordion.cjs.entry.js +5 -5
  10. package/dist/cjs/kup-autocomplete_27.cjs.entry.js +412 -353
  11. package/dist/cjs/kup-calendar.cjs.entry.js +8 -8
  12. package/dist/cjs/kup-cell.cjs.entry.js +8 -8
  13. package/dist/cjs/kup-dash-list.cjs.entry.js +5 -5
  14. package/dist/cjs/kup-dash_2.cjs.entry.js +5 -5
  15. package/dist/cjs/kup-drawer.cjs.entry.js +8 -5
  16. package/dist/cjs/kup-echart.cjs.entry.js +210 -60
  17. package/dist/cjs/kup-field.cjs.entry.js +3 -3
  18. package/dist/cjs/kup-iframe.cjs.entry.js +4 -4
  19. package/dist/cjs/kup-lazy.cjs.entry.js +4 -4
  20. package/dist/cjs/kup-magic-box.cjs.entry.js +7 -7
  21. package/dist/cjs/{kup-manager-09c0c1fc.js → kup-manager-4227f0a2.js} +2804 -2598
  22. package/dist/cjs/kup-nav-bar.cjs.entry.js +6 -6
  23. package/dist/cjs/kup-photo-frame.cjs.entry.js +179 -0
  24. package/dist/cjs/kup-probe.cjs.entry.js +3 -3
  25. package/dist/cjs/kup-qlik.cjs.entry.js +3 -3
  26. package/dist/cjs/kup-snackbar.cjs.entry.js +7 -7
  27. package/dist/cjs/loader.cjs.js +3 -3
  28. package/dist/cjs/{utils-a60ab5fa.js → utils-b9df398c.js} +4 -38
  29. package/dist/collection/assets/card.js +30 -30
  30. package/dist/collection/assets/data-table.js +24 -30
  31. package/dist/collection/assets/echart.js +481 -0
  32. package/dist/collection/assets/index.js +79 -79
  33. package/dist/collection/assets/kupdata.js +29 -41
  34. package/dist/collection/assets/list.js +6 -6
  35. package/dist/collection/assets/nav-bar.js +4 -4
  36. package/dist/collection/assets/probe.js +18 -18
  37. package/dist/collection/collection-manifest.json +2 -1
  38. package/dist/collection/components/kup-autocomplete/kup-autocomplete.js +5 -5
  39. package/dist/collection/components/kup-box/kup-box.js +9 -9
  40. package/dist/collection/components/kup-button-list/kup-button-list.js +4 -4
  41. package/dist/collection/components/kup-card/built-in/kup-card-clock.js +1 -1
  42. package/dist/collection/components/kup-card/built-in/kup-card-column-drop-menu.js +21 -22
  43. package/dist/collection/components/kup-card/kup-card.js +1 -2
  44. package/dist/collection/components/kup-chip/kup-chip.js +4 -4
  45. package/dist/collection/components/kup-combobox/kup-combobox.js +6 -6
  46. package/dist/collection/components/kup-data-table/kup-data-table-declarations.js +0 -2
  47. package/dist/collection/components/kup-data-table/kup-data-table-helper.js +31 -32
  48. package/dist/collection/components/kup-data-table/kup-data-table.js +124 -164
  49. package/dist/collection/components/kup-drawer/kup-drawer.js +4 -1
  50. package/dist/collection/components/kup-dropdown-button/kup-dropdown-button.css +3 -3
  51. package/dist/collection/components/kup-dropdown-button/kup-dropdown-button.js +14 -14
  52. package/dist/collection/components/kup-echart/kup-echart-declarations.js +3 -0
  53. package/dist/collection/components/kup-echart/kup-echart.js +246 -58
  54. package/dist/collection/components/kup-image/assets/svg/instagram.svg +1 -0
  55. package/dist/collection/components/kup-image/assets/svg/pinterest.svg +1 -0
  56. package/dist/collection/components/kup-image/assets/svg/reddit.svg +1 -0
  57. package/dist/collection/components/kup-list/kup-list-helper.js +26 -26
  58. package/dist/collection/components/kup-list/kup-list.css +35 -3
  59. package/dist/collection/components/kup-list/kup-list.js +52 -44
  60. package/dist/collection/components/kup-magic-box/kup-magic-box.js +3 -3
  61. package/dist/collection/components/kup-nav-bar/kup-nav-bar.js +2 -2
  62. package/dist/collection/components/kup-photo-frame/kup-photo-frame-declarations.js +10 -0
  63. package/dist/collection/components/kup-photo-frame/kup-photo-frame.css +70 -0
  64. package/dist/collection/components/kup-photo-frame/kup-photo-frame.js +382 -0
  65. package/dist/collection/components/kup-snackbar/kup-snackbar.css +4 -0
  66. package/dist/collection/components/kup-tab-bar/kup-tab-bar.css +1 -1
  67. package/dist/collection/components/kup-time-picker/kup-time-picker.js +10 -10
  68. package/dist/collection/components/kup-tree/kup-tree.js +100 -51
  69. package/dist/collection/f-components/f-paginator/f-paginator.js +6 -6
  70. package/dist/collection/managers/kup-data/kup-data-cell-helper.js +2 -2
  71. package/dist/collection/managers/kup-data/kup-data-column-helper.js +27 -3
  72. package/dist/collection/managers/kup-data/kup-data-declarations.js +2 -1
  73. package/dist/collection/managers/kup-data/kup-data-node-helper.js +1 -1
  74. package/dist/collection/managers/kup-data/kup-data-row-helper.js +2 -2
  75. package/dist/collection/managers/kup-data/kup-data.js +337 -155
  76. package/dist/collection/managers/kup-dates/kup-dates.js +2 -2
  77. package/dist/collection/managers/kup-debug/kup-debug.js +6 -6
  78. package/dist/collection/managers/kup-dynamic-position/kup-dynamic-position.js +1 -1
  79. package/dist/collection/managers/kup-language/kup-language.js +2 -2
  80. package/dist/collection/managers/kup-manager/kup-manager.js +13 -0
  81. package/dist/collection/managers/kup-math/kup-math-declarations.js +13 -0
  82. package/dist/collection/managers/kup-math/kup-math-helper.js +39 -0
  83. package/dist/collection/managers/kup-math/kup-math.js +151 -0
  84. package/dist/collection/managers/kup-objects/kup-objects.js +48 -1
  85. package/dist/collection/managers/kup-theme/kup-theme.js +2 -2
  86. package/dist/collection/utils/cell-utils.js +2 -3
  87. package/dist/collection/utils/kup-column-menu/kup-column-menu.js +1 -1
  88. package/dist/collection/utils/utils.js +3 -74
  89. package/dist/esm/{cell-utils-b80ccb8c.js → cell-utils-69f75e2e.js} +4 -4
  90. package/dist/esm/{f-button-9e835467.js → f-button-7e7607d8.js} +2 -2
  91. package/dist/esm/{f-cell-f8bb2e04.js → f-cell-e4d83c27.js} +6 -6
  92. package/dist/esm/{f-chip-953c6915.js → f-chip-51dfefaf.js} +3 -3
  93. package/dist/esm/{f-image-78c5265e.js → f-image-de331954.js} +2 -2
  94. package/dist/esm/{index-78f3699d.js → index-aeec9835.js} +4 -1
  95. package/dist/esm/ketchup.js +3 -3
  96. package/dist/esm/kup-accordion.entry.js +5 -5
  97. package/dist/esm/kup-autocomplete_27.entry.js +412 -353
  98. package/dist/esm/kup-calendar.entry.js +8 -8
  99. package/dist/esm/kup-cell.entry.js +8 -8
  100. package/dist/esm/kup-dash-list.entry.js +5 -5
  101. package/dist/esm/kup-dash_2.entry.js +5 -5
  102. package/dist/esm/kup-drawer.entry.js +8 -5
  103. package/dist/esm/kup-echart.entry.js +210 -60
  104. package/dist/esm/kup-field.entry.js +3 -3
  105. package/dist/esm/kup-iframe.entry.js +4 -4
  106. package/dist/esm/kup-lazy.entry.js +4 -4
  107. package/dist/esm/kup-magic-box.entry.js +7 -7
  108. package/dist/esm/{kup-manager-bba62291.js → kup-manager-0ab94726.js} +2805 -2598
  109. package/dist/esm/kup-nav-bar.entry.js +6 -6
  110. package/dist/esm/kup-photo-frame.entry.js +175 -0
  111. package/dist/esm/kup-probe.entry.js +3 -3
  112. package/dist/esm/kup-qlik.entry.js +3 -3
  113. package/dist/esm/kup-snackbar.entry.js +7 -7
  114. package/dist/esm/loader.js +3 -3
  115. package/dist/esm/{utils-d1569956.js → utils-35c7a90d.js} +5 -37
  116. package/dist/ketchup/assets/svg/instagram.svg +1 -0
  117. package/dist/ketchup/assets/svg/pinterest.svg +1 -0
  118. package/dist/ketchup/assets/svg/reddit.svg +1 -0
  119. package/dist/ketchup/ketchup.esm.js +1 -1
  120. package/dist/ketchup/p-0751aaf6.entry.js +1 -0
  121. package/dist/ketchup/p-10c8d755.js +1 -0
  122. package/dist/ketchup/{p-aa27f9f7.entry.js → p-24df4f29.entry.js} +2 -2
  123. package/dist/ketchup/{p-29800a2e.js → p-2d4f19f4.js} +1 -1
  124. package/dist/ketchup/p-33073f4a.js +1 -0
  125. package/dist/ketchup/p-3445be1e.entry.js +1 -0
  126. package/dist/ketchup/p-3813281b.entry.js +1 -0
  127. package/dist/ketchup/p-4081f5f7.entry.js +1 -0
  128. package/dist/ketchup/p-47b57d97.js +1 -0
  129. package/dist/ketchup/p-5186885c.entry.js +1 -0
  130. package/dist/ketchup/{p-f993f813.js → p-5d190cf5.js} +1 -1
  131. package/dist/ketchup/p-67c64257.entry.js +1 -0
  132. package/dist/ketchup/p-68fc1428.entry.js +1 -0
  133. package/dist/ketchup/p-8be1337b.js +1 -0
  134. package/dist/ketchup/p-8f735633.entry.js +1 -0
  135. package/dist/ketchup/p-96101f09.entry.js +39 -0
  136. package/dist/ketchup/p-9bcda66f.entry.js +1 -0
  137. package/dist/ketchup/p-b5e1dbfa.entry.js +1 -0
  138. package/dist/ketchup/{p-ebf4cf56.js → p-c314b1e6.js} +1 -1
  139. package/dist/ketchup/p-d7af8156.entry.js +1 -0
  140. package/dist/ketchup/p-dbe87a3f.entry.js +143 -0
  141. package/dist/ketchup/p-ee33cbe9.js +9 -0
  142. package/dist/ketchup/p-f250d42b.entry.js +1 -0
  143. package/dist/ketchup/p-f9c41e20.entry.js +1 -0
  144. package/dist/ketchup/p-fea316ab.entry.js +1 -0
  145. package/dist/types/components/kup-button-list/kup-button-list-declarations.d.ts +2 -1
  146. package/dist/types/components/kup-data-table/kup-data-table-declarations.d.ts +0 -2
  147. package/dist/types/components/kup-data-table/kup-data-table.d.ts +8 -15
  148. package/dist/types/components/kup-dropdown-button/kup-dropdown-button.d.ts +1 -1
  149. package/dist/types/components/kup-echart/kup-echart-declarations.d.ts +3 -0
  150. package/dist/types/components/kup-echart/kup-echart.d.ts +12 -1
  151. package/dist/types/components/kup-list/kup-list-declarations.d.ts +3 -7
  152. package/dist/types/components/kup-list/kup-list-helper.d.ts +6 -6
  153. package/dist/types/components/kup-list/kup-list.d.ts +2 -2
  154. package/dist/types/components/kup-photo-frame/kup-photo-frame-declarations.d.ts +9 -0
  155. package/dist/types/components/kup-photo-frame/kup-photo-frame.d.ts +61 -0
  156. package/dist/types/components/kup-tree/kup-tree-declarations.d.ts +1 -1
  157. package/dist/types/components/kup-tree/kup-tree.d.ts +1 -1
  158. package/dist/types/components.d.ts +110 -28
  159. package/dist/types/managers/kup-data/kup-data-column-helper.d.ts +9 -1
  160. package/dist/types/managers/kup-data/kup-data-declarations.d.ts +4 -25
  161. package/dist/types/managers/kup-data/kup-data-node-helper.d.ts +1 -1
  162. package/dist/types/managers/kup-data/kup-data.d.ts +63 -27
  163. package/dist/types/managers/kup-manager/kup-manager-declarations.d.ts +11 -0
  164. package/dist/types/managers/kup-manager/kup-manager.d.ts +2 -0
  165. package/dist/types/managers/kup-math/kup-math-declarations.d.ts +21 -0
  166. package/dist/types/managers/kup-math/kup-math-helper.d.ts +17 -0
  167. package/dist/types/managers/kup-math/kup-math.d.ts +60 -0
  168. package/dist/types/managers/kup-objects/kup-objects.d.ts +22 -0
  169. package/dist/types/utils/utils.d.ts +0 -18
  170. package/package.json +2 -2
  171. package/dist/collection/managers/kup-data/kup-data-dataset-helper.js +0 -262
  172. package/dist/collection/managers/kup-data/kup-data-helper.js +0 -61
  173. package/dist/collection/utils/state-utils.js +0 -9
  174. package/dist/ketchup/p-0032a782.entry.js +0 -1
  175. package/dist/ketchup/p-18c4d083.entry.js +0 -1
  176. package/dist/ketchup/p-199c972e.entry.js +0 -1
  177. package/dist/ketchup/p-34aa8d8a.entry.js +0 -1
  178. package/dist/ketchup/p-542279e9.entry.js +0 -1
  179. package/dist/ketchup/p-5b26a7a8.entry.js +0 -39
  180. package/dist/ketchup/p-5c97e7ab.js +0 -1
  181. package/dist/ketchup/p-6817ca85.entry.js +0 -1
  182. package/dist/ketchup/p-76e674ca.entry.js +0 -1
  183. package/dist/ketchup/p-78aa6f1b.js +0 -1
  184. package/dist/ketchup/p-842b66aa.entry.js +0 -1
  185. package/dist/ketchup/p-894981c0.entry.js +0 -143
  186. package/dist/ketchup/p-8ac2fa75.entry.js +0 -1
  187. package/dist/ketchup/p-907c9e11.entry.js +0 -1
  188. package/dist/ketchup/p-9ae9149b.entry.js +0 -1
  189. package/dist/ketchup/p-b0d1bdd8.js +0 -9
  190. package/dist/ketchup/p-e1e4c951.entry.js +0 -1
  191. package/dist/ketchup/p-eba369d9.entry.js +0 -1
  192. package/dist/ketchup/p-ed0b8666.js +0 -1
  193. package/dist/ketchup/p-fa540f82.js +0 -1
  194. package/dist/types/managers/kup-data/kup-data-dataset-helper.d.ts +0 -42
  195. package/dist/types/managers/kup-data/kup-data-helper.d.ts +0 -11
  196. package/dist/types/utils/state-utils.d.ts +0 -1
@@ -2,7 +2,7 @@ import { Component, Element, Event, forceUpdate, h, Host, Method, Prop, State, W
2
2
  import { FixedCellsClasses, FixedCellsCSSVarsBase, GroupLabelDisplayMode, LoadMoreMode, PaginatorPos, ShowGrid, SortMode, TotalMode, TotalLabel, KupDataTableProps, fieldColumn, iconColumn, keyColumn, SelectionMode, } from './kup-data-table-declarations';
3
3
  import { getColumnByName } from '../../utils/cell-utils';
4
4
  import { calcTotals, normalizeRows, filterRows, groupRows, paginateRows, sortRows, } from './kup-data-table-helper';
5
- import { numberToFormattedStringNumber, identify, deepEqual, getProps, setProps, } from '../../utils/utils';
5
+ import { numberToFormattedStringNumber, identify, getProps, setProps, } from '../../utils/utils';
6
6
  import { ItemsDisplayMode, } from '../kup-list/kup-list-declarations';
7
7
  import { kupManagerInstance, } from '../../managers/kup-manager/kup-manager';
8
8
  import { KupDataTableState } from './kup-data-table-state';
@@ -265,6 +265,7 @@ export class KupDataTable {
265
265
  this.openedTotalMenu = null;
266
266
  this.openedCustomSettings = false;
267
267
  this.fontsize = 'medium';
268
+ this.initialized = false;
268
269
  this.rowsLength = 0;
269
270
  this.paginatedRowsLength = 0;
270
271
  /**
@@ -379,8 +380,6 @@ export class KupDataTable {
379
380
  this.pageSelected = state.pageSelected;
380
381
  this.sortableColumnsMutateData =
381
382
  state.sortableColumnsMutateData;
382
- this.selectRow = state.selectRow;
383
- this.selectRowsById = state.selectRowsById;
384
383
  this.dragEnabled = state.dragEnabled;
385
384
  this.dropEnabled = state.dropEnabled;
386
385
  this.showFooter = state.showFooter;
@@ -391,116 +390,116 @@ export class KupDataTable {
391
390
  persistState() {
392
391
  if (this.store && this.stateId) {
393
392
  let somethingChanged = false;
394
- if (!deepEqual(this.state.filters, this.filters)) {
393
+ if (!this.kupManager.objects.deepEqual(this.state.filters, this.filters)) {
395
394
  this.state.filters = Object.assign({}, this.filters);
396
395
  somethingChanged = true;
397
396
  }
398
- if (!deepEqual(this.state.groups, this.groups)) {
397
+ if (!this.kupManager.objects.deepEqual(this.state.groups, this.groups)) {
399
398
  this.state.groups = [...this.groups];
400
399
  somethingChanged = true;
401
400
  }
402
- if (!deepEqual(this.state.sort, this.sort)) {
401
+ if (!this.kupManager.objects.deepEqual(this.state.sort, this.sort)) {
403
402
  this.state.sort = [...this.sort];
404
403
  somethingChanged = true;
405
404
  }
406
- if (!deepEqual(this.state.expandGroups, this.expandGroups)) {
405
+ if (!this.kupManager.objects.deepEqual(this.state.expandGroups, this.expandGroups)) {
407
406
  this.state.expandGroups = this.expandGroups;
408
407
  somethingChanged = true;
409
408
  }
410
- if (!deepEqual(this.state.groupLabelDisplay, this.groupLabelDisplay)) {
409
+ if (!this.kupManager.objects.deepEqual(this.state.groupLabelDisplay, this.groupLabelDisplay)) {
411
410
  this.state.groupLabelDisplay = this.groupLabelDisplay;
412
411
  somethingChanged = true;
413
412
  }
414
- if (!deepEqual(this.state.density, this.density)) {
413
+ if (!this.kupManager.objects.deepEqual(this.state.density, this.density)) {
415
414
  this.state.density = this.density;
416
415
  somethingChanged = true;
417
416
  }
418
- if (!deepEqual(this.state.enableExtraColumns, this.enableExtraColumns)) {
417
+ if (!this.kupManager.objects.deepEqual(this.state.enableExtraColumns, this.enableExtraColumns)) {
419
418
  this.state.enableExtraColumns = this.enableExtraColumns;
420
419
  somethingChanged = true;
421
420
  }
422
- if (!deepEqual(this.state.enableSortableColumns, this.enableSortableColumns)) {
421
+ if (!this.kupManager.objects.deepEqual(this.state.enableSortableColumns, this.enableSortableColumns)) {
423
422
  this.state.enableSortableColumns = this.enableSortableColumns;
424
423
  somethingChanged = true;
425
424
  }
426
- if (!deepEqual(this.state.forceOneLine, this.forceOneLine)) {
425
+ if (!this.kupManager.objects.deepEqual(this.state.forceOneLine, this.forceOneLine)) {
427
426
  this.state.forceOneLine = this.forceOneLine;
428
427
  somethingChanged = true;
429
428
  }
430
- if (!deepEqual(this.state.globalFilter, this.globalFilter)) {
429
+ if (!this.kupManager.objects.deepEqual(this.state.globalFilter, this.globalFilter)) {
431
430
  this.state.globalFilter = this.globalFilter;
432
431
  somethingChanged = true;
433
432
  }
434
- if (!deepEqual(this.state.globalFilterValue, this.globalFilterValue)) {
433
+ if (!this.kupManager.objects.deepEqual(this.state.globalFilterValue, this.globalFilterValue)) {
435
434
  this.state.globalFilterValue = this.globalFilterValue;
436
435
  somethingChanged = true;
437
436
  }
438
- if (!deepEqual(this.state.headerIsPersistent, this.headerIsPersistent)) {
437
+ if (!this.kupManager.objects.deepEqual(this.state.headerIsPersistent, this.headerIsPersistent)) {
439
438
  this.state.headerIsPersistent = this.headerIsPersistent;
440
439
  somethingChanged = true;
441
440
  }
442
- if (!deepEqual(this.state.lazyLoadRows, this.lazyLoadRows)) {
441
+ if (!this.kupManager.objects.deepEqual(this.state.lazyLoadRows, this.lazyLoadRows)) {
443
442
  this.state.lazyLoadRows = this.lazyLoadRows;
444
443
  somethingChanged = true;
445
444
  }
446
- if (!deepEqual(this.state.loadMoreLimit, this.loadMoreLimit)) {
445
+ if (!this.kupManager.objects.deepEqual(this.state.loadMoreLimit, this.loadMoreLimit)) {
447
446
  this.state.loadMoreLimit = this.loadMoreLimit;
448
447
  somethingChanged = true;
449
448
  }
450
- if (!deepEqual(this.state.selection, this.selection)) {
449
+ if (!this.kupManager.objects.deepEqual(this.state.selection, this.selection)) {
451
450
  this.state.selection = this.selection;
452
451
  somethingChanged = true;
453
452
  }
454
- if (!deepEqual(this.state.rowsPerPage, this.currentRowsPerPage)) {
453
+ if (!this.kupManager.objects.deepEqual(this.state.rowsPerPage, this.currentRowsPerPage)) {
455
454
  this.state.rowsPerPage = this.currentRowsPerPage;
456
455
  somethingChanged = true;
457
456
  }
458
- if (!deepEqual(this.state.showFilters, this.showFilters)) {
457
+ if (!this.kupManager.objects.deepEqual(this.state.showFilters, this.showFilters)) {
459
458
  this.state.showFilters = this.showFilters;
460
459
  somethingChanged = true;
461
460
  }
462
- if (!deepEqual(this.state.showGroups, this.showGroups)) {
461
+ if (!this.kupManager.objects.deepEqual(this.state.showGroups, this.showGroups)) {
463
462
  this.state.showGroups = this.showGroups;
464
463
  somethingChanged = true;
465
464
  }
466
- if (!deepEqual(this.state.showHeader, this.showHeader)) {
465
+ if (!this.kupManager.objects.deepEqual(this.state.showHeader, this.showHeader)) {
467
466
  this.state.showHeader = this.showHeader;
468
467
  somethingChanged = true;
469
468
  }
470
- if (!deepEqual(this.state.showLoadMore, this.showLoadMore)) {
469
+ if (!this.kupManager.objects.deepEqual(this.state.showLoadMore, this.showLoadMore)) {
471
470
  this.state.showLoadMore = this.showLoadMore;
472
471
  somethingChanged = true;
473
472
  }
474
- if (!deepEqual(this.state.sortEnabled, this.sortEnabled)) {
473
+ if (!this.kupManager.objects.deepEqual(this.state.sortEnabled, this.sortEnabled)) {
475
474
  this.state.sortEnabled = this.sortEnabled;
476
475
  somethingChanged = true;
477
476
  }
478
- if (!deepEqual(this.state.sortableColumnsMutateData, this.sortableColumnsMutateData)) {
477
+ if (!this.kupManager.objects.deepEqual(this.state.sortableColumnsMutateData, this.sortableColumnsMutateData)) {
479
478
  this.state.sortableColumnsMutateData =
480
479
  this.sortableColumnsMutateData;
481
480
  somethingChanged = true;
482
481
  }
483
- if (!deepEqual(this.state.pageSelected, this.currentPage)) {
482
+ if (!this.kupManager.objects.deepEqual(this.state.pageSelected, this.currentPage)) {
484
483
  this.state.pageSelected = this.currentPage;
485
484
  somethingChanged = true;
486
485
  }
487
- if (!deepEqual(this.state.dragEnabled, this.dragEnabled)) {
486
+ if (!this.kupManager.objects.deepEqual(this.state.dragEnabled, this.dragEnabled)) {
488
487
  this.state.dragEnabled = this.dragEnabled;
489
488
  somethingChanged = true;
490
489
  }
491
- if (!deepEqual(this.state.dropEnabled, this.dropEnabled)) {
490
+ if (!this.kupManager.objects.deepEqual(this.state.dropEnabled, this.dropEnabled)) {
492
491
  this.state.dropEnabled = this.dropEnabled;
493
492
  somethingChanged = true;
494
493
  }
495
- if (!deepEqual(this.state.showFooter, this.showFooter)) {
494
+ if (!this.kupManager.objects.deepEqual(this.state.showFooter, this.showFooter)) {
496
495
  this.state.showFooter = this.showFooter;
497
496
  somethingChanged = true;
498
497
  }
499
- if (!deepEqual(this.state.totals, this.totals)) {
498
+ if (!this.kupManager.objects.deepEqual(this.state.totals, this.totals)) {
500
499
  this.state.totals = Object.assign({}, this.totals);
501
500
  somethingChanged = true;
502
501
  }
503
- if (!deepEqual(this.state.selectRowsById, this.selectedRows.reduce((accumulator, row, currentIndex) => {
502
+ if (!this.kupManager.objects.deepEqual(this.state.selectRowsById, this.selectedRows.reduce((accumulator, row, currentIndex) => {
504
503
  const prefix = currentIndex > 0 ? ';' : '';
505
504
  return accumulator + prefix + row.id;
506
505
  }, ''))) {
@@ -566,7 +565,9 @@ export class KupDataTable {
566
565
  }
567
566
  }
568
567
  recalculateData() {
569
- this.calculateData();
568
+ if (this.initialized) {
569
+ this.calculateData();
570
+ }
570
571
  }
571
572
  /**
572
573
  * Closes any opened column menu.
@@ -605,14 +606,18 @@ export class KupDataTable {
605
606
  async getProps(descriptions) {
606
607
  return getProps(this, KupDataTableProps, descriptions);
607
608
  }
609
+ /**
610
+ * This method will get the selected rows of the component.
611
+ */
612
+ async getSelectedRows() {
613
+ return this.selectedRows;
614
+ }
608
615
  /**
609
616
  * Hides the given column.
610
617
  * @param {KupDataColumn} column - Column to hide.
611
618
  */
612
619
  async hideColumn(column) {
613
- this.kupManager.data.datasetOperations.column.hide(this.data, [
614
- column.name,
615
- ]);
620
+ this.kupManager.data.column.hide(this.data, [column.name]);
616
621
  this.kupColumnRemove.emit({
617
622
  comp: this,
618
623
  id: this.rootElement.id,
@@ -627,7 +632,7 @@ export class KupDataTable {
627
632
  * @returns {string|KupDataColumn} Returns the new column created or a string containing the error message if something went wrong.
628
633
  */
629
634
  async newColumn(type, options) {
630
- const result = this.kupManager.data.datasetOperations.column.new(this.data, type, options);
635
+ const result = this.kupManager.data.column.new(this.data, type, options);
631
636
  const error = !!(typeof result === 'string' || result instanceof String);
632
637
  if (!error) {
633
638
  this.refresh();
@@ -729,15 +734,20 @@ export class KupDataTable {
729
734
  }
730
735
  /**
731
736
  * This method will set the selected rows of the component.
732
- * @param {string} rowsById - String containing the ids separated by ";".
737
+ * @param {string|number[]} rowsIdentifiers - Array of ids (dataset) or indexes (rendered rows).
733
738
  * @param {boolean} emitEvent - The event will always be emitted unless emitEvent is set to false.
734
739
  */
735
- async setSelectedRows(rowsById, emitEvent) {
740
+ async setSelectedRows(rowsIdentifiers, emitEvent) {
736
741
  this.selectedRows = [];
737
- if (rowsById) {
738
- this.selectedRows = this.renderedRows.filter((r) => {
739
- return rowsById.split(';').indexOf(r.id) >= 0;
740
- });
742
+ for (let index = 0; index < rowsIdentifiers.length; index++) {
743
+ const id = rowsIdentifiers[index];
744
+ if (typeof id === 'number') {
745
+ this.selectedRows.push(this.renderedRows[id]);
746
+ }
747
+ else {
748
+ const row = this.renderedRows.find((row) => row.id === id);
749
+ this.selectedRows.push(row);
750
+ }
741
751
  }
742
752
  if (emitEvent !== false) {
743
753
  this.kupRowSelected.emit({
@@ -952,7 +962,7 @@ export class KupDataTable {
952
962
  if (column) {
953
963
  this.filters = {};
954
964
  }
955
- return this.kupManager.data.datasetOperations.transpose(this.data, column);
965
+ return this.kupManager.data.transpose(this.data, column);
956
966
  }
957
967
  updateStickyHeaderSize() {
958
968
  const navBar = document.querySelectorAll('.header')[0];
@@ -1250,9 +1260,13 @@ export class KupDataTable {
1250
1260
  }
1251
1261
  if (this.dropEnabled) {
1252
1262
  const dataCb = () => {
1253
- const receivingDetails = this.getEventDetails([
1254
- this.rootElement.shadowRoot.querySelector('td:hover'),
1255
- ]);
1263
+ const cell = this.rootElement.shadowRoot.querySelector('td:hover');
1264
+ if (!cell) {
1265
+ this.kupManager.debug.logMessage(this, "Couldn't find cell hovered to retrieve dropzone informations!", KupDebugCategory.WARNING);
1266
+ return;
1267
+ }
1268
+ const path = this.getEventPath(cell);
1269
+ const receivingDetails = this.getEventDetails(path);
1256
1270
  return {
1257
1271
  cell: receivingDetails.cell,
1258
1272
  column: receivingDetails.column,
@@ -1386,6 +1400,7 @@ export class KupDataTable {
1386
1400
  CSS.supports('position', '-webkit-sticky') ||
1387
1401
  !!(window && window.safari);
1388
1402
  this.calculateData();
1403
+ this.initialized = true;
1389
1404
  }
1390
1405
  componentWillRender() {
1391
1406
  this.kupManager.debug.logRender(this, false);
@@ -1425,29 +1440,14 @@ export class KupDataTable {
1425
1440
  this.didLoadObservers();
1426
1441
  this.didLoadEventHandling();
1427
1442
  this.didLoadInteractables();
1428
- if (this.selectRowsById) {
1429
- this.setSelectedRows(this.selectRowsById);
1430
- }
1431
- else if (this.selectRow && this.selectRow > 0) {
1432
- if (this.selectRow <= this.renderedRows.length) {
1433
- this.selectedRows = [];
1434
- this.selectedRows.push(this.renderedRows[this.selectRow - 1]);
1435
- this.kupAutoRowSelect.emit({
1436
- comp: this,
1437
- id: this.rootElement.id,
1438
- selectedRow: this.selectedRows[0],
1439
- });
1440
- }
1441
- }
1442
1443
  this.lazyLoadCells = true;
1443
1444
  this.kupDidLoad.emit({ comp: this, id: this.rootElement.id });
1444
1445
  this.kupManager.resize.observe(this.rootElement);
1445
1446
  this.kupManager.debug.logLoad(this, true);
1446
1447
  }
1447
1448
  //======== Utility methods ========
1448
- getEventPath(e) {
1449
+ getEventPath(currentEl) {
1449
1450
  let path = [];
1450
- let currentEl = e.target;
1451
1451
  while (currentEl &&
1452
1452
  currentEl !== this.rootElement &&
1453
1453
  currentEl !== document.body) {
@@ -1737,7 +1737,7 @@ export class KupDataTable {
1737
1737
  };
1738
1738
  }
1739
1739
  clickHandler(e) {
1740
- const details = this.getEventDetails(this.getEventPath(e));
1740
+ const details = this.getEventDetails(this.getEventPath(e.target));
1741
1741
  if (details.area === 'header') {
1742
1742
  if (details.th && details.column) {
1743
1743
  if (details.filterRemove) {
@@ -1776,7 +1776,7 @@ export class KupDataTable {
1776
1776
  return details;
1777
1777
  }
1778
1778
  contextMenuHandler(e) {
1779
- const details = this.getEventDetails(this.getEventPath(e));
1779
+ const details = this.getEventDetails(this.getEventPath(e.target));
1780
1780
  if (details.area === 'header') {
1781
1781
  if (details.th && details.column) {
1782
1782
  this.openColumnMenu(details.column.name);
@@ -1806,7 +1806,7 @@ export class KupDataTable {
1806
1806
  return details;
1807
1807
  }
1808
1808
  dblClickHandler(e) {
1809
- const details = this.getEventDetails(this.getEventPath(e));
1809
+ const details = this.getEventDetails(this.getEventPath(e.target));
1810
1810
  if (details.area === 'body') {
1811
1811
  if (this.selection == SelectionMode.MULTIPLE) {
1812
1812
  this.resetSelectedRows();
@@ -2577,7 +2577,7 @@ export class KupDataTable {
2577
2577
  // must do this
2578
2578
  // otherwise does not fire the watcher
2579
2579
  const totalsCopy = Object.assign({}, this.totals);
2580
- const value = event.detail.selected.value;
2580
+ const value = event.detail.selected.id;
2581
2581
  if (value === TotalLabel.CANC) {
2582
2582
  if (this.totals && this.totals[column.name]) {
2583
2583
  delete totalsCopy[column.name];
@@ -2681,47 +2681,39 @@ export class KupDataTable {
2681
2681
  if (this.isOpenedTotalMenuForColumn(column.name)) {
2682
2682
  const listData = [
2683
2683
  {
2684
- text: translation[TotalLabel.COUNT],
2685
- value: TotalMode.COUNT,
2686
- selected: false,
2684
+ id: TotalMode.COUNT,
2685
+ value: translation[TotalLabel.COUNT],
2687
2686
  },
2688
2687
  {
2689
- text: translation[TotalLabel.DISTINCT],
2690
- value: TotalMode.DISTINCT,
2691
- selected: false,
2688
+ id: TotalMode.DISTINCT,
2689
+ value: translation[TotalLabel.DISTINCT],
2692
2690
  },
2693
2691
  ];
2694
2692
  if (this.kupManager.objects.isNumber(column.obj)) {
2695
2693
  // TODO Move these objects in declarations
2696
2694
  listData.push({
2697
- text: translation[TotalLabel.SUM],
2698
- value: TotalMode.SUM,
2699
- selected: false,
2695
+ id: TotalMode.SUM,
2700
2696
  separator: true,
2697
+ value: translation[TotalLabel.SUM],
2701
2698
  }, {
2702
- text: translation[TotalLabel.AVERAGE],
2703
- value: TotalMode.AVERAGE,
2704
- selected: false,
2699
+ id: TotalMode.AVERAGE,
2700
+ value: translation[TotalLabel.AVERAGE],
2705
2701
  }, {
2706
- text: translation[TotalLabel.MIN],
2707
- value: TotalMode.MIN,
2708
- selected: false,
2702
+ id: TotalMode.MIN,
2703
+ value: translation[TotalLabel.MIN],
2709
2704
  }, {
2710
- text: translation[TotalLabel.MAX],
2711
- value: TotalMode.MAX,
2712
- selected: false,
2705
+ id: TotalMode.MAX,
2706
+ value: translation[TotalLabel.MAX],
2713
2707
  });
2714
2708
  }
2715
2709
  else if (this.kupManager.objects.isDate(column.obj)) {
2716
2710
  listData.push({
2717
- text: translation[TotalLabel.MIN],
2718
- value: TotalMode.MIN,
2719
- selected: false,
2711
+ id: TotalMode.MIN,
2720
2712
  separator: true,
2713
+ value: translation[TotalLabel.MIN],
2721
2714
  }, {
2722
- text: translation[TotalLabel.MAX],
2723
- value: TotalMode.MAX,
2724
- selected: false,
2715
+ id: TotalMode.MAX,
2716
+ value: translation[TotalLabel.MAX],
2725
2717
  });
2726
2718
  }
2727
2719
  if (this.totals) {
@@ -2729,10 +2721,9 @@ export class KupDataTable {
2729
2721
  if (selectedItem) {
2730
2722
  selectedItem.selected = true;
2731
2723
  listData.push({
2732
- text: translation[TotalLabel.CANC],
2733
- value: TotalLabel.CANC,
2734
- selected: false,
2724
+ id: TotalLabel.CANC,
2735
2725
  separator: true,
2726
+ value: translation[TotalLabel.CANC],
2736
2727
  });
2737
2728
  }
2738
2729
  }
@@ -3196,42 +3187,42 @@ export class KupDataTable {
3196
3187
  createListData(codes, icons, selectedCode) {
3197
3188
  const listItems = [];
3198
3189
  for (let i = 0; i < codes.length; i++) {
3199
- let text = null;
3190
+ let value = null;
3200
3191
  switch (codes[i]) {
3201
3192
  //This whole customization panel thingy must be purged, for now -- it's ugly
3202
3193
  case 'big':
3203
- text = KupLanguageFontsize.BIG;
3194
+ value = KupLanguageFontsize.BIG;
3204
3195
  break;
3205
3196
  case 'Col':
3206
- text = KupLanguageGrid.COLUMN;
3197
+ value = KupLanguageGrid.COLUMN;
3207
3198
  break;
3208
3199
  case 'Complete':
3209
- text = KupLanguageGrid.COMPLETE;
3200
+ value = KupLanguageGrid.COMPLETE;
3210
3201
  break;
3211
3202
  case 'dense':
3212
- text = KupLanguageDensity.DENSE;
3203
+ value = KupLanguageDensity.DENSE;
3213
3204
  break;
3214
3205
  case 'medium':
3215
- text = KupLanguageDensity.MEDIUM;
3206
+ value = KupLanguageDensity.MEDIUM;
3216
3207
  break;
3217
3208
  case 'None':
3218
- text = KupLanguageGrid.NONE;
3209
+ value = KupLanguageGrid.NONE;
3219
3210
  break;
3220
3211
  case 'small':
3221
- text = KupLanguageFontsize.SMALL;
3212
+ value = KupLanguageFontsize.SMALL;
3222
3213
  break;
3223
3214
  case 'Row':
3224
- text = KupLanguageGrid.ROW;
3215
+ value = KupLanguageGrid.ROW;
3225
3216
  break;
3226
3217
  case 'wide':
3227
- text = KupLanguageDensity.WIDE;
3218
+ value = KupLanguageDensity.WIDE;
3228
3219
  break;
3229
3220
  }
3230
3221
  listItems[i] = {
3231
- text: this.kupManager.language.translate(text),
3232
- value: codes[i],
3233
- selected: selectedCode == codes[i],
3234
3222
  icon: icons[i],
3223
+ id: codes[i],
3224
+ selected: selectedCode == codes[i],
3225
+ value: this.kupManager.language.translate(value),
3235
3226
  };
3236
3227
  }
3237
3228
  return listItems;
@@ -4299,40 +4290,6 @@ export class KupDataTable {
4299
4290
  "reflect": false,
4300
4291
  "defaultValue": "SelectionMode.SINGLE"
4301
4292
  },
4302
- "selectRow": {
4303
- "type": "number",
4304
- "mutable": false,
4305
- "complexType": {
4306
- "original": "number",
4307
- "resolved": "number",
4308
- "references": {}
4309
- },
4310
- "required": false,
4311
- "optional": false,
4312
- "docs": {
4313
- "tags": [],
4314
- "text": "Selects the row at the specified rendered rows prosition (base 1)."
4315
- },
4316
- "attribute": "select-row",
4317
- "reflect": false
4318
- },
4319
- "selectRowsById": {
4320
- "type": "string",
4321
- "mutable": false,
4322
- "complexType": {
4323
- "original": "string",
4324
- "resolved": "string",
4325
- "references": {}
4326
- },
4327
- "required": false,
4328
- "optional": false,
4329
- "docs": {
4330
- "tags": [],
4331
- "text": "Semicolon separated rows id to select."
4332
- },
4333
- "attribute": "select-rows-by-id",
4334
- "reflect": false
4335
- },
4336
4293
  "showCustomization": {
4337
4294
  "type": "boolean",
4338
4295
  "mutable": false,
@@ -4744,26 +4701,6 @@ export class KupDataTable {
4744
4701
  }
4745
4702
  }
4746
4703
  }
4747
- }, {
4748
- "method": "kupAutoRowSelect",
4749
- "name": "kup-datatable-autorowselect",
4750
- "bubbles": true,
4751
- "cancelable": false,
4752
- "composed": true,
4753
- "docs": {
4754
- "tags": [],
4755
- "text": "When a row is auto selected via selectRow prop"
4756
- },
4757
- "complexType": {
4758
- "original": "KupDatatableAutoRowSelectEventPayload",
4759
- "resolved": "KupDatatableAutoRowSelectEventPayload",
4760
- "references": {
4761
- "KupDatatableAutoRowSelectEventPayload": {
4762
- "location": "import",
4763
- "path": "./kup-data-table-declarations"
4764
- }
4765
- }
4766
- }
4767
4704
  }, {
4768
4705
  "method": "kupRowSelected",
4769
4706
  "name": "kup-datatable-rowselected",
@@ -5026,6 +4963,29 @@ export class KupDataTable {
5026
4963
  }]
5027
4964
  }
5028
4965
  },
4966
+ "getSelectedRows": {
4967
+ "complexType": {
4968
+ "signature": "() => Promise<Array<KupDataTableRow>>",
4969
+ "parameters": [],
4970
+ "references": {
4971
+ "Promise": {
4972
+ "location": "global"
4973
+ },
4974
+ "KupDataTableRow": {
4975
+ "location": "import",
4976
+ "path": "./kup-data-table-declarations"
4977
+ },
4978
+ "Array": {
4979
+ "location": "global"
4980
+ }
4981
+ },
4982
+ "return": "Promise<KupDataTableRow[]>"
4983
+ },
4984
+ "docs": {
4985
+ "text": "This method will get the selected rows of the component.",
4986
+ "tags": []
4987
+ }
4988
+ },
5029
4989
  "hideColumn": {
5030
4990
  "complexType": {
5031
4991
  "signature": "(column: KupDataColumn) => Promise<void>",
@@ -5237,13 +5197,13 @@ export class KupDataTable {
5237
5197
  },
5238
5198
  "setSelectedRows": {
5239
5199
  "complexType": {
5240
- "signature": "(rowsById: string, emitEvent?: boolean) => Promise<void>",
5200
+ "signature": "(rowsIdentifiers: string[] | number[], emitEvent?: boolean) => Promise<void>",
5241
5201
  "parameters": [{
5242
5202
  "tags": [{
5243
5203
  "name": "param",
5244
- "text": "rowsById - String containing the ids separated by \";\"."
5204
+ "text": "rowsIdentifiers - Array of ids (dataset) or indexes (rendered rows)."
5245
5205
  }],
5246
- "text": "- String containing the ids separated by \";\"."
5206
+ "text": "- Array of ids (dataset) or indexes (rendered rows)."
5247
5207
  }, {
5248
5208
  "tags": [{
5249
5209
  "name": "param",
@@ -5262,7 +5222,7 @@ export class KupDataTable {
5262
5222
  "text": "This method will set the selected rows of the component.",
5263
5223
  "tags": [{
5264
5224
  "name": "param",
5265
- "text": "rowsById - String containing the ids separated by \";\"."
5225
+ "text": "rowsIdentifiers - Array of ids (dataset) or indexes (rendered rows)."
5266
5226
  }, {
5267
5227
  "name": "param",
5268
5228
  "text": "emitEvent - The event will always be emitted unless emitEvent is set to false."
@@ -125,7 +125,10 @@ export class KupDrawer {
125
125
  render() {
126
126
  return (h(Host, { "kup-opened": this.opened },
127
127
  h("style", null, this.kupManager.theme.setKupStyle(this.rootElement)),
128
- h("div", { class: "backdrop", onPointerDown: () => this.close() }),
128
+ h("div", { class: "backdrop", onPointerDown: (e) => {
129
+ e.stopPropagation();
130
+ this.close();
131
+ } }),
129
132
  h("div", { id: componentWrapperId },
130
133
  h("div", { class: drawerClass }, this.content()))));
131
134
  }
@@ -39,12 +39,12 @@
39
39
  .f-button.dropdown-button__dropdown-action .button.button--disabled {
40
40
  box-shadow: none;
41
41
  }
42
- .f-button.dropdown-button__dropdown-action .button.button--outlined {
43
- border-left: none;
44
- }
45
42
  .f-button.dropdown-button__dropdown-action .button.toggled .button__icon {
46
43
  transform: rotate(180deg);
47
44
  }
45
+ .f-button.dropdown-button__dropdown-action:not(.dropdown-only) .button--outlined:not(.dropdown-only) {
46
+ border-left: none;
47
+ }
48
48
 
49
49
  /*-------------------------------------------------*/
50
50
  /* C o m p o n e n t C l a s s e s */