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