@sme.up/ketchup 11.0.0-SNAPSHOT-20241028084747 → 11.0.0-SNAPSHOT-20241028142004

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 (191) hide show
  1. package/dist/cjs/{f-cell-0732e0d2.js → f-cell-58ab0503.js} +18 -11
  2. package/dist/cjs/f-cell-58ab0503.js.map +1 -0
  3. package/dist/cjs/{f-chip-aa5c5160.js → f-chip-0afbca0a.js} +2 -2
  4. package/dist/cjs/{f-chip-aa5c5160.js.map → f-chip-0afbca0a.js.map} +1 -1
  5. package/dist/cjs/{f-paginator-utils-75af8439.js → f-paginator-utils-d4d4f9af.js} +2 -2
  6. package/dist/cjs/{f-paginator-utils-75af8439.js.map → f-paginator-utils-d4d4f9af.js.map} +1 -1
  7. package/dist/cjs/{f-text-field-a04ebf4f.js → f-text-field-b270e67b.js} +2 -2
  8. package/dist/cjs/{f-text-field-a04ebf4f.js.map → f-text-field-b270e67b.js.map} +1 -1
  9. package/dist/cjs/index.cjs.js +1 -1
  10. package/dist/cjs/kup-accordion.cjs.entry.js +1 -1
  11. package/dist/cjs/kup-activity-timeline.cjs.entry.js +2 -2
  12. package/dist/cjs/kup-autocomplete_28.cjs.entry.js +6 -6
  13. package/dist/cjs/kup-box.cjs.entry.js +6 -6
  14. package/dist/cjs/kup-calendar.cjs.entry.js +2 -2
  15. package/dist/cjs/kup-card-list.cjs.entry.js +1 -1
  16. package/dist/cjs/kup-cell.cjs.entry.js +10 -14
  17. package/dist/cjs/kup-cell.cjs.entry.js.map +1 -1
  18. package/dist/cjs/kup-dashboard.cjs.entry.js +2 -2
  19. package/dist/cjs/{kup-data-table-helper-8de1519d.js → kup-data-table-helper-af0261a1.js} +2 -2
  20. package/dist/cjs/{kup-data-table-helper-8de1519d.js.map → kup-data-table-helper-af0261a1.js.map} +1 -1
  21. package/dist/cjs/kup-drawer.cjs.entry.js +1 -1
  22. package/dist/cjs/kup-echart.cjs.entry.js +1 -1
  23. package/dist/cjs/kup-editor.cjs.entry.js +1 -1
  24. package/dist/cjs/kup-family-tree.cjs.entry.js +1 -1
  25. package/dist/cjs/kup-grid.cjs.entry.js +1 -1
  26. package/dist/cjs/kup-htm.cjs.entry.js +1 -1
  27. package/dist/cjs/kup-iframe.cjs.entry.js +1 -1
  28. package/dist/cjs/kup-image-list.cjs.entry.js +4 -4
  29. package/dist/cjs/kup-input-panel.cjs.entry.js +4 -4
  30. package/dist/cjs/kup-lazy.cjs.entry.js +1 -1
  31. package/dist/cjs/kup-magic-box.cjs.entry.js +1 -1
  32. package/dist/cjs/{kup-manager-59da52f6.js → kup-manager-13d2365f.js} +5 -5
  33. package/dist/cjs/{kup-manager-59da52f6.js.map → kup-manager-13d2365f.js.map} +1 -1
  34. package/dist/cjs/kup-nav-bar.cjs.entry.js +1 -1
  35. package/dist/cjs/kup-numeric-picker.cjs.entry.js +2 -2
  36. package/dist/cjs/kup-pdf.cjs.entry.js +1 -1
  37. package/dist/cjs/kup-photo-frame.cjs.entry.js +1 -1
  38. package/dist/cjs/kup-planner.cjs.entry.js +2 -2
  39. package/dist/cjs/kup-probe.cjs.entry.js +1 -1
  40. package/dist/cjs/kup-qlik.cjs.entry.js +1 -1
  41. package/dist/cjs/kup-snackbar.cjs.entry.js +1 -1
  42. package/dist/cjs/kup-typography-list.cjs.entry.js +1 -1
  43. package/dist/cjs/kup-typography.cjs.entry.js +1 -1
  44. package/dist/collection/components/kup-cell/kup-cell.js +6 -10
  45. package/dist/collection/components/kup-cell/kup-cell.js.map +1 -1
  46. package/dist/collection/f-components/f-cell/f-cell.js +15 -8
  47. package/dist/collection/f-components/f-cell/f-cell.js.map +1 -1
  48. package/dist/collection/utils/cell-utils.js +4 -4
  49. package/dist/collection/utils/cell-utils.js.map +1 -1
  50. package/dist/components/kup-activity-timeline.js +1 -1
  51. package/dist/components/kup-autocomplete2.js +15 -8
  52. package/dist/components/kup-autocomplete2.js.map +1 -1
  53. package/dist/components/kup-box2.js +1 -1
  54. package/dist/components/kup-calendar.js +1 -1
  55. package/dist/components/kup-card-list.js +1 -1
  56. package/dist/components/kup-cell.js +7 -11
  57. package/dist/components/kup-cell.js.map +1 -1
  58. package/dist/components/kup-dashboard.js +1 -1
  59. package/dist/components/kup-echart2.js +1 -1
  60. package/dist/components/kup-grid2.js +1 -1
  61. package/dist/components/kup-iframe.js +1 -1
  62. package/dist/components/kup-image-list.js +1 -1
  63. package/dist/components/kup-input-panel.js +1 -1
  64. package/dist/components/kup-magic-box.js +1 -1
  65. package/dist/components/kup-manager.js +5 -5
  66. package/dist/components/kup-manager.js.map +1 -1
  67. package/dist/components/kup-planner.js +1 -1
  68. package/dist/components/kup-typography-list.js +1 -1
  69. package/dist/esm/{f-cell-5bf2115d.js → f-cell-ed3bbc91.js} +18 -11
  70. package/dist/esm/f-cell-ed3bbc91.js.map +1 -0
  71. package/dist/esm/{f-chip-6d15707c.js → f-chip-d8d2c449.js} +2 -2
  72. package/dist/esm/{f-chip-6d15707c.js.map → f-chip-d8d2c449.js.map} +1 -1
  73. package/dist/esm/{f-paginator-utils-8be10f61.js → f-paginator-utils-9697f682.js} +2 -2
  74. package/dist/esm/{f-paginator-utils-8be10f61.js.map → f-paginator-utils-9697f682.js.map} +1 -1
  75. package/dist/esm/{f-text-field-19666b06.js → f-text-field-81d4e859.js} +2 -2
  76. package/dist/esm/{f-text-field-19666b06.js.map → f-text-field-81d4e859.js.map} +1 -1
  77. package/dist/esm/index.js +1 -1
  78. package/dist/esm/kup-accordion.entry.js +1 -1
  79. package/dist/esm/kup-activity-timeline.entry.js +2 -2
  80. package/dist/esm/kup-autocomplete_28.entry.js +6 -6
  81. package/dist/esm/kup-box.entry.js +6 -6
  82. package/dist/esm/kup-calendar.entry.js +2 -2
  83. package/dist/esm/kup-card-list.entry.js +1 -1
  84. package/dist/esm/kup-cell.entry.js +10 -14
  85. package/dist/esm/kup-cell.entry.js.map +1 -1
  86. package/dist/esm/kup-dashboard.entry.js +2 -2
  87. package/dist/esm/{kup-data-table-helper-ef27e258.js → kup-data-table-helper-10366cb2.js} +2 -2
  88. package/dist/esm/{kup-data-table-helper-ef27e258.js.map → kup-data-table-helper-10366cb2.js.map} +1 -1
  89. package/dist/esm/kup-drawer.entry.js +1 -1
  90. package/dist/esm/kup-echart.entry.js +1 -1
  91. package/dist/esm/kup-editor.entry.js +1 -1
  92. package/dist/esm/kup-family-tree.entry.js +1 -1
  93. package/dist/esm/kup-grid.entry.js +1 -1
  94. package/dist/esm/kup-htm.entry.js +1 -1
  95. package/dist/esm/kup-iframe.entry.js +1 -1
  96. package/dist/esm/kup-image-list.entry.js +4 -4
  97. package/dist/esm/kup-input-panel.entry.js +4 -4
  98. package/dist/esm/kup-lazy.entry.js +1 -1
  99. package/dist/esm/kup-magic-box.entry.js +1 -1
  100. package/dist/esm/{kup-manager-9f30547f.js → kup-manager-ec5538b6.js} +6 -6
  101. package/dist/esm/{kup-manager-9f30547f.js.map → kup-manager-ec5538b6.js.map} +1 -1
  102. package/dist/esm/kup-nav-bar.entry.js +1 -1
  103. package/dist/esm/kup-numeric-picker.entry.js +2 -2
  104. package/dist/esm/kup-pdf.entry.js +1 -1
  105. package/dist/esm/kup-photo-frame.entry.js +1 -1
  106. package/dist/esm/kup-planner.entry.js +2 -2
  107. package/dist/esm/kup-probe.entry.js +1 -1
  108. package/dist/esm/kup-qlik.entry.js +1 -1
  109. package/dist/esm/kup-snackbar.entry.js +1 -1
  110. package/dist/esm/kup-typography-list.entry.js +1 -1
  111. package/dist/esm/kup-typography.entry.js +1 -1
  112. package/dist/ketchup/index.esm.js +1 -1
  113. package/dist/ketchup/ketchup.esm.js +1 -1
  114. package/dist/ketchup/{p-2ecd9f45.entry.js → p-172eb552.entry.js} +2 -2
  115. package/dist/ketchup/{p-5ade278d.entry.js → p-19a460da.entry.js} +2 -2
  116. package/dist/ketchup/{p-e111ff31.entry.js → p-1f6dc7b1.entry.js} +2 -2
  117. package/dist/ketchup/{p-81029100.entry.js → p-232cc157.entry.js} +2 -2
  118. package/dist/ketchup/{p-cbfa9fac.entry.js → p-3483b30f.entry.js} +2 -2
  119. package/dist/ketchup/{p-b3c7d4b6.entry.js → p-38a11584.entry.js} +2 -2
  120. package/dist/ketchup/p-3b7a18a5.js +2 -0
  121. package/dist/ketchup/p-3b7a18a5.js.map +1 -0
  122. package/dist/ketchup/{p-c558d39c.entry.js → p-4845b953.entry.js} +2 -2
  123. package/dist/ketchup/{p-a23a3495.entry.js → p-48ff176a.entry.js} +2 -2
  124. package/dist/ketchup/{p-828e6da8.entry.js → p-53238b94.entry.js} +2 -2
  125. package/dist/ketchup/{p-940589d4.entry.js → p-55477f5f.entry.js} +2 -2
  126. package/dist/ketchup/{p-2d4db7e9.entry.js → p-598e2bb3.entry.js} +2 -2
  127. package/dist/ketchup/{p-0a0cbb17.entry.js → p-5d64b257.entry.js} +2 -2
  128. package/dist/ketchup/{p-81df5b08.entry.js → p-6c8d4d2a.entry.js} +2 -2
  129. package/dist/ketchup/{p-8dd1e16f.entry.js → p-6d8d2556.entry.js} +2 -2
  130. package/dist/ketchup/p-73ba50e6.js +2 -0
  131. package/dist/ketchup/{p-447ac2dd.entry.js → p-75328006.entry.js} +2 -2
  132. package/dist/ketchup/{p-fa9139bb.entry.js → p-7a55fce8.entry.js} +2 -2
  133. package/dist/ketchup/{p-113a1c91.entry.js → p-7c6a5662.entry.js} +2 -2
  134. package/dist/ketchup/{p-f1992811.entry.js → p-7e43955b.entry.js} +2 -2
  135. package/dist/ketchup/{p-8eaf9ea9.entry.js → p-88efe7a0.entry.js} +2 -2
  136. package/dist/ketchup/{p-55ce8c33.entry.js → p-9448d3df.entry.js} +2 -2
  137. package/dist/ketchup/{p-23d7a078.js → p-9527c8a0.js} +2 -2
  138. package/dist/ketchup/p-9b6c792a.entry.js +2 -0
  139. package/dist/ketchup/p-9b6c792a.entry.js.map +1 -0
  140. package/dist/ketchup/{p-41e9e598.js → p-9bf03380.js} +3 -3
  141. package/dist/ketchup/{p-41e9e598.js.map → p-9bf03380.js.map} +1 -1
  142. package/dist/ketchup/{p-ca3f5c62.js → p-a024642d.js} +2 -2
  143. package/dist/ketchup/{p-f4eabd6c.entry.js → p-a60bc4b1.entry.js} +2 -2
  144. package/dist/ketchup/{p-2e3cd639.entry.js → p-ad768d1a.entry.js} +2 -2
  145. package/dist/ketchup/{p-98f59364.entry.js → p-b638a03b.entry.js} +2 -2
  146. package/dist/ketchup/{p-ffdc8733.entry.js → p-c4851344.entry.js} +2 -2
  147. package/dist/ketchup/{p-779aecdc.entry.js → p-cffab777.entry.js} +2 -2
  148. package/dist/ketchup/{p-b8fdc94c.entry.js → p-e0ee6678.entry.js} +2 -2
  149. package/dist/ketchup/{p-28b108ae.entry.js → p-edc46265.entry.js} +2 -2
  150. package/dist/ketchup/{p-172e642a.js → p-fcc24603.js} +2 -2
  151. package/dist/ketchup/{p-33e7f5f1.entry.js → p-ff79c1ac.entry.js} +2 -2
  152. package/package.json +1 -1
  153. package/dist/cjs/f-cell-0732e0d2.js.map +0 -1
  154. package/dist/esm/f-cell-5bf2115d.js.map +0 -1
  155. package/dist/ketchup/p-33e84dd7.js +0 -2
  156. package/dist/ketchup/p-33e84dd7.js.map +0 -1
  157. package/dist/ketchup/p-346a60f6.entry.js +0 -2
  158. package/dist/ketchup/p-346a60f6.entry.js.map +0 -1
  159. package/dist/ketchup/p-b95e7cbf.js +0 -2
  160. /package/dist/ketchup/{p-2ecd9f45.entry.js.map → p-172eb552.entry.js.map} +0 -0
  161. /package/dist/ketchup/{p-5ade278d.entry.js.map → p-19a460da.entry.js.map} +0 -0
  162. /package/dist/ketchup/{p-e111ff31.entry.js.map → p-1f6dc7b1.entry.js.map} +0 -0
  163. /package/dist/ketchup/{p-81029100.entry.js.map → p-232cc157.entry.js.map} +0 -0
  164. /package/dist/ketchup/{p-cbfa9fac.entry.js.map → p-3483b30f.entry.js.map} +0 -0
  165. /package/dist/ketchup/{p-b3c7d4b6.entry.js.map → p-38a11584.entry.js.map} +0 -0
  166. /package/dist/ketchup/{p-c558d39c.entry.js.map → p-4845b953.entry.js.map} +0 -0
  167. /package/dist/ketchup/{p-a23a3495.entry.js.map → p-48ff176a.entry.js.map} +0 -0
  168. /package/dist/ketchup/{p-828e6da8.entry.js.map → p-53238b94.entry.js.map} +0 -0
  169. /package/dist/ketchup/{p-940589d4.entry.js.map → p-55477f5f.entry.js.map} +0 -0
  170. /package/dist/ketchup/{p-2d4db7e9.entry.js.map → p-598e2bb3.entry.js.map} +0 -0
  171. /package/dist/ketchup/{p-0a0cbb17.entry.js.map → p-5d64b257.entry.js.map} +0 -0
  172. /package/dist/ketchup/{p-81df5b08.entry.js.map → p-6c8d4d2a.entry.js.map} +0 -0
  173. /package/dist/ketchup/{p-8dd1e16f.entry.js.map → p-6d8d2556.entry.js.map} +0 -0
  174. /package/dist/ketchup/{p-b95e7cbf.js.map → p-73ba50e6.js.map} +0 -0
  175. /package/dist/ketchup/{p-447ac2dd.entry.js.map → p-75328006.entry.js.map} +0 -0
  176. /package/dist/ketchup/{p-fa9139bb.entry.js.map → p-7a55fce8.entry.js.map} +0 -0
  177. /package/dist/ketchup/{p-113a1c91.entry.js.map → p-7c6a5662.entry.js.map} +0 -0
  178. /package/dist/ketchup/{p-f1992811.entry.js.map → p-7e43955b.entry.js.map} +0 -0
  179. /package/dist/ketchup/{p-8eaf9ea9.entry.js.map → p-88efe7a0.entry.js.map} +0 -0
  180. /package/dist/ketchup/{p-55ce8c33.entry.js.map → p-9448d3df.entry.js.map} +0 -0
  181. /package/dist/ketchup/{p-23d7a078.js.map → p-9527c8a0.js.map} +0 -0
  182. /package/dist/ketchup/{p-ca3f5c62.js.map → p-a024642d.js.map} +0 -0
  183. /package/dist/ketchup/{p-f4eabd6c.entry.js.map → p-a60bc4b1.entry.js.map} +0 -0
  184. /package/dist/ketchup/{p-2e3cd639.entry.js.map → p-ad768d1a.entry.js.map} +0 -0
  185. /package/dist/ketchup/{p-98f59364.entry.js.map → p-b638a03b.entry.js.map} +0 -0
  186. /package/dist/ketchup/{p-ffdc8733.entry.js.map → p-c4851344.entry.js.map} +0 -0
  187. /package/dist/ketchup/{p-779aecdc.entry.js.map → p-cffab777.entry.js.map} +0 -0
  188. /package/dist/ketchup/{p-b8fdc94c.entry.js.map → p-e0ee6678.entry.js.map} +0 -0
  189. /package/dist/ketchup/{p-28b108ae.entry.js.map → p-edc46265.entry.js.map} +0 -0
  190. /package/dist/ketchup/{p-172e642a.js.map → p-fcc24603.js.map} +0 -0
  191. /package/dist/ketchup/{p-33e7f5f1.entry.js.map → p-ff79c1ac.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"f-cell.js","sourceRoot":"","sources":["../../../src/f-components/f-cell/f-cell.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { FCheckboxProps } from '../f-checkbox/f-checkbox-declarations';\nimport type { FImageData, FImageProps } from '../f-image/f-image-declarations';\nimport type { FButtonProps } from '../f-button/f-button-declarations';\nimport type { KupChart } from '../../components/kup-chart/kup-chart';\nimport type { KupDom } from '../../managers/kup-manager/kup-manager-declarations';\nimport type { KupAutocompleteEventPayload } from '../../components/kup-autocomplete/kup-autocomplete-declarations';\nimport type { KupComboboxEventPayload } from '../../components/kup-combobox/kup-combobox-declarations';\nimport type { KupDatePickerEventPayload } from '../../components/kup-date-picker/kup-date-picker-declarations';\nimport type { KupTimePickerEventPayload } from '../../components/kup-time-picker/kup-time-picker-declarations';\nimport type { KupRatingClickEventPayload } from '../../components/kup-rating/kup-rating-declarations';\nimport type { KupColorPickerEventPayload } from '../../components/kup-color-picker/kup-color-picker-declarations';\nimport {\n GenericObject,\n KupComponent,\n KupTagNames,\n} from '../../types/GenericTypes';\nimport {\n autoCenterComps,\n editableTypes,\n FCellClasses,\n FCellEventPayload,\n FCellEvents,\n FCellInfo,\n FCellProps,\n FCellShapes,\n FCellTypes,\n fullWidthFieldsComps,\n kupTypes,\n} from './f-cell-declarations';\nimport { FunctionalComponent, h, VNode } from '@stencil/core';\nimport {\n CHIAdapter,\n CMBandACPAdapter,\n getCellValueForDisplay,\n RADAdapter,\n} from '../../utils/cell-utils';\nimport { FCheckbox } from '../f-checkbox/f-checkbox';\nimport { FTextField } from '../f-text-field/f-text-field';\nimport { FImage } from '../f-image/f-image';\nimport { FChip } from '../f-chip/f-chip';\nimport { KupThemeColorValues } from '../../managers/kup-theme/kup-theme-declarations';\nimport {\n CellOptions,\n KupDataCell,\n KupDataCellOptions,\n KupDataColumn,\n KupDataNode,\n KupDataRow,\n} from '../../managers/kup-data/kup-data-declarations';\nimport { FSwitch } from '../f-switch/f-switch';\nimport { KupChipChangeEventPayload } from '../../components/kup-chip/kup-chip-declarations';\nimport { FChipsProps, FChipType } from '../f-chip/f-chip-declarations';\nimport { ItemsDisplayMode } from '../../components/kup-list/kup-list-declarations';\nimport { FButton } from '../f-button/f-button';\nimport { FProgressBar } from '../f-progress-bar/f-progress-bar';\nimport { FRadio } from '../f-radio/f-radio';\nimport { FRating } from '../f-rating/f-rating';\nimport type { KupDataTable } from '../../components/kup-data-table/kup-data-table';\nimport { FRadioData, FRadioProps } from '../f-radio/f-radio-declarations';\nimport { KupDebugCategory } from '../../managers/kup-debug/kup-debug-declarations';\nimport {\n DataAdapterFn,\n KupInputPanelCell,\n} from '../../components/kup-input-panel/kup-input-panel-declarations';\n\nconst dom: KupDom = document.documentElement as KupDom;\n\n/*-------------------------------------------------*/\n/* C o m p o n e n t */\n/*-------------------------------------------------*/\n\nexport const FCell: FunctionalComponent<FCellProps> = (\n props: FCellProps,\n children?: VNode[]\n) => {\n const cell = props.cell;\n const column = props.column;\n const row = props.row;\n const shape = props.shape\n ? props.shape\n : cell.shape\n ? cell.shape\n : column.shape\n ? column.shape\n : null;\n const hasObj = !dom.ketchup.objects.isEmptyKupObj(cell.obj);\n let isEditable = false;\n if (cell.hasOwnProperty('isEditable')) {\n isEditable = cell.isEditable;\n } else if (column.hasOwnProperty('isEditable')) {\n isEditable = column.isEditable;\n }\n isEditable = isEditable && props.editable;\n\n if (cell.options) {\n const cellData = mapData(cell);\n cell.data = cellData\n ? {\n ...cellData,\n ...cell.data,\n }\n : cell.data;\n }\n\n const valueToDisplay = props.previousValue !== cell.value ? cell.value : '';\n const cellType = dom.ketchup.data.cell.getType(cell, shape);\n const subcomponentProps: unknown = { ...cell.data };\n let cssClasses = cell.cssClass\n ? cell.cssClass\n : column?.cssClass\n ? column?.cssClass\n : '';\n\n if ((props.component as KupDataTable).legacyLook) {\n cssClasses += ' monospace c-pre';\n }\n const classObj: Record<string, boolean> = {\n 'f-cell': true,\n [FCellClasses.OBJ]: hasObj ? true : false,\n [cellType + '-cell']: true,\n [props.wrapperClass]: props.wrapperClass ? true : false,\n [props.density]:\n props.density && cellType !== FCellTypes.BAR ? true : false,\n [cssClasses]: cssClasses ? true : false,\n };\n let content: unknown = valueToDisplay;\n if (!cell.data) {\n setDefaults(cellType, cell);\n }\n if (isEditable && editableTypes.includes(cellType)) {\n content = setEditableCell(cellType, classObj, cell, column, props);\n } else if (cell.data && kupTypes.includes(cellType)) {\n if (props.setSizes) {\n setCellSizeKup(cellType, subcomponentProps, cell);\n }\n if (!props.renderKup) {\n const lazyClass = 'cell-' + cellType + ' placeholder';\n content = <span class={lazyClass}></span>;\n } else {\n content = setKupCell(\n cellType,\n classObj,\n subcomponentProps,\n cell,\n row,\n column,\n props\n );\n }\n } else {\n if (props.setSizes) {\n setCellSize(cellType, subcomponentProps, cell, props);\n }\n content = setCell(\n cellType,\n subcomponentProps,\n content,\n classObj,\n cell,\n column,\n props\n );\n }\n\n let icon: VNode = null;\n if (!isEditable && (column.icon || cell.icon) && content) {\n const fProps: FImageProps = {\n color: `rgba(var(${KupThemeColorValues.TEXT}-rgb), 0.375)`,\n resource: cell.icon ? cell.icon : column.icon,\n placeholderResource: cell.placeholderIcon\n ? cell.placeholderIcon\n : column.placeholderIcon,\n sizeX: '1.25em',\n sizeY: '1.25em',\n wrapperClass: 'obj-icon',\n };\n icon = <FImage {...fProps} />;\n }\n\n let cellTitle: string = null;\n if (dom.ketchup.debug.isDebug() && hasObj) {\n cellTitle = cell.obj.t + '; ' + cell.obj.p + '; ' + cell.obj.k + ';';\n } else if (cell.title != null && cell.title.trim() != '') {\n cellTitle = cell.title;\n }\n\n let infoEl: HTMLElement = null;\n if (cell.info) {\n const info: FCellInfo = { ...cell.info };\n if (!info.color) {\n info.color = `var(${KupThemeColorValues.INFO})`;\n }\n if (!info.icon) {\n info.icon = 'info';\n }\n const fProps: FImageProps = {\n color: info.color,\n resource: info.icon,\n placeholderResource: info.placeholderIcon,\n sizeX: '1.25em',\n sizeY: '1.25em',\n title: info.message ? info.message : '',\n wrapperClass: 'cell-info',\n };\n infoEl = <FImage {...fProps} />;\n }\n\n return (\n <div\n onKeyUp={(e) => cellEvent(e, props, cellType, FCellEvents.KEYUP)}\n class={classObj}\n kup-get-cell-props={() => {\n return props;\n }}\n ref={(el) => (cell.element = el)}\n style={cell.style}\n >\n <div\n class=\"f-cell__content\"\n style={cell.styleContent}\n title={cellTitle}\n >\n {props.cellActionIcon && (\n <FImage\n resource=\"more_vert\"\n sizeX=\"16px\"\n sizeY=\"16px\"\n wrapperClass={`f-cell__iconfunction ${\n cellType === FCellTypes.NUMBER ? 'left' : 'right'\n }`}\n onClick={props.cellActionIcon.onClick}\n tabIndex={0}\n />\n )}\n {children && children.length > 0\n ? children\n : [props.indents, infoEl, icon, content]}\n </div>\n </div>\n );\n};\n\nconst mapData = (cell: KupDataCellOptions) => {\n if (!cell) {\n return null;\n }\n const options = cell.options;\n const fieldLabel = cell.title;\n const currentValue = cell.value;\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n const dataAdapterMap = new Map<FCellTypes, DataAdapterFn>([\n [FCellTypes.BUTTON_LIST, MainBTNAdapter.bind(this)],\n [FCellTypes.STRING, MainITXAdapter.bind(this)],\n [FCellTypes.RADIO, MainRADAdapter.bind(this)],\n [FCellTypes.AUTOCOMPLETE, MainCMBandACPAdapter.bind(this)],\n [FCellTypes.COMBOBOX, MainCMBandACPAdapter.bind(this)],\n [FCellTypes.CHECKBOX, MainCHKAdapter.bind(this)],\n [FCellTypes.OBJECT, MainObjectAdapter.bind(this)],\n [FCellTypes.CHIP, MainCHIAdapter.bind(this)],\n ]);\n\n const adapter = dataAdapterMap.get(cellType);\n return adapter ? adapter(options, fieldLabel, currentValue, cell) : null;\n};\n\nconst MainCHIAdapter = (\n _options: CellOptions[],\n _fieldLabel: string,\n currentValue: string\n) => {\n return CHIAdapter(currentValue);\n};\n\nconst MainObjectAdapter = (\n _options: CellOptions[],\n fieldLabel: string,\n currentValue: string,\n _cell: KupInputPanelCell,\n _id: string\n) => ({\n data: {\n initialValue: currentValue || '',\n label: fieldLabel || '',\n value: currentValue || '',\n },\n});\n\nconst MainCHKAdapter = (\n _options: CellOptions[],\n fieldLabel: string,\n currentValue: string,\n cell: KupDataCellOptions\n) => ({\n ...cell.data,\n checked: currentValue === 'on' || currentValue === '1',\n label: fieldLabel,\n});\n\nconst MainBTNAdapter = (\n _options: CellOptions[],\n _fieldLabel: string,\n currentValue: string,\n cell: KupDataCellOptions\n) => ({\n data: [\n {\n ...cell.data,\n icon: cell.icon,\n value: currentValue,\n },\n ],\n});\n\nconst MainITXAdapter = (\n _options: CellOptions[],\n fieldLabel: string,\n _currentValue: string,\n cell: KupDataCellOptions\n) => ({\n ...cell.data,\n label: fieldLabel,\n});\n\nconst MainRADAdapter = (\n options: CellOptions[],\n _fieldLabel: string,\n currentValue: string,\n cell?: KupDataCellOptions\n) => {\n const newData = RADAdapter(currentValue, options);\n cell.data = { ...cell.data, ...newData };\n};\n\nconst MainCMBandACPAdapter = (\n options: CellOptions[],\n fieldLabel: string,\n currentValue: string,\n cell: KupDataCellOptions,\n _id: string\n) => {\n if (!cell.data?.data && options) {\n const configCMandACP = CMBandACPAdapter(currentValue, fieldLabel, []);\n configCMandACP.data['kup-list'].data = optionsTreeComboAdapter(\n options,\n currentValue\n );\n return configCMandACP;\n }\n};\n\nconst optionsTreeComboAdapter = (options: any, currentValue: string) => {\n const adapter = optionsAdapterMap.get(options.type);\n\n if (adapter) {\n return adapter(options, currentValue);\n } else {\n return options.map((option) => ({\n value: option.label,\n id: option.id,\n selected: currentValue === option.id,\n }));\n }\n};\n\nconst treeOptionsNodeAdapter = (\n options: any,\n currentValue: string\n): GenericObject[] => {\n return options.children.map((child) => ({\n id: child.content.codice,\n value: child.content.testo,\n selected: currentValue === child.content.codice,\n children: child.children?.length\n ? treeOptionsNodeAdapter(child, currentValue)\n : [],\n }));\n};\n\nconst dataTreeOptionsChildrenAdapter = (\n options: any,\n currentValue: string\n): GenericObject[] => {\n return options.children.map((child) => ({\n id: child.obj.k,\n value: child.value,\n selected: currentValue === child.obj.k,\n children: child.children?.length\n ? dataTreeOptionsChildrenAdapter(child, currentValue)\n : [],\n }));\n};\n\nconst tableOptionsAdapter = (\n options: any,\n currentValue: string\n): GenericObject[] => {\n return options.rows.map((row) => {\n const cells = row.fields || row.cells;\n const [id, value] = Object.keys(cells);\n\n return {\n id: cells[id].value,\n value: cells[value]?.value || cells[id].value,\n selected: currentValue === cells[id].value,\n };\n });\n};\n\nconst optionsAdapterMap = new Map<\n string,\n (options: any, currentValue: string) => GenericObject[]\n>([\n ['SmeupTreeNode', treeOptionsNodeAdapter.bind(this)],\n ['SmeupDataTree', dataTreeOptionsChildrenAdapter.bind(this)],\n ['SmeupTable', tableOptionsAdapter.bind(this)],\n ['SmeupDataTable', tableOptionsAdapter.bind(this)],\n]);\n\nfunction setCellSize(\n cellType: string,\n subcomponentProps: unknown,\n cell: KupDataCell,\n props: FCellProps\n) {\n switch (cellType) {\n case FCellTypes.CHECKBOX:\n case FCellTypes.ICON:\n if (!(subcomponentProps as FImageProps).sizeX) {\n (subcomponentProps as FImageProps).sizeX = '18px';\n }\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = '18px';\n }\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = (\n subcomponentProps as FImageProps\n ).sizeY;\n }\n } else {\n cell.style = {\n minHeight: (subcomponentProps as FImageProps).sizeY,\n };\n }\n break;\n case FCellTypes.IMAGE:\n const cellValue = props.cell?.value || '';\n const hasExternalResource =\n cellValue.indexOf('.') > -1 ||\n cellValue.indexOf('/') > -1 ||\n cellValue.indexOf('\\\\') > -1;\n if (\n (props.component as KupComponent).rootElement.tagName ===\n KupTagNames.DATA_TABLE &&\n !hasExternalResource\n ) {\n if (\n !(subcomponentProps as FImageProps).sizeX &&\n !(subcomponentProps as FImageProps).sizeY\n ) {\n (subcomponentProps as FImageProps).sizeX = '100%';\n (subcomponentProps as FImageProps).sizeY = '64px';\n (subcomponentProps as FImageProps).wrapperClass = 'noWidth';\n } else {\n if (!(subcomponentProps as FImageProps).sizeX) {\n (subcomponentProps as FImageProps).sizeX = '100%';\n (subcomponentProps as FImageProps).wrapperClass =\n 'noWidth';\n }\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = 'auto';\n }\n }\n }\n if (\n (props.component as KupComponent).rootElement.tagName ===\n KupTagNames.BOX\n ) {\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = 'auto';\n }\n if ((subcomponentProps as FImageProps).fit === undefined) {\n (subcomponentProps as FImageProps).fit = true;\n }\n } else if (!(subcomponentProps as FImageProps).sizeX) {\n (subcomponentProps as FImageProps).sizeX = 'auto';\n }\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = '64px';\n }\n\n break;\n }\n}\n\nfunction setCellSizeKup(\n cellType: string,\n subcomponentProps: unknown,\n cell: KupDataCell\n) {\n switch (cellType) {\n case FCellTypes.BAR:\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = '26px';\n }\n break;\n case FCellTypes.BUTTON:\n let height: string = '';\n if ((subcomponentProps as FButtonProps).label) {\n height = '36px';\n }\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = height;\n }\n } else {\n cell.style = { minHeight: height };\n }\n break;\n case FCellTypes.CHART:\n if (!(subcomponentProps as KupChart).sizeX) {\n (subcomponentProps as KupChart).sizeX = '100%';\n }\n if (!(subcomponentProps as KupChart).sizeY) {\n (subcomponentProps as KupChart).sizeY = '100%';\n }\n break;\n case FCellTypes.CHIP:\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = '40px';\n }\n } else {\n cell.style = { minHeight: '40px' };\n }\n break;\n case FCellTypes.RADIO:\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = '40px';\n }\n } else {\n cell.style = { minHeight: '40px' };\n }\n break;\n }\n}\n\nfunction setEditableCell(\n cellType: string,\n classObj: Record<string, boolean>,\n cell: KupDataCell,\n column: KupDataColumn,\n props: FCellProps\n): unknown {\n switch (cellType) {\n case FCellTypes.AUTOCOMPLETE:\n return (\n <kup-autocomplete\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-autocomplete-change={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-autocomplete-input={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-autocomplete-iconclick={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.ICON_CLICK)}\n />\n );\n case FCellTypes.CHECKBOX:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n\n if (cell.shape === FCellShapes.INPUT_CHECKBOX) {\n return (\n <input\n checked={\n cell.value === 'on' || cell.value === '1'\n ? true\n : false\n }\n class=\"input-checkbox\"\n onChange={(e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE)\n }\n type=\"checkbox\"\n ></input>\n );\n } else {\n return (\n <FCheckbox\n {...cell.data}\n onChange={(e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE)\n }\n />\n );\n }\n case FCellTypes.CHIP:\n return (\n <kup-chip\n {...cell.data}\n type={FChipType.INPUT}\n enableInput={true}\n onKup-chip-change={(\n e: CustomEvent<KupChipChangeEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n >\n <kup-text-field\n fullWidth={true}\n slot=\"field\"\n {...cell.slotData}\n error={cell.data.error}\n ></kup-text-field>\n </kup-chip>\n );\n case FCellTypes.COLOR_PICKER:\n return (\n <kup-color-picker\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n disabled={false}\n onkup-colorpicker-change={(\n e: CustomEvent<KupColorPickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n ></kup-color-picker>\n );\n case FCellTypes.COMBOBOX:\n return (\n <kup-combobox\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-combobox-change={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-combobox-input={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-combobox-iconclick={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.ICON_CLICK)}\n />\n );\n case FCellTypes.DATE:\n return (\n <kup-date-picker\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-datepicker-change={(\n e: CustomEvent<KupDatePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-datepicker-input={(\n e: CustomEvent<KupDatePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n />\n );\n case FCellTypes.MULTI_AUTOCOMPLETE:\n return (\n <kup-chip\n displayId={true}\n {...cell.data}\n type={FChipType.INPUT}\n enableInput={true}\n onKup-chip-change={(\n e: CustomEvent<KupChipChangeEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n >\n <kup-autocomplete\n class=\"kup-full-width\"\n slot=\"field\"\n displayMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n selectMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n onkup-autocomplete-input={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-autocomplete-iconclick={(\n e: CustomEvent<KupComboboxEventPayload>\n ) =>\n cellEvent(\n e,\n props,\n cellType,\n FCellEvents.ICON_CLICK\n )\n }\n showDropDownIcon={false}\n {...cell.slotData}\n error={cell.data.error}\n ></kup-autocomplete>\n </kup-chip>\n );\n case FCellTypes.MULTI_COMBOBOX:\n return (\n <kup-chip\n displayId={true}\n {...cell.data}\n type={FChipType.INPUT}\n enableInput={true}\n onKup-chip-change={(\n e: CustomEvent<KupChipChangeEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n >\n <kup-combobox\n class=\"kup-full-width\"\n slot=\"field\"\n displayMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n selectMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n onkup-combobox-input={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-combobox-iconclick={(\n e: CustomEvent<KupComboboxEventPayload>\n ) =>\n cellEvent(\n e,\n props,\n cellType,\n FCellEvents.ICON_CLICK\n )\n }\n {...cell.slotData}\n error={cell.data.error}\n ></kup-combobox>\n </kup-chip>\n );\n case FCellTypes.RADIO:\n return (\n <FRadio\n {...cell.data}\n disabled={false}\n onChange={(i: number, e: InputEvent) => {\n const radioData = (cell.data as FRadioProps).data;\n for (let index = 0; index < radioData.length; index++) {\n const radioEl = radioData[index];\n if (index === i) {\n radioEl.checked = true;\n } else {\n radioEl.checked = false;\n }\n }\n cellEvent(e, props, cellType, FCellEvents.UPDATE);\n }}\n ></FRadio>\n );\n case FCellTypes.RATING:\n return (\n <kup-rating\n key={column.name + props.row.id}\n {...cell.data}\n disabled={false}\n onkup-rating-click={(\n e: CustomEvent<KupRatingClickEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n ></kup-rating>\n );\n case FCellTypes.SWITCH:\n return (\n <FSwitch\n {...cell.data}\n disabled={false}\n onChange={(e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE)\n }\n ></FSwitch>\n );\n case FCellTypes.TIME:\n return (\n <kup-time-picker\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-timepicker-change={(\n e: CustomEvent<KupTimePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-timepicker-input={(\n e: CustomEvent<KupTimePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n />\n );\n case FCellTypes.OBJECT:\n return (\n <FTextField\n icon={'table'}\n {...cell.data}\n disabled={false}\n onIconClick={(e) =>\n cellEvent(e, props, cellType, FCellEvents.ICON_CLICK)\n }\n ></FTextField>\n );\n case FCellTypes.NUMBER:\n classObj[FCellClasses.C_RIGHT_ALIGNED] = true;\n case FCellTypes.LINK:\n case FCellTypes.STRING:\n const onChange = (e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE);\n const onInput = (e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.INPUT);\n const type = cellType === FCellTypes.NUMBER ? 'number' : null;\n const value =\n cellType === FCellTypes.NUMBER && cell.value\n ? dom.ketchup.math.numberifySafe(cell.value).toString()\n : cell.value;\n if (cell.shape === FCellShapes.INPUT_FIELD) {\n return (\n <input\n class={'input-field'}\n onChange={onChange}\n onInput={onInput}\n type={type}\n value={value}\n maxLength={column.cellData?.maxLength ?? -1}\n ></input>\n );\n } else {\n return (\n <FTextField\n inputType={type}\n fullWidth={isFullWidth(props) ? true : false}\n {...cell.data}\n icon={\n cell.data && cell.data.icon\n ? cell.data.icon\n : cell.icon\n ? cell.icon\n : column.icon\n ? column.icon\n : null\n }\n value={value}\n onChange={onChange}\n onInput={onInput}\n onIconClick={(e: MouseEvent) =>\n cellEvent(\n e,\n props,\n cellType,\n FCellEvents.ICON_CLICK\n )\n }\n />\n );\n }\n }\n}\n\nfunction setCell(\n cellType: string,\n subcomponentProps: GenericObject,\n content: unknown,\n classObj: Record<string, boolean>,\n cell: KupDataCell,\n column: KupDataColumn,\n props: FCellProps\n): unknown {\n switch (cellType) {\n case FCellTypes.AUTOCOMPLETE:\n case FCellTypes.COMBOBOX:\n case FCellTypes.DATE:\n case FCellTypes.DATETIME:\n case FCellTypes.TIME:\n if (content && content != '') {\n const cellValue = getCellValueForDisplay(column, cell);\n return <div class=\"f-cell__text\">{cellValue}</div>;\n }\n return content;\n case FCellTypes.CHECKBOX:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n return (\n <FImage\n resource={\n (subcomponentProps as FCheckboxProps).checked\n ? 'check_box'\n : 'check_box_outline_blank'\n }\n sizeX=\"18px\"\n sizeY=\"18px\"\n />\n );\n case FCellTypes.EDITOR:\n return <div innerHTML={cell.value}></div>;\n case FCellTypes.ICON:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n if ((subcomponentProps as FImageProps).badgeData) {\n classObj[FCellClasses.C_PADDED] = true;\n }\n return <FImage {...subcomponentProps} />;\n case FCellTypes.IMAGE:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n if ((subcomponentProps as FImageProps).badgeData) {\n classObj[FCellClasses.C_PADDED] = true;\n }\n\n return <FImage {...subcomponentProps} />;\n\n case FCellTypes.LINK:\n return (\n <a href={content as string} target=\"_blank\">\n {cell.value}\n </a>\n );\n case FCellTypes.NUMBER:\n if (content && content != '') {\n const cellValueNumber = dom.ketchup.math.numberifySafe(\n cell.value\n );\n const cellValue = getCellValueForDisplay(column, cell);\n if (cellValueNumber < 0) {\n classObj[FCellClasses.TEXT_DANGER] = true;\n }\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_RIGHT_ALIGNED] = true;\n }\n return <div class=\"f-cell__text\">{cellValue}</div>;\n }\n return <div class=\"f-cell__text\">{content}</div>;\n case FCellTypes.SWITCH:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n subcomponentProps['disabled'] = true;\n return <FSwitch {...subcomponentProps}></FSwitch>;\n default:\n return <div class=\"f-cell__text\">{content}</div>;\n }\n}\n\nfunction setKupCell(\n cellType: string,\n classObj: Record<string, boolean>,\n subcomponentProps: GenericObject,\n cell: KupDataCell,\n row: KupDataRow,\n column: KupDataColumn,\n props: FCellProps\n): unknown {\n switch (cellType) {\n case FCellTypes.BAR:\n if (!(subcomponentProps as FImageProps).data) {\n return (\n <kup-image\n key={column.name + props.row.id}\n sizeX=\"250px\"\n {...subcomponentProps}\n />\n );\n } else {\n const barStyle = {\n height: (subcomponentProps as FImageProps).sizeY,\n width: '100%',\n };\n return (\n <div style={barStyle}>\n <FImage {...subcomponentProps} />\n </div>\n );\n }\n case FCellTypes.BUTTON:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n return (\n <FButton\n {...subcomponentProps}\n onClick={(e) =>\n cellEvent(e, props, cellType, FCellEvents.CLICK)\n }\n ></FButton>\n );\n case FCellTypes.BUTTON_LIST:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n subcomponentProps['data-storage'] = {\n cell: cell,\n row: row,\n column: column,\n };\n return (\n <kup-button-list\n key={column.name + props.row.id}\n {...subcomponentProps}\n ></kup-button-list>\n );\n case FCellTypes.CHART:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n return (\n <kup-chart\n key={column.name + props.row.id}\n {...subcomponentProps}\n />\n );\n case FCellTypes.MULTI_AUTOCOMPLETE:\n case FCellTypes.MULTI_COMBOBOX:\n case FCellTypes.CHIP:\n return <FChip {...subcomponentProps} />;\n case FCellTypes.COLOR_PICKER:\n return (\n <kup-color-picker\n key={column.name + props.row.id}\n {...subcomponentProps}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n disabled\n ></kup-color-picker>\n );\n case FCellTypes.GAUGE:\n return (\n <kup-gauge\n key={column.name + props.row.id}\n value={dom.ketchup.math.numberifySafe(cell.value)}\n width-component=\"280px\"\n {...subcomponentProps}\n ></kup-gauge>\n );\n case FCellTypes.KNOB:\n case FCellTypes.PROGRESS_BAR:\n return subcomponentProps.customStyle ? (\n <kup-progress-bar\n key={column.name + props.row.id}\n {...subcomponentProps}\n ></kup-progress-bar>\n ) : (\n <FProgressBar {...subcomponentProps}></FProgressBar>\n );\n case FCellTypes.RADIO:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n subcomponentProps['disabled'] = row.readOnly;\n return <FRadio {...subcomponentProps}></FRadio>;\n case FCellTypes.RATING:\n return <FRating {...subcomponentProps} disabled={true}></FRating>;\n case FCellTypes.OBJECT:\n return (\n <FTextField\n icon={'table'}\n {...subcomponentProps}\n disabled={true}\n ></FTextField>\n );\n }\n}\n\nfunction setDefaults(cellType: string, cell: KupDataCell): void {\n function isShapeBarMarker(value: string): boolean {\n return value.toUpperCase().startsWith('SHAPE;BAR');\n }\n\n function isShapeMarker(value: string): boolean {\n return value.toUpperCase().startsWith('SHAPE;');\n }\n\n function isBgColorMarker(value: string): boolean {\n return value.toUpperCase().startsWith('BCOLOR;');\n }\n\n function isHeightMarker(value: string): boolean {\n return value.toUpperCase().startsWith('HEIGHT;');\n }\n\n function isDecoratorMarker(value: string): boolean {\n return (\n value.toUpperCase().startsWith('SEP;') ||\n value.toUpperCase().startsWith('DIV;') ||\n value.toUpperCase().startsWith('ARW;') ||\n value.toUpperCase().startsWith('GRID;')\n );\n }\n function getData(value: string): FImageData[] | null {\n if (!value) {\n return null;\n }\n const graphicElementDefinitionArr = value.split('\\\\\\\\AND\\\\');\n const data: FImageData[] = [];\n for (const graphicElem of graphicElementDefinitionArr) {\n const elementData = getElementData(graphicElem);\n if (elementData) {\n data.push(...elementData);\n } else {\n return null;\n }\n }\n return data;\n }\n\n function getElementData(value: string): FImageData[] | null {\n const commonsData: FImageData = {};\n\n const markersArray = value.split('\\\\\\\\');\n const shapesArray: FImageData[] = [];\n\n for (const vString of markersArray) {\n if (vString) {\n if (isDecoratorMarker(vString)) {\n return null;\n }\n\n if (isShapeMarker(vString)) {\n if (!isShapeBarMarker(vString)) {\n return null;\n } else {\n const attr = vString.split(';');\n if (attr.length === 3) {\n const width = attr[2].replace(',', '.');\n if (!isNaN(parseFloat(width))) {\n commonsData.width = `${width}%`;\n }\n }\n }\n } else if (isBgColorMarker(vString)) {\n // Background color handling can be added here if needed\n } else if (isHeightMarker(vString)) {\n const height = vString\n .substring('HEIGHT;'.length)\n .replace(',', '.');\n if (!isNaN(parseFloat(height))) {\n commonsData.height = `${height}%`;\n }\n } else {\n shapesArray.push(getShapeData(vString, commonsData));\n }\n }\n return shapesArray.length ? shapesArray : null;\n }\n\n function getShapeData(\n value: string,\n commonsData: FImageData\n ): FImageData {\n const shapeData: FImageData = { ...commonsData };\n const attr = value.split(';');\n if (attr.length >= 1) {\n const pattern = /R(\\d+)G(\\d+)B(\\d+)/;\n const match = pattern.exec(attr[0]);\n if (match) {\n const [, r, g, b] = match;\n if (\n !isNaN(parseInt(r, 10)) &&\n !isNaN(parseInt(g, 10)) &&\n !isNaN(parseInt(b, 10))\n ) {\n shapeData.color = `rgb(${parseInt(r)},${parseInt(\n g\n )},${parseInt(b)})`;\n }\n }\n if (attr.length >= 2) {\n const width = attr[1].replace(',', '.');\n if (!isNaN(parseFloat(width))) {\n shapeData.width = `${width}%`;\n }\n }\n }\n return shapeData;\n }\n }\n\n cell.data = {};\n\n const createDataset = () => {\n const parts = cell.value?.split(';');\n if (parts?.[parts.length - 1].trim() === '') {\n parts.pop();\n }\n if (parts && parts.length) {\n cell.data.data = [];\n for (let part of parts) {\n (cell.data.data as KupDataNode[]).push({\n id: part,\n value: part,\n });\n }\n }\n };\n\n switch (cellType) {\n case FCellTypes.CHECKBOX:\n case FCellTypes.SWITCH:\n cell.data.checked = cell.value === '1' ? true : false;\n break;\n\n case FCellTypes.BAR:\n if (isShapeMarker(cell.value)) {\n cell.data.isCanvas = true;\n cell.data.resource = cell.value;\n } else {\n cell.data.data = getData(cell.value);\n }\n break;\n\n case FCellTypes.BUTTON:\n cell.data.label = cell.value;\n break;\n\n case FCellTypes.CHART:\n Object.assign(cell.data, {\n sizeX: '100px',\n sizeY: '100px',\n offlineMode: {\n value: cell.value,\n shape: 'pie',\n },\n });\n break;\n\n case FCellTypes.BUTTON_LIST:\n case FCellTypes.CHIP:\n case FCellTypes.MULTI_AUTOCOMPLETE:\n case FCellTypes.MULTI_COMBOBOX:\n case FCellTypes.RADIO:\n createDataset();\n break;\n\n case FCellTypes.COLOR_PICKER:\n cell.data.initialValue = cell.value;\n break;\n\n case FCellTypes.GAUGE:\n case FCellTypes.KNOB:\n case FCellTypes.PROGRESS_BAR:\n case FCellTypes.RATING:\n cell.data.value = parseInt(cell.value);\n break;\n\n case FCellTypes.ICON:\n case FCellTypes.IMAGE:\n cell.data.resource = cell.value;\n break;\n }\n}\n\nfunction cellEvent(\n e: InputEvent | CustomEvent | MouseEvent | KeyboardEvent,\n props: FCellProps,\n cellType: FCellTypes,\n cellEventName: FCellEvents\n): void {\n const cell = props.cell;\n const column = props.column;\n const comp = props.component;\n const row = props.row;\n if (cellEventName === FCellEvents.UPDATE) {\n let value = getValueFromEventTarget(e, cellType);\n switch (cellType) {\n case FCellTypes.AUTOCOMPLETE:\n case FCellTypes.COMBOBOX:\n case FCellTypes.DATE:\n case FCellTypes.TIME:\n if (cell.data) {\n cell.data['initialValue'] = value;\n }\n break;\n case FCellTypes.CHECKBOX:\n case FCellTypes.SWITCH:\n value = value === 'on' ? '0' : '1';\n if (cell.data) {\n (cell.data as FCheckboxProps).checked =\n value === '0' ? false : true;\n }\n break;\n case FCellTypes.RADIO:\n if (cell.data.data) {\n const radioData = cell.data.data as FRadioData[];\n const checkedItem = radioData.find((item) => item.checked);\n if (checkedItem) {\n value = checkedItem.value;\n }\n }\n break;\n case FCellTypes.CHIP:\n case FCellTypes.MULTI_AUTOCOMPLETE:\n case FCellTypes.MULTI_COMBOBOX:\n value = (e as CustomEvent<KupChipChangeEventPayload>).detail\n .stringifiedValues;\n if (cell.data) {\n (cell.data as FChipsProps).data = (\n e as CustomEvent<KupChipChangeEventPayload>\n ).detail.comp.data;\n }\n break;\n }\n if (cell.obj) {\n cell.obj.k = value?.toString();\n }\n cell.value = value?.toString();\n cell.displayedValue = null;\n cell.displayedValue = getCellValueForDisplay(column, cell);\n }\n if (comp && (comp as KupComponent).rootElement) {\n const cellEvent = new CustomEvent<FCellEventPayload>(cellEventName, {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n comp: comp,\n id: (comp as KupComponent).rootElement.id,\n cell: cell,\n column: column,\n event: e,\n row: row,\n type: cellType,\n },\n });\n (comp as KupComponent).rootElement.dispatchEvent(cellEvent);\n if (cellEventName === FCellEvents.UPDATE) {\n try {\n (comp as KupComponent).refresh();\n } catch (error) {\n dom.ketchup.debug.logMessage(\n comp,\n error,\n KupDebugCategory.ERROR\n );\n }\n }\n }\n}\n\nfunction getValueFromEventTarget(\n e: InputEvent | CustomEvent | MouseEvent | KeyboardEvent,\n cellType: FCellTypes\n): string {\n const isInputEvent = !!((e.target as HTMLElement).tagName === 'INPUT');\n let value = isInputEvent\n ? (e.target as HTMLInputElement).value\n : e.detail.value;\n\n if (cellType === FCellTypes.CHECKBOX && isInputEvent) {\n value = (e.target as HTMLInputElement).checked ? 'off' : 'on';\n }\n\n if (cellType === FCellTypes.NUMBER && isInputEvent) {\n value = dom.ketchup.math.formattedStringToNumberString(value, '');\n }\n\n return value;\n}\n\nfunction isAutoCentered(props: FCellProps) {\n return autoCenterComps.includes(\n (props.component as KupComponent)?.rootElement.tagName as KupTagNames\n );\n}\n\nfunction isFullWidth(props: FCellProps) {\n return fullWidthFieldsComps.includes(\n (props.component as KupComponent)?.rootElement.tagName as KupTagNames\n );\n}\n"]}
1
+ {"version":3,"file":"f-cell.js","sourceRoot":"","sources":["../../../src/f-components/f-cell/f-cell.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { FCheckboxProps } from '../f-checkbox/f-checkbox-declarations';\nimport type { FImageData, FImageProps } from '../f-image/f-image-declarations';\nimport type { FButtonProps } from '../f-button/f-button-declarations';\nimport type { KupChart } from '../../components/kup-chart/kup-chart';\nimport type { KupDom } from '../../managers/kup-manager/kup-manager-declarations';\nimport type { KupAutocompleteEventPayload } from '../../components/kup-autocomplete/kup-autocomplete-declarations';\nimport type { KupComboboxEventPayload } from '../../components/kup-combobox/kup-combobox-declarations';\nimport type { KupDatePickerEventPayload } from '../../components/kup-date-picker/kup-date-picker-declarations';\nimport type { KupTimePickerEventPayload } from '../../components/kup-time-picker/kup-time-picker-declarations';\nimport type { KupRatingClickEventPayload } from '../../components/kup-rating/kup-rating-declarations';\nimport type { KupColorPickerEventPayload } from '../../components/kup-color-picker/kup-color-picker-declarations';\nimport {\n GenericObject,\n KupComponent,\n KupTagNames,\n} from '../../types/GenericTypes';\nimport {\n autoCenterComps,\n editableTypes,\n FCellClasses,\n FCellEventPayload,\n FCellEvents,\n FCellInfo,\n FCellProps,\n FCellShapes,\n FCellTypes,\n fullWidthFieldsComps,\n kupTypes,\n} from './f-cell-declarations';\nimport { FunctionalComponent, h, VNode } from '@stencil/core';\nimport {\n CHIAdapter,\n CMBandACPAdapter,\n getCellValueForDisplay,\n RADAdapter,\n} from '../../utils/cell-utils';\nimport { FCheckbox } from '../f-checkbox/f-checkbox';\nimport { FTextField } from '../f-text-field/f-text-field';\nimport { FImage } from '../f-image/f-image';\nimport { FChip } from '../f-chip/f-chip';\nimport { KupThemeColorValues } from '../../managers/kup-theme/kup-theme-declarations';\nimport {\n CellOptions,\n KupDataCell,\n KupDataCellOptions,\n KupDataColumn,\n KupDataNode,\n KupDataRow,\n} from '../../managers/kup-data/kup-data-declarations';\nimport { FSwitch } from '../f-switch/f-switch';\nimport { KupChipChangeEventPayload } from '../../components/kup-chip/kup-chip-declarations';\nimport { FChipsProps, FChipType } from '../f-chip/f-chip-declarations';\nimport { ItemsDisplayMode } from '../../components/kup-list/kup-list-declarations';\nimport { FButton } from '../f-button/f-button';\nimport { FProgressBar } from '../f-progress-bar/f-progress-bar';\nimport { FRadio } from '../f-radio/f-radio';\nimport { FRating } from '../f-rating/f-rating';\nimport type { KupDataTable } from '../../components/kup-data-table/kup-data-table';\nimport { FRadioData, FRadioProps } from '../f-radio/f-radio-declarations';\nimport { KupDebugCategory } from '../../managers/kup-debug/kup-debug-declarations';\nimport {\n DataAdapterFn,\n KupInputPanelCell,\n} from '../../components/kup-input-panel/kup-input-panel-declarations';\n\nconst dom: KupDom = document.documentElement as KupDom;\n\n/*-------------------------------------------------*/\n/* C o m p o n e n t */\n/*-------------------------------------------------*/\n\nexport const FCell: FunctionalComponent<FCellProps> = (\n props: FCellProps,\n children?: VNode[]\n) => {\n const cell = props.cell;\n const column = props.column;\n const row = props.row;\n const shape = props.shape\n ? props.shape\n : cell.shape\n ? cell.shape\n : column.shape\n ? column.shape\n : null;\n const hasObj = !dom.ketchup.objects.isEmptyKupObj(cell.obj);\n let isEditable = false;\n if (cell.hasOwnProperty('isEditable')) {\n isEditable = cell.isEditable;\n } else if (column.hasOwnProperty('isEditable')) {\n isEditable = column.isEditable;\n }\n isEditable = isEditable && props.editable;\n\n if (cell.options) {\n cell.data = mapData(cell, column) ?? cell.data;\n }\n\n const valueToDisplay = props.previousValue !== cell.value ? cell.value : '';\n const cellType = dom.ketchup.data.cell.getType(cell, shape);\n const subcomponentProps: unknown = { ...cell.data };\n let cssClasses = cell.cssClass\n ? cell.cssClass\n : column?.cssClass\n ? column?.cssClass\n : '';\n\n if ((props.component as KupDataTable).legacyLook) {\n cssClasses += ' monospace c-pre';\n }\n const classObj: Record<string, boolean> = {\n 'f-cell': true,\n [FCellClasses.OBJ]: hasObj ? true : false,\n [cellType + '-cell']: true,\n [props.wrapperClass]: props.wrapperClass ? true : false,\n [props.density]:\n props.density && cellType !== FCellTypes.BAR ? true : false,\n [cssClasses]: cssClasses ? true : false,\n };\n let content: unknown = valueToDisplay;\n if (!cell.data) {\n setDefaults(cellType, cell);\n }\n if (isEditable && editableTypes.includes(cellType)) {\n content = setEditableCell(cellType, classObj, cell, column, props);\n } else if (cell.data && kupTypes.includes(cellType)) {\n if (props.setSizes) {\n setCellSizeKup(cellType, subcomponentProps, cell);\n }\n if (!props.renderKup) {\n const lazyClass = 'cell-' + cellType + ' placeholder';\n content = <span class={lazyClass}></span>;\n } else {\n content = setKupCell(\n cellType,\n classObj,\n subcomponentProps,\n cell,\n row,\n column,\n props\n );\n }\n } else {\n if (props.setSizes) {\n setCellSize(cellType, subcomponentProps, cell, props);\n }\n content = setCell(\n cellType,\n subcomponentProps,\n content,\n classObj,\n cell,\n column,\n props\n );\n }\n\n let icon: VNode = null;\n if (!isEditable && (column.icon || cell.icon) && content) {\n const fProps: FImageProps = {\n color: `rgba(var(${KupThemeColorValues.TEXT}-rgb), 0.375)`,\n resource: cell.icon ? cell.icon : column.icon,\n placeholderResource: cell.placeholderIcon\n ? cell.placeholderIcon\n : column.placeholderIcon,\n sizeX: '1.25em',\n sizeY: '1.25em',\n wrapperClass: 'obj-icon',\n };\n icon = <FImage {...fProps} />;\n }\n\n let cellTitle: string = null;\n if (dom.ketchup.debug.isDebug() && hasObj) {\n cellTitle = cell.obj.t + '; ' + cell.obj.p + '; ' + cell.obj.k + ';';\n } else if (cell.title != null && cell.title.trim() != '') {\n cellTitle = cell.title;\n }\n\n let infoEl: HTMLElement = null;\n if (cell.info) {\n const info: FCellInfo = { ...cell.info };\n if (!info.color) {\n info.color = `var(${KupThemeColorValues.INFO})`;\n }\n if (!info.icon) {\n info.icon = 'info';\n }\n const fProps: FImageProps = {\n color: info.color,\n resource: info.icon,\n placeholderResource: info.placeholderIcon,\n sizeX: '1.25em',\n sizeY: '1.25em',\n title: info.message ? info.message : '',\n wrapperClass: 'cell-info',\n };\n infoEl = <FImage {...fProps} />;\n }\n\n return (\n <div\n onKeyUp={(e) => cellEvent(e, props, cellType, FCellEvents.KEYUP)}\n class={classObj}\n kup-get-cell-props={() => {\n return props;\n }}\n ref={(el) => (cell.element = el)}\n style={cell.style}\n >\n <div\n class=\"f-cell__content\"\n style={cell.styleContent}\n title={cellTitle}\n >\n {props.cellActionIcon && (\n <FImage\n resource=\"more_vert\"\n sizeX=\"16px\"\n sizeY=\"16px\"\n wrapperClass={`f-cell__iconfunction ${\n cellType === FCellTypes.NUMBER ? 'left' : 'right'\n }`}\n onClick={props.cellActionIcon.onClick}\n tabIndex={0}\n />\n )}\n {children && children.length > 0\n ? children\n : [props.indents, infoEl, icon, content]}\n </div>\n </div>\n );\n};\n\nconst mapData = (cell: KupDataCellOptions, column: KupDataColumn) => {\n if (!cell) {\n return null;\n }\n const options = cell.options;\n const fieldLabel = column.title;\n const currentValue = cell.value;\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n const dataAdapterMap = new Map<FCellTypes, DataAdapterFn>([\n [FCellTypes.BUTTON_LIST, MainBTNAdapter.bind(this)],\n [FCellTypes.STRING, MainITXAdapter.bind(this)],\n [FCellTypes.RADIO, MainRADAdapter.bind(this)],\n [FCellTypes.AUTOCOMPLETE, MainCMBandACPAdapter.bind(this)],\n [FCellTypes.COMBOBOX, MainCMBandACPAdapter.bind(this)],\n [FCellTypes.CHECKBOX, MainCHKAdapter.bind(this)],\n [FCellTypes.OBJECT, MainObjectAdapter.bind(this)],\n [FCellTypes.CHIP, MainCHIAdapter.bind(this)],\n ]);\n\n const adapter = dataAdapterMap.get(cellType);\n return adapter ? adapter(options, fieldLabel, currentValue, cell) : null;\n};\n\nconst MainCHIAdapter = (\n options: CellOptions[],\n _fieldLabel: string,\n _currentValue: string,\n cell: KupInputPanelCell\n) => {\n const newData = {\n data: options?.length\n ? options?.map((option) => ({\n id: option.id,\n value: option.value,\n }))\n : [],\n };\n cell.data = { ...cell.data, ...newData };\n};\n\nconst MainObjectAdapter = (\n _options: CellOptions[],\n fieldLabel: string,\n currentValue: string,\n _cell: KupInputPanelCell,\n _id: string\n) => ({\n data: {\n initialValue: currentValue || '',\n label: fieldLabel || '',\n value: currentValue || '',\n },\n});\n\nconst MainCHKAdapter = (\n _options: CellOptions[],\n fieldLabel: string,\n currentValue: string,\n cell: KupDataCellOptions\n) => ({\n ...cell.data,\n checked: currentValue === 'on' || currentValue === '1',\n label: fieldLabel,\n});\n\nconst MainBTNAdapter = (\n _options: CellOptions[],\n _fieldLabel: string,\n currentValue: string,\n cell: KupDataCellOptions\n) => ({\n data: [\n {\n ...cell.data,\n icon: cell.icon,\n value: currentValue,\n },\n ],\n});\n\nconst MainITXAdapter = (\n _options: CellOptions[],\n fieldLabel: string,\n _currentValue: string,\n cell: KupDataCellOptions\n) => ({\n ...cell.data,\n label: fieldLabel,\n});\n\nconst MainRADAdapter = (\n options: CellOptions[],\n _fieldLabel: string,\n currentValue: string,\n cell?: KupDataCellOptions\n) => {\n const newData = RADAdapter(currentValue, options);\n cell.data = { ...cell.data, ...newData };\n};\n\nconst MainCMBandACPAdapter = (\n options: CellOptions[],\n fieldLabel: string,\n currentValue: string,\n cell: KupDataCellOptions,\n _id: string\n) => {\n if (!cell.data?.data && options) {\n const configCMandACP = CMBandACPAdapter(currentValue, fieldLabel, []);\n configCMandACP.data['kup-list'].data = optionsTreeComboAdapter(\n options,\n currentValue\n );\n return configCMandACP;\n }\n};\n\nconst optionsTreeComboAdapter = (options: any, currentValue: string) => {\n const adapter = optionsAdapterMap.get(options.type);\n\n if (adapter) {\n return adapter(options, currentValue);\n } else {\n return options.map((option) => ({\n value: option.label,\n id: option.id,\n selected: currentValue === option.id,\n }));\n }\n};\n\nconst treeOptionsNodeAdapter = (\n options: any,\n currentValue: string\n): GenericObject[] => {\n return options.children.map((child) => ({\n id: child.content.codice,\n value: child.content.testo,\n selected: currentValue === child.content.codice,\n children: child.children?.length\n ? treeOptionsNodeAdapter(child, currentValue)\n : [],\n }));\n};\n\nconst dataTreeOptionsChildrenAdapter = (\n options: any,\n currentValue: string\n): GenericObject[] => {\n return options.children.map((child) => ({\n id: child.obj.k,\n value: child.value,\n selected: currentValue === child.obj.k,\n children: child.children?.length\n ? dataTreeOptionsChildrenAdapter(child, currentValue)\n : [],\n }));\n};\n\nconst tableOptionsAdapter = (\n options: any,\n currentValue: string\n): GenericObject[] => {\n return options.rows.map((row) => {\n const cells = row.fields || row.cells;\n const [id, value] = Object.keys(cells);\n\n return {\n id: cells[id].value,\n value: cells[value]?.value || cells[id].value,\n selected: currentValue === cells[id].value,\n };\n });\n};\n\nconst optionsAdapterMap = new Map<\n string,\n (options: any, currentValue: string) => GenericObject[]\n>([\n ['SmeupTreeNode', treeOptionsNodeAdapter.bind(this)],\n ['SmeupDataTree', dataTreeOptionsChildrenAdapter.bind(this)],\n ['SmeupTable', tableOptionsAdapter.bind(this)],\n ['SmeupDataTable', tableOptionsAdapter.bind(this)],\n]);\n\nfunction setCellSize(\n cellType: string,\n subcomponentProps: unknown,\n cell: KupDataCell,\n props: FCellProps\n) {\n switch (cellType) {\n case FCellTypes.CHECKBOX:\n case FCellTypes.ICON:\n if (!(subcomponentProps as FImageProps).sizeX) {\n (subcomponentProps as FImageProps).sizeX = '18px';\n }\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = '18px';\n }\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = (\n subcomponentProps as FImageProps\n ).sizeY;\n }\n } else {\n cell.style = {\n minHeight: (subcomponentProps as FImageProps).sizeY,\n };\n }\n break;\n case FCellTypes.IMAGE:\n const cellValue = props.cell?.value || '';\n const hasExternalResource =\n cellValue.indexOf('.') > -1 ||\n cellValue.indexOf('/') > -1 ||\n cellValue.indexOf('\\\\') > -1;\n if (\n (props.component as KupComponent).rootElement.tagName ===\n KupTagNames.DATA_TABLE &&\n !hasExternalResource\n ) {\n if (\n !(subcomponentProps as FImageProps).sizeX &&\n !(subcomponentProps as FImageProps).sizeY\n ) {\n (subcomponentProps as FImageProps).sizeX = '100%';\n (subcomponentProps as FImageProps).sizeY = '64px';\n (subcomponentProps as FImageProps).wrapperClass = 'noWidth';\n } else {\n if (!(subcomponentProps as FImageProps).sizeX) {\n (subcomponentProps as FImageProps).sizeX = '100%';\n (subcomponentProps as FImageProps).wrapperClass =\n 'noWidth';\n }\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = 'auto';\n }\n }\n }\n if (\n (props.component as KupComponent).rootElement.tagName ===\n KupTagNames.BOX\n ) {\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = 'auto';\n }\n if ((subcomponentProps as FImageProps).fit === undefined) {\n (subcomponentProps as FImageProps).fit = true;\n }\n } else if (!(subcomponentProps as FImageProps).sizeX) {\n (subcomponentProps as FImageProps).sizeX = 'auto';\n }\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = '64px';\n }\n\n break;\n }\n}\n\nfunction setCellSizeKup(\n cellType: string,\n subcomponentProps: unknown,\n cell: KupDataCell\n) {\n switch (cellType) {\n case FCellTypes.BAR:\n if (!(subcomponentProps as FImageProps).sizeY) {\n (subcomponentProps as FImageProps).sizeY = '26px';\n }\n break;\n case FCellTypes.BUTTON:\n let height: string = '';\n if ((subcomponentProps as FButtonProps).label) {\n height = '36px';\n }\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = height;\n }\n } else {\n cell.style = { minHeight: height };\n }\n break;\n case FCellTypes.CHART:\n if (!(subcomponentProps as KupChart).sizeX) {\n (subcomponentProps as KupChart).sizeX = '100%';\n }\n if (!(subcomponentProps as KupChart).sizeY) {\n (subcomponentProps as KupChart).sizeY = '100%';\n }\n break;\n case FCellTypes.CHIP:\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = '40px';\n }\n } else {\n cell.style = { minHeight: '40px' };\n }\n break;\n case FCellTypes.RADIO:\n if (cell.style) {\n if (!cell.style.height) {\n cell.style['minHeight'] = '40px';\n }\n } else {\n cell.style = { minHeight: '40px' };\n }\n break;\n }\n}\n\nfunction setEditableCell(\n cellType: string,\n classObj: Record<string, boolean>,\n cell: KupDataCell,\n column: KupDataColumn,\n props: FCellProps\n): unknown {\n switch (cellType) {\n case FCellTypes.AUTOCOMPLETE:\n return (\n <kup-autocomplete\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-autocomplete-change={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-autocomplete-input={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-autocomplete-iconclick={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.ICON_CLICK)}\n />\n );\n case FCellTypes.CHECKBOX:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n\n if (cell.shape === FCellShapes.INPUT_CHECKBOX) {\n return (\n <input\n checked={\n cell.value === 'on' || cell.value === '1'\n ? true\n : false\n }\n class=\"input-checkbox\"\n onChange={(e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE)\n }\n type=\"checkbox\"\n ></input>\n );\n } else {\n return (\n <FCheckbox\n {...cell.data}\n onChange={(e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE)\n }\n />\n );\n }\n case FCellTypes.CHIP:\n return (\n <kup-chip\n {...cell.data}\n type={FChipType.INPUT}\n enableInput={true}\n onKup-chip-change={(\n e: CustomEvent<KupChipChangeEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n >\n <kup-text-field\n fullWidth={true}\n slot=\"field\"\n {...cell.slotData}\n error={cell.data.error}\n ></kup-text-field>\n </kup-chip>\n );\n case FCellTypes.COLOR_PICKER:\n return (\n <kup-color-picker\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n disabled={false}\n onkup-colorpicker-change={(\n e: CustomEvent<KupColorPickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n ></kup-color-picker>\n );\n case FCellTypes.COMBOBOX:\n return (\n <kup-combobox\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-combobox-change={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-combobox-input={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-combobox-iconclick={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.ICON_CLICK)}\n />\n );\n case FCellTypes.DATE:\n return (\n <kup-date-picker\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-datepicker-change={(\n e: CustomEvent<KupDatePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-datepicker-input={(\n e: CustomEvent<KupDatePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n />\n );\n case FCellTypes.MULTI_AUTOCOMPLETE:\n return (\n <kup-chip\n displayId={true}\n {...cell.data}\n type={FChipType.INPUT}\n enableInput={true}\n onKup-chip-change={(\n e: CustomEvent<KupChipChangeEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n >\n <kup-autocomplete\n class=\"kup-full-width\"\n slot=\"field\"\n displayMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n selectMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n onkup-autocomplete-input={(\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-autocomplete-iconclick={(\n e: CustomEvent<KupComboboxEventPayload>\n ) =>\n cellEvent(\n e,\n props,\n cellType,\n FCellEvents.ICON_CLICK\n )\n }\n showDropDownIcon={false}\n {...cell.slotData}\n error={cell.data.error}\n ></kup-autocomplete>\n </kup-chip>\n );\n case FCellTypes.MULTI_COMBOBOX:\n return (\n <kup-chip\n displayId={true}\n {...cell.data}\n type={FChipType.INPUT}\n enableInput={true}\n onKup-chip-change={(\n e: CustomEvent<KupChipChangeEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n >\n <kup-combobox\n class=\"kup-full-width\"\n slot=\"field\"\n displayMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n selectMode={ItemsDisplayMode.DESCRIPTION_AND_CODE}\n onkup-combobox-input={(\n e: CustomEvent<KupComboboxEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n onkup-combobox-iconclick={(\n e: CustomEvent<KupComboboxEventPayload>\n ) =>\n cellEvent(\n e,\n props,\n cellType,\n FCellEvents.ICON_CLICK\n )\n }\n {...cell.slotData}\n error={cell.data.error}\n ></kup-combobox>\n </kup-chip>\n );\n case FCellTypes.RADIO:\n return (\n <FRadio\n {...cell.data}\n disabled={false}\n onChange={(i: number, e: InputEvent) => {\n const radioData = (cell.data as FRadioProps).data;\n for (let index = 0; index < radioData.length; index++) {\n const radioEl = radioData[index];\n if (index === i) {\n radioEl.checked = true;\n } else {\n radioEl.checked = false;\n }\n }\n cellEvent(e, props, cellType, FCellEvents.UPDATE);\n }}\n ></FRadio>\n );\n case FCellTypes.RATING:\n return (\n <kup-rating\n key={column.name + props.row.id}\n {...cell.data}\n disabled={false}\n onkup-rating-click={(\n e: CustomEvent<KupRatingClickEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n ></kup-rating>\n );\n case FCellTypes.SWITCH:\n return (\n <FSwitch\n {...cell.data}\n disabled={false}\n onChange={(e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE)\n }\n ></FSwitch>\n );\n case FCellTypes.TIME:\n return (\n <kup-time-picker\n key={column.name + props.row.id}\n initialValue={cell.value}\n {...cell.data}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n onkup-timepicker-change={(\n e: CustomEvent<KupTimePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.UPDATE)}\n onkup-timepicker-input={(\n e: CustomEvent<KupTimePickerEventPayload>\n ) => cellEvent(e, props, cellType, FCellEvents.INPUT)}\n />\n );\n case FCellTypes.OBJECT:\n return (\n <FTextField\n icon={'table'}\n {...cell.data}\n disabled={false}\n onIconClick={(e) =>\n cellEvent(e, props, cellType, FCellEvents.ICON_CLICK)\n }\n ></FTextField>\n );\n case FCellTypes.NUMBER:\n classObj[FCellClasses.C_RIGHT_ALIGNED] = true;\n case FCellTypes.LINK:\n case FCellTypes.STRING:\n const onChange = (e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.UPDATE);\n const onInput = (e: InputEvent) =>\n cellEvent(e, props, cellType, FCellEvents.INPUT);\n const type = cellType === FCellTypes.NUMBER ? 'number' : null;\n const value =\n cellType === FCellTypes.NUMBER && cell.value\n ? dom.ketchup.math.numberifySafe(cell.value).toString()\n : cell.value;\n if (cell.shape === FCellShapes.INPUT_FIELD) {\n return (\n <input\n class={'input-field'}\n onChange={onChange}\n onInput={onInput}\n type={type}\n value={value}\n maxLength={column.cellData?.maxLength ?? -1}\n ></input>\n );\n } else {\n return (\n <FTextField\n inputType={type}\n fullWidth={isFullWidth(props) ? true : false}\n {...cell.data}\n icon={\n cell.data && cell.data.icon\n ? cell.data.icon\n : cell.icon\n ? cell.icon\n : column.icon\n ? column.icon\n : null\n }\n value={value}\n onChange={onChange}\n onInput={onInput}\n onIconClick={(e: MouseEvent) =>\n cellEvent(\n e,\n props,\n cellType,\n FCellEvents.ICON_CLICK\n )\n }\n />\n );\n }\n }\n}\n\nfunction setCell(\n cellType: string,\n subcomponentProps: GenericObject,\n content: unknown,\n classObj: Record<string, boolean>,\n cell: KupDataCell,\n column: KupDataColumn,\n props: FCellProps\n): unknown {\n switch (cellType) {\n case FCellTypes.AUTOCOMPLETE:\n case FCellTypes.COMBOBOX:\n case FCellTypes.DATE:\n case FCellTypes.DATETIME:\n case FCellTypes.TIME:\n if (content && content != '') {\n const cellValue = getCellValueForDisplay(column, cell);\n return <div class=\"f-cell__text\">{cellValue}</div>;\n }\n return content;\n case FCellTypes.CHECKBOX:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n return (\n <FImage\n resource={\n (subcomponentProps as FCheckboxProps).checked\n ? 'check_box'\n : 'check_box_outline_blank'\n }\n sizeX=\"18px\"\n sizeY=\"18px\"\n />\n );\n case FCellTypes.EDITOR:\n return <div innerHTML={cell.value}></div>;\n case FCellTypes.ICON:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n if ((subcomponentProps as FImageProps).badgeData) {\n classObj[FCellClasses.C_PADDED] = true;\n }\n return <FImage {...subcomponentProps} />;\n case FCellTypes.IMAGE:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n if ((subcomponentProps as FImageProps).badgeData) {\n classObj[FCellClasses.C_PADDED] = true;\n }\n\n return <FImage {...subcomponentProps} />;\n\n case FCellTypes.LINK:\n return (\n <a href={content as string} target=\"_blank\">\n {cell.value}\n </a>\n );\n case FCellTypes.NUMBER:\n if (content && content != '') {\n const cellValueNumber = dom.ketchup.math.numberifySafe(\n cell.value\n );\n const cellValue = getCellValueForDisplay(column, cell);\n if (cellValueNumber < 0) {\n classObj[FCellClasses.TEXT_DANGER] = true;\n }\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_RIGHT_ALIGNED] = true;\n }\n return <div class=\"f-cell__text\">{cellValue}</div>;\n }\n return <div class=\"f-cell__text\">{content}</div>;\n case FCellTypes.SWITCH:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n subcomponentProps['disabled'] = true;\n return <FSwitch {...subcomponentProps}></FSwitch>;\n default:\n return <div class=\"f-cell__text\">{content}</div>;\n }\n}\n\nfunction setKupCell(\n cellType: string,\n classObj: Record<string, boolean>,\n subcomponentProps: GenericObject,\n cell: KupDataCell,\n row: KupDataRow,\n column: KupDataColumn,\n props: FCellProps\n): unknown {\n switch (cellType) {\n case FCellTypes.BAR:\n if (!(subcomponentProps as FImageProps).data) {\n return (\n <kup-image\n key={column.name + props.row.id}\n sizeX=\"250px\"\n {...subcomponentProps}\n />\n );\n } else {\n const barStyle = {\n height: (subcomponentProps as FImageProps).sizeY,\n width: '100%',\n };\n return (\n <div style={barStyle}>\n <FImage {...subcomponentProps} />\n </div>\n );\n }\n case FCellTypes.BUTTON:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n return (\n <FButton\n {...subcomponentProps}\n onClick={(e) =>\n cellEvent(e, props, cellType, FCellEvents.CLICK)\n }\n ></FButton>\n );\n case FCellTypes.BUTTON_LIST:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n subcomponentProps['data-storage'] = {\n cell: cell,\n row: row,\n column: column,\n };\n return (\n <kup-button-list\n key={column.name + props.row.id}\n {...subcomponentProps}\n ></kup-button-list>\n );\n case FCellTypes.CHART:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n return (\n <kup-chart\n key={column.name + props.row.id}\n {...subcomponentProps}\n />\n );\n case FCellTypes.MULTI_AUTOCOMPLETE:\n case FCellTypes.MULTI_COMBOBOX:\n case FCellTypes.CHIP:\n return <FChip {...subcomponentProps} />;\n case FCellTypes.COLOR_PICKER:\n return (\n <kup-color-picker\n key={column.name + props.row.id}\n {...subcomponentProps}\n class={isFullWidth(props) ? 'kup-full-width' : ''}\n disabled\n ></kup-color-picker>\n );\n case FCellTypes.GAUGE:\n return (\n <kup-gauge\n key={column.name + props.row.id}\n value={dom.ketchup.math.numberifySafe(cell.value)}\n width-component=\"280px\"\n {...subcomponentProps}\n ></kup-gauge>\n );\n case FCellTypes.KNOB:\n case FCellTypes.PROGRESS_BAR:\n return subcomponentProps.customStyle ? (\n <kup-progress-bar\n key={column.name + props.row.id}\n {...subcomponentProps}\n ></kup-progress-bar>\n ) : (\n <FProgressBar {...subcomponentProps}></FProgressBar>\n );\n case FCellTypes.RADIO:\n if (isAutoCentered(props)) {\n classObj[FCellClasses.C_CENTERED] = true;\n }\n subcomponentProps['disabled'] = row.readOnly;\n return <FRadio {...subcomponentProps}></FRadio>;\n case FCellTypes.RATING:\n return <FRating {...subcomponentProps} disabled={true}></FRating>;\n case FCellTypes.OBJECT:\n return (\n <FTextField\n icon={'table'}\n {...subcomponentProps}\n disabled={true}\n ></FTextField>\n );\n }\n}\n\nfunction setDefaults(cellType: string, cell: KupDataCell): void {\n function isShapeBarMarker(value: string): boolean {\n return value.toUpperCase().startsWith('SHAPE;BAR');\n }\n\n function isShapeMarker(value: string): boolean {\n return value.toUpperCase().startsWith('SHAPE;');\n }\n\n function isBgColorMarker(value: string): boolean {\n return value.toUpperCase().startsWith('BCOLOR;');\n }\n\n function isHeightMarker(value: string): boolean {\n return value.toUpperCase().startsWith('HEIGHT;');\n }\n\n function isDecoratorMarker(value: string): boolean {\n return (\n value.toUpperCase().startsWith('SEP;') ||\n value.toUpperCase().startsWith('DIV;') ||\n value.toUpperCase().startsWith('ARW;') ||\n value.toUpperCase().startsWith('GRID;')\n );\n }\n function getData(value: string): FImageData[] | null {\n if (!value) {\n return null;\n }\n const graphicElementDefinitionArr = value.split('\\\\\\\\AND\\\\');\n const data: FImageData[] = [];\n for (const graphicElem of graphicElementDefinitionArr) {\n const elementData = getElementData(graphicElem);\n if (elementData) {\n data.push(...elementData);\n } else {\n return null;\n }\n }\n return data;\n }\n\n function getElementData(value: string): FImageData[] | null {\n const commonsData: FImageData = {};\n\n const markersArray = value.split('\\\\\\\\');\n const shapesArray: FImageData[] = [];\n\n for (const vString of markersArray) {\n if (vString) {\n if (isDecoratorMarker(vString)) {\n return null;\n }\n\n if (isShapeMarker(vString)) {\n if (!isShapeBarMarker(vString)) {\n return null;\n } else {\n const attr = vString.split(';');\n if (attr.length === 3) {\n const width = attr[2].replace(',', '.');\n if (!isNaN(parseFloat(width))) {\n commonsData.width = `${width}%`;\n }\n }\n }\n } else if (isBgColorMarker(vString)) {\n // Background color handling can be added here if needed\n } else if (isHeightMarker(vString)) {\n const height = vString\n .substring('HEIGHT;'.length)\n .replace(',', '.');\n if (!isNaN(parseFloat(height))) {\n commonsData.height = `${height}%`;\n }\n } else {\n shapesArray.push(getShapeData(vString, commonsData));\n }\n }\n return shapesArray.length ? shapesArray : null;\n }\n\n function getShapeData(\n value: string,\n commonsData: FImageData\n ): FImageData {\n const shapeData: FImageData = { ...commonsData };\n const attr = value.split(';');\n if (attr.length >= 1) {\n const pattern = /R(\\d+)G(\\d+)B(\\d+)/;\n const match = pattern.exec(attr[0]);\n if (match) {\n const [, r, g, b] = match;\n if (\n !isNaN(parseInt(r, 10)) &&\n !isNaN(parseInt(g, 10)) &&\n !isNaN(parseInt(b, 10))\n ) {\n shapeData.color = `rgb(${parseInt(r)},${parseInt(\n g\n )},${parseInt(b)})`;\n }\n }\n if (attr.length >= 2) {\n const width = attr[1].replace(',', '.');\n if (!isNaN(parseFloat(width))) {\n shapeData.width = `${width}%`;\n }\n }\n }\n return shapeData;\n }\n }\n\n cell.data = {};\n\n const createDataset = () => {\n const parts = cell.value?.split(';');\n if (parts?.[parts.length - 1].trim() === '') {\n parts.pop();\n }\n if (parts && parts.length) {\n cell.data.data = [];\n for (let part of parts) {\n (cell.data.data as KupDataNode[]).push({\n id: part,\n value: part,\n });\n }\n }\n };\n\n switch (cellType) {\n case FCellTypes.CHECKBOX:\n case FCellTypes.SWITCH:\n cell.data.checked = cell.value === '1' ? true : false;\n break;\n\n case FCellTypes.BAR:\n if (isShapeMarker(cell.value)) {\n cell.data.isCanvas = true;\n cell.data.resource = cell.value;\n } else {\n cell.data.data = getData(cell.value);\n }\n break;\n\n case FCellTypes.BUTTON:\n cell.data.label = cell.value;\n break;\n\n case FCellTypes.CHART:\n Object.assign(cell.data, {\n sizeX: '100px',\n sizeY: '100px',\n offlineMode: {\n value: cell.value,\n shape: 'pie',\n },\n });\n break;\n\n case FCellTypes.BUTTON_LIST:\n case FCellTypes.CHIP:\n case FCellTypes.MULTI_AUTOCOMPLETE:\n case FCellTypes.MULTI_COMBOBOX:\n case FCellTypes.RADIO:\n createDataset();\n break;\n\n case FCellTypes.COLOR_PICKER:\n cell.data.initialValue = cell.value;\n break;\n\n case FCellTypes.GAUGE:\n case FCellTypes.KNOB:\n case FCellTypes.PROGRESS_BAR:\n case FCellTypes.RATING:\n cell.data.value = parseInt(cell.value);\n break;\n\n case FCellTypes.ICON:\n case FCellTypes.IMAGE:\n cell.data.resource = cell.value;\n break;\n }\n}\n\nfunction cellEvent(\n e: InputEvent | CustomEvent | MouseEvent | KeyboardEvent,\n props: FCellProps,\n cellType: FCellTypes,\n cellEventName: FCellEvents\n): void {\n const cell = props.cell;\n const column = props.column;\n const comp = props.component;\n const row = props.row;\n if (cellEventName === FCellEvents.UPDATE) {\n let value = getValueFromEventTarget(e, cellType);\n switch (cellType) {\n case FCellTypes.AUTOCOMPLETE:\n case FCellTypes.COMBOBOX:\n case FCellTypes.DATE:\n case FCellTypes.TIME:\n if (cell.data) {\n cell.data['initialValue'] = value;\n }\n break;\n case FCellTypes.CHECKBOX:\n case FCellTypes.SWITCH:\n value = value === 'on' ? '0' : '1';\n if (cell.data) {\n (cell.data as FCheckboxProps).checked =\n value === '0' ? false : true;\n }\n break;\n case FCellTypes.RADIO:\n if (cell.data.data) {\n const radioData = cell.data.data as FRadioData[];\n const checkedItem = radioData.find((item) => item.checked);\n if (checkedItem) {\n value = checkedItem.value;\n }\n }\n break;\n case FCellTypes.CHIP:\n case FCellTypes.MULTI_AUTOCOMPLETE:\n case FCellTypes.MULTI_COMBOBOX:\n value = (e as CustomEvent<KupChipChangeEventPayload>).detail\n .stringifiedValues;\n if (cell.data) {\n (cell.data as FChipsProps).data = (\n e as CustomEvent<KupChipChangeEventPayload>\n ).detail.comp.data;\n }\n break;\n }\n if (cell.obj) {\n cell.obj.k = value?.toString();\n }\n cell.value = value?.toString();\n cell.displayedValue = null;\n cell.displayedValue = getCellValueForDisplay(column, cell);\n }\n if (comp && (comp as KupComponent).rootElement) {\n const cellEvent = new CustomEvent<FCellEventPayload>(cellEventName, {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n comp: comp,\n id: (comp as KupComponent).rootElement.id,\n cell: cell,\n column: column,\n event: e,\n row: row,\n type: cellType,\n },\n });\n (comp as KupComponent).rootElement.dispatchEvent(cellEvent);\n if (cellEventName === FCellEvents.UPDATE) {\n try {\n (comp as KupComponent).refresh();\n } catch (error) {\n dom.ketchup.debug.logMessage(\n comp,\n error,\n KupDebugCategory.ERROR\n );\n }\n }\n }\n}\n\nfunction getValueFromEventTarget(\n e: InputEvent | CustomEvent | MouseEvent | KeyboardEvent,\n cellType: FCellTypes\n): string {\n const isInputEvent = !!((e.target as HTMLElement).tagName === 'INPUT');\n let value = isInputEvent\n ? (e.target as HTMLInputElement).value\n : e.detail.value;\n\n if (cellType === FCellTypes.CHECKBOX && isInputEvent) {\n value = (e.target as HTMLInputElement).checked ? 'off' : 'on';\n }\n\n if (cellType === FCellTypes.NUMBER && isInputEvent) {\n value = dom.ketchup.math.formattedStringToNumberString(value, '');\n }\n\n return value;\n}\n\nfunction isAutoCentered(props: FCellProps) {\n return autoCenterComps.includes(\n (props.component as KupComponent)?.rootElement.tagName as KupTagNames\n );\n}\n\nfunction isFullWidth(props: FCellProps) {\n return fullWidthFieldsComps.includes(\n (props.component as KupComponent)?.rootElement.tagName as KupTagNames\n );\n}\n"]}
@@ -204,10 +204,10 @@ export const CHIAdapter = (value) => ({
204
204
  });
205
205
  export const submitPositionAdapter = (position) => {
206
206
  const positionAdapterMap = new Map([
207
- [KupCellElementsPosition.top, 'column'],
208
- [KupCellElementsPosition.bottom, 'column-reverse'],
209
- [KupCellElementsPosition.left, 'row'],
210
- [KupCellElementsPosition.right, 'row-reverse'],
207
+ [KupCellElementsPosition.top, 'column-reverse'],
208
+ [KupCellElementsPosition.bottom, 'column'],
209
+ [KupCellElementsPosition.left, 'row-reverse'],
210
+ [KupCellElementsPosition.right, 'row'],
211
211
  ]);
212
212
  const buttonPosition = positionAdapterMap.get(position);
213
213
  return buttonPosition !== null && buttonPosition !== void 0 ? buttonPosition : 'row';
@@ -1 +1 @@
1
- {"version":3,"file":"cell-utils.js","sourceRoot":"","sources":["../../src/utils/cell-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { SortMode } from '../components/kup-data-table/kup-data-table-declarations';\nimport { ValueDisplayedValue } from './filters/filters-declarations';\nimport { KupDom } from '../managers/kup-manager/kup-manager-declarations';\nimport {\n KupDataCell,\n KupDataColumn,\n} from '../managers/kup-data/kup-data-declarations';\nimport { KupDatesFormats } from '../managers/kup-dates/kup-dates-declarations';\nimport { GenericObject } from '../components';\nimport { KupCellElementsPosition } from '../components/kup-cell/kup-cell-declarations';\n\nconst dom: KupDom = document.documentElement as KupDom;\n\n// -------------\n// COMMONS\n// -------------\n\nexport function getCellValueForDisplay(\n column: KupDataColumn,\n cell: KupDataCell\n): string {\n if (cell != null) {\n if (cell.displayedValue != null) {\n return cell.displayedValue;\n }\n }\n let formattedValue = _getCellValueForDisplay(cell.value, column, cell);\n if (cell != null) {\n cell.displayedValue = formattedValue;\n }\n return formattedValue;\n}\n\nexport function getValueForDisplay2(\n values: ValueDisplayedValue,\n column?: KupDataColumn\n): string {\n if (values == null) {\n return '';\n }\n if (values.displayedValue == null || values.displayedValue.trim() == '') {\n values.displayedValue = _getCellValueForDisplay(\n values.value,\n column,\n null\n );\n }\n return values.displayedValue;\n}\n\nexport function formatToNumber(cell: KupDataCell): number {\n if (cell.obj) {\n return dom.ketchup.math.numberify(cell.obj.k);\n }\n\n return dom.ketchup.math.numberify(cell.value);\n}\n\nfunction _getCellValueForDisplay(\n value,\n column: KupDataColumn,\n cell: KupDataCell\n): string {\n let obj = column != null ? column.obj : null;\n if (cell != null) {\n obj = cell.obj ? cell.obj : obj;\n }\n return getValueForDisplay(\n value,\n obj,\n column != null ? column.decimals : null\n );\n}\n\nexport function getValueForDisplay(value, obj, decimals: number): string {\n if (value == null || value.trim() == '') {\n return value;\n }\n if (dom.ketchup.objects.isNumber(obj)) {\n return dom.ketchup.math.numberStringToFormattedString(\n value,\n decimals ? decimals : -1,\n obj ? obj.p : ''\n );\n }\n if (dom.ketchup.objects.isDate(obj) && dom.ketchup.dates.isIsoDate(value)) {\n return dom.ketchup.dates.format(value);\n }\n if (dom.ketchup.objects.isTime(obj)) {\n return dom.ketchup.dates.timeStringToFormattedString(\n value,\n dom.ketchup.objects.isTimeWithSeconds(obj),\n obj.t + obj.p\n );\n }\n if (dom.ketchup.objects.isTimestamp(obj)) {\n return dom.ketchup.dates.timestampStringToFormattedString(value);\n }\n return value;\n}\n\nexport function getColumnByName(\n columns: KupDataColumn[],\n name: string\n): KupDataColumn {\n if (columns == null) {\n return null;\n }\n for (let column of columns) {\n if (column.name === name) {\n return column;\n }\n }\n\n return null;\n}\n\nexport function compareCell(\n cell1: KupDataCell,\n cell2: KupDataCell,\n sortMode: SortMode\n): number {\n return compareValues(\n cell1.obj,\n cell1.value,\n cell2.obj,\n cell2.value,\n sortMode\n );\n}\n\nexport function compareValues(\n obj1: any,\n value1: any,\n obj2: any,\n value2: any,\n sortMode: SortMode\n): number {\n const sm = sortMode === 'A' ? 1 : -1;\n\n if (obj1 == null || obj2 == null) {\n return sm * localCompareAsInJava(value1, value2);\n }\n\n // If either the type or the parameter of the current object are not equal.\n if (!(obj1.t === obj2.t && obj1.p === obj2.p)) {\n let compare = localCompareAsInJava(obj1.t, obj2.t);\n if (compare === 0) {\n compare = localCompareAsInJava(obj1.p, obj2.p);\n }\n return compare * sm;\n }\n\n let s1: string = value1;\n let s2: string = value2;\n\n if (s1 == s2) {\n return 0;\n }\n\n if (s1 == '') {\n return sm * -1;\n }\n\n if (s2 == '') {\n return sm * 1;\n }\n\n let v1: any = s1;\n let v2: any = s2;\n if (dom.ketchup.objects.isNumber(obj1)) {\n v1 = dom.ketchup.math.numberifySafe(s1);\n v2 = dom.ketchup.math.numberifySafe(s2);\n } else if (dom.ketchup.objects.isDate(obj1)) {\n v1 = dom.ketchup.dates.toDate(\n dom.ketchup.dates.format(s1, KupDatesFormats.ISO_DATE)\n );\n v2 = dom.ketchup.dates.toDate(\n dom.ketchup.dates.format(s2, KupDatesFormats.ISO_DATE)\n );\n } else if (dom.ketchup.objects.isTime(obj1)) {\n // Previous code could not work because dayjs\n // returns an invalid date when it tries to parse a time\n // This solution is simpler and it works because the time format\n // was assumed to be equals to HH:mm:ss or HH:mm\n v1 = Number(s1.replace(/:/g, ''));\n v2 = Number(s2.replace(/:/g, ''));\n } else if (dom.ketchup.objects.isTimestamp(obj1)) {\n v1 = dom.ketchup.dates.toDate(\n dom.ketchup.dates.format(s1, KupDatesFormats.ISO_DATE_TIME),\n KupDatesFormats.ISO_DATE_TIME\n );\n v2 = dom.ketchup.dates.toDate(\n dom.ketchup.dates.format(s2, KupDatesFormats.ISO_DATE_TIME),\n KupDatesFormats.ISO_DATE_TIME\n );\n }\n if (v1 > v2) {\n return sm * 1;\n }\n if (v1 < v2) {\n return sm * -1;\n }\n return 0;\n}\n\n/**\n * Given two strings to compare, the functions decides which string comes before the other or if they are equal.\n * This is meant as a replacement for the JavaScript function localCompare() which produces a slightly different result from\n * the Java version of compareTo().\n *\n * Re-implemented from java source method compareTo() of java.lang.String\n * @param t1 firstString the first string to be compared\n * @param t2 anotherString the another string to be compared to the first one\n * @returns the value 0 if the anotherString is equal to\n * firstString; a value less than 0 if firstString\n * is lexicographically less than the anotherString; and a\n * value greater than 0 if firstString is\n * lexicographically greater than the anotherString.\n */\nfunction localCompareAsInJava(t1: string, t2: string): number {\n let t1Length = t1 == null ? 0 : t1.length;\n let t2Length = t2 == null ? 0 : t2.length;\n const lim = Math.min(t1Length, t2Length);\n\n let k = 0;\n while (k < lim) {\n const c1 = t1[k];\n const c2 = t2[k];\n if (c1 !== c2) {\n return c1.charCodeAt(0) - c2.charCodeAt(0);\n }\n k++;\n }\n return t1Length - t2Length;\n}\n\n// -------------\n// ADAPTERS from SmeupDataTable to FCell data attribute\n// -------------\n\nexport const CMBandACPAdapter = (\n value: string,\n label: string,\n options: GenericObject\n) => ({\n data: {\n 'kup-text-field': {\n trailingIcon: true,\n label,\n },\n 'kup-list': {\n showIcons: true,\n data: options?.length\n ? options.map((option) => ({\n value: option.label,\n id: option.id,\n selected: value === option.id,\n }))\n : [],\n },\n },\n initialValue: value,\n label,\n});\n\nexport const SWTAdapter = (value: string, label: string) => ({\n checked: !!value,\n label,\n leadingLabel: true,\n});\n\nexport const RADAdapter = (value: string, options: GenericObject) => ({\n data: options?.length\n ? options?.map((option) => ({\n value: option.id,\n label: option.label,\n checked: option.id == value,\n }))\n : [],\n});\n\nexport const CHKAdapter = (value: string, label: string) => ({\n checked: value === 'on' || value === '1',\n label,\n});\n\nexport const CHIAdapter = (value: string) => ({\n data: value?.length\n ? value\n .split(';')\n .map((v) => ({ id: v, value: v }))\n .filter((value) => !!value)\n : null,\n});\n\nexport const submitPositionAdapter = (position: KupCellElementsPosition) => {\n const positionAdapterMap = new Map<KupCellElementsPosition, string>([\n [KupCellElementsPosition.top, 'column'],\n [KupCellElementsPosition.bottom, 'column-reverse'],\n [KupCellElementsPosition.left, 'row'],\n [KupCellElementsPosition.right, 'row-reverse'],\n ]);\n\n const buttonPosition = positionAdapterMap.get(position);\n\n return buttonPosition ?? 'row';\n};\n"]}
1
+ {"version":3,"file":"cell-utils.js","sourceRoot":"","sources":["../../src/utils/cell-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { SortMode } from '../components/kup-data-table/kup-data-table-declarations';\nimport { ValueDisplayedValue } from './filters/filters-declarations';\nimport { KupDom } from '../managers/kup-manager/kup-manager-declarations';\nimport {\n KupDataCell,\n KupDataColumn,\n} from '../managers/kup-data/kup-data-declarations';\nimport { KupDatesFormats } from '../managers/kup-dates/kup-dates-declarations';\nimport { GenericObject } from '../components';\nimport { KupCellElementsPosition } from '../components/kup-cell/kup-cell-declarations';\n\nconst dom: KupDom = document.documentElement as KupDom;\n\n// -------------\n// COMMONS\n// -------------\n\nexport function getCellValueForDisplay(\n column: KupDataColumn,\n cell: KupDataCell\n): string {\n if (cell != null) {\n if (cell.displayedValue != null) {\n return cell.displayedValue;\n }\n }\n let formattedValue = _getCellValueForDisplay(cell.value, column, cell);\n if (cell != null) {\n cell.displayedValue = formattedValue;\n }\n return formattedValue;\n}\n\nexport function getValueForDisplay2(\n values: ValueDisplayedValue,\n column?: KupDataColumn\n): string {\n if (values == null) {\n return '';\n }\n if (values.displayedValue == null || values.displayedValue.trim() == '') {\n values.displayedValue = _getCellValueForDisplay(\n values.value,\n column,\n null\n );\n }\n return values.displayedValue;\n}\n\nexport function formatToNumber(cell: KupDataCell): number {\n if (cell.obj) {\n return dom.ketchup.math.numberify(cell.obj.k);\n }\n\n return dom.ketchup.math.numberify(cell.value);\n}\n\nfunction _getCellValueForDisplay(\n value,\n column: KupDataColumn,\n cell: KupDataCell\n): string {\n let obj = column != null ? column.obj : null;\n if (cell != null) {\n obj = cell.obj ? cell.obj : obj;\n }\n return getValueForDisplay(\n value,\n obj,\n column != null ? column.decimals : null\n );\n}\n\nexport function getValueForDisplay(value, obj, decimals: number): string {\n if (value == null || value.trim() == '') {\n return value;\n }\n if (dom.ketchup.objects.isNumber(obj)) {\n return dom.ketchup.math.numberStringToFormattedString(\n value,\n decimals ? decimals : -1,\n obj ? obj.p : ''\n );\n }\n if (dom.ketchup.objects.isDate(obj) && dom.ketchup.dates.isIsoDate(value)) {\n return dom.ketchup.dates.format(value);\n }\n if (dom.ketchup.objects.isTime(obj)) {\n return dom.ketchup.dates.timeStringToFormattedString(\n value,\n dom.ketchup.objects.isTimeWithSeconds(obj),\n obj.t + obj.p\n );\n }\n if (dom.ketchup.objects.isTimestamp(obj)) {\n return dom.ketchup.dates.timestampStringToFormattedString(value);\n }\n return value;\n}\n\nexport function getColumnByName(\n columns: KupDataColumn[],\n name: string\n): KupDataColumn {\n if (columns == null) {\n return null;\n }\n for (let column of columns) {\n if (column.name === name) {\n return column;\n }\n }\n\n return null;\n}\n\nexport function compareCell(\n cell1: KupDataCell,\n cell2: KupDataCell,\n sortMode: SortMode\n): number {\n return compareValues(\n cell1.obj,\n cell1.value,\n cell2.obj,\n cell2.value,\n sortMode\n );\n}\n\nexport function compareValues(\n obj1: any,\n value1: any,\n obj2: any,\n value2: any,\n sortMode: SortMode\n): number {\n const sm = sortMode === 'A' ? 1 : -1;\n\n if (obj1 == null || obj2 == null) {\n return sm * localCompareAsInJava(value1, value2);\n }\n\n // If either the type or the parameter of the current object are not equal.\n if (!(obj1.t === obj2.t && obj1.p === obj2.p)) {\n let compare = localCompareAsInJava(obj1.t, obj2.t);\n if (compare === 0) {\n compare = localCompareAsInJava(obj1.p, obj2.p);\n }\n return compare * sm;\n }\n\n let s1: string = value1;\n let s2: string = value2;\n\n if (s1 == s2) {\n return 0;\n }\n\n if (s1 == '') {\n return sm * -1;\n }\n\n if (s2 == '') {\n return sm * 1;\n }\n\n let v1: any = s1;\n let v2: any = s2;\n if (dom.ketchup.objects.isNumber(obj1)) {\n v1 = dom.ketchup.math.numberifySafe(s1);\n v2 = dom.ketchup.math.numberifySafe(s2);\n } else if (dom.ketchup.objects.isDate(obj1)) {\n v1 = dom.ketchup.dates.toDate(\n dom.ketchup.dates.format(s1, KupDatesFormats.ISO_DATE)\n );\n v2 = dom.ketchup.dates.toDate(\n dom.ketchup.dates.format(s2, KupDatesFormats.ISO_DATE)\n );\n } else if (dom.ketchup.objects.isTime(obj1)) {\n // Previous code could not work because dayjs\n // returns an invalid date when it tries to parse a time\n // This solution is simpler and it works because the time format\n // was assumed to be equals to HH:mm:ss or HH:mm\n v1 = Number(s1.replace(/:/g, ''));\n v2 = Number(s2.replace(/:/g, ''));\n } else if (dom.ketchup.objects.isTimestamp(obj1)) {\n v1 = dom.ketchup.dates.toDate(\n dom.ketchup.dates.format(s1, KupDatesFormats.ISO_DATE_TIME),\n KupDatesFormats.ISO_DATE_TIME\n );\n v2 = dom.ketchup.dates.toDate(\n dom.ketchup.dates.format(s2, KupDatesFormats.ISO_DATE_TIME),\n KupDatesFormats.ISO_DATE_TIME\n );\n }\n if (v1 > v2) {\n return sm * 1;\n }\n if (v1 < v2) {\n return sm * -1;\n }\n return 0;\n}\n\n/**\n * Given two strings to compare, the functions decides which string comes before the other or if they are equal.\n * This is meant as a replacement for the JavaScript function localCompare() which produces a slightly different result from\n * the Java version of compareTo().\n *\n * Re-implemented from java source method compareTo() of java.lang.String\n * @param t1 firstString the first string to be compared\n * @param t2 anotherString the another string to be compared to the first one\n * @returns the value 0 if the anotherString is equal to\n * firstString; a value less than 0 if firstString\n * is lexicographically less than the anotherString; and a\n * value greater than 0 if firstString is\n * lexicographically greater than the anotherString.\n */\nfunction localCompareAsInJava(t1: string, t2: string): number {\n let t1Length = t1 == null ? 0 : t1.length;\n let t2Length = t2 == null ? 0 : t2.length;\n const lim = Math.min(t1Length, t2Length);\n\n let k = 0;\n while (k < lim) {\n const c1 = t1[k];\n const c2 = t2[k];\n if (c1 !== c2) {\n return c1.charCodeAt(0) - c2.charCodeAt(0);\n }\n k++;\n }\n return t1Length - t2Length;\n}\n\n// -------------\n// ADAPTERS from SmeupDataTable to FCell data attribute\n// -------------\n\nexport const CMBandACPAdapter = (\n value: string,\n label: string,\n options: GenericObject\n) => ({\n data: {\n 'kup-text-field': {\n trailingIcon: true,\n label,\n },\n 'kup-list': {\n showIcons: true,\n data: options?.length\n ? options.map((option) => ({\n value: option.label,\n id: option.id,\n selected: value === option.id,\n }))\n : [],\n },\n },\n initialValue: value,\n label,\n});\n\nexport const SWTAdapter = (value: string, label: string) => ({\n checked: !!value,\n label,\n leadingLabel: true,\n});\n\nexport const RADAdapter = (value: string, options: GenericObject) => ({\n data: options?.length\n ? options?.map((option) => ({\n value: option.id,\n label: option.label,\n checked: option.id == value,\n }))\n : [],\n});\n\nexport const CHKAdapter = (value: string, label: string) => ({\n checked: value === 'on' || value === '1',\n label,\n});\n\nexport const CHIAdapter = (value: string) => ({\n data: value?.length\n ? value\n .split(';')\n .map((v) => ({ id: v, value: v }))\n .filter((value) => !!value)\n : null,\n});\n\nexport const submitPositionAdapter = (position: KupCellElementsPosition) => {\n const positionAdapterMap = new Map<KupCellElementsPosition, string>([\n [KupCellElementsPosition.top, 'column-reverse'],\n [KupCellElementsPosition.bottom, 'column'],\n [KupCellElementsPosition.left, 'row-reverse'],\n [KupCellElementsPosition.right, 'row'],\n ]);\n\n const buttonPosition = positionAdapterMap.get(position);\n\n return buttonPosition ?? 'row';\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, forceUpdate, h, Host, Fragment } from '@stencil/core/internal/client';
2
- import { k as kupManagerInstance, g as getProps, s as setProps, o as getCellValueForDisplay } from './kup-manager.js';
2
+ import { k as kupManagerInstance, g as getProps, s as setProps, n as getCellValueForDisplay } from './kup-manager.js';
3
3
  import { F as FImage, c as componentWrapperId, D as sortRows, d as defineCustomElement$2, a as defineCustomElement$3, b as defineCustomElement$4, e as defineCustomElement$5, f as defineCustomElement$6, g as defineCustomElement$7, h as defineCustomElement$8, i as defineCustomElement$9, j as defineCustomElement$a, k as defineCustomElement$b, l as defineCustomElement$c, m as defineCustomElement$d, n as defineCustomElement$e, o as defineCustomElement$f, p as defineCustomElement$g, q as defineCustomElement$h, r as defineCustomElement$i, s as defineCustomElement$j, t as defineCustomElement$k, u as defineCustomElement$l, v as defineCustomElement$m, w as defineCustomElement$n, x as defineCustomElement$o, y as defineCustomElement$p, z as defineCustomElement$q, A as defineCustomElement$r, B as defineCustomElement$s, C as defineCustomElement$t } from './kup-autocomplete2.js';
4
4
 
5
5
  var KupActivityTimelineProps;
@@ -1,5 +1,5 @@
1
1
  import { h, getAssetPath, Fragment, proxyCustomElement, HTMLElement as HTMLElement$1, createEvent, forceUpdate, Host } from '@stencil/core/internal/client';
2
- import { c as KupThemeIconValues, d as KupLanguageGeneric, e as editableTypes, f as kupTypes, b as KupThemeColorValues, F as FCellTypes, C as CHIAdapter, R as RADAdapter, h as CMBandACPAdapter, i as KupTagNames, j as FCellShapes, l as fullWidthFieldsComps, m as FCellClasses, n as autoCenterComps, o as getCellValueForDisplay, p as FCellEvents, q as KupDebugCategory, r as FCellPadding, k as kupManagerInstance, t as fillString, u as KupCardBuiltInClockElements, v as KupCardCSSClasses, w as KupLanguageTotals, x as KupLanguageColumn, y as KupDataNewColumnTypes, z as KupCardSubEvents, A as KupCardIds, B as KupLanguageRow, D as getColumnByName, E as KupObjects, G as formatToNumber, H as Filters, I as FilterInterval, J as getValueForDisplay, L as getValueForDisplay2, M as KupData, N as compareCell, T as TotalMode, O as CHKAdapter, S as SWTAdapter, P as SortMode, Q as GroupLabelDisplayMode, U as SelectionMode, V as KupDynamicPositionPlacement, W as KupLanguageGrouping, X as KupLanguageCheckbox, Y as KupLanguageSearch, Z as KupLanguagePage, a as KupComponentSizing, _ as addColumnValueFromRow, $ as KupGlobalFilterMode, g as getProps, s as setProps, a0 as TotalLabel, a1 as KupPointerEventTypes, a2 as kupDynamicPositionAttribute, a3 as KupCardFamily, a4 as identify, a5 as LoadMoreMode, a6 as PaginatorPos, a7 as ShowGrid, a8 as kupDraggableColumnAttr, a9 as kupDragActiveAttr, aa as KupDragEffect, ab as kupDraggableCellAttr, ac as KupDropEventTypes, ad as FixedCellsClasses, ae as FixedCellsCSSVarsBase, af as KupLanguageFontsize, ag as KupLanguageDensity, ah as KupLanguageGrid, ai as KupDataTableProps, aj as DataTableAreasEnum, ak as iconColumn, al as keyColumn, am as fieldColumn, an as KupCardProps } from './kup-manager.js';
2
+ import { c as KupThemeIconValues, d as KupLanguageGeneric, e as editableTypes, f as kupTypes, b as KupThemeColorValues, F as FCellTypes, R as RADAdapter, C as CMBandACPAdapter, h as KupTagNames, i as FCellShapes, j as fullWidthFieldsComps, l as FCellClasses, m as autoCenterComps, n as getCellValueForDisplay, o as FCellEvents, p as KupDebugCategory, q as FCellPadding, k as kupManagerInstance, r as fillString, t as KupCardBuiltInClockElements, u as KupCardCSSClasses, v as KupLanguageTotals, w as KupLanguageColumn, x as KupDataNewColumnTypes, y as KupCardSubEvents, z as KupCardIds, A as KupLanguageRow, B as getColumnByName, D as KupObjects, E as formatToNumber, G as Filters, H as FilterInterval, I as getValueForDisplay, J as getValueForDisplay2, L as KupData, M as compareCell, T as TotalMode, N as CHKAdapter, O as CHIAdapter, S as SWTAdapter, P as SortMode, Q as GroupLabelDisplayMode, U as SelectionMode, V as KupDynamicPositionPlacement, W as KupLanguageGrouping, X as KupLanguageCheckbox, Y as KupLanguageSearch, Z as KupLanguagePage, a as KupComponentSizing, _ as addColumnValueFromRow, $ as KupGlobalFilterMode, g as getProps, s as setProps, a0 as TotalLabel, a1 as KupPointerEventTypes, a2 as kupDynamicPositionAttribute, a3 as KupCardFamily, a4 as identify, a5 as LoadMoreMode, a6 as PaginatorPos, a7 as ShowGrid, a8 as kupDraggableColumnAttr, a9 as kupDragActiveAttr, aa as KupDragEffect, ab as kupDraggableCellAttr, ac as KupDropEventTypes, ad as FixedCellsClasses, ae as FixedCellsCSSVarsBase, af as KupLanguageFontsize, ag as KupLanguageDensity, ah as KupLanguageGrid, ai as KupDataTableProps, aj as DataTableAreasEnum, ak as iconColumn, al as keyColumn, am as fieldColumn, an as KupCardProps } from './kup-manager.js';
3
3
  import { c as KupDateTimeFormatOptionsMonth, K as KupDatesFormats, a as KupDates } from './kup-dates.js';
4
4
 
5
5
  /**
@@ -4878,6 +4878,7 @@ const dom$g = document.documentElement;
4878
4878
  /* C o m p o n e n t */
4879
4879
  /*-------------------------------------------------*/
4880
4880
  const FCell = (props, children) => {
4881
+ var _a;
4881
4882
  const cell = props.cell;
4882
4883
  const column = props.column;
4883
4884
  const row = props.row;
@@ -4898,9 +4899,7 @@ const FCell = (props, children) => {
4898
4899
  }
4899
4900
  isEditable = isEditable && props.editable;
4900
4901
  if (cell.options) {
4901
- const cellData = mapData(cell);
4902
- cell.data = cellData
4903
- ? Object.assign(Object.assign({}, cellData), cell.data) : cell.data;
4902
+ cell.data = (_a = mapData(cell, column)) !== null && _a !== void 0 ? _a : cell.data;
4904
4903
  }
4905
4904
  const valueToDisplay = props.previousValue !== cell.value ? cell.value : '';
4906
4905
  const cellType = dom$g.ketchup.data.cell.getType(cell, shape);
@@ -4996,12 +4995,12 @@ const FCell = (props, children) => {
4996
4995
  ? children
4997
4996
  : [props.indents, infoEl, icon, content])));
4998
4997
  };
4999
- const mapData = (cell) => {
4998
+ const mapData = (cell, column) => {
5000
4999
  if (!cell) {
5001
5000
  return null;
5002
5001
  }
5003
5002
  const options = cell.options;
5004
- const fieldLabel = cell.title;
5003
+ const fieldLabel = column.title;
5005
5004
  const currentValue = cell.value;
5006
5005
  const cellType = dom$g.ketchup.data.cell.getType(cell, cell.shape);
5007
5006
  const dataAdapterMap = new Map([
@@ -5017,8 +5016,16 @@ const mapData = (cell) => {
5017
5016
  const adapter = dataAdapterMap.get(cellType);
5018
5017
  return adapter ? adapter(options, fieldLabel, currentValue, cell) : null;
5019
5018
  };
5020
- const MainCHIAdapter = (_options, _fieldLabel, currentValue) => {
5021
- return CHIAdapter(currentValue);
5019
+ const MainCHIAdapter = (options, _fieldLabel, _currentValue, cell) => {
5020
+ const newData = {
5021
+ data: (options === null || options === void 0 ? void 0 : options.length)
5022
+ ? options === null || options === void 0 ? void 0 : options.map((option) => ({
5023
+ id: option.id,
5024
+ value: option.value,
5025
+ }))
5026
+ : [],
5027
+ };
5028
+ cell.data = Object.assign(Object.assign({}, cell.data), newData);
5022
5029
  };
5023
5030
  const MainObjectAdapter = (_options, fieldLabel, currentValue, _cell, _id) => ({
5024
5031
  data: {