@sme.up/ketchup 6.1.0-SNAPSHOT → 6.3.0

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 (223) hide show
  1. package/dist/cjs/{f-button-ac179257.js → f-button-94cb5f35.js} +4 -4
  2. package/dist/cjs/f-cell-76830a0d.js +416 -0
  3. package/dist/cjs/f-checkbox-cd977193.js +29 -0
  4. package/dist/cjs/{f-chip-b00897d7.js → f-chip-68d45fd3.js} +3 -3
  5. package/dist/cjs/{f-image-89f25556.js → f-image-0e71df7e.js} +2 -2
  6. package/dist/cjs/{f-paginator-utils-8fa501b3.js → f-paginator-utils-46689c0a.js} +80 -403
  7. package/dist/cjs/{f-text-field-e1e45ade.js → f-text-field-b4229cef.js} +11 -3
  8. package/dist/cjs/{index-eb556444.js → index-31125378.js} +15 -8
  9. package/dist/cjs/ketchup.cjs.js +3 -3
  10. package/dist/cjs/kup-accordion.cjs.entry.js +5 -6
  11. package/dist/cjs/kup-autocomplete_25.cjs.entry.js +331 -299
  12. package/dist/cjs/kup-box.cjs.entry.js +1304 -0
  13. package/dist/cjs/kup-calendar.cjs.entry.js +9 -11
  14. package/dist/cjs/kup-cell.cjs.entry.js +10 -11
  15. package/dist/cjs/kup-dash-list.cjs.entry.js +5 -7
  16. package/dist/cjs/kup-dash_2.cjs.entry.js +5 -9
  17. package/dist/cjs/kup-dashboard.cjs.entry.js +438 -0
  18. package/dist/cjs/kup-drawer.cjs.entry.js +5 -6
  19. package/dist/cjs/{kup-box_2.cjs.entry.js → kup-echart.cjs.entry.js} +66 -1353
  20. package/dist/cjs/kup-family-tree.cjs.entry.js +486 -0
  21. package/dist/cjs/kup-form.cjs.entry.js +478 -0
  22. package/dist/cjs/kup-iframe.cjs.entry.js +4 -5
  23. package/dist/cjs/kup-image-list.cjs.entry.js +73 -13
  24. package/dist/cjs/kup-lazy.cjs.entry.js +5 -6
  25. package/dist/cjs/kup-magic-box.cjs.entry.js +5 -6
  26. package/dist/cjs/{kup-manager-7a941909.js → kup-manager-7c514a30.js} +1787 -356
  27. package/dist/cjs/kup-nav-bar.cjs.entry.js +4 -5
  28. package/dist/cjs/kup-numeric-picker.cjs.entry.js +3 -3
  29. package/dist/cjs/kup-photo-frame.cjs.entry.js +6 -7
  30. package/dist/cjs/kup-probe.cjs.entry.js +2 -2
  31. package/dist/cjs/kup-qlik.cjs.entry.js +2 -2
  32. package/dist/cjs/kup-snackbar.cjs.entry.js +6 -7
  33. package/dist/cjs/loader.cjs.js +3 -3
  34. package/dist/collection/assets/dashboard.js +161 -0
  35. package/dist/collection/assets/data-table.js +59 -0
  36. package/dist/collection/assets/family-tree.js +2654 -0
  37. package/dist/collection/assets/form.js +433 -0
  38. package/dist/collection/assets/grid.js +17 -0
  39. package/dist/collection/assets/index.js +18 -6
  40. package/dist/collection/assets/kupinteract.js +68 -0
  41. package/dist/collection/collection-manifest.json +8 -7
  42. package/dist/collection/components/kup-autocomplete/kup-autocomplete.js +135 -129
  43. package/dist/collection/components/kup-box/kup-box.js +13 -2
  44. package/dist/collection/components/kup-button/kup-button.js +1 -0
  45. package/dist/collection/components/kup-combobox/kup-combobox.js +16 -13
  46. package/dist/collection/components/kup-dashboard/kup-dashboard-declarations.js +10 -0
  47. package/dist/collection/components/{kup-form-editor/kup-form-editor.css → kup-dashboard/kup-dashboard.css} +14 -6
  48. package/dist/collection/components/{kup-form-editor/kup-form-editor.js → kup-dashboard/kup-dashboard.js} +211 -152
  49. package/dist/collection/components/kup-data-table/kup-data-table-helper.js +42 -30
  50. package/dist/collection/components/kup-data-table/kup-data-table-state.js +1 -1
  51. package/dist/collection/components/kup-data-table/kup-data-table.js +7 -6
  52. package/dist/collection/components/kup-drawer/kup-drawer.css +5 -8
  53. package/dist/collection/components/kup-dropdown-button/kup-dropdown-button.js +1 -0
  54. package/dist/collection/components/kup-echart/kup-echart.js +9 -9
  55. package/dist/collection/components/kup-family-tree/kup-family-tree-declarations.js +14 -0
  56. package/dist/collection/components/kup-family-tree/kup-family-tree.css +171 -0
  57. package/dist/collection/components/kup-family-tree/kup-family-tree.js +854 -0
  58. package/dist/collection/components/kup-form/kup-form-declarations.js +25 -0
  59. package/dist/collection/components/kup-form/kup-form.css +99 -0
  60. package/dist/collection/components/kup-form/kup-form.js +647 -0
  61. package/dist/collection/components/kup-grid/kup-grid.js +1 -4
  62. package/dist/collection/components/kup-image-list/kup-image-list-state.js +9 -0
  63. package/dist/collection/components/kup-image-list/kup-image-list.css +0 -6
  64. package/dist/collection/components/kup-image-list/kup-image-list.js +113 -1
  65. package/dist/collection/components/kup-lazy/kup-lazy.css +13 -6
  66. package/dist/collection/components/kup-list/kup-list-helper.js +9 -3
  67. package/dist/collection/components/kup-photo-frame/kup-photo-frame.css +13 -3
  68. package/dist/collection/components/kup-photo-frame/kup-photo-frame.js +1 -1
  69. package/dist/collection/components/kup-text-field/kup-text-field-declarations.js +4 -0
  70. package/dist/collection/components/kup-text-field/kup-text-field.js +54 -0
  71. package/dist/collection/components/kup-time-picker/kup-time-picker.js +0 -6
  72. package/dist/collection/components/kup-tree/kup-tree.js +26 -9
  73. package/dist/collection/f-components/f-button/f-button.js +2 -2
  74. package/dist/collection/f-components/f-cell/f-cell-declarations.js +5 -1
  75. package/dist/collection/f-components/f-cell/f-cell.js +34 -114
  76. package/dist/collection/f-components/f-text-field/f-text-field.js +9 -1
  77. package/dist/collection/managers/kup-data/kup-data-cell-helper.js +48 -15
  78. package/dist/collection/managers/kup-data/kup-data-node-helper.js +69 -0
  79. package/dist/collection/managers/kup-data/kup-data.js +114 -6
  80. package/dist/collection/managers/kup-interact/kup-interact.js +3 -5
  81. package/dist/collection/managers/kup-language/kup-language-declarations.js +11 -0
  82. package/dist/collection/managers/kup-objects/kup-objects.js +10 -0
  83. package/dist/collection/managers/kup-scroll-on-hover/kup-scroll-on-hover-declarations.js +2 -0
  84. package/dist/collection/managers/kup-scroll-on-hover/kup-scroll-on-hover.js +131 -45
  85. package/dist/collection/managers/kup-theme/kup-theme-declarations.js +20 -3
  86. package/dist/collection/types/GenericTypes.js +3 -2
  87. package/dist/collection/utils/filters/filters-rows.js +4 -23
  88. package/dist/collection/utils/filters/filters-tree-items.js +2 -1
  89. package/dist/esm/{f-button-871a544b.js → f-button-cd948e50.js} +4 -4
  90. package/dist/esm/{f-cell-521ef17a.js → f-cell-474dd282.js} +46 -283
  91. package/dist/esm/f-checkbox-e06cf07b.js +27 -0
  92. package/dist/esm/{f-chip-1dda722f.js → f-chip-d6f2eb94.js} +3 -3
  93. package/dist/esm/{f-image-c468d8ae.js → f-image-914a03ef.js} +2 -2
  94. package/dist/esm/{f-paginator-utils-7dff8ff0.js → f-paginator-utils-a4a52732.js} +44 -366
  95. package/dist/esm/{f-text-field-d6c61c73.js → f-text-field-76341fe3.js} +11 -3
  96. package/dist/esm/{index-baeab1ac.js → index-e41330a5.js} +15 -8
  97. package/dist/esm/ketchup.js +3 -3
  98. package/dist/esm/kup-accordion.entry.js +3 -4
  99. package/dist/esm/kup-autocomplete_25.entry.js +222 -190
  100. package/dist/esm/kup-box.entry.js +1300 -0
  101. package/dist/esm/kup-calendar.entry.js +5 -7
  102. package/dist/esm/kup-cell.entry.js +7 -8
  103. package/dist/esm/kup-dash-list.entry.js +2 -4
  104. package/dist/esm/kup-dash_2.entry.js +3 -7
  105. package/dist/esm/kup-dashboard.entry.js +434 -0
  106. package/dist/esm/kup-drawer.entry.js +3 -4
  107. package/dist/esm/{kup-box_2.entry.js → kup-echart.entry.js} +61 -1347
  108. package/dist/esm/kup-family-tree.entry.js +482 -0
  109. package/dist/esm/kup-form.entry.js +474 -0
  110. package/dist/esm/kup-iframe.entry.js +2 -3
  111. package/dist/esm/kup-image-list.entry.js +70 -10
  112. package/dist/esm/kup-lazy.entry.js +3 -4
  113. package/dist/esm/kup-magic-box.entry.js +3 -4
  114. package/dist/esm/{kup-manager-58b075b4.js → kup-manager-86f440c7.js} +1762 -357
  115. package/dist/esm/kup-nav-bar.entry.js +2 -3
  116. package/dist/esm/kup-numeric-picker.entry.js +3 -3
  117. package/dist/esm/kup-photo-frame.entry.js +4 -5
  118. package/dist/esm/kup-probe.entry.js +2 -2
  119. package/dist/esm/kup-qlik.entry.js +2 -2
  120. package/dist/esm/kup-snackbar.entry.js +4 -5
  121. package/dist/esm/loader.js +3 -3
  122. package/dist/ketchup/ketchup.esm.js +1 -1
  123. package/dist/ketchup/p-00e1133d.entry.js +9 -0
  124. package/dist/ketchup/p-066f344a.entry.js +1 -0
  125. package/dist/ketchup/p-0c6e0647.entry.js +1 -0
  126. package/dist/ketchup/p-151f7c17.entry.js +27 -0
  127. package/dist/ketchup/p-1e9c03b0.entry.js +1 -0
  128. package/dist/ketchup/p-21ea11cb.js +30 -0
  129. package/dist/ketchup/{p-fac1a08b.entry.js → p-2f4e6c50.entry.js} +1 -1
  130. package/dist/ketchup/p-3586f59c.js +1 -0
  131. package/dist/ketchup/p-359fd90d.entry.js +1 -0
  132. package/dist/ketchup/p-389fd0bf.js +1 -0
  133. package/dist/ketchup/p-5552f156.js +1 -0
  134. package/dist/ketchup/{p-f09f2f98.entry.js → p-77aff9c1.entry.js} +1 -1
  135. package/dist/ketchup/p-7cfdf53c.entry.js +39 -0
  136. package/dist/ketchup/p-853a5178.entry.js +1 -0
  137. package/dist/ketchup/{p-44ec4f03.js → p-8673bd4e.js} +1 -1
  138. package/dist/ketchup/p-8b55b786.entry.js +1 -0
  139. package/dist/ketchup/p-95f5834b.entry.js +1 -0
  140. package/dist/ketchup/p-a2c595c4.js +1 -0
  141. package/dist/ketchup/p-ae91f27e.entry.js +1 -0
  142. package/dist/ketchup/p-af664379.js +1 -0
  143. package/dist/ketchup/p-b0b3989b.js +2 -0
  144. package/dist/ketchup/p-b3b65a61.entry.js +1 -0
  145. package/dist/ketchup/p-bc306a53.entry.js +1 -0
  146. package/dist/ketchup/{p-f71a1675.entry.js → p-c3783b77.entry.js} +1 -1
  147. package/dist/ketchup/{p-7eff4eee.js → p-cd4fc3fb.js} +1 -1
  148. package/dist/ketchup/p-cee76b14.entry.js +1 -0
  149. package/dist/ketchup/p-cfaea29b.entry.js +1 -0
  150. package/dist/ketchup/p-d2f51e7b.entry.js +1 -0
  151. package/dist/ketchup/p-df8e6a4d.entry.js +1 -0
  152. package/dist/ketchup/p-e60a1170.entry.js +1 -0
  153. package/dist/ketchup/p-e9a1ba04.entry.js +1 -0
  154. package/dist/types/components/kup-autocomplete/kup-autocomplete.d.ts +1 -16
  155. package/dist/types/components/{kup-form-editor/kup-form-editor-declarations.d.ts → kup-dashboard/kup-dashboard-declarations.d.ts} +9 -27
  156. package/dist/types/components/{kup-form-editor/kup-form-editor.d.ts → kup-dashboard/kup-dashboard.d.ts} +17 -9
  157. package/dist/types/components/kup-data-table/kup-data-table-state.d.ts +1 -1
  158. package/dist/types/components/kup-family-tree/kup-family-tree-declarations.d.ts +37 -0
  159. package/dist/types/components/kup-family-tree/kup-family-tree.d.ts +82 -0
  160. package/dist/types/components/kup-form/kup-form-declarations.d.ts +60 -0
  161. package/dist/types/components/kup-form/kup-form.d.ts +63 -0
  162. package/dist/types/components/kup-image-list/kup-image-list-state.d.ts +6 -0
  163. package/dist/types/components/kup-image-list/kup-image-list.d.ts +17 -0
  164. package/dist/types/components/kup-text-field/kup-text-field-declarations.d.ts +4 -0
  165. package/dist/types/components/kup-text-field/kup-text-field.d.ts +10 -0
  166. package/dist/types/components/kup-time-picker/kup-time-picker.d.ts +0 -6
  167. package/dist/types/components/kup-tree/kup-tree-declarations.d.ts +2 -0
  168. package/dist/types/components/kup-tree/kup-tree.d.ts +0 -1
  169. package/dist/types/components.d.ts +492 -231
  170. package/dist/types/f-components/f-cell/f-cell-declarations.d.ts +4 -1
  171. package/dist/types/f-components/f-text-field/f-text-field-declarations.d.ts +2 -0
  172. package/dist/types/managers/kup-data/kup-data-cell-helper.d.ts +13 -6
  173. package/dist/types/managers/kup-data/kup-data-declarations.d.ts +8 -0
  174. package/dist/types/managers/kup-data/kup-data-node-helper.d.ts +15 -1
  175. package/dist/types/managers/kup-data/kup-data.d.ts +9 -2
  176. package/dist/types/managers/kup-language/kup-language-declarations.d.ts +11 -1
  177. package/dist/types/managers/kup-objects/kup-objects.d.ts +6 -0
  178. package/dist/types/managers/kup-scroll-on-hover/kup-scroll-on-hover-declarations.d.ts +9 -1
  179. package/dist/types/managers/kup-scroll-on-hover/kup-scroll-on-hover.d.ts +7 -5
  180. package/dist/types/types/GenericTypes.d.ts +3 -2
  181. package/dist/types/utils/filters/filters-rows.d.ts +0 -2
  182. package/package.json +2 -2
  183. package/dist/cjs/cell-utils-a78d6fac.js +0 -168
  184. package/dist/cjs/f-cell-69294bca.js +0 -653
  185. package/dist/cjs/kup-field.cjs.entry.js +0 -241
  186. package/dist/cjs/kup-form-editor.cjs.entry.js +0 -404
  187. package/dist/cjs/utils-6287d878.js +0 -447
  188. package/dist/collection/assets/form-editor.js +0 -338
  189. package/dist/collection/components/kup-field/kup-field-declarations.js +0 -15
  190. package/dist/collection/components/kup-field/kup-field.css +0 -48
  191. package/dist/collection/components/kup-field/kup-field.js +0 -514
  192. package/dist/collection/components/kup-form-editor/kup-form-editor-declarations.js +0 -23
  193. package/dist/esm/cell-utils-964da6b5.js +0 -160
  194. package/dist/esm/kup-field.entry.js +0 -237
  195. package/dist/esm/kup-form-editor.entry.js +0 -400
  196. package/dist/esm/utils-d7e4b3c2.js +0 -428
  197. package/dist/ketchup/p-1ae66cc5.js +0 -1
  198. package/dist/ketchup/p-34b74425.js +0 -1
  199. package/dist/ketchup/p-3c11e615.entry.js +0 -1
  200. package/dist/ketchup/p-4ffbc3ff.js +0 -1
  201. package/dist/ketchup/p-5264a3e6.entry.js +0 -1
  202. package/dist/ketchup/p-65974e48.entry.js +0 -1
  203. package/dist/ketchup/p-65b46587.entry.js +0 -40
  204. package/dist/ketchup/p-6dff70f8.entry.js +0 -1
  205. package/dist/ketchup/p-7454cb92.js +0 -1
  206. package/dist/ketchup/p-80968627.entry.js +0 -1
  207. package/dist/ketchup/p-8cdf61a4.js +0 -1
  208. package/dist/ketchup/p-954cc340.entry.js +0 -1
  209. package/dist/ketchup/p-976244f9.entry.js +0 -9
  210. package/dist/ketchup/p-99e0d768.entry.js +0 -1
  211. package/dist/ketchup/p-a0f6e25c.entry.js +0 -1
  212. package/dist/ketchup/p-a615a92b.entry.js +0 -1
  213. package/dist/ketchup/p-aca0e54b.js +0 -30
  214. package/dist/ketchup/p-b8939a8b.entry.js +0 -1
  215. package/dist/ketchup/p-bfc3bac7.js +0 -1
  216. package/dist/ketchup/p-c5ce8951.entry.js +0 -1
  217. package/dist/ketchup/p-d2ee56dd.entry.js +0 -1
  218. package/dist/ketchup/p-db71436b.entry.js +0 -27
  219. package/dist/ketchup/p-e0035c58.js +0 -1
  220. package/dist/ketchup/p-e1039cf2.entry.js +0 -1
  221. package/dist/ketchup/p-ea10176c.entry.js +0 -1
  222. package/dist/types/components/kup-field/kup-field-declarations.d.ts +0 -25
  223. package/dist/types/components/kup-field/kup-field.d.ts +0 -90
@@ -2,1295 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-eb556444.js');
6
- const kupManager = require('./kup-manager-7a941909.js');
7
- const cellUtils = require('./cell-utils-a78d6fac.js');
8
- const fPaginatorUtils = require('./f-paginator-utils-8fa501b3.js');
9
- const utils = require('./utils-6287d878.js');
10
- const fImage = require('./f-image-89f25556.js');
11
- const fChip = require('./f-chip-b00897d7.js');
5
+ const index = require('./index-31125378.js');
6
+ const kupManager = require('./kup-manager-7c514a30.js');
12
7
  const GenericVariables = require('./GenericVariables-a9ed17ee.js');
13
- const fCell = require('./f-cell-69294bca.js');
14
- require('./f-button-ac179257.js');
15
- require('./f-button-declarations-b611587f.js');
16
- require('./f-text-field-e1e45ade.js');
17
-
18
- /**
19
- * Props of the kup-box component.
20
- * Used to export every prop in an object.
21
- */
22
- var KupBoxProps;
23
- (function (KupBoxProps) {
24
- KupBoxProps["cardData"] = "Data of the card linked to the box when the latter's layout must be a premade template.";
25
- KupBoxProps["columns"] = "Number of columns.";
26
- KupBoxProps["customStyle"] = "Custom style of the component.";
27
- KupBoxProps["data"] = "Actual data of the box.";
28
- KupBoxProps["dragEnabled"] = "Enable dragging.";
29
- KupBoxProps["dropEnabled"] = "Enable dropping.";
30
- KupBoxProps["dropOnSection"] = "Drop can be done in section.";
31
- KupBoxProps["enableRowActions"] = "If enabled, a button to load / display the row actions will be displayed on the right of every box.";
32
- KupBoxProps["globalFilter"] = "When set to true it activates the global filter.";
33
- KupBoxProps["globalFilterValue"] = "The value of the global filter.";
34
- KupBoxProps["kanban"] = "Displays the boxlist as a Kanban.";
35
- KupBoxProps["layout"] = "How the field will be displayed. If not present, a default one will be created.";
36
- KupBoxProps["multiSelection"] = "Enable multi selection.";
37
- KupBoxProps["pageSelected"] = "Current page number.";
38
- KupBoxProps["pageSize"] = "Number of boxes per page.";
39
- KupBoxProps["pagination"] = "Enables pagination.";
40
- KupBoxProps["rowsPerPage"] = "Number of current rows per page.";
41
- KupBoxProps["scrollOnHover"] = "Activates the scroll on hover function.";
42
- KupBoxProps["selectBox"] = "Automatically selects the box at the specified index.";
43
- KupBoxProps["selectedRowsState"] = "Multiple selection.";
44
- KupBoxProps["showSelection"] = "If enabled, highlights the selected box/boxes.";
45
- KupBoxProps["sortBy"] = "If sorting is enabled, specifies which column to sort.";
46
- KupBoxProps["sortEnabled"] = "Enable sorting.";
47
- KupBoxProps["stateId"] = "";
48
- KupBoxProps["store"] = "";
49
- KupBoxProps["swipeDisabled"] = "Disable swipe.";
50
- })(KupBoxProps || (KupBoxProps = {}));
51
-
52
- class KupBoxState {
53
- constructor() {
54
- this.globalFilterValue = '';
55
- this.sortBy = '';
56
- this.selectedRowsState = '';
57
- this.pageSelected = 1;
58
- this.rowsPerPage = 0;
59
- this.load = false;
60
- }
61
- /*Add attribute*/
62
- toDebugString() {
63
- // TODO
64
- return 'box state';
65
- }
66
- }
67
-
68
- const kupBoxCss = ":host{--kup_box_background_color:var(\n --kup-box-background-color,\n var(--kup-background-color)\n );--kup_box_color:var(--kup-box-color, var(--kup-text-color));--kup_box_font_family:var(--kup-box-font-family, var(--kup-font-family));--kup_box_font_size:var(--kup-box-font-size, var(--kup-font-size));--kup_box_grid_gap:var(--kup-box-grid-gap, 1em);--kup_box_hover_box_shadow:var(\n --kup-box-hover-box-shadow,\n 0px 0px 7.5px 0px rgba(128, 128, 128, 0.5)\n );--kup_box_primary_color_rgb:var(\n --kup-box-primary-color-rgb,\n var(--kup-primary-color-rgb)\n );--kup_box_transition:var(--kup-box-transition, 0.25s);display:block;font-family:var(--kup_box_font_family);font-size:var(--kup_box_font_size)}.box-component{background:var(--kup_box_background_color);transition:border var(--kup_box_transition) ease}.box-component[kup-drag-over]{position:relative;border:3px dashed var(--kup-border-color)}#box-container{display:grid;grid-gap:var(--kup_box_grid_gap);color:var(--kup_box_color);overflow:auto}#box-container.is-kanban .kanban-section{overflow:auto}#box-container.is-kanban .box-wrapper{padding-top:1em}#box-container.is-kanban .box-wrapper .box{overflow:auto}#box-container *{box-sizing:border-box}#box-container .box-wrapper{display:flex;align-items:center}#box-container .box-wrapper .box{flex-grow:1;cursor:pointer;position:relative;display:flex;transition:background-color var(--kup_box_transition) ease, box-shadow var(--kup_box_transition) ease, border var(--kup_box_transition) ease}#box-container .box-wrapper .box.draggable{touch-action:none;user-select:none}#box-container .box-wrapper .box.column{flex-direction:column}#box-container .box-wrapper .box:hover{box-shadow:var(--kup_box_hover_box_shadow)}#box-container .box-wrapper .box.selected{background-color:rgba(var(--kup_box_primary_color_rgb), 0.175)}#box-container .box-wrapper .box.selected .box-section.titled>h3{background-color:transparent}#box-container .box-wrapper .box[kup-draggable]{opacity:0.5}#box-container .box-wrapper .box[kup-drag-over]{border:3px dashed var(--kup-border-color);position:relative;z-index:2}#box-container .box-wrapper .box .box-section{display:flex;flex-direction:row;flex:1 1 1%;flex-wrap:wrap}#box-container .box-wrapper .box .box-section.column{flex-direction:column;justify-content:center;flex-wrap:unset}#box-container .box-wrapper .box .box-section.column>.box-section{flex:0 0 auto}#box-container .box-wrapper .box .box-section.grid{display:grid}#box-container .box-wrapper .box .box-section .box-object{min-height:16px}#box-container .box-wrapper .box .box-section .box-object img{height:auto}#box-container .box-wrapper .box .box-section.collapse-section .header{border-top:1px solid var(--kup-border-color);color:rgba(var(--kup-text-color-rgb), 0.75);display:flex;justify-content:space-around;width:100%}#box-container .box-wrapper .box .box-section.collapse-section .header .header-content{margin:0.5em;display:flex;align-items:center}#box-container .box-wrapper .box .box-section.collapse-section .header .header-content .f-image{transition:transform 0.15s}#box-container .box-wrapper .box .box-section.collapse-section .header .header-content .f-image.toggled{transform:rotate(-180deg)}#box-container .box-wrapper .box .box-section.collapse-section .header .header-content .kup-icon.kup-dropdown-icon{margin:0;-webkit-mask:var(--kup-dropdown-icon);mask:var(--kup-dropdown-icon)}#box-container .box-wrapper .box .box-section.collapse-section .content{display:none;width:100%}#box-container .box-wrapper .box .box-section.collapse-section.open .content{display:block}#box-container .box-wrapper .box .box-section.titled{border:1px solid var(--kup-border-color);padding-top:5px;position:relative;margin:10px}#box-container .box-wrapper .box .box-section.titled>h3{background:var(--kup-background-color);font-size:calc(var(--kup-font-size) * 1.15);position:absolute;margin:0px;padding:0 8px;top:-11px;left:5px;transition:background-color 0.25s ease}#box-container .box-wrapper .box .box-selection{position:absolute;top:0.5em;right:0.5em;z-index:1}#box-container .box-wrapper .row-actions-wrapper .row-actions-toggler{position:relative;width:24px;height:24px;margin-left:3px}#box-container .box-wrapper .row-actions-wrapper .row-actions-toggler svg{cursor:pointer;opacity:0;fill:var(--kup-text-color);transition:opacity 500ms ease-out}#box-container .box-wrapper .row-actions-wrapper .row-actions-toggler .row-action-menu{background:var(--kup-background-color);border:1px solid var(--kup-border-color);box-shadow:0px 0px 7.5px 0px rgba(128, 128, 128, 0.5);position:absolute;top:0;right:24px;display:none;z-index:10}#box-container .box-wrapper .row-actions-wrapper .row-actions-toggler .row-action-menu ul{list-style-type:none;margin:0;padding:0}#box-container .box-wrapper .row-actions-wrapper .row-actions-toggler .row-action-menu ul>li{cursor:pointer;white-space:nowrap;padding:0 12px;display:flex;align-items:center;line-height:30px}#box-container .box-wrapper .row-actions-wrapper .row-actions-toggler .row-action-menu ul>li:not(:last-child){border-bottom:1px solid var(--kup-border-color)}#box-container .box-wrapper .row-actions-wrapper .row-actions-toggler .row-action-menu.open{display:block}#box-container .box-wrapper:hover .row-actions-wrapper .row-actions-toggler svg{opacity:1}#sort-panel,#global-filter{margin-bottom:1em}:host(.kup-center-aligned) #kup-component .box-section{text-align:center}:host(.kup-center-aligned) #kup-component .box-section .f-cell{justify-content:center;margin:auto;text-align:center}:host(.kup-center-aligned) #kup-component .box-section .f-cell .f-cell__content{justify-content:center;margin:auto;text-align:center}:host(.kup-center-aligned) #kup-component .box-section .f-cell img{margin:auto}:host(.kup-right-aligned) #kup-component .box-section{text-align:right}:host(.kup-right-aligned) #kup-component .box-section .f-cell{justify-content:flex-end;margin-left:auto;margin-right:0;text-align:right}:host(.kup-right-aligned) #kup-component .box-section .f-cell .f-cell__content{justify-content:flex-end;margin-left:auto;margin-right:0;text-align:right}:host(.kup-right-aligned) #kup-component .box-section .f-cell img{margin-left:auto;margin-right:0}:host(.kup-top-aligned) #box-container .box-wrapper .box .box-section .column{justify-content:flex-start}:host(.kup-bottom-aligned) #box-container .box-wrapper .box .box-section .column{justify-content:flex-end}:host(:not(.kup-borderless)) .box{border:1px solid var(--kup-border-color)}:host(.kup-flat-on-hover) #box-container .box-wrapper .box:hover{box-shadow:none}:host(.kup-shaped) .box{border-radius:10px}:host(.kup-round) .box{border-radius:25px}:host(.kup-dashed-sections) .box-section{border:2px dashed var(--kup-text-color)}:host(:not(.kup-paddingless)) #box-container .box{padding:3px}:host(:not(.kup-paddingless)) #box-container .box .box-section .box-object{padding:1px 4px}:host(:not(.kup-paddingless)) #box-container .box .box-section.last-child{margin:3px 4px}:host(.kup-danger){--kup-box-primary-color-rgb:var(--kup-danger-color-rgb)}:host(.kup-info){--kup-box-primary-color-rgb:var(--kup-info-color-rgb)}:host(.kup-secondary){--kup-box-primary-color-rgb:var(--kup-secondary-color-rgb)}:host(.kup-success){--kup-box-primary-color-rgb:var(--kup-success-color-rgb)}:host(.kup-warning){--kup-box-primary-color-rgb:var(--kup-warning-color-rgb)}";
69
-
70
- const KupBox = class {
71
- constructor(hostRef) {
72
- index.registerInstance(this, hostRef);
73
- this.kupBoxClick = index.createEvent(this, "kup-box-click", 6);
74
- this.kupBoxSelected = index.createEvent(this, "kup-box-selected", 6);
75
- this.kupAutoBoxSelect = index.createEvent(this, "kup-box-autoselect", 6);
76
- this.kupRowActionMenuClick = index.createEvent(this, "kup-box-rowactionmenuclick", 6);
77
- this.kupRowActionClick = index.createEvent(this, "kup-box-rowactionclick", 6);
78
- this.kupDidLoad = index.createEvent(this, "kup-box-didload", 6);
79
- this.kupDidUnload = index.createEvent(this, "kup-box-didunload", 6);
80
- this.kupBoxContextMenu = index.createEvent(this, "kup-box-contextmenu", 6);
81
- /*-------------------------------------------------*/
82
- /* S t a t e s */
83
- /*-------------------------------------------------*/
84
- this.collapsedSection = {};
85
- this.selectedRows = [];
86
- this.currentPage = 1;
87
- this.currentRowsPerPage = 10;
88
- this.state = new KupBoxState();
89
- /*-------------------------------------------------*/
90
- /* P r o p s */
91
- /*-------------------------------------------------*/
92
- /**
93
- * Data of the card linked to the box when the latter's layout must be a premade template.
94
- * @default null
95
- */
96
- this.cardData = null;
97
- /**
98
- * Number of columns
99
- * @default 1
100
- */
101
- this.columns = 1;
102
- /**
103
- * Custom style of the component.
104
- * @default ""
105
- * @see https://ketchup.smeup.com/ketchup-showcase/#/customization
106
- */
107
- this.customStyle = '';
108
- /**
109
- * Actual data of the box.
110
- * @default null
111
- */
112
- this.data = null;
113
- /**
114
- * Enable dragging
115
- * @default false
116
- */
117
- this.dragEnabled = false;
118
- /**
119
- * Enable dropping
120
- * @default false
121
- */
122
- this.dropEnabled = false;
123
- /**
124
- * Drop can be done in section
125
- * @default false
126
- */
127
- this.dropOnSection = false;
128
- /**
129
- * When set to true, editable cells will be rendered using input components.
130
- * @default false
131
- */
132
- this.editableData = false;
133
- /**
134
- * If enabled, a button to load / display the row actions
135
- * will be displayed on the right of every box
136
- * @default false
137
- */
138
- this.enableRowActions = false;
139
- /**
140
- * When set to true it activates the global filter.
141
- * @default false
142
- */
143
- this.globalFilter = false;
144
- /**
145
- * The value of the global filter.
146
- * @default ""
147
- */
148
- this.globalFilterValue = '';
149
- /**
150
- * Displays the boxlist as a Kanban.
151
- * @default null
152
- */
153
- this.kanban = null;
154
- /**
155
- * Enable multi selection
156
- * @default false
157
- */
158
- this.multiSelection = false;
159
- /**
160
- * Current page number
161
- * @default 1
162
- */
163
- this.pageSelected = 1;
164
- /**
165
- * Number of boxes per page
166
- * @default 10
167
- */
168
- this.pageSize = 10;
169
- /**
170
- * Enables pagination
171
- * @default false
172
- */
173
- this.pagination = false;
174
- /**
175
- * Activates the scroll on hover function.
176
- * @default false
177
- */
178
- this.scrollOnHover = false;
179
- /**
180
- * If enabled, highlights the selected box/boxes
181
- * @default true
182
- */
183
- this.showSelection = true;
184
- /**
185
- * Enable sorting
186
- * @default false
187
- */
188
- this.sortEnabled = false;
189
- this.stateId = '';
190
- /**
191
- * Disable swipe
192
- * @default false
193
- */
194
- this.swipeDisabled = false;
195
- /*-------------------------------------------------*/
196
- /* I n t e r n a l V a r i a b l e s */
197
- /*-------------------------------------------------*/
198
- /**
199
- * Instance of the KupManager class.
200
- */
201
- this.kupManager = kupManager.kupManagerInstance();
202
- this.visibleColumns = [];
203
- this.rows = [];
204
- this.filteredRows = [];
205
- this.sectionRef = null;
206
- this.rowsRefs = [];
207
- this.hold = false;
208
- this.interactableDrag = [];
209
- this.interactableDrop = [];
210
- this.interactableTouch = [];
211
- }
212
- initWithPersistedState() {
213
- if (this.store && this.stateId) {
214
- const state = this.store.getState(this.stateId);
215
- if (state != null) {
216
- this.kupManager.debug.logMessage(this, 'Initialize with state for stateId ' +
217
- this.stateId +
218
- ': ' +
219
- state);
220
- // *** PROPS ***
221
- this.sortBy = this.state.sortBy;
222
- this.globalFilterValue = this.state.globalFilterValue;
223
- this.selectedRowsState = this.state.selectedRowsState;
224
- this.pageSelected = this.state.pageSelected;
225
- this.rowsPerPage = this.state.rowsPerPage;
226
- }
227
- }
228
- }
229
- persistState() {
230
- if (this.store && this.stateId) {
231
- let somethingChanged = false;
232
- if (!this.kupManager.objects.deepEqual(this.state.sortBy, this.sortBy)) {
233
- this.state.sortBy = this.sortBy;
234
- somethingChanged = true;
235
- }
236
- if (!this.kupManager.objects.deepEqual(this.state.globalFilterValue, this.globalFilterValue)) {
237
- this.state.globalFilterValue = this.globalFilterValue;
238
- somethingChanged = true;
239
- }
240
- if (!this.kupManager.objects.deepEqual(this.state.pageSelected, this.currentPage)) {
241
- this.state.pageSelected = this.currentPage;
242
- somethingChanged = true;
243
- }
244
- if (!this.kupManager.objects.deepEqual(this.state.rowsPerPage, this.currentRowsPerPage)) {
245
- this.state.rowsPerPage = this.currentRowsPerPage;
246
- somethingChanged = true;
247
- }
248
- const selectedRowsState = this.selectedRows.reduce((accumulator, row, currentIndex) => {
249
- const prefix = currentIndex > 0 ? ';' : '';
250
- return accumulator + prefix + row.id;
251
- }, '');
252
- if (!this.kupManager.objects.deepEqual(this.state.selectedRowsState, selectedRowsState)) {
253
- this.state.selectedRowsState = selectedRowsState;
254
- somethingChanged = true;
255
- }
256
- if (!this.state.load) {
257
- this.state.load = true;
258
- return;
259
- }
260
- if (somethingChanged) {
261
- this.kupManager.debug.logMessage(this, 'Persisting state for stateId ' +
262
- this.stateId +
263
- ': ' +
264
- this.state);
265
- this.store.persistState(this.stateId, this.state);
266
- }
267
- }
268
- }
269
- /*-------------------------------------------------*/
270
- /* W a t c h e r s */
271
- /*-------------------------------------------------*/
272
- rowsPerPageHandler(newValue) {
273
- this.currentRowsPerPage = newValue;
274
- }
275
- recalculateRows() {
276
- this.initRows();
277
- }
278
- onDataChanged() {
279
- utils.identify(this.getRows());
280
- this.initVisibleColumns();
281
- this.initRows();
282
- this.checkLayout();
283
- }
284
- onLayoutChanged() {
285
- this.checkLayout();
286
- }
287
- onSelectBoxChanged() {
288
- this.handleAutomaticBoxSelection();
289
- }
290
- /*-------------------------------------------------*/
291
- /* P u b l i c M e t h o d s */
292
- /*-------------------------------------------------*/
293
- /**
294
- * Used to retrieve component's props values.
295
- * @param {boolean} descriptions - When provided and true, the result will be the list of props with their description.
296
- * @returns {Promise<GenericObject>} List of props as object, each key will be a prop.
297
- */
298
- async getProps(descriptions) {
299
- return utils.getProps(this, KupBoxProps, descriptions);
300
- }
301
- async loadRowActions(row, actions) {
302
- row.actions = actions;
303
- // show menu
304
- this.rowActionMenuOpened = row;
305
- }
306
- /**
307
- * This method is used to trigger a new render of the component.
308
- */
309
- async refresh() {
310
- index.forceUpdate(this);
311
- }
312
- /**
313
- * Sets the props to the component.
314
- * @param {GenericObject} props - Object containing props that will be set to the component.
315
- */
316
- async setProps(props) {
317
- utils.setProps(this, KupBoxProps, props);
318
- }
319
- /*-------------------------------------------------*/
320
- /* P r i v a t e M e t h o d s */
321
- /*-------------------------------------------------*/
322
- getColumns() {
323
- return this.data && this.data.columns
324
- ? this.data.columns
325
- : [{ title: '', name: '', size: undefined }];
326
- }
327
- initVisibleColumns() {
328
- this.visibleColumns = this.getColumns().filter((column) => {
329
- if (column.hasOwnProperty('visible')) {
330
- return column.visible;
331
- }
332
- return true;
333
- });
334
- }
335
- getRows() {
336
- return this.data && this.data.rows ? this.data.rows : [];
337
- }
338
- initRows() {
339
- this.filteredRows = this.getRows();
340
- if (this.globalFilter && this.globalFilterValue) {
341
- // filtering rows
342
- this.filteredRows = fPaginatorUtils.filterRows(this.filteredRows, null, this.globalFilterValue, this.visibleColumns);
343
- }
344
- this.rows = this.sortRows(this.filteredRows);
345
- if (this.pagination) {
346
- this.rows = fPaginatorUtils.paginateRows(this.rows, this.currentPage, this.currentRowsPerPage, false);
347
- }
348
- }
349
- sortRows(rows) {
350
- let sortedRows = rows;
351
- if (this.sortBy) {
352
- // create 'fake' sortObject
353
- const sortObject = {
354
- column: this.sortBy,
355
- sortMode: kupManager.SortMode.A,
356
- };
357
- sortedRows = fPaginatorUtils.sortRows(sortedRows, [sortObject]);
358
- }
359
- return sortedRows;
360
- }
361
- checkScrollOnHover() {
362
- if (!this.kupManager.scrollOnHover.isRegistered(this.boxContainer)) {
363
- if (this.scrollOnHover) {
364
- this.kupManager.scrollOnHover.register(this.boxContainer);
365
- }
366
- }
367
- else {
368
- if (!this.scrollOnHover) {
369
- this.kupManager.scrollOnHover.unregister(this.boxContainer);
370
- }
371
- }
372
- }
373
- checkLayout() {
374
- // check if there is a layout.
375
- // if not, create a default layout
376
- if (this.layout) {
377
- this.boxLayout = this.layout;
378
- return;
379
- }
380
- // only one section, containing all visible fields
381
- const section = {
382
- horizontal: false,
383
- sections: [],
384
- };
385
- // adding box objects to section
386
- const visibleColumns = this.visibleColumns;
387
- let size = visibleColumns.length;
388
- let content = [];
389
- let cnt = 0;
390
- while (size-- > 0) {
391
- content.push({
392
- column: visibleColumns[cnt++].name,
393
- });
394
- }
395
- section.content = content;
396
- // creating a new layout
397
- this.boxLayout = {
398
- sections: [section],
399
- };
400
- }
401
- onSortChange(e) {
402
- let column = cellUtils.getColumnByName(this.visibleColumns, e.detail.value);
403
- this.sortBy = column.name;
404
- }
405
- onGlobalFilterChange({ detail }) {
406
- let value = '';
407
- if (detail && detail.value) {
408
- value = detail.value;
409
- }
410
- this.globalFilterValue = value;
411
- }
412
- isSectionExpanded(row, section) {
413
- if (!row.id || !section.id) {
414
- return false;
415
- }
416
- return (this.collapsedSection[section.id] &&
417
- this.collapsedSection[section.id][row.id]);
418
- }
419
- handleAutomaticBoxSelection() {
420
- if (this.selectBox &&
421
- this.selectBox > 0 &&
422
- this.selectBox <= this.data.rows.length) {
423
- this.selectedRows = [];
424
- for (let boxRow of this.data.rows) {
425
- if (boxRow.id === (this.selectBox - 1).toString()) {
426
- this.selectedRows.push(boxRow);
427
- break;
428
- }
429
- }
430
- this.kupAutoBoxSelect.emit({
431
- comp: this,
432
- id: this.rootElement.id,
433
- row: this.selectedRows[0],
434
- });
435
- }
436
- }
437
- getEventDetails(el, e) {
438
- let boxObject = null;
439
- let cell = null;
440
- let row = null;
441
- let column = null;
442
- if (el) {
443
- boxObject =
444
- el.closest('.box-object') || el.querySelector('.box-object');
445
- }
446
- if (boxObject) {
447
- cell = boxObject['data-cell'];
448
- row = boxObject['data-row'];
449
- column = cellUtils.getColumnByName(this.visibleColumns, boxObject.dataset.column);
450
- }
451
- return {
452
- boxObject: boxObject ? boxObject : null,
453
- column: column ? column : null,
454
- cell: cell ? cell : null,
455
- originalEvent: e,
456
- row: row ? row : null,
457
- };
458
- }
459
- contextMenuHandler(e) {
460
- const details = this.getEventDetails(e.target, e);
461
- return details;
462
- }
463
- /**
464
- * Checks if the element is the svg that opens the "row actions menu"
465
- * @param element the element to check
466
- */
467
- checkIfElementIsActionMenuIcon(element) {
468
- if (element.tagName && element.parentElement) {
469
- return (element.tagName === 'svg' &&
470
- element.parentElement.classList.contains('row-actions-toggler'));
471
- }
472
- return false;
473
- }
474
- // event listeners
475
- onBoxClick({ target }, row) {
476
- if (!(target instanceof HTMLElement)) {
477
- return;
478
- }
479
- // searching parent
480
- let element = target;
481
- let classList = element.classList;
482
- while (!classList.contains('box-object') &&
483
- !classList.contains('box-section') &&
484
- !classList.contains('box')) {
485
- element = element.parentElement;
486
- if (element === null) {
487
- break;
488
- }
489
- classList = element.classList;
490
- }
491
- // evaluating column
492
- let column = null;
493
- if (classList.contains('box-object')) {
494
- column = element.dataset.column;
495
- }
496
- this.kupBoxClick.emit({
497
- comp: this,
498
- id: this.rootElement.id,
499
- row,
500
- column,
501
- });
502
- // selecting box
503
- if (this.multiSelection) {
504
- // triggering multi selection
505
- this.onSelectionCheckChange(row);
506
- }
507
- else {
508
- this.selectedRows = [row];
509
- }
510
- }
511
- onSelectionCheckChange(row) {
512
- var index = -1;
513
- for (let i = 0; i < this.selectedRows.length; i++) {
514
- const select = this.selectedRows[i];
515
- if (select.id === row.id) {
516
- index = i;
517
- break;
518
- }
519
- }
520
- if (index >= 0) {
521
- // remove row
522
- this.selectedRows.splice(index, 1);
523
- this.selectedRows = [...this.selectedRows];
524
- }
525
- else {
526
- // add row
527
- this.selectedRows = [...this.selectedRows, row];
528
- }
529
- this.kupBoxSelected.emit({
530
- comp: this,
531
- id: this.rootElement.id,
532
- rows: this.selectedRows,
533
- });
534
- }
535
- toggleSectionExpand(row, section) {
536
- // check if section / row has id
537
- if (!section.id) {
538
- // error
539
- console.error('cannot expand / collapse a section withoun an ID');
540
- return;
541
- }
542
- if (!row.id) {
543
- // error
544
- console.error('cannot expand / collapse a section of a row without ad id');
545
- return;
546
- }
547
- // check if section already in collapsedSection
548
- if (!this.collapsedSection[section.id]) {
549
- // adding element and row, setting it to expanded
550
- this.collapsedSection[section.id] = {};
551
- this.collapsedSection[section.id][row.id] = true;
552
- }
553
- else {
554
- const s = this.collapsedSection[section.id];
555
- if (!s[row.id]) {
556
- s[row.id] = true;
557
- }
558
- else {
559
- s[row.id] = !s[row.id];
560
- }
561
- }
562
- // triggering rendering
563
- this.collapsedSection = Object.assign({}, this.collapsedSection);
564
- }
565
- onRowAction(row) {
566
- if (!row) {
567
- return;
568
- }
569
- if (row === this.rowActionMenuOpened) {
570
- // closing menu
571
- this.rowActionMenuOpened = null;
572
- return;
573
- }
574
- if (row.actions) {
575
- // actions already loaded -> show menu
576
- this.rowActionMenuOpened = row;
577
- }
578
- else {
579
- // no actions -> triggering event
580
- this.kupRowActionMenuClick.emit({
581
- comp: this,
582
- id: this.rootElement.id,
583
- row,
584
- });
585
- }
586
- }
587
- onRowActionClick(row, action, index) {
588
- this.kupRowActionClick.emit({
589
- comp: this,
590
- id: this.rootElement.id,
591
- row,
592
- action,
593
- index,
594
- });
595
- }
596
- /**
597
- * see onDocumentClick in kup-combo
598
- */
599
- clickFunction(event) {
600
- try {
601
- const targets = event.composedPath();
602
- for (let target of targets) {
603
- if (this.checkIfElementIsActionMenuIcon(target)) {
604
- return;
605
- }
606
- }
607
- }
608
- catch (err) {
609
- if (this.checkIfElementIsActionMenuIcon(event.target)) {
610
- return;
611
- }
612
- }
613
- this.rowActionMenuOpened = null;
614
- }
615
- handlePageChange(pageNumber) {
616
- const newPage = fPaginatorUtils.pageChange(pageNumber, this.filteredRows.length, this.currentRowsPerPage);
617
- if (newPage) {
618
- this.currentPage = newPage;
619
- }
620
- }
621
- handleRowsPerPageChange(rowsNumber) {
622
- const newRows = fPaginatorUtils.rowsPerPageChange(rowsNumber, this.filteredRows.length);
623
- if (newRows) {
624
- this.currentRowsPerPage = newRows;
625
- this.adjustPaginator();
626
- }
627
- }
628
- adjustPaginator() {
629
- const numberOfRows = this.rows.length;
630
- // check if current page is valid
631
- const numberOfPages = Math.ceil(numberOfRows / this.currentRowsPerPage);
632
- if (this.currentPage > numberOfPages) {
633
- // reset page
634
- this.currentPage = 1;
635
- }
636
- }
637
- // render methods
638
- renderSectionAsCard(row) {
639
- let skipPush = false;
640
- let cardData = {
641
- button: [],
642
- image: [],
643
- progressbar: [],
644
- text: [],
645
- };
646
- //First cycle sets specific binds between cardIDs and cells
647
- for (var key in row.cells) {
648
- if (row.cells.hasOwnProperty(key)) {
649
- var cell = row.cells[key];
650
- if (cell.cardID !== undefined) {
651
- switch (cell.obj.p) {
652
- case 'BTN':
653
- do {
654
- cardData.button.push({});
655
- } while (cardData.button.length < cell.cardID);
656
- cardData.button[cell.cardID] = {
657
- label: cell.value,
658
- };
659
- break;
660
- case 'IMG':
661
- do {
662
- cardData.image.push({});
663
- } while (cardData.image.length < cell.cardID);
664
- cardData.image[cell.cardID] = {
665
- resource: cell.value,
666
- };
667
- break;
668
- case 'PGB':
669
- do {
670
- cardData.progressbar.push({});
671
- } while (cardData.progressbar.length < cell.cardID);
672
- cardData.progressbar[cell.cardID] = {
673
- value: cell.value,
674
- };
675
- break;
676
- default:
677
- do {
678
- cardData.text.push('');
679
- } while (cardData.text.length < cell.cardID);
680
- cardData.text[cell.cardID] = cell.value;
681
- break;
682
- }
683
- }
684
- }
685
- }
686
- //Second cycle sets leftover binds automatically
687
- for (var key in row.cells) {
688
- if (row.cells.hasOwnProperty(key)) {
689
- var cell = row.cells[key];
690
- if (cell.cardID === undefined) {
691
- skipPush = false;
692
- switch (cell.obj.p) {
693
- case 'BTN':
694
- for (let index = 0; index < cardData.button.length; index++) {
695
- //If there are empty elements, the first one will be used
696
- if (cardData.button[index] === {}) {
697
- cardData.button[index] = {
698
- label: cell.value,
699
- };
700
- skipPush = true;
701
- break;
702
- }
703
- }
704
- //Otherwise a new element will be pushed
705
- if (!skipPush) {
706
- cardData.button.push({
707
- label: cell.value,
708
- });
709
- }
710
- break;
711
- case 'IMG':
712
- for (let index = 0; index < cardData.image.length; index++) {
713
- //If there are empty elements, the first one will be used
714
- if (cardData.image[index] === {}) {
715
- cardData.image[index] = {
716
- resource: cell.value,
717
- };
718
- skipPush = true;
719
- break;
720
- }
721
- }
722
- //Otherwise a new element will be pushed
723
- if (!skipPush) {
724
- cardData.image.push({
725
- resource: cell.value,
726
- });
727
- }
728
- break;
729
- case 'PGB':
730
- for (let index = 0; index < cardData.progressbar.length; index++) {
731
- //If there are empty elements, the first one will be used
732
- if (cardData.progressbar[index] === {}) {
733
- cardData.progressbar[index] = {
734
- value: cell.value,
735
- };
736
- skipPush = true;
737
- break;
738
- }
739
- }
740
- //Otherwise a new element will be pushed
741
- if (!skipPush) {
742
- cardData.progressbar.push({
743
- value: cell.value,
744
- });
745
- }
746
- break;
747
- default:
748
- for (let index = 0; index < cardData.text.length; index++) {
749
- //If there are empty elements, the first one will be used
750
- if (cardData.text[index] === '') {
751
- cardData.text[index] = cell.value;
752
- skipPush = true;
753
- break;
754
- }
755
- }
756
- //Otherwise a new element will be pushed
757
- if (!skipPush) {
758
- cardData.text.push(cell.value);
759
- }
760
- break;
761
- }
762
- }
763
- }
764
- }
765
- return index.h("kup-card", Object.assign({ data: cardData }, this.cardData));
766
- }
767
- renderRow(row) {
768
- const visibleColumns = [...this.visibleColumns];
769
- let boxContent = null;
770
- // if layout in row, use that one
771
- let rowLayout = row.layout;
772
- if (!rowLayout) {
773
- // otherwise, use 'default' layout
774
- rowLayout = this.boxLayout;
775
- }
776
- let horizontal = false;
777
- if (rowLayout) {
778
- if (rowLayout.horizontal) {
779
- horizontal = true;
780
- }
781
- const sections = rowLayout.sections;
782
- let size = sections.length;
783
- let cnt = 0;
784
- if (size > 0) {
785
- boxContent = [];
786
- }
787
- // create fake parent section
788
- const parent = {
789
- horizontal: horizontal,
790
- };
791
- while (size-- > 0) {
792
- if (this.cardData !== null &&
793
- this.cardData !== undefined &&
794
- typeof this.cardData === 'object') {
795
- boxContent.push(this.renderSectionAsCard(row));
796
- }
797
- else {
798
- boxContent.push(this.renderSection(sections[cnt++], parent, row, visibleColumns));
799
- }
800
- }
801
- }
802
- var isSelected = false;
803
- for (let select of this.selectedRows) {
804
- if (select.id === row.id) {
805
- isSelected = true;
806
- }
807
- }
808
- let multiSel = null;
809
- if (this.multiSelection) {
810
- multiSel = (index.h("div", { class: "box-selection" }, index.h("kup-checkbox", { checked: isSelected })));
811
- }
812
- let rowObject = null;
813
- if (this.enableRowActions && !this.swipeDisabled) {
814
- const menuClass = {
815
- 'row-action-menu': true,
816
- open: row === this.rowActionMenuOpened,
817
- };
818
- let rowActionMenuContent = null;
819
- if (row.actions) {
820
- const actionItems = row.actions.map((item, index$1) => {
821
- const iconClass = `icon ${item.icon}`;
822
- return (index.h("li", { tabindex: "0", onClick: () => this.onRowActionClick(row, item, index$1) }, index.h("div", { class: iconClass }), index.h("div", { class: "text" }, item.text)));
823
- });
824
- rowActionMenuContent = index.h("ul", null, actionItems);
825
- }
826
- rowObject = (index.h("div", { class: "row-actions-wrapper" }, index.h("div", { class: "row-actions-toggler" }, index.h("svg", { version: "1.1", width: "24", height: "24", viewBox: "0 0 24 24", onClick: () => this.onRowAction(row) }, index.h("path", { d: "M12,16A2,2 0 0,1 14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18A2,2 0 0,1 12,16M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8A2,2 0 0,1 10,6A2,2 0 0,1 12,4Z" })), index.h("div", { class: menuClass }, rowActionMenuContent))));
827
- }
828
- let badges = null;
829
- if (row.badgeData && row.badgeData.length > 0) {
830
- badges = row.badgeData.map((badge) => (index.h("kup-badge", { text: badge.text, class: badge['className']
831
- ? `centered ${badge['className']}`
832
- : 'centered', imageData: badge.imageData })));
833
- }
834
- const boxClass = {
835
- box: true,
836
- draggable: this.dragEnabled,
837
- selected: this.showSelection && isSelected,
838
- column: !horizontal,
839
- };
840
- return (index.h("div", { class: "box-wrapper" }, index.h("div", { class: boxClass, onClick: (e) => this.onBoxClick(e, row), ref: (el) => this.rowsRefs.push(el) }, multiSel, boxContent, badges), rowObject));
841
- }
842
- renderSection(section, parent, row, visibleColumns) {
843
- let sectionContent = null;
844
- if (section.sections && section.sections.length > 0) {
845
- // rendering child
846
- const sections = section.sections;
847
- let size = sections.length;
848
- let cnt = 0;
849
- if (size > 0) {
850
- sectionContent = [];
851
- }
852
- while (size-- > 0) {
853
- sectionContent.push(this.renderSection(sections[cnt++], section, row, visibleColumns));
854
- }
855
- }
856
- else if (section.content) {
857
- // rendering box objects
858
- const content = section.content;
859
- let size = content.length;
860
- let cnt = 0;
861
- if (size > 0) {
862
- sectionContent = [];
863
- }
864
- while (size-- > 0) {
865
- sectionContent.push(this.renderBoxObject({
866
- boxObject: content[cnt++],
867
- row,
868
- visibleColumns,
869
- }, true));
870
- }
871
- }
872
- else if (visibleColumns.length > 0) {
873
- const column = visibleColumns[0];
874
- sectionContent = this.renderBoxObject({
875
- boxObject: { column: column.name },
876
- row,
877
- visibleColumns,
878
- });
879
- }
880
- const sectionExpanded = this.isSectionExpanded(row, section);
881
- const isGrid = !!section.columns;
882
- const sectionClass = {
883
- 'box-section': true,
884
- open: sectionExpanded,
885
- column: !isGrid && !section.horizontal,
886
- grid: isGrid,
887
- titled: !!section.title,
888
- 'last-child': !section.sections || section.sections.length === 0,
889
- };
890
- const sectionStyle = section.style || {};
891
- if (section.dim && parent) {
892
- sectionStyle.flex = `0 0 ${section.dim}`;
893
- if (parent.horizontal) {
894
- sectionStyle.maxWidth = section.dim;
895
- }
896
- else {
897
- sectionStyle.maxHeight = section.dim;
898
- }
899
- }
900
- if (isGrid) {
901
- sectionStyle['grid-template-columns'] = `repeat(${section.columns}, 1fr)`;
902
- }
903
- let sectionContainer = null;
904
- if (section.collapsible) {
905
- sectionClass['collapse-section'] = true;
906
- const contentClass = {
907
- content: true,
908
- };
909
- // TODO I18N
910
- let headerTitle = '';
911
- if (section.title) {
912
- headerTitle = section.title;
913
- }
914
- else if (sectionExpanded) {
915
- headerTitle = this.kupManager.language.translate(kupManager.KupLanguageGeneric.COLLAPSE);
916
- }
917
- else {
918
- headerTitle = this.kupManager.language.translate(kupManager.KupLanguageGeneric.EXPAND);
919
- }
920
- sectionContainer = (index.h("div", { class: sectionClass, style: sectionStyle }, index.h("div", { class: contentClass }, sectionContent), index.h("div", { class: "header", role: "button", onClick: (e) => {
921
- e.stopPropagation();
922
- this.toggleSectionExpand(row, section);
923
- } }, index.h("div", { class: "header-content" }, index.h("span", null, headerTitle), index.h(fImage.FImage, { resource: `${kupManager.KupThemeIconValues.DROPDOWN}`, sizeX: "1.25em", sizeY: "1.25em", wrapperClass: sectionExpanded ? 'toggled' : '' })))));
924
- }
925
- else {
926
- const title = section.title ? index.h("h3", null, section.title) : null;
927
- sectionContainer = (index.h("div", { class: sectionClass, style: sectionStyle }, title, sectionContent));
928
- }
929
- return sectionContainer;
930
- }
931
- renderBoxObject({ boxObject, row, visibleColumns, }, fromSection) {
932
- const classObj = {
933
- 'box-object': true,
934
- };
935
- const boStyle = {};
936
- let column = null;
937
- let index$1 = -1;
938
- for (let i = 0; i < visibleColumns.length; i++) {
939
- const c = visibleColumns[i];
940
- if (c.name === boxObject.column) {
941
- index$1 = i;
942
- break;
943
- }
944
- }
945
- if (index$1 >= 0) {
946
- column = visibleColumns[index$1];
947
- visibleColumns.splice(index$1, 1);
948
- }
949
- else if (fromSection) {
950
- column = this.data.columns.find((x) => x.name === boxObject.column);
951
- }
952
- const cell = row.cells[boxObject.column];
953
- let title = undefined;
954
- if (cell && !this.kupManager.objects.isEmptyKupObj(cell.obj)) {
955
- classObj['is-obj'] = true;
956
- if (this.kupManager.debug.isDebug()) {
957
- title =
958
- cell.obj.t + '; ' + cell.obj.p + '; ' + cell.obj.k + ';';
959
- }
960
- }
961
- const cellProps = {
962
- cell: cell,
963
- column: column,
964
- component: this,
965
- editable: this.editableData,
966
- renderKup: true,
967
- row: row,
968
- setSizes: true,
969
- shape: boxObject.shape,
970
- };
971
- return (index.h("div", { "data-cell": cell, "data-row": row, "data-column": boxObject.column, class: classObj, style: boStyle, title: title }, cell && column ? (index.h(fCell.FCell, Object.assign({}, cellProps))) : (index.h("span", null, boxObject.value))));
972
- }
973
- /**
974
- * Prepares the kanban sections by sorting the boxlist's data.
975
- * @returns {{jsx: VNode[], style: { [index: string]: string }}} jsx contains the virtual nodes of the Kanban sections, style contains the grid CSS settings.
976
- */
977
- kanbanMode() {
978
- // Testing whether there are columns to group by
979
- if (!this.kanban.columns || this.kanban.columns.length === 0) {
980
- this.kupManager.debug.logMessage(this, 'No columns to group by detected.', kupManager.KupDebugCategory.ERROR);
981
- return {
982
- jsx: (index.h("p", { id: "empty-data-message" }, this.kupManager.language.translate(kupManager.KupLanguageGeneric.EMPTY_DATA))),
983
- style: { 'grid-template-columns': `repeat(1, 1fr)` },
984
- };
985
- }
986
- const kanbanSections = [];
987
- // Creating empty sections from prop-defined labels
988
- if (this.kanban.labels) {
989
- for (let index = 0; index < this.kanban.labels.length; index++) {
990
- const key = this.kanban.labels[index];
991
- kanbanSections.push({ labels: key, nodes: [] });
992
- }
993
- }
994
- // Browsing all rows
995
- for (let index = 0; index < this.rows.length; index++) {
996
- let key = [];
997
- // Creating the key for the current row
998
- for (let j = 0; j < this.kanban.columns.length; j++) {
999
- try {
1000
- key.push(this.rows[index].cells[this.kanban.columns[j]].value);
1001
- }
1002
- catch (error) {
1003
- this.kupManager.debug.logMessage(this, error, kupManager.KupDebugCategory.WARNING);
1004
- }
1005
- }
1006
- const check = {
1007
- found: false,
1008
- index: null,
1009
- };
1010
- // Browsing key array to search whether the current key exists or not
1011
- for (let j = 0; j < kanbanSections.length; j++) {
1012
- let sortingKey = kanbanSections[j].labels;
1013
- let found = true;
1014
- for (let i = 0; i < sortingKey.length; i++) {
1015
- if (key[i] !== sortingKey[i]) {
1016
- found = false;
1017
- break;
1018
- }
1019
- }
1020
- if (found) {
1021
- check.found = true;
1022
- check.index = j;
1023
- break;
1024
- }
1025
- }
1026
- // If current key exists, box will be pushed into the existing array of virtual nodes
1027
- if (check.found) {
1028
- kanbanSections[check.index].nodes.push(this.renderRow(this.rows[index]));
1029
- }
1030
- else {
1031
- // Otherwise, a new section will be defined starting with just the current virtal node
1032
- kanbanSections.push({
1033
- labels: key,
1034
- nodes: [this.renderRow(this.rows[index])],
1035
- });
1036
- }
1037
- }
1038
- // Once the arrays are set, they need to be emptied into columns
1039
- const kanbanJSX = [];
1040
- for (let index$1 = 0; index$1 < kanbanSections.length; index$1++) {
1041
- const sortingKey = kanbanSections[index$1].labels;
1042
- const props = {
1043
- data: [],
1044
- };
1045
- for (let index = 0; index < sortingKey.length; index++) {
1046
- props.data.push({
1047
- value: sortingKey[index],
1048
- id: sortingKey[index],
1049
- });
1050
- }
1051
- kanbanJSX.push(index.h("div", { class: "kanban-section" }, index.h(fChip.FChip, Object.assign({}, props)), kanbanSections[index$1].nodes));
1052
- }
1053
- return {
1054
- jsx: kanbanJSX,
1055
- style: {
1056
- 'grid-template-columns': this.kanban.size
1057
- ? `repeat(${Object.keys(kanbanSections).length}, ${this.kanban.size})`
1058
- : `repeat(${Object.keys(kanbanSections).length}, 1fr)`,
1059
- },
1060
- };
1061
- }
1062
- didLoadInteractables() {
1063
- this.interactableTouch.push(this.boxContainer);
1064
- const tapCb = (e) => {
1065
- if (this.hold) {
1066
- this.hold = false;
1067
- return;
1068
- }
1069
- switch (e.button) {
1070
- case 2:
1071
- this.kupBoxContextMenu.emit({
1072
- comp: this,
1073
- id: this.rootElement.id,
1074
- details: this.contextMenuHandler(e),
1075
- });
1076
- break;
1077
- }
1078
- };
1079
- const holdCb = (e) => {
1080
- if (e.pointerType === 'pen' || e.pointerType === 'touch') {
1081
- this.hold = true;
1082
- this.kupBoxContextMenu.emit({
1083
- comp: this,
1084
- id: this.rootElement.id,
1085
- details: this.contextMenuHandler(e),
1086
- });
1087
- }
1088
- };
1089
- this.kupManager.interact.on(this.boxContainer, kupManager.KupPointerEventTypes.TAP, tapCb);
1090
- this.kupManager.interact.on(this.boxContainer, kupManager.KupPointerEventTypes.HOLD, holdCb);
1091
- }
1092
- didRenderInteractables() {
1093
- if (this.dragEnabled) {
1094
- for (let index = 0; index < this.rowsRefs.length; index++) {
1095
- const row = this.rowsRefs[index];
1096
- const dataCb = () => {
1097
- const cellEl = this.rootElement.shadowRoot.querySelector('.box-object:hover');
1098
- return {
1099
- cell: cellEl['data-cell'],
1100
- column: cellUtils.getColumnByName(this.visibleColumns, cellEl.dataset.column),
1101
- id: this.rootElement.id,
1102
- multiple: this.multiSelection,
1103
- row: cellEl['data-row'],
1104
- selectedRows: this.selectedRows,
1105
- };
1106
- };
1107
- if (row && !this.interactableDrag.includes(row)) {
1108
- this.interactableDrag.push(row);
1109
- this.kupManager.interact.draggable(row, {
1110
- allowFrom: '.box-object',
1111
- cursorChecker() {
1112
- return null;
1113
- },
1114
- }, {
1115
- callback: dataCb,
1116
- }, kupManager.KupDragEffect.BADGE);
1117
- }
1118
- }
1119
- }
1120
- if (this.dropEnabled) {
1121
- const dataCb = () => {
1122
- const receivingDetails = this.getEventDetails(this.rootElement.shadowRoot.querySelector('.box:hover'));
1123
- return {
1124
- cell: receivingDetails.cell,
1125
- column: receivingDetails.column,
1126
- id: this.rootElement.id,
1127
- row: receivingDetails.row,
1128
- };
1129
- };
1130
- if (!this.interactableDrop.includes(this.sectionRef)) {
1131
- this.interactableDrop.push(this.sectionRef);
1132
- this.kupManager.interact.dropzone(this.sectionRef, {
1133
- accept: `[${kupManager.kupDraggableCellAttr}]`,
1134
- }, {
1135
- dispatcher: this.rootElement,
1136
- type: kupManager.KupDropEventTypes.BOX,
1137
- });
1138
- }
1139
- for (let index = 0; index < this.rowsRefs.length; index++) {
1140
- const row = this.rowsRefs[index];
1141
- if (row && !this.interactableDrop.includes(row)) {
1142
- this.interactableDrop.push(row);
1143
- this.kupManager.interact.dropzone(row, {
1144
- accept: `[${kupManager.kupDraggableCellAttr}]`,
1145
- }, {
1146
- callback: dataCb,
1147
- dispatcher: this.rootElement,
1148
- type: kupManager.KupDropEventTypes.BOX,
1149
- });
1150
- }
1151
- }
1152
- }
1153
- }
1154
- /*-------------------------------------------------*/
1155
- /* L i f e c y c l e H o o k s */
1156
- /*-------------------------------------------------*/
1157
- componentWillLoad() {
1158
- this.kupManager.debug.logLoad(this, false);
1159
- if (this.rowsPerPage) {
1160
- this.currentRowsPerPage = this.rowsPerPage;
1161
- }
1162
- else if (this.pageSize) {
1163
- this.currentRowsPerPage = this.pageSize;
1164
- }
1165
- if (this.data &&
1166
- this.data.rows &&
1167
- this.currentRowsPerPage > this.data.rows.length) {
1168
- this.currentRowsPerPage = this.data.rows.length;
1169
- }
1170
- this.kupManager.language.register(this);
1171
- this.kupManager.theme.register(this);
1172
- this.onDataChanged();
1173
- this.adjustPaginator();
1174
- }
1175
- componentDidLoad() {
1176
- this.handleAutomaticBoxSelection();
1177
- // When component is created, then the listener is set. @See clickFunction for more details
1178
- document.addEventListener('click', this.clickFunction.bind(this));
1179
- this.currentPage = this.pageSelected;
1180
- if (this.multiSelection && this.selectedRowsState) {
1181
- this.selectedRows = [];
1182
- let selectedIds = this.selectedRowsState.split(';');
1183
- this.selectedRows = this.data.rows.filter((r) => {
1184
- return selectedIds.indexOf(r.id) >= 0;
1185
- });
1186
- }
1187
- this.didLoadInteractables();
1188
- this.kupDidLoad.emit({ comp: this, id: this.rootElement.id });
1189
- this.kupManager.debug.logLoad(this, true);
1190
- }
1191
- componentWillRender() {
1192
- this.kupManager.debug.logRender(this, false);
1193
- }
1194
- componentDidRender() {
1195
- this.checkScrollOnHover();
1196
- this.persistState();
1197
- this.didRenderInteractables();
1198
- this.kupManager.debug.logRender(this, true);
1199
- }
1200
- render() {
1201
- const isKanban = !!(typeof this.kanban === 'object' && this.kanban !== null);
1202
- let sortPanel = null;
1203
- if (this.sortEnabled) {
1204
- // creating items
1205
- const visibleColumnsItems = this.visibleColumns.map((column) => {
1206
- const item = {
1207
- value: column.title,
1208
- id: column.name,
1209
- selected: column.name === this.sortBy,
1210
- };
1211
- return item;
1212
- });
1213
- const items = [{ value: '', id: '' }, ...visibleColumnsItems];
1214
- let textfieldData = {
1215
- label: this.kupManager.language.translate(kupManager.KupLanguageGeneric.SORT_BY),
1216
- trailingIcon: true,
1217
- };
1218
- let listData = {
1219
- data: items,
1220
- selectable: true,
1221
- };
1222
- let data = {
1223
- 'kup-text-field': textfieldData,
1224
- 'kup-list': listData,
1225
- };
1226
- sortPanel = (index.h("div", { id: "sort-panel" }, index.h("kup-combobox", { data: data, initialValue: this.sortBy, "onkup-combobox-itemclick": (e) => this.onSortChange(e) })));
1227
- }
1228
- let filterPanel = null;
1229
- if (this.globalFilter) {
1230
- filterPanel = (index.h("div", { id: "global-filter" }, index.h("kup-text-field", { fullWidth: true, label: this.kupManager.language.translate(kupManager.KupLanguageSearch.SEARCH), icon: kupManager.KupThemeIconValues.SEARCH, initialValue: this.globalFilterValue, "onkup-textfield-input": (event) => {
1231
- window.clearTimeout(this.globalFilterTimeout);
1232
- this.globalFilterTimeout = window.setTimeout(() => this.onGlobalFilterChange(event), 600);
1233
- } })));
1234
- }
1235
- let paginator = null;
1236
- if (this.pagination) {
1237
- paginator = (index.h(fPaginatorUtils.FPaginator, { id: top ? 'top-paginator' : 'bottom-paginator', currentPage: this.currentPage, max: this.filteredRows.length, mode: fPaginatorUtils.FPaginatorMode.SIMPLE, perPage: this.currentRowsPerPage
1238
- ? this.currentRowsPerPage
1239
- : this.pageSize, onPageChange: (e) => this.handlePageChange(e.detail.value), onRowsChange: (e) => this.handleRowsPerPageChange(e.detail.value) }));
1240
- }
1241
- let boxContent = null;
1242
- let containerStyle = {};
1243
- if (this.rows.length === 0) {
1244
- boxContent = (index.h("p", { id: "empty-data-message" }, this.kupManager.language.translate(kupManager.KupLanguageGeneric.EMPTY_DATA)));
1245
- containerStyle = { 'grid-template-columns': `repeat(1, 1fr)` };
1246
- }
1247
- else if (isKanban) {
1248
- const kanban = this.kanbanMode();
1249
- boxContent = kanban.jsx;
1250
- containerStyle = kanban.style;
1251
- }
1252
- else {
1253
- containerStyle = {
1254
- 'grid-template-columns': `repeat(${this.columns}, 1fr)`,
1255
- };
1256
- const rows = this.rows;
1257
- let size = rows.length;
1258
- let cnt = 0;
1259
- boxContent = [];
1260
- while (size-- > 0) {
1261
- boxContent.push(this.renderRow(rows[cnt++]));
1262
- }
1263
- }
1264
- return (index.h(index.Host, null, index.h("style", null, this.kupManager.theme.setKupStyle(this.rootElement)), index.h("div", { id: GenericVariables.componentWrapperId }, index.h("div", { class: 'box-component', ref: (el) => (this.sectionRef = el) }, sortPanel, filterPanel, paginator, index.h("div", { class: isKanban ? 'is-kanban' : '', id: 'box-container', style: containerStyle, onContextMenu: (e) => {
1265
- e.preventDefault();
1266
- }, ref: (el) => (this.boxContainer =
1267
- el) }, boxContent)))));
1268
- }
1269
- disconnectedCallback() {
1270
- this.kupManager.interact.unregister(this.interactableDrag.concat(this.interactableDrop));
1271
- this.kupManager.language.unregister(this);
1272
- this.kupManager.theme.unregister(this);
1273
- if (this.scrollOnHover) {
1274
- this.kupManager.scrollOnHover.unregister(this.boxContainer);
1275
- }
1276
- // When component is destroyed, then the listener is removed. @See clickFunction for more details
1277
- document.removeEventListener('click', this.clickFunction.bind(this));
1278
- this.kupDidUnload.emit({ comp: this, id: this.rootElement.id });
1279
- }
1280
- get rootElement() { return index.getElement(this); }
1281
- static get watchers() { return {
1282
- "pageSize": ["rowsPerPageHandler", "recalculateRows"],
1283
- "globalFilterValue": ["recalculateRows"],
1284
- "sortBy": ["recalculateRows"],
1285
- "pagination": ["recalculateRows"],
1286
- "currentPage": ["recalculateRows"],
1287
- "currentRowsPerPage": ["recalculateRows"],
1288
- "data": ["onDataChanged"],
1289
- "layout": ["onLayoutChanged"],
1290
- "selectBox": ["onSelectBoxChanged"]
1291
- }; }
1292
- };
1293
- KupBox.style = kupBoxCss;
1294
8
 
1295
9
  /*! *****************************************************************************
1296
10
  Copyright (c) Microsoft Corporation.
@@ -16094,55 +14808,55 @@ registerShape('bezierCurve', BezierCurve);
16094
14808
  registerShape('arc', Arc);
16095
14809
 
16096
14810
  const graphic = /*#__PURE__*/Object.freeze({
16097
- __proto__: null,
16098
- updateProps: updateProps$1,
16099
- initProps: initProps,
16100
- removeElement: removeElement,
16101
- removeElementWithFadeOut: removeElementWithFadeOut,
16102
- isElementRemoved: isElementRemoved,
16103
- extendShape: extendShape,
16104
- extendPath: extendPath,
16105
- registerShape: registerShape,
16106
- getShapeClass: getShapeClass,
16107
- makePath: makePath,
16108
- makeImage: makeImage,
16109
- mergePath: mergePath,
16110
- resizePath: resizePath,
16111
- subPixelOptimizeLine: subPixelOptimizeLine,
16112
- subPixelOptimizeRect: subPixelOptimizeRect,
16113
- subPixelOptimize: subPixelOptimize,
16114
- getTransform: getTransform$1,
16115
- applyTransform: applyTransform,
16116
- transformDirection: transformDirection,
16117
- groupTransition: groupTransition,
16118
- clipPointsByRect: clipPointsByRect,
16119
- clipRectByRect: clipRectByRect,
16120
- createIcon: createIcon,
16121
- linePolygonIntersect: linePolygonIntersect,
16122
- lineLineIntersect: lineLineIntersect$1,
16123
- setTooltipConfig: setTooltipConfig,
16124
- traverseElements: traverseElements,
16125
- Group: Group$3,
16126
- Image: ZRImage,
16127
- Text: ZRText,
16128
- Circle: Circle,
16129
- Ellipse: Ellipse,
16130
- Sector: Sector,
16131
- Ring: Ring,
16132
- Polygon: Polygon,
16133
- Polyline: Polyline$1,
16134
- Rect: Rect$2,
16135
- Line: Line$1,
16136
- BezierCurve: BezierCurve,
16137
- Arc: Arc,
16138
- IncrementalDisplayable: IncrementalDisplayable,
16139
- CompoundPath: CompoundPath,
16140
- LinearGradient: LinearGradient,
16141
- RadialGradient: RadialGradient,
16142
- BoundingRect: BoundingRect,
16143
- OrientedBoundingRect: OrientedBoundingRect,
16144
- Point: Point,
16145
- Path: Path
14811
+ __proto__: null,
14812
+ updateProps: updateProps$1,
14813
+ initProps: initProps,
14814
+ removeElement: removeElement,
14815
+ removeElementWithFadeOut: removeElementWithFadeOut,
14816
+ isElementRemoved: isElementRemoved,
14817
+ extendShape: extendShape,
14818
+ extendPath: extendPath,
14819
+ registerShape: registerShape,
14820
+ getShapeClass: getShapeClass,
14821
+ makePath: makePath,
14822
+ makeImage: makeImage,
14823
+ mergePath: mergePath,
14824
+ resizePath: resizePath,
14825
+ subPixelOptimizeLine: subPixelOptimizeLine,
14826
+ subPixelOptimizeRect: subPixelOptimizeRect,
14827
+ subPixelOptimize: subPixelOptimize,
14828
+ getTransform: getTransform$1,
14829
+ applyTransform: applyTransform,
14830
+ transformDirection: transformDirection,
14831
+ groupTransition: groupTransition,
14832
+ clipPointsByRect: clipPointsByRect,
14833
+ clipRectByRect: clipRectByRect,
14834
+ createIcon: createIcon,
14835
+ linePolygonIntersect: linePolygonIntersect,
14836
+ lineLineIntersect: lineLineIntersect$1,
14837
+ setTooltipConfig: setTooltipConfig,
14838
+ traverseElements: traverseElements,
14839
+ Group: Group$3,
14840
+ Image: ZRImage,
14841
+ Text: ZRText,
14842
+ Circle: Circle,
14843
+ Ellipse: Ellipse,
14844
+ Sector: Sector,
14845
+ Ring: Ring,
14846
+ Polygon: Polygon,
14847
+ Polyline: Polyline$1,
14848
+ Rect: Rect$2,
14849
+ Line: Line$1,
14850
+ BezierCurve: BezierCurve,
14851
+ Arc: Arc,
14852
+ IncrementalDisplayable: IncrementalDisplayable,
14853
+ CompoundPath: CompoundPath,
14854
+ LinearGradient: LinearGradient,
14855
+ RadialGradient: RadialGradient,
14856
+ BoundingRect: BoundingRect,
14857
+ OrientedBoundingRect: OrientedBoundingRect,
14858
+ Point: Point,
14859
+ Path: Path
16146
14860
  });
16147
14861
 
16148
14862
  var EMPTY_OBJ = {};
@@ -94721,7 +93435,7 @@ const KupEchart = class {
94721
93435
  * @returns {Promise<GenericObject>} List of props as object, each key will be a prop.
94722
93436
  */
94723
93437
  async getProps(descriptions) {
94724
- return utils.getProps(this, KupEchartProps, descriptions);
93438
+ return kupManager.getProps(this, KupEchartProps, descriptions);
94725
93439
  }
94726
93440
  /**
94727
93441
  * This method is used to trigger a new render of the component.
@@ -94753,7 +93467,7 @@ const KupEchart = class {
94753
93467
  * @param {GenericObject} props - Object containing props that will be set to the component.
94754
93468
  */
94755
93469
  async setProps(props) {
94756
- utils.setProps(this, KupEchartProps, props);
93470
+ kupManager.setProps(this, KupEchartProps, props);
94757
93471
  }
94758
93472
  /*-------------------------------------------------*/
94759
93473
  /* L i f e c y c l e H o o k s */
@@ -94878,7 +93592,7 @@ _KupEchart_chartContainer = new WeakMap(), _KupEchart_chartEl = new WeakMap(), _
94878
93592
  const treatedCells = {};
94879
93593
  for (const key in cells) {
94880
93594
  const cell = cells[key];
94881
- const title = cellUtils.getColumnByName(dataset.columns, key).title;
93595
+ const title = kupManager.getColumnByName(dataset.columns, key).title;
94882
93596
  treatedCells[title] = cell;
94883
93597
  }
94884
93598
  if (treatedCells[0]) {
@@ -94890,7 +93604,7 @@ _KupEchart_chartContainer = new WeakMap(), _KupEchart_chartEl = new WeakMap(), _
94890
93604
  for (let i = 0; i < dataset.rows.length; i++) {
94891
93605
  const cells = dataset.rows[i].cells;
94892
93606
  const treatedCells = {};
94893
- const title = cellUtils.getColumnByName(dataset.columns, this.axis).title;
93607
+ const title = kupManager.getColumnByName(dataset.columns, this.axis).title;
94894
93608
  treatedCells[title] = cells[this.axis];
94895
93609
  x.push(treatedCells[title].value);
94896
93610
  }
@@ -94905,7 +93619,7 @@ _KupEchart_chartContainer = new WeakMap(), _KupEchart_chartEl = new WeakMap(), _
94905
93619
  if (this.series.includes(key)) {
94906
93620
  const cell = row.cells[key];
94907
93621
  const value = cell.value;
94908
- const column = cellUtils.getColumnByName(this.data.columns, key);
93622
+ const column = kupManager.getColumnByName(this.data.columns, key);
94909
93623
  if (column) {
94910
93624
  const title = column.title;
94911
93625
  if (!y[title]) {
@@ -94924,7 +93638,7 @@ _KupEchart_chartContainer = new WeakMap(), _KupEchart_chartEl = new WeakMap(), _
94924
93638
  if (key !== this.axis) {
94925
93639
  const cell = row.cells[key];
94926
93640
  const value = cell.value;
94927
- const column = cellUtils.getColumnByName(this.data.columns, key);
93641
+ const column = kupManager.getColumnByName(this.data.columns, key);
94928
93642
  if (column) {
94929
93643
  const title = column.title;
94930
93644
  if (!y[title]) {
@@ -95209,29 +93923,29 @@ _KupEchart_chartContainer = new WeakMap(), _KupEchart_chartEl = new WeakMap(), _
95209
93923
  if (type == KupEchartTypes.GAUSSIAN) {
95210
93924
  if (!__classPrivateFieldGet(this, _KupEchart_kupManager, "f").objects.isNumber(column.obj)) {
95211
93925
  const newDataset = __classPrivateFieldGet(this, _KupEchart_kupManager, "f").data.distinct(this.data, [column.name]);
95212
- values = __classPrivateFieldGet(this, _KupEchart_kupManager, "f").data.cell.getValue(newDataset, [
95213
- column.name,
95214
- ]);
93926
+ values = __classPrivateFieldGet(this, _KupEchart_kupManager, "f").data.cell.getValue(newDataset, column);
95215
93927
  __classPrivateFieldGet(this, _KupEchart_gaussianDatasets, "f")[column.name] = newDataset;
95216
93928
  }
95217
93929
  else {
95218
- values = y[key];
93930
+ values = [{ value: y[key] }];
95219
93931
  }
95220
93932
  }
95221
93933
  else {
95222
93934
  if (needSortDataset) {
95223
93935
  // if there is only one series other than the Gaussian then I apply the sorting algorithm that arranges the data in "mountain"
95224
93936
  __classPrivateFieldSet(this, _KupEchart_sortedDataset, __classPrivateFieldGet(this, _KupEchart_kupManager, "f").data.sort(this.data, 'normalDistribution', column.name), "f");
95225
- values = __classPrivateFieldGet(this, _KupEchart_kupManager, "f").data.cell.getValue(__classPrivateFieldGet(this, _KupEchart_sortedDataset, "f"), [column.name]);
93937
+ values = __classPrivateFieldGet(this, _KupEchart_kupManager, "f").data.cell.getValue(__classPrivateFieldGet(this, _KupEchart_sortedDataset, "f"), column);
95226
93938
  x = __classPrivateFieldGet(this, _KupEchart_instances, "m", _KupEchart_createX).call(this, __classPrivateFieldGet(this, _KupEchart_sortedDataset, "f"));
95227
93939
  }
95228
93940
  else {
95229
- values = __classPrivateFieldGet(this, _KupEchart_kupManager, "f").data.cell.getValue(this.data, [
95230
- column.name,
95231
- ]);
93941
+ values = __classPrivateFieldGet(this, _KupEchart_kupManager, "f").data.cell.getValue(this.data, column);
95232
93942
  }
95233
93943
  }
95234
- __classPrivateFieldGet(this, _KupEchart_instances, "m", _KupEchart_addSeries).call(this, type, series, values, key, mixedSeries, needSortDataset);
93944
+ const justValues = new Array();
93945
+ for (let i = 0; i < values.length; i++) {
93946
+ justValues.push(values[i].value);
93947
+ }
93948
+ __classPrivateFieldGet(this, _KupEchart_instances, "m", _KupEchart_addSeries).call(this, type, series, justValues, key, mixedSeries, needSortDataset);
95235
93949
  i++;
95236
93950
  }
95237
93951
  // "any" because type is mismanaged inside echarts library
@@ -95492,5 +94206,4 @@ _KupEchart_chartContainer = new WeakMap(), _KupEchart_chartEl = new WeakMap(), _
95492
94206
  };
95493
94207
  KupEchart.style = kupEchartCss;
95494
94208
 
95495
- exports.kup_box = KupBox;
95496
94209
  exports.kup_echart = KupEchart;