vue-data-ui 2.9.2 → 2.9.3

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 (167) hide show
  1. package/dist/{Arrow-KvKZ2SBJ.cjs → Arrow-Byzfuz-Y.cjs} +1 -1
  2. package/dist/{Arrow-DIEvl571.js → Arrow-Dd8sFWk7.js} +1 -1
  3. package/dist/{BaseIcon-BH4bJe82.js → BaseIcon-CLefSNKF.js} +1 -1
  4. package/dist/{BaseIcon-C6L3qbQ8.cjs → BaseIcon-CSELstL2.cjs} +1 -1
  5. package/dist/{ColorPicker-Dnjy6olA.js → ColorPicker-CZqXDroo.js} +3 -3
  6. package/dist/{ColorPicker-BmVm6Lqe.cjs → ColorPicker-DMqX5Kn5.cjs} +1 -1
  7. package/dist/{DataTable-Cz1SDtvT.cjs → DataTable-CpuMdjPX.cjs} +1 -1
  8. package/dist/{DataTable-CaUgku7o.js → DataTable-Cuky8ZpI.js} +2 -2
  9. package/dist/{Legend-BxZxsJCp.js → Legend-BQ5HGf8B.js} +2 -2
  10. package/dist/{Legend-Bl_MrORk.cjs → Legend-CqHSKd8f.cjs} +1 -1
  11. package/dist/{PackageVersion-BEE_4baV.js → PackageVersion-DJo_CKR-.js} +1 -1
  12. package/dist/{PackageVersion-BrUdYdIC.cjs → PackageVersion-DkyZc28_.cjs} +1 -1
  13. package/dist/{PenAndPaper-B3WdOAcZ.js → PenAndPaper-DK3Wbwoz.js} +3 -3
  14. package/dist/{PenAndPaper-DyGcaflS.cjs → PenAndPaper-DU2wA7cg.cjs} +1 -1
  15. package/dist/{Shape-Hrc-BQkc.js → Shape-BchKnVQT.js} +1 -1
  16. package/dist/{Shape-DuVb3Mev.cjs → Shape-Cp1FyHcE.cjs} +1 -1
  17. package/dist/{Slicer-DVYmI2V1.cjs → Slicer-CE1LNNRp.cjs} +1 -1
  18. package/dist/{Slicer-2ZyRAred.js → Slicer-DvQmWmSB.js} +2 -2
  19. package/dist/{Title-BGh0hWb2.cjs → Title-DV4IpbZv.cjs} +1 -1
  20. package/dist/{Title-CGY0WlAI.js → Title-DmtXFzpc.js} +1 -1
  21. package/dist/{Tooltip-BfEhZz9k.js → Tooltip-BMaBMPpZ.js} +1 -1
  22. package/dist/{Tooltip-DckFFIYj.cjs → Tooltip-De6uq1YK.cjs} +1 -1
  23. package/dist/{dom-to-png-BgJJyI6M.js → dom-to-png-725pnoVX.js} +1 -1
  24. package/dist/{dom-to-png-DnnnXKpR.cjs → dom-to-png-BE7poR2a.cjs} +1 -1
  25. package/dist/{img-DT7UDEPk.cjs → img-CFYnBJP3.cjs} +1 -1
  26. package/dist/{img-DkpJ0ciT.js → img-Ciiut165.js} +1 -1
  27. package/dist/index-Bw9yF1Ws.cjs +9 -0
  28. package/dist/{index-9ZicrZWM.js → index-CeGGP5OF.js} +47 -40
  29. package/dist/pdf-DLDggJUq.cjs +1 -0
  30. package/dist/{pdf-zqw8E-me.js → pdf-DyTBDj-k.js} +18 -18
  31. package/dist/style.css +1 -1
  32. package/dist/types/vue-data-ui.d.cts +2 -0
  33. package/dist/types/vue-data-ui.d.ts +2 -0
  34. package/dist/{useNestedProp-s1XZrtPS.js → useNestedProp-CD9pbB7F.js} +1 -1
  35. package/dist/{useNestedProp-BS9eJthK.cjs → useNestedProp-CuyRUIUu.cjs} +1 -1
  36. package/dist/{usePrinter-vFXYgZiT.cjs → usePrinter-O9uCoI6k.cjs} +1 -1
  37. package/dist/{usePrinter-D7IXLE53.js → usePrinter-Ox_AUldH.js} +3 -3
  38. package/dist/{vue-data-ui-gEqI-hOT.js → vue-data-ui-Bqni-1Zf.js} +61 -61
  39. package/dist/{vue-data-ui-CNieT2ov.cjs → vue-data-ui-Ci_EB1Pl.cjs} +1 -1
  40. package/dist/vue-data-ui.cjs +1 -1
  41. package/dist/vue-data-ui.js +18 -18
  42. package/dist/{vue-ui-3d-bar-DX5baNUz.cjs → vue-ui-3d-bar-CwXVZG3Y.cjs} +1 -1
  43. package/dist/{vue-ui-3d-bar-Sbk5MT1S.js → vue-ui-3d-bar-Du8HQpHI.js} +9 -9
  44. package/dist/{vue-ui-accordion-62KnRfCb.js → vue-ui-accordion-B5Gs-td_.js} +3 -3
  45. package/dist/{vue-ui-accordion-DIMalTE4.cjs → vue-ui-accordion-B7WLy1Jg.cjs} +1 -1
  46. package/dist/{vue-ui-age-pyramid-DfuEC7WE.cjs → vue-ui-age-pyramid-B4H7JQkT.cjs} +1 -1
  47. package/dist/{vue-ui-age-pyramid-BkhVyOTM.js → vue-ui-age-pyramid-B8W-ss5n.js} +10 -10
  48. package/dist/vue-ui-annotator-BINIZaue.cjs +371 -0
  49. package/dist/{vue-ui-annotator-CrwbL3rn.js → vue-ui-annotator-DNF_ObQQ.js} +43 -43
  50. package/dist/{vue-ui-bullet-BVr_zBo7.js → vue-ui-bullet-C70Q3NPV.js} +8 -8
  51. package/dist/{vue-ui-bullet-TmXeLFPZ.cjs → vue-ui-bullet-DAbmjJO4.cjs} +1 -1
  52. package/dist/{vue-ui-candlestick-BArypZ1A.js → vue-ui-candlestick-CdC4R7M2.js} +11 -11
  53. package/dist/{vue-ui-candlestick-BFJ8I4sb.cjs → vue-ui-candlestick-DteMmbOt.cjs} +1 -1
  54. package/dist/{vue-ui-carousel-table-CqWp06Xz.js → vue-ui-carousel-table-DRia7BnJ.js} +4 -4
  55. package/dist/{vue-ui-carousel-table-B1i5b5xU.cjs → vue-ui-carousel-table-Dav_wxu5.cjs} +1 -1
  56. package/dist/{vue-ui-chestnut-B8oiuRgc.cjs → vue-ui-chestnut-B6DIgsRe.cjs} +1 -1
  57. package/dist/{vue-ui-chestnut-EHo3sSMv.js → vue-ui-chestnut-CHB6EIMR.js} +8 -8
  58. package/dist/{vue-ui-circle-pack-kx10AVM0.js → vue-ui-circle-pack-DqTsATrx.js} +9 -9
  59. package/dist/{vue-ui-circle-pack-BGLhSNyo.cjs → vue-ui-circle-pack-ZYPeAycn.cjs} +1 -1
  60. package/dist/{vue-ui-cursor-C8qofYJh.js → vue-ui-cursor-D6Klb7Ub.js} +2 -2
  61. package/dist/{vue-ui-cursor-H77Z-m2e.cjs → vue-ui-cursor-pMITkG0c.cjs} +1 -1
  62. package/dist/{vue-ui-dashboard-Bn2slDQx.js → vue-ui-dashboard-BjOefVNY.js} +62 -62
  63. package/dist/{vue-ui-dashboard-4YFqFygh.cjs → vue-ui-dashboard-DMKc0NXK.cjs} +1 -1
  64. package/dist/{vue-ui-digits-DbSV0D-j.cjs → vue-ui-digits-CeQ3UvM5.cjs} +1 -1
  65. package/dist/{vue-ui-digits-Cv__rzXF.js → vue-ui-digits-D7bnAeht.js} +2 -2
  66. package/dist/{vue-ui-donut-D_CLR29p.js → vue-ui-donut-B2RReI5v.js} +28 -28
  67. package/dist/{vue-ui-donut-Bno5POxU.cjs → vue-ui-donut-dt7wntWx.cjs} +1 -1
  68. package/dist/{vue-ui-donut-evolution-Dg6laY3D.cjs → vue-ui-donut-evolution-CEMUyFGj.cjs} +1 -1
  69. package/dist/{vue-ui-donut-evolution-BgNwQ1J8.js → vue-ui-donut-evolution-Q8efqEFi.js} +40 -40
  70. package/dist/{vue-ui-dumbbell-DWQl4sxh.cjs → vue-ui-dumbbell-Da0UGWon.cjs} +1 -1
  71. package/dist/{vue-ui-dumbbell-C5Z8rSTk.js → vue-ui-dumbbell-DmJnlQk9.js} +10 -10
  72. package/dist/{vue-ui-flow-D0t3MSCU.cjs → vue-ui-flow-B2LxKwSy.cjs} +1 -1
  73. package/dist/{vue-ui-flow-DKS1oZHc.js → vue-ui-flow-DnpEech8.js} +36 -36
  74. package/dist/{vue-ui-funnel-CqhhBoYG.cjs → vue-ui-funnel-Cfg8_Y28.cjs} +1 -1
  75. package/dist/{vue-ui-funnel-r57KM4Wi.js → vue-ui-funnel-D1FBngXC.js} +9 -9
  76. package/dist/{vue-ui-galaxy-BeQSEKLG.cjs → vue-ui-galaxy-BBseh1Xu.cjs} +1 -1
  77. package/dist/{vue-ui-galaxy-CLIAdqkr.js → vue-ui-galaxy-DeiFZ4-K.js} +35 -35
  78. package/dist/{vue-ui-gauge-BQ4S55FH.js → vue-ui-gauge-BYAT1lpA.js} +19 -19
  79. package/dist/{vue-ui-gauge-CcTneeaQ.cjs → vue-ui-gauge-CgbP28Lu.cjs} +1 -1
  80. package/dist/{vue-ui-gizmo-B_rVeweF.cjs → vue-ui-gizmo-Cg8EOszW.cjs} +1 -1
  81. package/dist/{vue-ui-gizmo-DACB7BcV.js → vue-ui-gizmo-Dx0a1RXr.js} +3 -3
  82. package/dist/{vue-ui-heatmap-DNvbR504.js → vue-ui-heatmap-8ztV6WVL.js} +33 -33
  83. package/dist/{vue-ui-heatmap-DBtRfAWr.cjs → vue-ui-heatmap-Dmnsolb3.cjs} +1 -1
  84. package/dist/{vue-ui-history-plot-MfnR_Gg0.js → vue-ui-history-plot-Bqjnj0j7.js} +11 -11
  85. package/dist/{vue-ui-history-plot-B1zXFmOc.cjs → vue-ui-history-plot-Dyh-V9Gh.cjs} +1 -1
  86. package/dist/{vue-ui-kpi-Dm71j1ZP.cjs → vue-ui-kpi-BC6eewXW.cjs} +1 -1
  87. package/dist/{vue-ui-kpi-DDMCa5qe.js → vue-ui-kpi-BcquwnAL.js} +3 -3
  88. package/dist/{vue-ui-mini-loader-mMxdW73Y.js → vue-ui-mini-loader-B5TCB-jm.js} +2 -2
  89. package/dist/{vue-ui-mini-loader-CROjVz1w.cjs → vue-ui-mini-loader-DwEPWCvw.cjs} +1 -1
  90. package/dist/{vue-ui-molecule-BHUWRS5i.js → vue-ui-molecule-BlQ9EKHu.js} +22 -22
  91. package/dist/{vue-ui-molecule-BulwtJre.cjs → vue-ui-molecule-CxdrRZT1.cjs} +1 -1
  92. package/dist/{vue-ui-mood-radar-CUWTjV4S.js → vue-ui-mood-radar-CaMrzhKf.js} +11 -11
  93. package/dist/{vue-ui-mood-radar-BhS9UcqE.cjs → vue-ui-mood-radar-D5dAbRIg.cjs} +1 -1
  94. package/dist/{vue-ui-nested-donuts-BQk9K-uM.js → vue-ui-nested-donuts-B0Msfykw.js} +11 -11
  95. package/dist/{vue-ui-nested-donuts-Db_lFOB1.cjs → vue-ui-nested-donuts-PH-8er1N.cjs} +1 -1
  96. package/dist/{vue-ui-onion-C38MS0We.cjs → vue-ui-onion-BdgRqKZC.cjs} +1 -1
  97. package/dist/{vue-ui-onion-CEP_SVGa.js → vue-ui-onion-CJQvWcZc.js} +11 -11
  98. package/dist/{vue-ui-parallel-coordinate-plot-DOER4ePV.cjs → vue-ui-parallel-coordinate-plot-CFSlIws_.cjs} +1 -1
  99. package/dist/{vue-ui-parallel-coordinate-plot-DlIPqsBr.js → vue-ui-parallel-coordinate-plot-e_Fy1AqK.js} +12 -12
  100. package/dist/{vue-ui-quadrant-hEW2euTx.js → vue-ui-quadrant-BUdDJDiC.js} +40 -40
  101. package/dist/{vue-ui-quadrant-BzA3R8WL.cjs → vue-ui-quadrant-CgmJi4VO.cjs} +1 -1
  102. package/dist/{vue-ui-quick-chart-vCYn3Ycg.cjs → vue-ui-quick-chart-WOakiHbL.cjs} +1 -1
  103. package/dist/{vue-ui-quick-chart-D43_sxe7.js → vue-ui-quick-chart-a0Aq180v.js} +37 -37
  104. package/dist/{vue-ui-radar-CrPGLRgF.cjs → vue-ui-radar-D3XH7mnS.cjs} +1 -1
  105. package/dist/{vue-ui-radar-ea-S6hNo.js → vue-ui-radar-Dq5awTJ4.js} +12 -12
  106. package/dist/{vue-ui-rating-DQhxPqnC.cjs → vue-ui-rating-BLYhtefr.cjs} +1 -1
  107. package/dist/{vue-ui-rating-Cr7OYhms.js → vue-ui-rating-CbJwIMBH.js} +10 -10
  108. package/dist/{vue-ui-relation-circle-BD63yYPk.js → vue-ui-relation-circle-Dt3L1hs0.js} +7 -7
  109. package/dist/{vue-ui-relation-circle-Ci_zTDv6.cjs → vue-ui-relation-circle-QSXzaYcG.cjs} +1 -1
  110. package/dist/{vue-ui-rings-Dup7cJhU.js → vue-ui-rings-BzzWkMfI.js} +22 -22
  111. package/dist/{vue-ui-rings-o_5TelyF.cjs → vue-ui-rings-XJSxdsBz.cjs} +1 -1
  112. package/dist/{vue-ui-scatter-D1p3fd_k.cjs → vue-ui-scatter-KB-arFYU.cjs} +1 -1
  113. package/dist/{vue-ui-scatter-CpUvuCj4.js → vue-ui-scatter-WfGg6-i5.js} +44 -44
  114. package/dist/{vue-ui-skeleton-BGykkjYQ.cjs → vue-ui-skeleton-1LYIEAgE.cjs} +1 -1
  115. package/dist/{vue-ui-skeleton-BjminQzl.js → vue-ui-skeleton-CpGgeJbB.js} +57 -57
  116. package/dist/{vue-ui-smiley-CFKscwS7.js → vue-ui-smiley-C6NH0Lex.js} +2 -2
  117. package/dist/{vue-ui-smiley-BtpjYEEP.cjs → vue-ui-smiley-Dz2M3bCK.cjs} +1 -1
  118. package/dist/{vue-ui-spark-trend-CRcDMTzh.cjs → vue-ui-spark-trend-B_GfxBXt.cjs} +1 -1
  119. package/dist/{vue-ui-spark-trend-wAANMLZ4.js → vue-ui-spark-trend-DTeJM_9L.js} +5 -5
  120. package/dist/{vue-ui-sparkbar-BTUT-uco.js → vue-ui-sparkbar-CLGDM4VK.js} +4 -4
  121. package/dist/{vue-ui-sparkbar-BVh9AOEX.cjs → vue-ui-sparkbar-odjVGeM_.cjs} +1 -1
  122. package/dist/{vue-ui-sparkgauge-B_N07sh6.cjs → vue-ui-sparkgauge-83j8e2xQ.cjs} +1 -1
  123. package/dist/{vue-ui-sparkgauge-DXxoZfG0.js → vue-ui-sparkgauge-DenhO9cj.js} +9 -9
  124. package/dist/{vue-ui-sparkhistogram-CHbsbOtx.cjs → vue-ui-sparkhistogram-Bsid3CJE.cjs} +1 -1
  125. package/dist/{vue-ui-sparkhistogram-cSUQzQ6o.js → vue-ui-sparkhistogram-Ch5_voyg.js} +5 -5
  126. package/dist/{vue-ui-sparkline-_wbJMVVr.js → vue-ui-sparkline-CFx-n0Ax.js} +15 -15
  127. package/dist/{vue-ui-sparkline-Cr5KANZ_.cjs → vue-ui-sparkline-LpkWUXEl.cjs} +1 -1
  128. package/dist/{vue-ui-sparkstackbar-SRvQImaw.cjs → vue-ui-sparkstackbar-CDpHiCTo.cjs} +1 -1
  129. package/dist/{vue-ui-sparkstackbar-D93-i-tg.js → vue-ui-sparkstackbar-ZvPhkKk4.js} +5 -5
  130. package/dist/{vue-ui-stackbar-D3KicC2k.cjs → vue-ui-stackbar-CKaqcgK_.cjs} +1 -1
  131. package/dist/{vue-ui-stackbar-CnZsiebh.js → vue-ui-stackbar-CX96MGjz.js} +13 -13
  132. package/dist/{vue-ui-strip-plot-Dv-C246v.js → vue-ui-strip-plot-BCRGcKhd.js} +13 -14
  133. package/dist/{vue-ui-strip-plot-Dz8doRxV.cjs → vue-ui-strip-plot-Cw8Su0WV.cjs} +1 -1
  134. package/dist/vue-ui-table-BcnDEvP5.js +1470 -0
  135. package/dist/vue-ui-table-DCGpCB-H.cjs +14 -0
  136. package/dist/{vue-ui-table-heatmap-CYuY_cv8.js → vue-ui-table-heatmap-BvdOkoVy.js} +4 -4
  137. package/dist/{vue-ui-table-heatmap-C8Vi0yvC.cjs → vue-ui-table-heatmap-XbKVm0qZ.cjs} +1 -1
  138. package/dist/{vue-ui-table-sparkline-C4REu4fs.cjs → vue-ui-table-sparkline-ClWB_nso.cjs} +1 -1
  139. package/dist/{vue-ui-table-sparkline-B76wcNNt.js → vue-ui-table-sparkline-DlAlNznI.js} +5 -5
  140. package/dist/{vue-ui-thermometer-DiZILoae.js → vue-ui-thermometer-DfTbUkLT.js} +7 -7
  141. package/dist/{vue-ui-thermometer-DvNlCnAL.cjs → vue-ui-thermometer-zpcoSEWt.cjs} +1 -1
  142. package/dist/{vue-ui-timer-DUN6vOs9.cjs → vue-ui-timer-DwFy6VaG.cjs} +1 -1
  143. package/dist/{vue-ui-timer-DxYKc_c7.js → vue-ui-timer-TchnXzem.js} +5 -5
  144. package/dist/{vue-ui-tiremarks-BV7MTnlS.cjs → vue-ui-tiremarks-CmAFj_nG.cjs} +1 -1
  145. package/dist/{vue-ui-tiremarks-D52pzq2N.js → vue-ui-tiremarks-fzrlOBsj.js} +7 -7
  146. package/dist/{vue-ui-treemap-CNbw7CLO.js → vue-ui-treemap-CDo8x9s6.js} +12 -12
  147. package/dist/{vue-ui-treemap-gQhTSE_P.cjs → vue-ui-treemap-DnNrJ4dw.cjs} +1 -1
  148. package/dist/{vue-ui-vertical-bar-B_nsQpZa.js → vue-ui-vertical-bar-Bx1KnXDB.js} +12 -12
  149. package/dist/{vue-ui-vertical-bar-ClJttiMf.cjs → vue-ui-vertical-bar-DxcAPPXR.cjs} +1 -1
  150. package/dist/{vue-ui-waffle-BYBctA3T.cjs → vue-ui-waffle-CvQaobYo.cjs} +1 -1
  151. package/dist/{vue-ui-waffle-CLfNk30s.js → vue-ui-waffle-faLsv9bZ.js} +37 -37
  152. package/dist/{vue-ui-wheel-Bj6lxA5M.cjs → vue-ui-wheel-BWXUHx3h.cjs} +1 -1
  153. package/dist/{vue-ui-wheel-4Yit1iRJ.js → vue-ui-wheel-pn6-k3Wb.js} +7 -7
  154. package/dist/{vue-ui-word-cloud-AZ1OJrxo.cjs → vue-ui-word-cloud-BPU3c5Z2.cjs} +1 -1
  155. package/dist/{vue-ui-word-cloud-D94M5Lsf.js → vue-ui-word-cloud-Bfn2BGMh.js} +10 -10
  156. package/dist/{vue-ui-world-rkzHCxBG.js → vue-ui-world-BbjG83CB.js} +12 -12
  157. package/dist/{vue-ui-world-BwcOIaHG.cjs → vue-ui-world-DWecwIQS.cjs} +2 -2
  158. package/dist/{vue-ui-xy-DXgpQ8zr.js → vue-ui-xy-B5DZ8Qmi.js} +34 -35
  159. package/dist/{vue-ui-xy-DJiY5DSr.cjs → vue-ui-xy-DJZ-eOyQ.cjs} +2 -2
  160. package/dist/{vue-ui-xy-canvas-DsuvSNM3.cjs → vue-ui-xy-canvas-2gXEGzLd.cjs} +1 -1
  161. package/dist/{vue-ui-xy-canvas-CAfAcJWj.js → vue-ui-xy-canvas-BwmEkw6g.js} +12 -12
  162. package/package.json +1 -1
  163. package/dist/index-DjDcQ8pe.cjs +0 -9
  164. package/dist/pdf-DuohwkFu.cjs +0 -1
  165. package/dist/vue-ui-annotator-BGWZZUN7.cjs +0 -371
  166. package/dist/vue-ui-table-Dkoj_poY.js +0 -1466
  167. package/dist/vue-ui-table-iE1t-zP9.cjs +0 -14
@@ -1,1466 +0,0 @@
1
- import { a3 as A, r as D, q as x, z as G, d as M, m as T, A as E, u as P, p as z } from "./index-9ZicrZWM.js";
2
- import { createElementBlock as i, openBlock as c, normalizeStyle as g, createElementVNode as a, createCommentVNode as b, toDisplayString as u, Fragment as N, renderList as C, normalizeClass as f, createTextVNode as I, withDirectives as v, vModelText as k, withKeys as w, withModifiers as O, vModelSelect as B, createStaticVNode as H } from "vue";
3
- import { _ as R } from "./_plugin-vue_export-helper-CHgC5LLL.js";
4
- const U = {
5
- name: "vue-ui-table",
6
- props: {
7
- config: {
8
- type: Object,
9
- default() {
10
- return {};
11
- }
12
- },
13
- dataset: {
14
- type: Object,
15
- default() {
16
- return {};
17
- }
18
- }
19
- },
20
- data() {
21
- return {
22
- uid: `vue-ui-table-${Math.random()}`,
23
- bodyCopy: JSON.parse(JSON.stringify(this.dataset.body)).map((s, l) => ({
24
- ...s,
25
- absoluteIndex: l
26
- })),
27
- buttonTimeout: null,
28
- canMoveChart: !1,
29
- chart: {
30
- height: 316,
31
- type: "bar",
32
- width: 512
33
- },
34
- constants: {
35
- ASC: 1,
36
- BAR: "bar",
37
- DATE: "date",
38
- DESC: -1,
39
- DONUT: "donut",
40
- LINE: "line",
41
- NUMERIC: "numeric",
42
- PERCENTAGE: "percentage",
43
- TEXT: "text"
44
- },
45
- clientX: 100,
46
- clientY: 100,
47
- cssClass: {
48
- CELL: "smart-td-selected",
49
- FIRST_TD: "smart-td-selected-first",
50
- LAST_TD: "smart-td-selected-last",
51
- ROW: "smart-td-selected-neighbor"
52
- },
53
- currentDonut: void 0,
54
- currentFilter: void 0,
55
- currentSearch: void 0,
56
- currentSelectionSpan: {
57
- col: void 0,
58
- rows: []
59
- },
60
- currentPage: 0,
61
- dates: {},
62
- filteredDatesIndexes: {},
63
- hasNaN: {},
64
- iconColor: "#2D353C",
65
- iconSize: 20,
66
- immutableRangeFilters: {},
67
- isExportRequest: !1,
68
- isLoading: !1,
69
- itemsPerPage: this.config.rowsPerPage ? this.config.rowsPerPage : 25,
70
- multiselects: {},
71
- paginatorOptions: [.../* @__PURE__ */ new Set([10, 25, 50, 100, 250, 500, this.config.rowsPerPage ? this.config.rowsPerPage : 25, this.dataset.body.length])].sort((s, l) => s - l),
72
- palette: z,
73
- percentages: {},
74
- rafId: null,
75
- rangeFilters: {},
76
- searches: {},
77
- selectedColumn: void 0,
78
- selectedDonutCategory: void 0,
79
- selectedPlot: void 0,
80
- showChart: !1,
81
- showDonutOptions: !1,
82
- sorts: {},
83
- tableBody: JSON.parse(JSON.stringify(this.dataset.body)).map((s, l) => ({
84
- ...s,
85
- absoluteIndex: l
86
- })),
87
- tableHead: JSON.parse(JSON.stringify(this.dataset.header)).map((s) => ({
88
- average: Object.hasOwn(s, "average") ? s.average : !1,
89
- decimals: Object.hasOwn(s, "decimals") ? s.decimals : 0,
90
- isMultiselect: Object.hasOwn(s, "isMultiselect") ? s.isMultiselect : !1,
91
- isPercentage: Object.hasOwn(s, "isPercentage") ? s.isPercentage : !1,
92
- isSearch: Object.hasOwn(s, "isSearch") ? s.isSearch : !1,
93
- isSort: Object.hasOwn(s, "isSort") ? s.isSort : !1,
94
- name: s.name,
95
- // this attribute is mandatory
96
- percentageTo: Object.hasOwn(s, "percentageTo") ? s.percentageTo : void 0,
97
- prefix: Object.hasOwn(s, "prefix") ? s.prefix : "",
98
- rangeFilter: Object.hasOwn(s, "rangeFilter") ? s.rangeFilter : !1,
99
- suffix: Object.hasOwn(s, "suffix") ? s.suffix : "",
100
- sum: Object.hasOwn(s, "sum") ? s.sum : !1,
101
- type: s.type
102
- // this attribute is mandatory
103
- }))
104
- };
105
- },
106
- mounted() {
107
- if (this.dataset.header.length === 0)
108
- throw new Error(`vue-ui-table error: missing header data.
109
- Provide an array of objects of type:
110
- {
111
- name: string;
112
- type: string; ('text' | 'numeric' | 'date')
113
- average: boolean;
114
- decimals: number | undefined;
115
- sum: boolean;
116
- isSort:boolean;
117
- isSearch: boolean;
118
- isMultiselect: boolean;
119
- isPercentage: boolean;
120
- percentageTo: string; (or '')
121
- }`);
122
- if (this.dataset.body.length === 0)
123
- throw new Error("vue-ui-table error: missing body data");
124
- this.isLoading = !0, this.promiseWithAsyncFunction(this.prepareBodyCopy, () => {
125
- this.$forceUpdate(), this.isLoading = !1;
126
- }), document.addEventListener("keydown", (r) => {
127
- const s = document.activeElement;
128
- (s && Array.from(s.classList).includes("td-focusable") && r.key.includes("Arrow") || r.code === "Space") && r.preventDefault();
129
- });
130
- },
131
- watch: {
132
- showChart: function(r) {
133
- r && this.$nextTick(() => {
134
- this.closeDragElement();
135
- const s = this.$refs.chartModal;
136
- s.onmousedown = this.dragMouseDown;
137
- });
138
- },
139
- dataset: {
140
- handler(r) {
141
- this.isLoading = !0, this.bodyCopy = JSON.parse(JSON.stringify(r.body)).map((s, l) => ({
142
- ...s,
143
- absoluteIndex: l
144
- })), this.tableBody = JSON.parse(JSON.stringify(r.body)).map((s, l) => ({
145
- ...s,
146
- absoluteIndex: l
147
- })), this.tableHead = JSON.parse(JSON.stringify(r.header)).map((s) => ({
148
- average: Object.hasOwn(s, "average") ? s.average : !1,
149
- decimals: Object.hasOwn(s, "decimals") ? s.decimals : 0,
150
- isMultiselect: Object.hasOwn(s, "isMultiselect") ? s.isMultiselect : !1,
151
- isPercentage: Object.hasOwn(s, "isPercentage") ? s.isPercentage : !1,
152
- isSearch: Object.hasOwn(s, "isSearch") ? s.isSearch : !1,
153
- isSort: Object.hasOwn(s, "isSort") ? s.isSort : !1,
154
- name: s.name,
155
- percentageTo: Object.hasOwn(s, "percentageTo") ? s.percentageTo : void 0,
156
- prefix: Object.hasOwn(s, "prefix") ? s.prefix : "",
157
- rangeFilter: Object.hasOwn(s, "rangeFilter") ? s.rangeFilter : !1,
158
- suffix: Object.hasOwn(s, "suffix") ? s.suffix : "",
159
- sum: Object.hasOwn(s, "sum") ? s.sum : !1,
160
- type: s.type
161
- })), this.currentSelectionSpan = { col: void 0, rows: [] }, this.selectedColumn = void 0, this.itemsPerPage = this.config.rowsPerPage ? this.config.rowsPerPage : 25, this.percentages = {}, this.dates = {}, this.filteredDatesIndexes = {}, this.hasNaN = {}, this.immutableRangeFilters = {}, this.rangeFilters = {}, this.multiselects = {}, this.searches = {}, this.sorts = {}, this.showChart = !1, this.currentDonut = void 0, this.selectedDonutCategory = void 0, this.selectedPlot = void 0, this.showDonutOptions = !1, this.currentSelectionSpan.col = void 0, this.currentSelectionSpan.rows = [], this.promiseWithAsyncFunction(this.prepareBodyCopy, () => {
162
- this.$forceUpdate(), this.updateCurrentPage(), this.isLoading = !1;
163
- });
164
- },
165
- deep: !0,
166
- // In case dataset.body/header are updated in-place
167
- immediate: !1
168
- }
169
- },
170
- computed: {
171
- availableDonutCategories() {
172
- return Object.keys(this.multiselects).map((r) => ({
173
- index: r,
174
- name: this.dataset.header[r].name,
175
- options: this.multiselects[r]
176
- }));
177
- },
178
- canChart() {
179
- return this.FINAL_CONFIG.useChart && this.currentSelectionSpan.rows.length > 1;
180
- },
181
- chartData() {
182
- if (!this.canChart) return [];
183
- const r = 316, s = 512, l = this.currentSelectionSpan.rows.length, h = s / l, t = Math.max(...this.currentSelectionSpan.rows.map((F) => F.value)), e = Math.min(...this.currentSelectionSpan.rows.map((F) => F.value)), n = e >= 0 ? 0 : Math.abs(e), o = t + n, d = t < 0 && e < 0, y = this.dataset.header[this.currentSelectionSpan.col].isPercentage, m = this.currentSelectionSpan.rows.map((F, S) => ({
184
- x: h * S + h / 2,
185
- y: (1 - (F.value + n) / o) * r,
186
- value: y ? F.value * 100 : F.value,
187
- suffix: y ? "%" : this.dataset.header[this.currentSelectionSpan.col].suffix ? this.dataset.header[this.currentSelectionSpan.col].suffix : "",
188
- prefix: this.dataset.header[this.currentSelectionSpan.col].prefix ? this.dataset.header[this.currentSelectionSpan.col].prefix : "",
189
- index: F.index,
190
- absoluteValue: y ? Math.abs(F.value) * 100 : Math.abs(F.value)
191
- })), p = r - r * (n / o);
192
- return { isAllNegative: d, zero: p, plots: m, slot: h, progression: m.length >= 2 ? this.calcLinearProgression(m) : !1 };
193
- },
194
- donutHollowLabels() {
195
- return {
196
- total: Number((this.currentDonut.map((r) => r.absoluteValue).reduce((r, s) => r + s, 0) * (this.dataset.header[this.currentSelectionSpan.col].isPercentage ? 100 : 1)).toFixed(this.dataset.header[this.currentSelectionSpan.col].decimals)).toLocaleString(),
197
- average: Number((this.currentDonut.map((r) => r.absoluteValue).reduce((r, s) => r + s, 0) / this.currentSelectionSpan.rows.length * (this.dataset.header[this.currentSelectionSpan.col].isPercentage ? 100 : 1)).toFixed(this.dataset.header[this.currentSelectionSpan.col].decimals)).toLocaleString()
198
- };
199
- },
200
- hasNumericTypes() {
201
- return this.dataset.header.map((r) => r.type).includes(this.constants.NUMERIC);
202
- },
203
- icons() {
204
- return {
205
- arrowSort: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 9l4 -4l4 4m-4 -4v14" /><path d="M21 15l-4 4l-4 -4m4 4v-14" /></svg>`,
206
- bar: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 12m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z" /><path d="M9 8m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v10a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z" /><path d="M15 4m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v14a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z" /><path d="M4 20l14 0" /></svg>`,
207
- chart: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 19l16 0" /><path d="M4 15l4 -6l4 2l4 -5l4 4" /></svg>`,
208
- chevronDown: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M6 9l6 6l6 -6" /></svg>`,
209
- chevronLeft: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize * 1.6}" height="${this.iconSize * 1.6}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M15 6l-6 6l6 6" /></svg>`,
210
- chevronRight: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize * 1.6}" height="${this.iconSize * 1.6}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 6l6 6l-6 6" /></svg>`,
211
- donut: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize * 0.8}" height="${this.iconSize * 0.8}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M12 3v5m4 4h5" /><path d="M8.929 14.582l-3.429 2.918" /><path d="M12 12m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0" /><path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0" /></svg>`,
212
- export: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M12.5 21h-7.5a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v7.5" /><path d="M3 10h18" /><path d="M10 3v18" /><path d="M16 19h6" /><path d="M19 16l3 3l-3 3" /></svg>`,
213
- fileDownload: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M14 3v4a1 1 0 0 0 1 1h4" /><path d="M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z" /><path d="M12 17v-6" /><path d="M9.5 14.5l2.5 2.5l2.5 -2.5" /></svg>`,
214
- filter: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 4h16v2.172a2 2 0 0 1 -.586 1.414l-4.414 4.414v7l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227z" /></svg>`,
215
- move: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M18 9l3 3l-3 3" /><path d="M15 12h6" /><path d="M6 9l-3 3l3 3" /><path d="M3 12h6" /><path d="M9 18l3 3l3 -3" /><path d="M12 15v6" /><path d="M15 6l-3 -3l-3 3" /><path d="M12 3v6" /></svg>`,
216
- sort09: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 15l3 3l3 -3" /><path d="M7 6v12" /><path d="M17 3a2 2 0 0 1 2 2v3a2 2 0 1 1 -4 0v-3a2 2 0 0 1 2 -2z" /><path d="M17 16m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" /><path d="M19 16v3a2 2 0 0 1 -2 2h-1.5" /></svg>`,
217
- sort90: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 15l3 3l3 -3" /><path d="M7 6v12" /><path d="M17 14a2 2 0 0 1 2 2v3a2 2 0 1 1 -4 0v-3a2 2 0 0 1 2 -2z" /><path d="M17 5m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" /><path d="M19 5v3a2 2 0 0 1 -2 2h-1.5" /></svg>`,
218
- sortAZ: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M15 10v-5c0 -1.38 .62 -2 2 -2s2 .62 2 2v5m0 -3h-4" /><path d="M19 21h-4l4 -7h-4" /><path d="M4 15l3 3l3 -3" /><path d="M7 6v12" /></svg>`,
219
- sortZA: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M15 21v-5c0 -1.38 .62 -2 2 -2s2 .62 2 2v5m0 -3h-4" /><path d="M19 10h-4l4 -7h-4" /><path d="M4 15l3 3l3 -3" /><path d="M7 6v12" /></svg>`,
220
- sum: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M18 16v2a1 1 0 0 1 -1 1h-11l6 -7l-6 -7h11a1 1 0 0 1 1 1v2" /></svg>`,
221
- table: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" fill="white" d="M 10 2, 21 2, 21 21, 10 21Z"/><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 5a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-14z" /><path d="M3 10h18" /><path d="M10 3v18" /></svg>`,
222
- warning: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize * 0.8}" height="${this.iconSize * 0.8}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M10.24 3.957l-8.422 14.06a1.989 1.989 0 0 0 1.7 2.983h16.845a1.989 1.989 0 0 0 1.7 -2.983l-8.423 -14.06a1.989 1.989 0 0 0 -3.4 0z" /><path d="M12 9v4" /><path d="M12 17h.01" /></svg>`
223
- };
224
- },
225
- pages() {
226
- const r = [];
227
- if (this.bodyCopy.length)
228
- for (let s = 0; s < this.bodyCopy.length; s += this.itemsPerPage)
229
- r.push(this.bodyCopy.slice(s, s + this.itemsPerPage));
230
- return r;
231
- },
232
- rows() {
233
- return this.bodyCopy.map((r) => r.td);
234
- },
235
- selectedCellsCalculations() {
236
- return {
237
- sumPercentage: Number((this.currentSelectionSpan.rows.map((r) => r.value).reduce((r, s) => r + s, 0) * 100).toFixed(this.dataset.header[this.currentSelectionSpan.col].decimals)).toLocaleString(),
238
- sumRegular: Number(this.currentSelectionSpan.rows.map((r) => r.value).reduce((r, s) => r + s, 0).toFixed(this.dataset.header[this.currentSelectionSpan.col].decimals)).toLocaleString(),
239
- averagePercentage: Number((this.currentSelectionSpan.rows.map((r) => r.value).reduce((r, s) => r + s, 0) / this.currentSelectionSpan.rows.length * 100).toFixed(this.dataset.header[this.currentSelectionSpan.col].decimals)).toLocaleString(),
240
- averageRegular: Number((this.currentSelectionSpan.rows.map((r) => r.value).reduce((r, s) => r + s, 0) / this.currentSelectionSpan.rows.length).toFixed(this.dataset.header[this.currentSelectionSpan.col].decimals)).toLocaleString()
241
- };
242
- },
243
- FINAL_CONFIG() {
244
- const { vue_ui_table: r } = P();
245
- if (!Object.keys(this.config || {}).length)
246
- return r;
247
- const s = this.treeShake({
248
- defaultConfig: r,
249
- userConfig: this.config
250
- });
251
- return this.convertConfigColors(s);
252
- },
253
- visibleRows() {
254
- return this.pages[this.currentPage];
255
- }
256
- },
257
- methods: {
258
- // lib
259
- treeShake: E,
260
- makeDonut: T,
261
- convertColorToHex: M,
262
- convertConfigColors: G,
263
- createCsvContent: x,
264
- downloadCsv: D,
265
- // specific
266
- applyDonutOption() {
267
- const r = this.selectedDonutCategory.options.map((s, l) => ({
268
- name: s,
269
- color: this.palette[l] || this.palette[l % this.palette.length],
270
- value: this.visibleRows.filter((h, t) => h.td[this.selectedDonutCategory.index] === s && this.currentSelectionSpan.rows.map((e) => e.index).includes(t)).map((h) => h.td[this.currentSelectionSpan.col]).reduce((h, t) => Math.abs(h) + Math.abs(t), 0),
271
- absoluteValue: this.visibleRows.filter((h, t) => h.td[this.selectedDonutCategory.index] === s && this.currentSelectionSpan.rows.map((e) => e.index).includes(t)).map((h) => h.td[this.currentSelectionSpan.col]).reduce((h, t) => h + t, 0)
272
- })).sort((s, l) => l.value - s.value);
273
- this.currentDonut = this.makeDonut({ series: r }, 50, 50, 30, 30), this.$nextTick(() => {
274
- this.chart.type = this.constants.DONUT, this.showDonutOptions = !1;
275
- });
276
- },
277
- calcRectY(r, s) {
278
- return r >= 0 ? s : this.chartData.zero;
279
- },
280
- canResetColumn(r, s) {
281
- return !this.hasNaN[r] && (s.isSort || s.isSearch || s.isMultiselect || s.rangeFilter) && ![this.constants.DATE].includes(s.type);
282
- },
283
- createXls(r = "all") {
284
- const s = this.dataset.header.map((e) => e.name), l = r === "all" ? this.bodyCopy.map((e) => e.td) : this.visibleRows.map((e) => e.td), h = [s].concat(l), t = this.createCsvContent(h);
285
- this.downloadCsv({ csvContent: t, title: "vue-ui-table" });
286
- },
287
- calcLinearProgression: A,
288
- closeAllDropdowns() {
289
- const r = document.getElementsByClassName("th-dropdown");
290
- r.length && Array.from(r).forEach((s) => {
291
- s.dataset.isOpen = !1;
292
- });
293
- },
294
- debounce(r, s) {
295
- let l;
296
- clearTimeout(l), l = setTimeout(r, s);
297
- },
298
- filterBody() {
299
- this.bodyCopy = this.tableBody.filter((r) => {
300
- for (const s in this.searches)
301
- if (!r.td[s].toUpperCase().includes(this.searches[s].toUpperCase()))
302
- return !1;
303
- for (const s in this.multiselects)
304
- if (!this.multiselects[s].some((h) => h === r.td[s]))
305
- return !1;
306
- for (const s in this.dates) {
307
- const l = new Date(r.td[s]), h = new Date(this.dates[s].from), t = new Date(this.dates[s].to);
308
- if (l < h || l > t)
309
- return !1;
310
- }
311
- return !0;
312
- }), this.sortBody();
313
- },
314
- getAverage(r) {
315
- return this.rows.map((s) => s[r]).map((s) => isNaN(Number(s)) ? 0 : s).reduce((s, l) => s + l, 0) / this.bodyCopy.length;
316
- },
317
- getDatesRange(r) {
318
- const s = this.dataset.body.map((F) => new Date(F.td[r])), l = new Date(Math.min(...s)), h = new Date(Math.max(...s)), t = l.getFullYear(), e = h.getFullYear(), n = String(l.getMonth() + 1).padStart(2, "0"), o = String(h.getMonth() + 1).padStart(2, "0"), d = String(l.getDate()).padStart(2, "0"), y = String(h.getDate()).padStart(2, "0"), m = `${t}-${n}-${d}`, p = `${e}-${o}-${y}`;
319
- return {
320
- from: m,
321
- to: p
322
- };
323
- },
324
- getDonutLegendValue(r) {
325
- return Number((r * (this.dataset.header[this.currentSelectionSpan.col].isPercentage ? 100 : 1)).toFixed(this.dataset.header[this.currentSelectionSpan.col].decimals)).toLocaleString();
326
- },
327
- getDropdownOptions(r) {
328
- return [...new Set(this.dataset.body.map((s) => s.td[r]))];
329
- },
330
- getSum(r) {
331
- return this.rows.map((s) => s[r]).map((s) => isNaN(Number(s)) ? 0 : s).reduce((s, l) => s + l, 0);
332
- },
333
- includesNaN(r) {
334
- return r.includes(NaN);
335
- },
336
- isDropdownOptionSelected(r, s) {
337
- return this.multiselects[s] ? this.multiselects[s].includes(r) : !0;
338
- },
339
- isNumeric(r) {
340
- return !isNaN(Number(String(r).replaceAll("%", "")));
341
- },
342
- isResetDisabled(r, s) {
343
- const l = s.isSort, h = s.isSearch, t = s.isMultiselect && this.multiselects[r], e = s.rangeFilter, n = (o) => {
344
- if (e && this.rangeFilters[o])
345
- return Math.round(this.rangeFilters[o].min) === this.immutableRangeFilters[o].min && Math.round(this.rangeFilters[o].max) === this.immutableRangeFilters[o].max;
346
- };
347
- if (l && h && t && e)
348
- return ["", void 0].includes(this.searches[r]) && [void 0].includes(this.sorts[r]) && this.multiselects[r].length === this.getDropdownOptions(r).length && n(r);
349
- if (l && h && t)
350
- return ["", void 0].includes(this.searches[r]) && [void 0].includes(this.sorts[r]) && this.multiselects[r].length === this.getDropdownOptions(r).length;
351
- if (l && h && e)
352
- return ["", void 0].includes(this.searches[r]) && [void 0].includes(this.sorts[r]) && n(r);
353
- if (l && h)
354
- return ["", void 0].includes(this.searches[r]) && [void 0].includes(this.sorts[r]);
355
- if (l && t && e)
356
- return [void 0].includes(this.sorts[r]) && this.multiselects[r].length === this.getDropdownOptions(r).length && n(r);
357
- if (l && t)
358
- return [void 0].includes(this.sorts[r]) && this.multiselects[r].length === this.getDropdownOptions(r).length;
359
- if (h && t && e)
360
- return ["", void 0].includes(this.searches[r]) && this.multiselects[r].length === this.getDropdownOptions(r).length && n(r);
361
- if (h && t)
362
- return ["", void 0].includes(this.searches[r]) && this.multiselects[r].length === this.getDropdownOptions(r).length;
363
- if (h && e)
364
- return ["", void 0].includes(this.searches[r]) && n(r);
365
- if (h)
366
- return ["", void 0].includes(this.searches[r]);
367
- if (l && e)
368
- return [void 0].includes(this.sorts[r]) && n(r);
369
- if (l)
370
- return [void 0].includes(this.sorts[r]);
371
- if (t && e)
372
- return this.multiselects[r].length === this.getDropdownOptions(r).length && n(r);
373
- if (t)
374
- return this.multiselects[r].length === this.getDropdownOptions(r).length;
375
- },
376
- navigate(r) {
377
- this.resetSelection(), r === "next" && this.currentPage < this.pages.length ? this.currentPage += 1 : r === "previous" && this.currentPage >= 1 ? this.currentPage -= 1 : this.currentPage = r - 1, this.$refs.tableWrapper.scrollTo({
378
- top: 0,
379
- left: 0,
380
- behavior: "smooth"
381
- });
382
- },
383
- navigateCell(r) {
384
- r.preventDefault();
385
- const s = r.keyCode, l = 38, h = 40, t = 37, e = 39;
386
- if (![l, h, t, e].includes(s)) return;
387
- const n = r.target.id, o = /cell_(\d+)_(\d+)_vue-ui-table-(\d+)/, d = n.match(o), y = parseInt(d[1]), m = parseInt(d[2]), p = document.getElementById(`cell_${y}_${m + 1}_${this.uid}`), F = document.getElementById(`cell_${y}_${m - 1}_${this.uid}`), S = document.getElementById(`cell_${y + 1}_${m}_${this.uid}`), L = document.getElementById(`cell_${y - 1}_${m}_${this.uid}`);
388
- let _;
389
- switch (!0) {
390
- case s === e:
391
- _ = p;
392
- break;
393
- case s === t:
394
- _ = F;
395
- break;
396
- case s === l:
397
- _ = L;
398
- break;
399
- case s === h:
400
- _ = S;
401
- break;
402
- default:
403
- return;
404
- }
405
- _ && (_.focus(), _.scrollIntoView({ behavior: "smooth", block: "center" }));
406
- },
407
- openDonutOptions() {
408
- this.selectedDonutCategory = this.availableDonutCategories[0], this.showDonutOptions = !0;
409
- },
410
- placeLabelOnTopOrBottom({ previousPlot: r, currentPlot: s, nextPlot: l }) {
411
- const h = s.y - 38, t = s.y + 16;
412
- return r && l ? r.value < s.value && l.value < s.value ? h : r.value > s.value && l.value > s.value ? t : (r.value > s.value && l.value < s.value || r.value < s.value && l.value > s.value, h) : r && !l ? r.value > s.value ? t : h : !r && l && l.value > s.value ? t : h;
413
- },
414
- async prepareBodyCopy() {
415
- return new Promise((r) => {
416
- const s = [];
417
- this.tableHead.forEach((l, h) => {
418
- if (l.isSearch && Object.assign(this.searches, { [h]: "" }), l.isMultiselect && Object.assign(this.multiselects, { [h]: this.getDropdownOptions(h) }), l.type === this.constants.DATE && (Object.assign(this.dates, { [h]: this.getDatesRange(h) }), Object.assign(this.filteredDatesIndexes, { [h]: !1 })), (l.isPercentage || l.percentageTo) && Object.assign(this.percentages, {
419
- [h]: {
420
- reference: l.percentageTo,
421
- referenceIndex: this.dataset.header.map((t) => t.name).indexOf(l.percentageTo)
422
- }
423
- }), l.rangeFilter && (Object.assign(this.rangeFilters, {
424
- [h]: {
425
- min: Math.round(Math.min(...this.dataset.body.map((t) => t.td).map((t) => t[h]))),
426
- max: Math.round(Math.max(...this.dataset.body.map((t) => t.td).map((t) => t[h])))
427
- }
428
- }), Object.assign(this.immutableRangeFilters, {
429
- [h]: {
430
- min: Math.round(Math.min(...this.dataset.body.map((t) => t.td).map((t) => t[h]))),
431
- max: Math.round(Math.max(...this.dataset.body.map((t) => t.td).map((t) => t[h])))
432
- }
433
- })), l.isPercentage) {
434
- const t = this.dataset.header.map((n) => n.name).indexOf(l.percentageTo), e = this.dataset.body.map((n) => n.td[t]).reduce((n, o) => n + o, 0);
435
- s.push([h, t, e]);
436
- }
437
- l.type === this.constants.NUMERIC && !l.isPercentage && Object.assign(this.hasNaN, { [h]: this.includesNaN(this.dataset.body.map((t) => Number(t.td[h]))) });
438
- }), this.bodyCopy.forEach((l, h) => {
439
- s.map((t) => {
440
- const [e, n, o] = t;
441
- l.td[e] = l.td[n] / o;
442
- }), l.td.forEach((t, e) => {
443
- this.dataset.header[e].type === this.constants.TEXT && this.dataset.header[e].isSearch && (l[e] = this.stringToNumber(t)), this.dataset.header[e].type === this.constants.DATE && (l[e] = new Date(t).getTime()), this.dataset.header[e].type === this.constants.NUMERIC && (l[e] = isNaN(Number(t)) ? e : t), this.tableBody[h][e] = l[e];
444
- });
445
- }), r(!0);
446
- });
447
- },
448
- promiseWithAsyncFunction(r, s) {
449
- return new Promise((l, h) => {
450
- r().then((t) => {
451
- try {
452
- const e = s(t);
453
- l(e);
454
- } catch (e) {
455
- h(e);
456
- }
457
- }).catch((t) => {
458
- h(t);
459
- });
460
- });
461
- },
462
- resetDates(r) {
463
- this.dates[r] = {
464
- from: this.getDatesRange(r).from,
465
- to: this.getDatesRange(r).to
466
- }, this.filteredDatesIndexes[r] = !1, this.$forceUpdate(), this.filterBody();
467
- },
468
- resetFilter(r, s, l) {
469
- const h = l.currentTarget;
470
- clearTimeout(this.buttonTimeout), h.classList.add("clicked"), this.buttonTimeout = setTimeout(() => {
471
- h.classList.remove("clicked");
472
- }, 200), this.currentFilter = void 0, s.rangeFilter && (this.rangeFilters[r].min = this.immutableRangeFilters[r].min, this.rangeFilters[r].max = this.immutableRangeFilters[r].max), s.isMultiselect ? (this.multiselects[r] = this.getDropdownOptions(r), s.type === this.constants.TEXT && (this.sorts[r] = void 0), s.isSearch && (this.searches[r] = "")) : s.type === this.constants.NUMERIC ? this.sorts[r] = void 0 : s.type === this.constants.TEXT ? (this.sorts[r] = void 0, this.searches[r] = "") : s.type === this.constants.DATE && (this.sorts[r] = void 0), this.filterBody();
473
- },
474
- resetSelection() {
475
- const r = document.getElementsByClassName(`tr_${this.uid}`);
476
- Array.from(r).forEach((s) => {
477
- Array.from(s.getElementsByTagName("td")).forEach((l) => {
478
- l.dataset.row === "even" ? (l.style.background = this.FINAL_CONFIG.style.rows.even.backgroundColor, l.style.color = this.FINAL_CONFIG.style.rows.even.color) : (l.style.background = this.FINAL_CONFIG.style.rows.odd.backgroundColor, l.style.color = this.FINAL_CONFIG.style.rows.odd.color);
479
- });
480
- }), Array.from(r).forEach((s) => s.dataset.selected = "false"), this.currentPage > this.pages.length - 1 && (this.currentPage = this.pages.length - 1), this.showChart = !1, this.currentDonut = void 0, this.selectedColumn = void 0, this.chart.type = this.constants.BAR, this.currentSelectionSpan = {
481
- col: void 0,
482
- rows: []
483
- }, this.clientX = 100, this.clientY = 100;
484
- },
485
- selectColumn(r) {
486
- this.currentSelectionSpan.col !== r ? (this.visibleRows.forEach((s, l) => {
487
- this.selectTd({
488
- td: s.td[r],
489
- rowIndex: l,
490
- colIndex: r,
491
- headerType: this.constants.NUMERIC,
492
- event: {
493
- currentTarget: document.getElementById(`cell_${l}_${r}_${this.uid}`)
494
- }
495
- });
496
- }), this.selectedColumn = r) : (this.selectedColumn = void 0, this.resetSelection());
497
- },
498
- selectDropdownOption(r, s) {
499
- this.multiselects[s].includes(r) ? this.multiselects[s] = this.multiselects[s].filter((l) => l !== r) : this.multiselects[s].push(r), this.$forceUpdate(), this.filterBody();
500
- },
501
- selectTd({ td: r, rowIndex: s, colIndex: l, headerType: h, event: t }) {
502
- if (h !== this.constants.NUMERIC || isNaN(Number(r))) {
503
- this.resetSelection();
504
- return;
505
- }
506
- this.currentSelectionSpan.col !== l && this.resetSelection();
507
- const e = t.currentTarget.parentNode;
508
- this.currentSelectionSpan.col = l, this.currentSelectionSpan.rows.map((n) => n.index).includes(s) ? (e.dataset.selected = "false", this.currentSelectionSpan.rows = this.currentSelectionSpan.rows.filter((n) => n.index !== s), t.currentTarget.classList.remove(this.cssClass.CELL), Array.from(e.children).forEach((n, o) => {
509
- n.dataset.row === "even" ? (n.style.background = this.FINAL_CONFIG.style.rows.even.backgroundColor, n.style.color = this.FINAL_CONFIG.style.rows.even.olor) : (n.style.background = this.FINAL_CONFIG.style.rows.odd.backgroundColor, n.style.color = this.FINAL_CONFIG.style.rows.odd.color);
510
- }), t.currentTarget.dataset.row === "even" ? (t.currentTarget.style.background = this.FINAL_CONFIG.style.rows.even.backgroundColor, t.currentTarget.style.color = this.FINAL_CONFIG.style.rows.even.color) : (t.currentTarget.style.background = this.FINAL_CONFIG.style.rows.odd.backgroundColor, t.currentTarget.style.color = this.FINAL_CONFIG.style.rows.odd.color)) : (e.dataset.selected = "true", this.currentSelectionSpan.rows.push({
511
- index: s,
512
- value: r
513
- }), Array.from(e.children).forEach((n, o) => {
514
- n.dataset.row === "even" ? (n.style.background = this.FINAL_CONFIG.style.rows.even.selectedNeighbors.backgroundColor, n.style.color = this.FINAL_CONFIG.style.rows.even.selectedNeighbors.color) : (n.style.background = this.FINAL_CONFIG.style.rows.odd.selectedNeighbors.backgroundColor, n.style.color = this.FINAL_CONFIG.style.rows.odd.selectedNeighbors.color);
515
- }), t.currentTarget.dataset.row === "odd" ? (t.currentTarget.style.background = this.FINAL_CONFIG.style.rows.odd.selectedCell.backgroundColor, t.currentTarget.style.color = this.FINAL_CONFIG.style.rows.odd.selectedCell.color) : (t.currentTarget.style.background = this.FINAL_CONFIG.style.rows.even.selectedCell.backgroundColor, t.currentTarget.style.color = this.FINAL_CONFIG.style.rows.even.selectedCell.color)), this.currentSelectionSpan.rows = this.currentSelectionSpan.rows.sort((n, o) => n.index - o.index), this.chart.type === this.constants.DONUT && this.currentSelectionSpan.rows.length > 0 && this.applyDonutOption();
516
- },
517
- setFilterDatesIndexes(r) {
518
- this.filteredDatesIndexes[r] = !(this.getDatesRange(r).from === this.dates[r].from && this.getDatesRange(r).to === this.dates[r].to);
519
- },
520
- sortBody() {
521
- this.resetSelection(), Object.keys(this.rangeFilters).forEach((r) => {
522
- this.filterByRange(this.bodyCopy, r);
523
- }), Object.keys(this.sorts).forEach((r) => {
524
- this.sortByNumber(this.bodyCopy, r);
525
- }), this.currentFilter !== void 0 && this.sortByNumber(this.bodyCopy, this.currentFilter), this.dataset.header.forEach((r, s) => {
526
- if (r.isPercentage) {
527
- const l = this.percentages[s].referenceIndex, h = this.bodyCopy.map((t) => t.td[l]).reduce((t, e) => t + e, 0);
528
- this.bodyCopy.forEach((t) => {
529
- t.td[s] = t.td[l] / h;
530
- });
531
- }
532
- }), this.currentPage > this.pages.length - 1 && (this.currentPage = this.pages.length - 1), [-1].includes(this.currentPage) && (this.currentPage = 0), this.$forceUpdate();
533
- },
534
- filterByRange(r, s) {
535
- this.bodyCopy = r.filter((l) => l.td[s] >= this.rangeFilters[s].min && l[s] <= this.rangeFilters[s].max);
536
- },
537
- sortByNumber(r, s) {
538
- if (this.sorts[s] === this.constants.ASC && (r = r.sort((l, h) => l[s] - h[s])), this.sorts[s] === this.constants.DESC)
539
- r = r.sort((l, h) => h[s] - l[s]);
540
- else
541
- return 0;
542
- },
543
- sortTh(r, s) {
544
- this.currentFilter = r;
545
- const l = s.currentTarget;
546
- clearTimeout(this.buttonTimeout), l.classList.add("clicked"), this.buttonTimeout = setTimeout(() => {
547
- l.classList.remove("clicked");
548
- }, 200), this.sorts[r] === 1 ? this.sorts[r] = this.constants.DESC : this.sorts[r] = this.constants.ASC, this.sortBody();
549
- },
550
- stringToNumber(r) {
551
- let s = 0;
552
- for (let l = 0; l < r.length; l += 1)
553
- s += r.charCodeAt(l);
554
- return s;
555
- },
556
- toggleMultiselect(r, s, l) {
557
- const h = l.currentTarget;
558
- clearTimeout(this.buttonTimeout), h.classList.add("clicked"), this.buttonTimeout = setTimeout(() => {
559
- h.classList.remove("clicked");
560
- }, 200);
561
- const t = document.getElementById(`th_dropdown_${r}`);
562
- t.dataset.isOpen === "false" ? t.dataset.isOpen = "true" : t.dataset.isOpen = "false";
563
- },
564
- updateCurrentPage(r) {
565
- this.resetSelection(), !r || !r.target.value ? this.currentPage = 0 : this.currentPage = Number(r.target.value);
566
- },
567
- // DONUTS
568
- calcDonutMarkerConnectorColor(r) {
569
- return r.proportion * 100 > 3 ? r.color : "transparent";
570
- },
571
- calcDonutMarkerLabelPositionX(r) {
572
- return r.center.endX + this.calcMarkerOffset(r, 50);
573
- },
574
- calcMarkerOffset(r, s) {
575
- return r.center.endX - s >= 0 ? 3 : -2;
576
- },
577
- displayArcPercentage(r, s) {
578
- return isNaN(r.value / this.sumValues(s)) ? 0 : (r.value / this.sumValues(s) * 100).toFixed(0) + "%";
579
- },
580
- isArcBigEnough(r) {
581
- return r.proportion * 100 > 3;
582
- },
583
- sumValues(r) {
584
- return [...r].map((s) => s.value).reduce((s, l) => s + l, 0);
585
- },
586
- // CHART DRAGGING METHODS
587
- closeDragElement() {
588
- document.onmouseup = null, document.onmousemove = null;
589
- },
590
- dragMouseDown(r) {
591
- r = r || window.event, r.preventDefault(), document.onmouseup = this.closeDragElement, document.onmousemove = this.elementDrag;
592
- },
593
- elementDrag(r) {
594
- this.rafId || (this.rafId = window.requestAnimationFrame(() => this.onElementDrag(r)));
595
- },
596
- onElementDrag(r) {
597
- r = r || window.event, r.preventDefault();
598
- const l = this.$refs.chartModal.getBoundingClientRect();
599
- this.clientX = r.clientX - l.width / 2, this.clientY = r.clientY - l.height / 2, this.rafId = null;
600
- }
601
- }
602
- }, j = { class: "vue-ui-table-export-hub" }, V = ["innerHTML"], X = ["data-is-open"], W = { class: "vue-ui-table-export-hub-options" }, Y = { class: "vue-ui-table-export-hub-option-wrapper" }, J = { class: "label" }, K = ["innerHTML"], Z = { class: "vue-ui-table-export-hub-option-wrapper" }, q = { class: "label" }, Q = ["innerHTML"], $ = { class: "vue-ui-table" }, ee = { id: "tableHead" }, te = { key: 0 }, se = { key: 0 }, re = { key: 1 }, ne = {
603
- key: 0,
604
- style: { display: "flex", "align-items": "center", "justify-content": "flex-end" }
605
- }, le = ["innerHTML"], oe = {
606
- key: 0,
607
- style: { "margin-left": "3px" }
608
- }, ae = { key: 0 }, ie = { class: "th-filter" }, ce = {
609
- key: 0,
610
- class: "th-date"
611
- }, ue = { class: "date-wrapper--inputs" }, he = { class: "date-fieldset" }, de = ["for"], ge = ["id", "onUpdate:modelValue", "onInput"], ye = { class: "date-fieldset" }, be = ["for"], Ne = ["id", "onUpdate:modelValue", "onInput"], me = { class: "date-wrapper--button" }, fe = ["onClick"], Ce = ["innerHTML"], Fe = ["innerHTML"], Ie = ["innerHTML"], _e = ["onClick", "disabled"], ve = ["placeholder", "onUpdate:modelValue", "name"], pe = ["onClick"], ke = ["innerHTML"], we = ["innerHTML"], Oe = ["innerHTML"], Se = ["onClick", "innerHTML"], Le = ["innerHTML"], Ae = {
612
- key: 5,
613
- class: "th-range-filter"
614
- }, De = ["for"], xe = ["id", "max", "min", "onUpdate:modelValue"], Ge = ["id", "max", "min", "onUpdate:modelValue"], Me = ["for"], Te = ["onClick", "disabled"], Ee = ["id"], Pe = ["onClick"], ze = ["onClick", "onKeyup"], Be = ["innerHTML", "onClick", "onKeyup"], He = ["data-row"], Re = ["data-row"], Ue = ["data-row", "onClick", "onKeyup", "id"], je = ["innerHTML"], Ve = { key: 1 }, Xe = { key: 2 }, We = { key: 5 }, Ye = ["innerHTML"], Je = { key: 0 }, Ke = { style: { "margin-left": "12px" } }, Ze = { class: "format-num" }, qe = { style: { "margin-left": "12px" } }, Qe = {
615
- key: 0,
616
- class: "format-num"
617
- }, $e = {
618
- key: 1,
619
- class: "format-num"
620
- }, et = { key: 2 }, tt = { style: { "margin-left": "12px" } }, st = {
621
- key: 0,
622
- class: "format-num"
623
- }, rt = {
624
- key: 1,
625
- class: "format-num"
626
- }, nt = { key: 2 }, lt = {
627
- key: 0,
628
- class: "vue-ui-table-paginator format-num"
629
- }, ot = {
630
- key: 1,
631
- class: "vue-ui-table-size-warning"
632
- }, at = ["innerHTML"], it = {
633
- key: 3,
634
- class: "vue-ui-table-pagination format-num"
635
- }, ct = ["innerHTML", "disabled"], ut = ["disabled"], ht = {
636
- key: 0,
637
- class: "vue-ui-table-page-scroller-wrapper"
638
- }, dt = {
639
- for: "pageScroller",
640
- style: { "font-size": "14px" }
641
- }, gt = ["max", "value"], yt = { key: 1 }, bt = ["disabled"], Nt = ["innerHTML", "disabled"], mt = { class: "chart-modal-options" }, ft = ["innerHTML"], Ct = ["innerHTML"], Ft = ["innerHTML"], It = { style: { "margin-bottom": "12px" } }, _t = { key: 0 }, vt = { key: 1 }, pt = {
642
- style: { width: "100%", height: "fit-content", cursor: "move" },
643
- ref: "chartModal"
644
- }, kt = { class: "vue-ui-table-fieldset" }, wt = { class: "vue-ui-table-fieldset-wrapper" }, Ot = ["name", "id", "checked", "onInput"], St = ["for"], Lt = ["disabled"], At = ["innerHTML"], Dt = ["viewBox"], xt = ["markerWidth", "markerHeight", "refY"], Gt = ["points", "fill"], Mt = ["x2", "y1", "y2", "stroke", "stroke-width"], Tt = ["y2", "stroke", "stroke-width"], Et = ["x", "width", "height", "fill"], Pt = ["x", "y", "height", "width", "fill", "stroke"], zt = ["x", "y", "width"], Bt = ["x1", "y1", "x2", "y2", "stroke-width", "stroke"], Ht = ["x1", "y1", "x2", "y2", "stroke", "stroke-width", "stroke-dasharray"], Rt = ["cx", "cy", "r", "fill", "stroke", "stroke-width"], Ut = ["x", "y", "width"], jt = ["x", "width", "height", "onMouseenter"], Vt = ["x1", "y1", "x2", "y2", "stroke", "stroke-width", "stroke-dasharray"], Xt = ["d", "stroke"], Wt = ["x", "y"], Yt = { class: "vue-ui-table-donut-label-name" }, Jt = ["fill"], Kt = ["fill"], Zt = ["fill"], qt = ["fill"], Qt = { class: "vue-ui-table-donut-legend" };
645
- function $t(r, s, l, h, t, e) {
646
- return c(), i("div", {
647
- class: "vue-ui-table-main",
648
- style: g(`font-family: ${e.FINAL_CONFIG.fontFamily}`)
649
- }, [
650
- a("div", j, [
651
- a("button", {
652
- onClick: s[0] || (s[0] = (n) => t.isExportRequest = !t.isExportRequest),
653
- innerHTML: e.icons.export,
654
- style: g(`background:${e.FINAL_CONFIG.style.exportMenu.backgroundColor};color:${e.FINAL_CONFIG.style.exportMenu.color}`)
655
- }, null, 12, V),
656
- a("div", {
657
- class: "vue-ui-table-export-hub-dropdown",
658
- "data-is-open": t.isExportRequest || "false",
659
- style: g(`background:${e.FINAL_CONFIG.style.exportMenu.backgroundColor};color:${e.FINAL_CONFIG.style.exportMenu.color}`)
660
- }, [
661
- s[24] || (s[24] = a("b", { class: "vue-ui-table-export-hub-title" }, " Export ", -1)),
662
- a("button", {
663
- class: "close-dropdown",
664
- onClick: s[1] || (s[1] = (n) => t.isExportRequest = !1),
665
- style: g(`background:${e.FINAL_CONFIG.style.closeButtons.backgroundColor};color:${e.FINAL_CONFIG.style.closeButtons.color};border-radius:${e.FINAL_CONFIG.style.closeButtons.borderRadius}`)
666
- }, " ✖ ", 4),
667
- a("div", W, [
668
- a("div", Y, [
669
- a("div", J, u(e.FINAL_CONFIG.translations.exportAllLabel) + " (" + u(t.bodyCopy.length) + ") ", 1),
670
- a("button", {
671
- id: "exportAll",
672
- onClick: s[2] || (s[2] = (n) => e.createXls("all")),
673
- style: g(`background:${e.FINAL_CONFIG.style.exportMenu.buttons.backgroundColor};color:${e.FINAL_CONFIG.style.exportMenu.buttons.color}`)
674
- }, [
675
- a("div", {
676
- innerHTML: e.icons.fileDownload
677
- }, null, 8, K),
678
- a("span", null, u(e.FINAL_CONFIG.translations.exportAllButton), 1)
679
- ], 4)
680
- ]),
681
- a("div", Z, [
682
- a("div", q, u(e.FINAL_CONFIG.translations.exportPageLabel), 1),
683
- a("button", {
684
- id: "exportPage",
685
- onClick: s[3] || (s[3] = (n) => e.createXls("page")),
686
- style: g(`background:${e.FINAL_CONFIG.style.exportMenu.buttons.backgroundColor};color:${e.FINAL_CONFIG.style.exportMenu.buttons.color}`)
687
- }, [
688
- a("div", {
689
- innerHTML: e.icons.fileDownload
690
- }, null, 8, Q),
691
- a("span", null, u(e.FINAL_CONFIG.translations.exportPageButton), 1)
692
- ], 4)
693
- ])
694
- ])
695
- ], 12, X)
696
- ]),
697
- a("div", {
698
- class: "vue-ui-table__wrapper",
699
- style: g(`max-height:${e.FINAL_CONFIG.maxHeight}px`),
700
- ref: "tableWrapper"
701
- }, [
702
- a("table", $, [
703
- a("thead", ee, [
704
- a("tr", null, [
705
- s[25] || (s[25] = a("th", { class: "invisible-cell" }, null, -1)),
706
- (c(!0), i(N, null, C(t.tableHead, (n, o) => (c(), i("th", {
707
- key: `thead_${o}`,
708
- style: g(`overflow: visible;background:${e.FINAL_CONFIG.style.th.backgroundColor};color:${e.FINAL_CONFIG.style.th.color};outline:${e.FINAL_CONFIG.style.th.outline}`),
709
- class: f({ "th-has-nan": t.hasNaN[o] })
710
- }, [
711
- e.hasNumericTypes && ([t.constants.TEXT, t.constants.DATE].includes(n.type) || n.isPercentage) ? (c(), i("span", te, [
712
- I(u(n.name) + " ", 1),
713
- n.isPercentage ? (c(), i("span", se, " / " + u(n.percentageTo), 1)) : b("", !0)
714
- ])) : (c(), i("span", re, u(n.name), 1))
715
- ], 6))), 128))
716
- ]),
717
- e.hasNumericTypes ? (c(), i(N, { key: 0 }, [
718
- a("tr", null, [
719
- s[26] || (s[26] = a("th", { class: "invisible-cell" }, null, -1)),
720
- (c(!0), i(N, null, C(t.tableHead, (n, o) => (c(), i("th", {
721
- key: `thead_${o}`,
722
- class: f({ "th-numeric": !0, "th-has-nan": t.hasNaN[o] }),
723
- style: g(`background:${e.FINAL_CONFIG.style.th.backgroundColor};color:${e.FINAL_CONFIG.style.th.color};outline:${e.FINAL_CONFIG.style.th.outline}`)
724
- }, [
725
- n.sum && !t.hasNaN[o] ? (c(), i("span", ne, [
726
- a("span", {
727
- innerHTML: e.icons.sum,
728
- style: { "margin-bottom": "-4px", "margin-right": "3px" }
729
- }, null, 8, le),
730
- I(" " + u(n.prefix) + " " + u(Number(e.getSum(o).toFixed(n.decimals)).toLocaleString()) + " " + u(n.suffix) + " ", 1),
731
- t.percentages[o] && n.percentageTo && !n.isPercentage ? (c(), i("span", oe, " (" + u(isNaN(e.getSum(o) / e.getSum(t.percentages[o].referenceIndex)) ? "-" : (e.getSum(o) / e.getSum(t.percentages[o].referenceIndex) * 100).toFixed(n.decimals)) + "%) ", 1)) : b("", !0)
732
- ])) : b("", !0)
733
- ], 6))), 128))
734
- ]),
735
- a("tr", null, [
736
- s[27] || (s[27] = a("th", { class: "invisible-cell" }, null, -1)),
737
- (c(!0), i(N, null, C(t.tableHead, (n, o) => (c(), i("th", {
738
- key: `thead_${o}`,
739
- class: f({ "th-numeric": !0, "th-has-nan": t.hasNaN[o] }),
740
- style: g(`background:${e.FINAL_CONFIG.style.th.backgroundColor};color:${e.FINAL_CONFIG.style.th.color};outline:${e.FINAL_CONFIG.style.th.outline}`)
741
- }, [
742
- n.average && !t.hasNaN[o] ? (c(), i("span", ae, " ~ " + u(n.prefix) + " " + u(isNaN(e.getAverage(o)) ? "" : Number(e.getAverage(o).toFixed(n.decimals)).toLocaleString()) + " " + u(n.suffix), 1)) : b("", !0)
743
- ], 6))), 128))
744
- ]),
745
- a("tr", null, [
746
- s[30] || (s[30] = a("th", { class: "invisible-cell" }, null, -1)),
747
- (c(!0), i(N, null, C(t.tableHead, (n, o) => (c(), i("th", {
748
- key: `thead_${o}`,
749
- class: f({ "th-has-nan": t.hasNaN[o] }),
750
- style: g(`background:${e.FINAL_CONFIG.style.th.backgroundColor};color:${e.FINAL_CONFIG.style.th.color};outline:${e.FINAL_CONFIG.style.th.outline}`)
751
- }, [
752
- a("div", ie, [
753
- n.type === t.constants.DATE && t.dates[o] ? (c(), i("div", ce, [
754
- a("div", ue, [
755
- a("div", he, [
756
- a("label", {
757
- for: `from_${o}`
758
- }, u(e.FINAL_CONFIG.translations.from), 9, de),
759
- v(a("input", {
760
- id: `from_${o}`,
761
- type: "date",
762
- "onUpdate:modelValue": (d) => t.dates[o].from = d,
763
- onInput: (d) => {
764
- e.filterBody(), e.setFilterDatesIndexes(o);
765
- },
766
- style: g(`background:${e.FINAL_CONFIG.style.inputs.backgroundColor};color:${e.FINAL_CONFIG.style.inputs.color};border:${e.FINAL_CONFIG.style.inputs.border}`)
767
- }, null, 44, ge), [
768
- [k, t.dates[o].from]
769
- ])
770
- ]),
771
- a("div", ye, [
772
- a("label", {
773
- for: `to_${o}`
774
- }, u(e.FINAL_CONFIG.translations.to), 9, be),
775
- v(a("input", {
776
- id: `to_${o}`,
777
- type: "date",
778
- "onUpdate:modelValue": (d) => t.dates[o].to = d,
779
- onInput: (d) => {
780
- e.filterBody(), e.setFilterDatesIndexes(o);
781
- },
782
- style: g(`background:${e.FINAL_CONFIG.style.inputs.backgroundColor};color:${e.FINAL_CONFIG.style.inputs.color};border:${e.FINAL_CONFIG.style.inputs.border}`)
783
- }, null, 44, Ne), [
784
- [k, t.dates[o].to]
785
- ])
786
- ])
787
- ]),
788
- a("div", me, [
789
- n.isSort ? (c(), i("button", {
790
- key: 0,
791
- onClick: (d) => e.sortTh(o, d),
792
- class: f({ "th-button-active": [t.constants.DESC, t.constants.ASC].includes(t.sorts[o]) }),
793
- style: g(`background:${[t.constants.DESC, t.constants.ASC].includes(t.sorts[o]) ? "" : e.FINAL_CONFIG.style.pagination.buttons.backgroundColor};color:${[t.constants.DESC, t.constants.ASC].includes(t.sorts[o]) ? "" : e.FINAL_CONFIG.style.pagination.buttons.color}`)
794
- }, [
795
- t.sorts[o] === t.constants.ASC ? (c(), i("span", {
796
- key: 0,
797
- innerHTML: [t.constants.DATE].includes(n.type) ? e.icons.sort09 : e.icons.sortAZ
798
- }, null, 8, Ce)) : t.sorts[o] === t.constants.DESC ? (c(), i("span", {
799
- key: 1,
800
- innerHTML: [t.constants.DATE].includes(n.type) ? e.icons.sort90 : e.icons.sortZA
801
- }, null, 8, Fe)) : (c(), i("span", {
802
- key: 2,
803
- innerHTML: e.icons.arrowSort
804
- }, null, 8, Ie))
805
- ], 14, fe)) : b("", !0),
806
- a("button", {
807
- onClick: (d) => {
808
- e.resetDates(o), e.resetFilter(o, n, d);
809
- },
810
- disabled: !t.filteredDatesIndexes[o] && e.isResetDisabled(o, n),
811
- class: "th-reset"
812
- }, " ✖ ", 8, _e)
813
- ])
814
- ])) : b("", !0),
815
- n.isSearch ? v((c(), i("input", {
816
- key: 1,
817
- placeholder: e.FINAL_CONFIG.translations.inputPlaceholder,
818
- "onUpdate:modelValue": (d) => t.searches[o] = d,
819
- onInput: s[4] || (s[4] = (d) => e.debounce(e.filterBody, 400)),
820
- name: `search_${o}`,
821
- style: g(`background:${e.FINAL_CONFIG.style.inputs.backgroundColor};color:${e.FINAL_CONFIG.style.inputs.color};border:${e.FINAL_CONFIG.style.inputs.border}`)
822
- }, null, 44, ve)), [
823
- [k, t.searches[o]]
824
- ]) : b("", !0),
825
- !t.hasNaN[o] && n.isSort && n.type !== t.constants.DATE ? (c(), i("button", {
826
- key: 2,
827
- onClick: (d) => e.sortTh(o, d),
828
- class: f({ "th-button-active": [t.constants.DESC, t.constants.ASC].includes(t.sorts[o]) }),
829
- style: g(`background:${[t.constants.DESC, t.constants.ASC].includes(t.sorts[o]) ? "" : e.FINAL_CONFIG.style.pagination.buttons.backgroundColor};color:${[t.constants.DESC, t.constants.ASC].includes(t.sorts[o]) ? "" : e.FINAL_CONFIG.style.pagination.buttons.color}`)
830
- }, [
831
- t.sorts[o] === t.constants.ASC ? (c(), i("span", {
832
- key: 0,
833
- innerHTML: [t.constants.NUMERIC].includes(n.type) ? e.icons.sort09 : e.icons.sortZA
834
- }, null, 8, ke)) : t.sorts[o] === t.constants.DESC ? (c(), i("span", {
835
- key: 1,
836
- innerHTML: [t.constants.NUMERIC].includes(n.type) ? e.icons.sort90 : e.icons.sortAZ
837
- }, null, 8, we)) : (c(), i("span", {
838
- key: 2,
839
- innerHTML: e.icons.arrowSort
840
- }, null, 8, Oe))
841
- ], 14, pe)) : b("", !0),
842
- n.isMultiselect ? (c(), i("button", {
843
- key: 3,
844
- onClick: (d) => e.toggleMultiselect(o, n, d),
845
- innerHTML: e.icons.filter,
846
- class: f({ "th-button-active": t.multiselects[o] && t.multiselects[o].length !== e.getDropdownOptions(o).length }),
847
- style: g(`background:${t.multiselects[o] && t.multiselects[o].length !== e.getDropdownOptions(o).length ? "" : e.FINAL_CONFIG.style.pagination.buttons.backgroundColor};color:${t.multiselects[o] && t.multiselects[o].length !== e.getDropdownOptions(o).length ? "" : e.FINAL_CONFIG.style.pagination.buttons.color}`)
848
- }, null, 14, Se)) : b("", !0),
849
- t.currentSelectionSpan.col === o && e.canChart ? (c(), i("button", {
850
- key: 4,
851
- onClick: s[5] || (s[5] = (d) => t.showChart = !t.showChart),
852
- innerHTML: e.icons.chart,
853
- class: f({ "th-button-active": t.showChart }),
854
- style: g(`background:${t.showChart ? "" : e.FINAL_CONFIG.style.pagination.buttons.backgroundColor};color:${t.showChart ? "" : e.FINAL_CONFIG.style.pagination.buttons.color}`)
855
- }, null, 14, Le)) : b("", !0),
856
- n.rangeFilter && t.rangeFilters[o] && !t.hasNaN[o] ? (c(), i("div", Ae, [
857
- a("label", {
858
- for: `rangeMin${o}`
859
- }, s[28] || (s[28] = [
860
- a("span", { style: { color: "grey" } }, "ᒥ", -1),
861
- I(" min "),
862
- a("span", { style: { color: "grey" } }, "ᒣ", -1)
863
- ]), 8, De),
864
- v(a("input", {
865
- type: "number",
866
- id: `rangeMin${o}`,
867
- max: t.immutableRangeFilters[o].max,
868
- min: t.immutableRangeFilters[o].min,
869
- "onUpdate:modelValue": (d) => t.rangeFilters[o].min = d,
870
- onInput: s[6] || (s[6] = (d) => e.debounce(e.filterBody, 400)),
871
- style: g(`background:${e.FINAL_CONFIG.style.inputs.backgroundColor};color:${e.FINAL_CONFIG.style.inputs.color};border:${e.FINAL_CONFIG.style.inputs.border}`)
872
- }, null, 44, xe), [
873
- [
874
- k,
875
- t.rangeFilters[o].min,
876
- void 0,
877
- { number: !0 }
878
- ]
879
- ]),
880
- v(a("input", {
881
- type: "number",
882
- id: `rangeMax${o}`,
883
- max: t.immutableRangeFilters[o].max,
884
- min: t.immutableRangeFilters[o].min,
885
- "onUpdate:modelValue": (d) => t.rangeFilters[o].max = d,
886
- onInput: s[7] || (s[7] = (d) => e.debounce(e.filterBody, 400)),
887
- style: g(`background:${e.FINAL_CONFIG.style.inputs.backgroundColor};color:${e.FINAL_CONFIG.style.inputs.color};border:${e.FINAL_CONFIG.style.inputs.border}`)
888
- }, null, 44, Ge), [
889
- [
890
- k,
891
- t.rangeFilters[o].max,
892
- void 0,
893
- { number: !0 }
894
- ]
895
- ]),
896
- a("label", {
897
- for: `rangeMax${o}`
898
- }, s[29] || (s[29] = [
899
- a("span", { style: { color: "grey" } }, "ᒪ", -1),
900
- I(" max "),
901
- a("span", { style: { color: "grey" } }, "ᒧ", -1)
902
- ]), 8, Me)
903
- ])) : b("", !0),
904
- e.canResetColumn(o, n) ? (c(), i("button", {
905
- key: 6,
906
- onClick: (d) => e.resetFilter(o, n, d),
907
- disabled: e.isResetDisabled(o, n),
908
- class: "th-reset"
909
- }, " ✖ ", 8, Te)) : b("", !0),
910
- n.isMultiselect ? (c(), i("div", {
911
- key: 7,
912
- class: "th-dropdown",
913
- "data-is-open": "false",
914
- id: `th_dropdown_${o}`,
915
- style: g(`background:${e.FINAL_CONFIG.style.dropdowns.backgroundColor};color:${e.FINAL_CONFIG.style.dropdowns.color}`)
916
- }, [
917
- a("button", {
918
- class: "close-dropdown",
919
- onClick: (d) => e.toggleMultiselect(o, n, d),
920
- style: g(`background:${e.FINAL_CONFIG.style.closeButtons.backgroundColor};color:${e.FINAL_CONFIG.style.closeButtons.color}`)
921
- }, " ✖ ", 12, Pe),
922
- (c(!0), i(N, null, C(e.getDropdownOptions(o), (d, y) => (c(), i("span", {
923
- class: "th-option",
924
- key: `th_option_${o}_${y}`,
925
- onClick: (m) => e.selectDropdownOption(d, o),
926
- onKeyup: [
927
- w((m) => e.selectDropdownOption(d, o), ["enter"]),
928
- w((m) => e.selectDropdownOption(d, o), ["space"])
929
- ],
930
- style: g(`opacity:${e.isDropdownOptionSelected(d, o) ? 1 : 0.5}`),
931
- tabindex: "0"
932
- }, [
933
- e.isDropdownOptionSelected(d, o) ? (c(), i("span", {
934
- key: 0,
935
- style: g(`color:${e.FINAL_CONFIG.style.dropdowns.icons.selected.color};margin-right:5px`),
936
- class: "th-icon-green"
937
- }, u(e.FINAL_CONFIG.style.dropdowns.icons.selected.unicode), 5)) : (c(), i("span", {
938
- key: 1,
939
- style: g(`color:${e.FINAL_CONFIG.style.dropdowns.icons.unselected.color};margin-right:5px`),
940
- class: "th-icon-red"
941
- }, u(e.FINAL_CONFIG.style.dropdowns.icons.unselected.unicode), 5)),
942
- a("span", null, u(d), 1)
943
- ], 44, ze))), 128))
944
- ], 12, Ee)) : b("", !0)
945
- ])
946
- ], 6))), 128))
947
- ])
948
- ], 64)) : b("", !0),
949
- a("tr", null, [
950
- s[31] || (s[31] = a("th", { class: "invisible-cell" }, null, -1)),
951
- (c(!0), i(N, null, C(t.tableHead, (n, o) => (c(), i("th", {
952
- key: `col_selector_${o}`,
953
- class: f({ "vue-ui-table-col-selector": !t.hasNaN[o], "th-has-nan": t.hasNaN[o] }),
954
- style: g(`background:${o === t.selectedColumn && !t.hasNaN[o] ? e.FINAL_CONFIG.style.th.selected.backgroundColor : e.FINAL_CONFIG.style.th.backgroundColor};color:${o === t.selectedColumn && !t.hasNaN[o] ? e.FINAL_CONFIG.style.th.selected.color : e.FINAL_CONFIG.style.th.color};outline:${e.FINAL_CONFIG.style.th.outline}`)
955
- }, [
956
- t.hasNaN[o] ? b("", !0) : (c(), i("div", {
957
- key: 0,
958
- innerHTML: t.tableHead[o].type === t.constants.NUMERIC ? e.icons.chevronDown : "",
959
- class: f({ "col-selector": t.tableHead[o].type === t.constants.NUMERIC }),
960
- tabindex: "0",
961
- onClick: O((d) => e.selectColumn(o), ["stop"]),
962
- onKeyup: w((d) => e.selectColumn(o), ["enter"])
963
- }, null, 42, Be))
964
- ], 6))), 128))
965
- ])
966
- ]),
967
- a("tbody", {
968
- onClick: s[8] || (s[8] = (...n) => e.closeAllDropdowns && e.closeAllDropdowns(...n)),
969
- onKeydown: s[9] || (s[9] = (n) => e.navigateCell(n))
970
- }, [
971
- (c(!0), i(N, null, C(e.visibleRows, (n, o) => (c(), i("tr", {
972
- key: `tbody_${o}`,
973
- "data-row": o % 2 === 0 ? "odd" : "even",
974
- class: f(`tr_${t.uid}`),
975
- style: g(`${o % 2 === 0 ? `background:${e.FINAL_CONFIG.style.rows.odd.backgroundColor};color:${e.FINAL_CONFIG.style.rows.odd.color}` : `background:${e.FINAL_CONFIG.style.rows.even.backgroundColor};color:${e.FINAL_CONFIG.style.rows.even.color}`}`)
976
- }, [
977
- a("td", {
978
- class: "vue-ui-table-td-iteration",
979
- "data-row": o % 2 === 0 ? "odd" : "even"
980
- }, u(n.absoluteIndex + 1), 9, Re),
981
- (c(!0), i(N, null, C(n.td, (d, y) => (c(), i("td", {
982
- "data-row": o % 2 === 0 ? "odd" : "even",
983
- key: `td_${o}_${y}`,
984
- style: g(e.isNumeric(d) || l.dataset.header[y].type === t.constants.DATE ? "text-align:right;font-variant-numeric: tabular-nums;" : ""),
985
- onClick: (m) => e.selectTd({
986
- td: d,
987
- rowIndex: o,
988
- colIndex: y,
989
- headerType: l.dataset.header[y].type,
990
- event: m
991
- }),
992
- onKeyup: [
993
- w((m) => e.selectTd({
994
- td: d,
995
- rowIndex: o,
996
- colIndex: y,
997
- headerType: l.dataset.header[y].type,
998
- event: m
999
- }), ["enter"]),
1000
- w((m) => e.selectTd({
1001
- td: d,
1002
- rowIndex: o,
1003
- colIndex: y,
1004
- headerType: l.dataset.header[y].type,
1005
- event: m
1006
- }), ["space"])
1007
- ],
1008
- class: f({ "td-numeric": l.dataset.header[y].type === t.constants.NUMERIC, "td-focusable": !0, "td-has-nan": t.hasNaN[y] }),
1009
- id: `cell_${o}_${y}_${t.uid}`,
1010
- tabindex: "0"
1011
- }, [
1012
- n.meta && n.meta.markerIndices.includes(y) && n.meta.unicodeIcon ? (c(), i("span", {
1013
- key: 0,
1014
- style: g(`color:${n.meta.color};margin-right:3px`),
1015
- innerHTML: n.meta.unicodeIcon
1016
- }, null, 12, je)) : b("", !0),
1017
- l.dataset.header[y].type === t.constants.DATE ? (c(), i("span", Ve, u(l.dataset.header[y].prefix) + " " + u(new Date(d).toLocaleString().slice(0, 10)) + " " + u(l.dataset.header[y].suffix), 1)) : l.dataset.header[y].isPercentage ? (c(), i("span", Xe, u(Number((d * 100).toFixed(l.dataset.header[y].decimals)).toLocaleString()) + "% ", 1)) : t.percentages[y] && l.dataset.header[y].percentageTo && !l.dataset.header[y].isPercentage ? (c(), i("span", {
1018
- key: 3,
1019
- class: f({ "td-nan": isNaN(Number(d)) })
1020
- }, u(l.dataset.header[y].prefix) + " " + u(isNaN(Number(d)) ? `${d} is not ${t.constants.NUMERIC}` : Number(d.toFixed(l.dataset.header[y].decimals)).toLocaleString()) + " " + u(l.dataset.header[y].suffix) + " (" + u(isNaN(Number(d)) ? "" : Number((d / e.getSum(t.percentages[y].referenceIndex) * 100).toFixed(l.dataset.header[y].decimals)).toLocaleString()) + "%) ", 3)) : l.dataset.header[y].type === t.constants.NUMERIC ? (c(), i("span", {
1021
- key: 4,
1022
- class: f({ "td-nan": isNaN(Number(d)) })
1023
- }, u(l.dataset.header[y].prefix) + " " + u(isNaN(Number(d)) ? `${d} is not ${t.constants.NUMERIC}` : Number(d.toFixed(l.dataset.header[y].decimals)).toLocaleString()) + " " + u(l.dataset.header[y].suffix), 3)) : (c(), i("span", We, u(l.dataset.header[y].prefix) + " " + u(d) + " " + u(l.dataset.header[y].suffix), 1))
1024
- ], 46, Ue))), 128))
1025
- ], 14, He))), 128))
1026
- ], 32)
1027
- ])
1028
- ], 4),
1029
- a("div", {
1030
- class: f({ "td-selector-info": !0, "td-selector-info--active": t.currentSelectionSpan.col !== void 0 && t.currentSelectionSpan.rows.length }),
1031
- style: g(`background:${e.FINAL_CONFIG.style.infoBar.backgroundColor};color:${e.FINAL_CONFIG.style.infoBar.color}`)
1032
- }, [
1033
- t.currentSelectionSpan.col !== void 0 && t.currentSelectionSpan.rows.length ? (c(), i(N, { key: 0 }, [
1034
- a("div", {
1035
- innerHTML: e.icons.table,
1036
- class: "td-selector-icon"
1037
- }, null, 8, Ye),
1038
- a("span", null, [
1039
- a("b", null, [
1040
- I(u(l.dataset.header[t.currentSelectionSpan.col].name) + " ", 1),
1041
- l.dataset.header[t.currentSelectionSpan.col].isPercentage ? (c(), i("span", Je, " / " + u(l.dataset.header[t.percentages[t.currentSelectionSpan.col].referenceIndex].name), 1)) : b("", !0)
1042
- ]),
1043
- a("span", Ke, [
1044
- I(u(e.FINAL_CONFIG.translations.nb) + " : ", 1),
1045
- a("b", Ze, u(t.currentSelectionSpan.rows.length), 1)
1046
- ]),
1047
- a("span", qe, [
1048
- I(u(e.FINAL_CONFIG.translations.sum) + " : ", 1),
1049
- l.dataset.header[t.currentSelectionSpan.col].isPercentage ? (c(), i("b", Qe, u(e.selectedCellsCalculations.sumPercentage), 1)) : (c(), i("b", $e, u(l.dataset.header[t.currentSelectionSpan.col].prefix) + " " + u(e.selectedCellsCalculations.sumRegular) + " " + u(l.dataset.header[t.currentSelectionSpan.col].suffix), 1)),
1050
- l.dataset.header[t.currentSelectionSpan.col].isPercentage ? (c(), i("b", et, "%")) : b("", !0)
1051
- ]),
1052
- a("span", tt, [
1053
- I(u(e.FINAL_CONFIG.translations.average) + " : ", 1),
1054
- l.dataset.header[t.currentSelectionSpan.col].isPercentage ? (c(), i("b", st, u(e.selectedCellsCalculations.averagePercentage), 1)) : (c(), i("b", rt, u(l.dataset.header[t.currentSelectionSpan.col].prefix) + " " + u(e.selectedCellsCalculations.averageRegular) + " " + u(l.dataset.header[t.currentSelectionSpan.col].suffix), 1)),
1055
- l.dataset.header[t.currentSelectionSpan.col].isPercentage ? (c(), i("b", nt, "%")) : b("", !0)
1056
- ])
1057
- ]),
1058
- a("button", {
1059
- onClick: s[10] || (s[10] = (...n) => e.resetSelection && e.resetSelection(...n)),
1060
- class: "td-selector-info-reset",
1061
- style: g(`background:${e.FINAL_CONFIG.style.closeButtons.backgroundColor};color:${e.FINAL_CONFIG.style.closeButtons.color};border-radius:${e.FINAL_CONFIG.style.closeButtons.borderRadius}`)
1062
- }, " ✖ ", 4)
1063
- ], 64)) : b("", !0)
1064
- ], 6),
1065
- t.bodyCopy.length > 10 ? (c(), i("div", lt, [
1066
- I(u(e.FINAL_CONFIG.translations.totalRows) + " : " + u(l.dataset.body.length) + " | " + u(e.FINAL_CONFIG.translations.paginatorLabel) + " : ", 1),
1067
- t.bodyCopy.length > 10 ? v((c(), i("select", {
1068
- key: 0,
1069
- id: "paginatorSelector",
1070
- "onUpdate:modelValue": s[11] || (s[11] = (n) => t.itemsPerPage = n),
1071
- onChange: s[12] || (s[12] = (...n) => e.resetSelection && e.resetSelection(...n)),
1072
- style: g(`background:${e.FINAL_CONFIG.style.inputs.backgroundColor};color:${e.FINAL_CONFIG.style.inputs.color};border:${e.FINAL_CONFIG.style.inputs.border}`)
1073
- }, [
1074
- (c(!0), i(N, null, C(t.paginatorOptions, (n, o) => (c(), i(N, null, [
1075
- t.bodyCopy.length > n || l.dataset.body.length === n ? (c(), i("option", {
1076
- key: `paginator_option_${o}`
1077
- }, u(n), 1)) : b("", !0)
1078
- ], 64))), 256))
1079
- ], 36)), [
1080
- [
1081
- B,
1082
- t.itemsPerPage,
1083
- void 0,
1084
- { number: !0 }
1085
- ]
1086
- ]) : b("", !0)
1087
- ])) : b("", !0),
1088
- t.itemsPerPage >= 250 ? (c(), i("div", ot, [
1089
- a("span", {
1090
- innerHTML: e.icons.warning
1091
- }, null, 8, at),
1092
- I(u(e.FINAL_CONFIG.translations.sizeWarning), 1)
1093
- ])) : b("", !0),
1094
- e.pages.length > 1 && e.pages.length <= 10 ? (c(), i("div", {
1095
- key: 2,
1096
- class: "vue-ui-table-navigation-indicator",
1097
- style: g(`background:${e.FINAL_CONFIG.style.pagination.navigationIndicator.backgroundColor};width:calc(${t.currentPage / (e.pages.length - 1) * 100}%)`)
1098
- }, null, 4)) : b("", !0),
1099
- e.pages.length > 1 ? (c(), i("div", it, [
1100
- a("button", {
1101
- class: "vue-ui-table-navigation",
1102
- onClick: s[13] || (s[13] = O((n) => e.navigate("previous"), ["stop"])),
1103
- innerHTML: e.icons.chevronLeft,
1104
- disabled: t.currentPage === 0,
1105
- style: g(`background:${e.FINAL_CONFIG.style.pagination.buttons.backgroundColor};color:${e.FINAL_CONFIG.style.pagination.buttons.color};opacity:${t.currentPage === 0 ? e.FINAL_CONFIG.style.pagination.buttons.opacityDisabled : 1}`)
1106
- }, null, 12, ct),
1107
- e.pages.length > 3 ? (c(), i(N, { key: 0 }, [
1108
- a("button", {
1109
- class: "vue-ui-table-navigation",
1110
- onClick: s[14] || (s[14] = O((n) => e.navigate(1), ["stop"])),
1111
- disabled: t.currentPage === 0,
1112
- style: g(`background:${e.FINAL_CONFIG.style.pagination.buttons.backgroundColor};color:${e.FINAL_CONFIG.style.pagination.buttons.color};opacity:${t.currentPage === 0 ? e.FINAL_CONFIG.style.pagination.buttons.opacityDisabled : 1}`)
1113
- }, " 1 ", 12, ut),
1114
- e.pages.length > 10 ? (c(), i("div", ht, [
1115
- a("label", dt, u(e.FINAL_CONFIG.translations.page) + " " + u(t.currentPage + 1) + " / " + u(e.pages.length), 1),
1116
- a("input", {
1117
- class: "vue-ui-table-page-scroller",
1118
- id: "pageScroller",
1119
- type: "range",
1120
- step: "1",
1121
- min: 0,
1122
- max: e.pages.length - 1,
1123
- onInput: s[15] || (s[15] = (n) => e.updateCurrentPage(n)),
1124
- value: t.currentPage,
1125
- style: g(`background:${e.FINAL_CONFIG.style.inputs.backgroundColor};color:${e.FINAL_CONFIG.style.inputs.color};border:${e.FINAL_CONFIG.style.inputs.border};accent-color:${e.FINAL_CONFIG.style.inputs.accentColor}`)
1126
- }, null, 44, gt)
1127
- ])) : (c(), i("span", yt, u(e.FINAL_CONFIG.translations.page) + " " + u(t.currentPage + 1) + " / " + u(e.pages.length), 1)),
1128
- a("button", {
1129
- class: "vue-ui-table-navigation",
1130
- onClick: s[16] || (s[16] = O((n) => e.navigate(e.pages.length), ["stop"])),
1131
- disabled: t.currentPage === e.pages.length - 1,
1132
- style: g(`background:${e.FINAL_CONFIG.style.pagination.buttons.backgroundColor};color:${e.FINAL_CONFIG.style.pagination.buttons.color};opacity:${t.currentPage === e.pages.length - 1 ? e.FINAL_CONFIG.style.pagination.buttons.opacityDisabled : 1}`)
1133
- }, u(e.pages.length), 13, bt)
1134
- ], 64)) : (c(), i(N, { key: 1 }, [
1135
- I(u(e.FINAL_CONFIG.translations.page) + " " + u(t.currentPage + 1) + " / " + u(e.pages.length), 1)
1136
- ], 64)),
1137
- a("button", {
1138
- class: "vue-ui-table-navigation",
1139
- onClick: s[17] || (s[17] = O((n) => e.navigate("next"), ["stop"])),
1140
- innerHTML: e.icons.chevronRight,
1141
- disabled: t.currentPage === e.pages.length - 1,
1142
- style: g(`background:${e.FINAL_CONFIG.style.pagination.buttons.backgroundColor};color:${e.FINAL_CONFIG.style.pagination.buttons.color};opacity:${t.currentPage === e.pages.length - 1 ? e.FINAL_CONFIG.style.pagination.buttons.opacityDisabled : 1}`)
1143
- }, null, 12, Nt)
1144
- ])) : b("", !0),
1145
- t.showChart && e.canChart ? (c(), i("div", {
1146
- key: 4,
1147
- class: "vue-ui-table-chart-modal",
1148
- style: g(`top:${t.clientY}px; left:${t.clientX}px;background:${e.FINAL_CONFIG.style.chart.modal.backgroundColor};color:${e.FINAL_CONFIG.style.chart.modal.color}`)
1149
- }, [
1150
- a("button", {
1151
- class: "close-chart-modal",
1152
- onClick: s[18] || (s[18] = (n) => t.showChart = !1),
1153
- style: g(`background:${e.FINAL_CONFIG.style.closeButtons.backgroundColor};color:${e.FINAL_CONFIG.style.closeButtons.color};border-radius:${e.FINAL_CONFIG.style.closeButtons.borderRadius}`)
1154
- }, " ✖ ", 4),
1155
- a("div", mt, [
1156
- e.availableDonutCategories.length ? (c(), i("button", {
1157
- key: 0,
1158
- onClick: s[19] || (s[19] = (n) => t.showDonutOptions = !0),
1159
- innerHTML: e.icons.donut,
1160
- class: f({ "is-active-chart": t.chart.type === t.constants.DONUT || t.showDonutOptions }),
1161
- style: g(`background:${t.chart.type === t.constants.DONUT || t.showDonutOptions ? e.FINAL_CONFIG.style.chart.modal.buttons.selected.backgroundColor : e.FINAL_CONFIG.style.chart.modal.buttons.unselected.backgroundColor};color:${t.chart.type === t.constants.DONUT || t.showDonutOptions ? e.FINAL_CONFIG.style.chart.modal.buttons.selected.color : e.FINAL_CONFIG.style.chart.modal.buttons.unselected.color}`)
1162
- }, null, 14, ft)) : b("", !0),
1163
- a("button", {
1164
- onClick: s[20] || (s[20] = (n) => {
1165
- t.chart.type = t.constants.LINE, t.showDonutOptions = !1;
1166
- }),
1167
- innerHTML: e.icons.chart,
1168
- class: f({ "is-active-chart": t.chart.type === t.constants.LINE && !t.showDonutOptions }),
1169
- style: g(`background:${t.chart.type === t.constants.LINE && !t.showDonutOptions ? e.FINAL_CONFIG.style.chart.modal.buttons.selected.backgroundColor : e.FINAL_CONFIG.style.chart.modal.buttons.unselected.backgroundColor};color:${t.chart.type === t.constants.LINE && !t.showDonutOptions ? e.FINAL_CONFIG.style.chart.modal.buttons.selected.color : e.FINAL_CONFIG.style.chart.modal.buttons.unselected.color}`)
1170
- }, null, 14, Ct),
1171
- a("button", {
1172
- onClick: s[21] || (s[21] = (n) => {
1173
- t.chart.type = t.constants.BAR, t.showDonutOptions = !1;
1174
- }),
1175
- innerHTML: e.icons.bar,
1176
- class: f({ "is-active-chart": t.chart.type === t.constants.BAR && !t.showDonutOptions }),
1177
- style: g(`background:${t.chart.type === t.constants.BAR && !t.showDonutOptions ? e.FINAL_CONFIG.style.chart.modal.buttons.selected.backgroundColor : e.FINAL_CONFIG.style.chart.modal.buttons.unselected.backgroundColor};color:${t.chart.type === t.constants.BAR && !t.showDonutOptions ? e.FINAL_CONFIG.style.chart.modal.buttons.selected.color : e.FINAL_CONFIG.style.chart.modal.buttons.unselected.color}`)
1178
- }, null, 14, Ft)
1179
- ]),
1180
- a("div", It, [
1181
- a("b", null, [
1182
- I(u(l.dataset.header[t.currentSelectionSpan.col].name) + " ", 1),
1183
- l.dataset.header[t.currentSelectionSpan.col].isPercentage && l.dataset.header[t.currentSelectionSpan.col].percentageTo ? (c(), i("span", _t, " / " + u(l.dataset.header[t.percentages[t.currentSelectionSpan.col].referenceIndex].name), 1)) : b("", !0),
1184
- t.chart.type === t.constants.DONUT && t.selectedDonutCategory && t.selectedDonutCategory.name ? (c(), i("span", vt, u(e.FINAL_CONFIG.translations.by) + " " + u(t.selectedDonutCategory.name), 1)) : b("", !0)
1185
- ])
1186
- ]),
1187
- a("div", pt, [
1188
- t.showDonutOptions && e.availableDonutCategories.length ? (c(), i("div", {
1189
- key: 0,
1190
- style: g(`background:${e.FINAL_CONFIG.style.chart.modal.backgroundColor};color:${e.FINAL_CONFIG.style.chart.modal.color}`)
1191
- }, [
1192
- a("fieldset", kt, [
1193
- a("legend", null, u(e.FINAL_CONFIG.translations.chooseCategoryColumn), 1),
1194
- a("div", wt, [
1195
- (c(!0), i(N, null, C(e.availableDonutCategories, (n, o) => (c(), i("div", {
1196
- key: `donut_radio_${o}`,
1197
- class: "vue-ui-table-fieldset-option"
1198
- }, [
1199
- a("input", {
1200
- type: "radio",
1201
- name: n.name,
1202
- id: n.name,
1203
- checked: t.selectedDonutCategory && n.name === t.selectedDonutCategory.name,
1204
- onInput: (d) => t.selectedDonutCategory = e.availableDonutCategories[o],
1205
- style: g(`background:${e.FINAL_CONFIG.style.inputs.backgroundColor};color:${e.FINAL_CONFIG.style.inputs.color};border:${e.FINAL_CONFIG.style.inputs.border};accent-color:${e.FINAL_CONFIG.style.inputs.accentColor}`)
1206
- }, null, 44, Ot),
1207
- a("label", {
1208
- for: n.name
1209
- }, u(n.name), 9, St)
1210
- ]))), 128))
1211
- ]),
1212
- a("button", {
1213
- class: "vue-ui-table-generate-donut",
1214
- disabled: !t.selectedDonutCategory,
1215
- onClick: s[22] || (s[22] = (...n) => e.applyDonutOption && e.applyDonutOption(...n)),
1216
- style: g(`background:${e.FINAL_CONFIG.style.chart.modal.buttons.selected.backgroundColor};color:${e.FINAL_CONFIG.style.chart.modal.buttons.selected.color}`)
1217
- }, [
1218
- a("div", {
1219
- style: { "margin-bottom": "-3px" },
1220
- innerHTML: e.icons.donut
1221
- }, null, 8, At),
1222
- I(" " + u(e.FINAL_CONFIG.translations.makeDonut), 1)
1223
- ], 12, Lt)
1224
- ])
1225
- ], 4)) : b("", !0),
1226
- [t.constants.BAR, t.constants.LINE].includes(t.chart.type) && !t.showDonutOptions ? (c(), i(N, { key: 1 }, [
1227
- (c(), i("svg", {
1228
- viewBox: `0 0 ${t.chart.width} ${t.chart.height}`,
1229
- class: "vue-ui-table-chart-svg",
1230
- style: g(`background:${e.FINAL_CONFIG.style.chart.layout.backgroundColor}`)
1231
- }, [
1232
- a("defs", null, [
1233
- a("marker", {
1234
- id: "arrowhead",
1235
- markerWidth: e.FINAL_CONFIG.style.chart.layout.progression.arrowSize,
1236
- markerHeight: e.FINAL_CONFIG.style.chart.layout.progression.arrowSize,
1237
- refX: "0",
1238
- refY: e.FINAL_CONFIG.style.chart.layout.progression.arrowSize / 2,
1239
- orient: "auto"
1240
- }, [
1241
- a("polygon", {
1242
- points: `0 0, ${e.FINAL_CONFIG.style.chart.layout.progression.arrowSize} ${e.FINAL_CONFIG.style.chart.layout.progression.arrowSize / 2}, 0 ${e.FINAL_CONFIG.style.chart.layout.progression.arrowSize}`,
1243
- fill: e.FINAL_CONFIG.style.chart.layout.progression.stroke
1244
- }, null, 8, Gt)
1245
- ], 8, xt)
1246
- ]),
1247
- a("g", null, [
1248
- a("line", {
1249
- x1: 0,
1250
- x2: t.chart.width,
1251
- y1: e.chartData.zero,
1252
- y2: e.chartData.zero,
1253
- stroke: e.FINAL_CONFIG.style.chart.layout.axis.stroke,
1254
- "stroke-width": e.FINAL_CONFIG.style.chart.layout.axis.strokeWidth,
1255
- "stroke-linecap": "round"
1256
- }, null, 8, Mt),
1257
- a("line", {
1258
- x1: 0,
1259
- x2: 0,
1260
- y1: 0,
1261
- y2: t.chart.height,
1262
- stroke: e.FINAL_CONFIG.style.chart.layout.axis.stroke,
1263
- "stroke-width": e.FINAL_CONFIG.style.chart.layout.axis.strokeWidth,
1264
- "stroke-linecap": "round"
1265
- }, null, 8, Tt)
1266
- ]),
1267
- t.chart.type === t.constants.LINE ? (c(!0), i(N, { key: 0 }, C(e.chartData.plots, (n, o) => (c(), i("g", {
1268
- key: `trap_fill_${o}`
1269
- }, [
1270
- a("rect", {
1271
- x: o * e.chartData.slot,
1272
- y: 0,
1273
- width: e.chartData.slot,
1274
- height: t.chart.height,
1275
- fill: t.selectedPlot === o ? "rgba(0,0,0,0.03)" : "transparent"
1276
- }, null, 8, Et)
1277
- ]))), 128)) : b("", !0),
1278
- (c(!0), i(N, null, C(e.chartData.plots, (n, o) => (c(), i("g", {
1279
- key: `plot_${o}`
1280
- }, [
1281
- t.chart.type === t.constants.BAR ? (c(), i(N, { key: 0 }, [
1282
- s[32] || (s[32] = H('<linearGradient id="barGradientSelected" x2="0%" y2="100%" data-v-0a2dd5b6><stop offset="0.2" stop-color="#6376DD" data-v-0a2dd5b6></stop><stop offset="1" stop-color="#6376DD80" data-v-0a2dd5b6></stop></linearGradient><linearGradient id="barGradientSelectedNeg" x2="0%" y2="100%" data-v-0a2dd5b6><stop offset="0.2" stop-color="#6376DD80" data-v-0a2dd5b6></stop><stop offset="1" stop-color="#6376DD" data-v-0a2dd5b6></stop></linearGradient><linearGradient id="barGradient" x2="0%" y2="100%" data-v-0a2dd5b6><stop offset="0.2" stop-color="#6376DDB3" data-v-0a2dd5b6></stop><stop offset="1" stop-color="#6376DD66" data-v-0a2dd5b6></stop></linearGradient><linearGradient id="barGradientNeg" x2="0%" y2="100%" data-v-0a2dd5b6><stop offset="0.2" stop-color="#6376DD66" data-v-0a2dd5b6></stop><stop offset="1" stop-color="#6376DDB3" data-v-0a2dd5b6></stop></linearGradient>', 4)),
1283
- a("rect", {
1284
- x: n.x - e.chartData.slot / 2,
1285
- y: e.chartData.isAllNegative ? 0 : e.calcRectY(n.value, n.y),
1286
- height: n.value >= 0 ? e.chartData.zero - n.y : e.chartData.isAllNegative ? n.y : n.y - e.chartData.zero,
1287
- width: e.chartData.slot,
1288
- fill: e.FINAL_CONFIG.style.chart.layout.bar.fill ? e.FINAL_CONFIG.style.chart.layout.bar.fill : t.selectedPlot === o ? n.value >= 0 ? "url(#barGradientSelected)" : "url(#barGradientSelectedNeg)" : (n.value >= 0, "url(#barGradient)"),
1289
- stroke: e.FINAL_CONFIG.style.chart.layout.bar.stroke,
1290
- "stroke-width": "1"
1291
- }, null, 8, Pt),
1292
- t.selectedPlot === o ? (c(), i("foreignObject", {
1293
- key: 0,
1294
- x: n.x - (e.chartData.slot < 100 ? 50 : e.chartData.slot / 2),
1295
- y: n.value >= 0 ? n.y - 32 : n.y + 4,
1296
- height: "20",
1297
- width: e.chartData.slot < 100 ? 100 : e.chartData.slot,
1298
- style: { overflow: "visible" }
1299
- }, [
1300
- a("div", {
1301
- style: g(`width:100%;text-align:center;font-size:20px;color:${e.FINAL_CONFIG.style.chart.layout.labels.color}`)
1302
- }, u(n.prefix) + " " + u(Number(n.value.toFixed(l.dataset.header[t.currentSelectionSpan.col].decimals)).toLocaleString()) + " " + u(n.suffix), 5)
1303
- ], 8, zt)) : b("", !0)
1304
- ], 64)) : b("", !0),
1305
- t.chart.type === t.constants.LINE ? (c(), i(N, { key: 1 }, [
1306
- o + 1 < e.chartData.plots.length ? (c(), i("line", {
1307
- key: 0,
1308
- x1: n.x,
1309
- y1: n.y,
1310
- x2: e.chartData.plots[o + 1].x,
1311
- y2: e.chartData.plots[o + 1].y,
1312
- "stroke-width": e.FINAL_CONFIG.style.chart.layout.line.strokeWidth,
1313
- stroke: e.FINAL_CONFIG.style.chart.layout.line.stroke
1314
- }, null, 8, Bt)) : b("", !0),
1315
- t.selectedPlot === o ? (c(), i("line", {
1316
- key: 1,
1317
- x1: n.x,
1318
- y1: n.y,
1319
- x2: n.x,
1320
- y2: t.chart.height,
1321
- stroke: e.FINAL_CONFIG.style.chart.layout.line.selector.stroke,
1322
- "stroke-width": e.FINAL_CONFIG.style.chart.layout.line.selector.strokeWidth,
1323
- "stroke-dasharray": e.FINAL_CONFIG.style.chart.layout.line.selector.strokeDasharray
1324
- }, null, 8, Ht)) : b("", !0),
1325
- a("circle", {
1326
- cx: n.x,
1327
- cy: n.y,
1328
- r: t.selectedPlot === o ? e.FINAL_CONFIG.style.chart.layout.line.plot.radius.selected : e.FINAL_CONFIG.style.chart.layout.line.plot.radius.unselected,
1329
- fill: e.FINAL_CONFIG.style.chart.layout.line.plot.fill,
1330
- stroke: e.FINAL_CONFIG.style.chart.layout.line.plot.stroke,
1331
- "stroke-width": e.FINAL_CONFIG.style.chart.layout.line.plot.strokeWidth
1332
- }, null, 8, Rt),
1333
- t.selectedPlot === o ? (c(), i("foreignObject", {
1334
- key: 2,
1335
- x: n.x - (e.chartData.slot < 100 ? 50 : e.chartData.slot / 2),
1336
- y: e.placeLabelOnTopOrBottom({
1337
- previousPlot: e.chartData.plots[o - 1],
1338
- currentPlot: n,
1339
- nextPlot: e.chartData.plots[o + 1]
1340
- }),
1341
- height: "20",
1342
- width: e.chartData.slot < 100 ? 100 : e.chartData.slot,
1343
- style: { overflow: "visible" }
1344
- }, [
1345
- a("div", {
1346
- style: g(`width:100%;text-align:center;font-size:20px;color:${e.FINAL_CONFIG.style.chart.layout.labels.color}`)
1347
- }, u(n.prefix) + " " + u(Number(n.value.toFixed(l.dataset.header[t.currentSelectionSpan.col].decimals)).toLocaleString()) + " " + u(n.suffix), 5)
1348
- ], 8, Ut)) : b("", !0)
1349
- ], 64)) : b("", !0)
1350
- ]))), 128)),
1351
- (c(!0), i(N, null, C(e.chartData.plots, (n, o) => (c(), i("g", {
1352
- key: `trap_${o}`
1353
- }, [
1354
- a("rect", {
1355
- x: o * e.chartData.slot,
1356
- y: 0,
1357
- width: e.chartData.slot,
1358
- height: t.chart.height,
1359
- fill: "transparent",
1360
- onMouseenter: (d) => t.selectedPlot = o,
1361
- onMouseleave: s[23] || (s[23] = (d) => t.selectedPlot = void 0)
1362
- }, null, 40, jt)
1363
- ]))), 128)),
1364
- e.chartData.progression && e.chartData.plots.length > 2 ? (c(), i("line", {
1365
- key: 1,
1366
- x1: e.chartData.progression.x1,
1367
- y1: e.chartData.progression.y1,
1368
- x2: e.chartData.progression.x2,
1369
- y2: e.chartData.progression.y2,
1370
- stroke: e.FINAL_CONFIG.style.chart.layout.progression.stroke,
1371
- "stroke-width": e.FINAL_CONFIG.style.chart.layout.progression.strokeWidth,
1372
- "stroke-dasharray": e.FINAL_CONFIG.style.chart.layout.progression.strokeDasharray,
1373
- "marker-end": "url(#arrowhead)"
1374
- }, null, 8, Vt)) : b("", !0)
1375
- ], 12, Dt)),
1376
- e.chartData.plots.length >= 2 ? (c(), i("div", {
1377
- key: 0,
1378
- class: "chart-trend",
1379
- style: g(`color:${e.FINAL_CONFIG.style.chart.modal.color}`)
1380
- }, [
1381
- s[33] || (s[33] = a("span", null, "---", -1)),
1382
- I(" Trend: " + u((e.chartData.progression.trend * 100).toFixed(1)) + " % ", 1)
1383
- ], 4)) : b("", !0)
1384
- ], 64)) : b("", !0),
1385
- [t.constants.DONUT].includes(t.chart.type) && !t.showDonutOptions ? (c(), i(N, { key: 2 }, [
1386
- (c(), i("svg", {
1387
- viewBox: "0 0 100 100",
1388
- style: g(`max-width:100%; overflow: visible; padding: 0 24px;background:${e.FINAL_CONFIG.style.chart.layout.backgroundColor}`),
1389
- class: "vue-ui-table-donut-chart"
1390
- }, [
1391
- (c(!0), i(N, null, C(t.currentDonut, (n, o) => (c(), i("path", {
1392
- key: `arc_${o}`,
1393
- d: n.path,
1394
- stroke: `${n.color}CC`,
1395
- "stroke-width": 20,
1396
- fill: "none"
1397
- }, null, 8, Xt))), 128)),
1398
- (c(!0), i(N, null, C(t.currentDonut, (n, o) => (c(), i("foreignObject", {
1399
- key: `text_marker_${o}`,
1400
- x: e.calcDonutMarkerLabelPositionX(n) - 15,
1401
- y: n.center.endY - 15,
1402
- height: "30",
1403
- width: "30",
1404
- style: { overflow: "visible", display: "flex", "align-items": "center", "justify-content": "center" }
1405
- }, [
1406
- e.isArcBigEnough(n) ? (c(), i("div", {
1407
- key: 0,
1408
- class: "vue-ui-table-donut-label",
1409
- style: g(`color:${e.FINAL_CONFIG.style.chart.layout.labels.color}`)
1410
- }, [
1411
- a("b", null, u(e.displayArcPercentage(n, t.currentDonut)), 1),
1412
- a("span", Yt, u(n.name), 1)
1413
- ], 4)) : b("", !0)
1414
- ], 8, Wt))), 128)),
1415
- a("text", {
1416
- x: 50,
1417
- y: 42,
1418
- "text-anchor": "middle",
1419
- "font-size": "6",
1420
- fill: e.FINAL_CONFIG.style.chart.layout.labels.color
1421
- }, u(e.FINAL_CONFIG.translations.total), 9, Jt),
1422
- a("text", {
1423
- x: 50,
1424
- y: 48,
1425
- "text-anchor": "middle",
1426
- "font-size": "4",
1427
- fill: e.FINAL_CONFIG.style.chart.layout.labels.color
1428
- }, u(l.dataset.header[t.currentSelectionSpan.col].prefix) + " " + u(e.donutHollowLabels.total) + " " + u(l.dataset.header[t.currentSelectionSpan.col].isPercentage ? "%" : "") + " " + u(l.dataset.header[t.currentSelectionSpan.col].suffix), 9, Kt),
1429
- a("text", {
1430
- x: 50,
1431
- y: 56,
1432
- "text-anchor": "middle",
1433
- "font-size": "6",
1434
- fill: e.FINAL_CONFIG.style.chart.layout.labels.color
1435
- }, u(e.FINAL_CONFIG.translations.average), 9, Zt),
1436
- a("text", {
1437
- x: 50,
1438
- y: 62,
1439
- "text-anchor": "middle",
1440
- "font-size": "4",
1441
- fill: e.FINAL_CONFIG.style.chart.layout.labels.color
1442
- }, u(l.dataset.header[t.currentSelectionSpan.col].prefix) + " " + u(e.donutHollowLabels.average) + " " + u(l.dataset.header[t.currentSelectionSpan.col].isPercentage ? "%" : "") + " " + u(l.dataset.header[t.currentSelectionSpan.col].suffix), 9, qt)
1443
- ], 4)),
1444
- a("div", Qt, [
1445
- (c(!0), i(N, null, C(t.currentDonut.filter((n) => n.value > 0), (n, o) => (c(), i("div", {
1446
- class: "vue-ui-table-donut-legend-item",
1447
- key: `donut_legend_${o}`,
1448
- style: g(`color:${e.FINAL_CONFIG.style.chart.layout.labels.color}`)
1449
- }, [
1450
- a("span", {
1451
- style: g(`color:${n.color}`)
1452
- }, "●", 4),
1453
- a("span", null, u(n.name) + " : ", 1),
1454
- a("b", null, u(l.dataset.header[t.currentSelectionSpan.col].prefix) + " " + u(e.getDonutLegendValue(n.absoluteValue)) + " " + u(l.dataset.header[t.currentSelectionSpan.col].isPercentage ? "%" : "") + " " + u(l.dataset.header[t.currentSelectionSpan.col].suffix), 1),
1455
- a("span", null, "(" + u((n.proportion * 100).toFixed(1)) + "%)", 1)
1456
- ], 4))), 128))
1457
- ])
1458
- ], 64)) : b("", !0)
1459
- ], 512)
1460
- ], 4)) : b("", !0)
1461
- ], 4);
1462
- }
1463
- const rs = /* @__PURE__ */ R(U, [["render", $t], ["__scopeId", "data-v-0a2dd5b6"]]);
1464
- export {
1465
- rs as default
1466
- };