@devgateway/dvz-ui-react 1.6.20 → 1.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/dist/cjs/_virtual/_commonjsHelpers.js +1 -0
  2. package/dist/cjs/_virtual/debounce.js +1 -0
  3. package/dist/cjs/embeddable/big-filter/BigNumberGroup.js +1 -0
  4. package/dist/cjs/embeddable/big-filter/BigNumberItem.js +1 -0
  5. package/dist/cjs/embeddable/big-filter/DataProvider.js +1 -0
  6. package/dist/cjs/embeddable/big-filter/index.js +1 -0
  7. package/dist/cjs/embeddable/big-number/index.js +1 -1
  8. package/dist/cjs/embeddable/big-number-trend/Alternative.js +1 -0
  9. package/dist/cjs/embeddable/big-number-trend/Classic.js +1 -0
  10. package/dist/cjs/embeddable/big-number-trend/index.js +1 -1
  11. package/dist/cjs/embeddable/chart/Bar.js +1 -1
  12. package/dist/cjs/embeddable/chart/Line.js +1 -1
  13. package/dist/cjs/embeddable/chart/data/Bar.js +1 -1
  14. package/dist/cjs/embeddable/chart/data/Line.js +1 -1
  15. package/dist/cjs/embeddable/chart/data/Utils.js +1 -1
  16. package/dist/cjs/embeddable/chart/index.js +1 -1
  17. package/dist/cjs/embeddable/d3Map/BaseLayer.js +1 -1
  18. package/dist/cjs/embeddable/d3Map/BreaksStyles.js +1 -1
  19. package/dist/cjs/embeddable/d3Map/DataLayer.js +1 -1
  20. package/dist/cjs/embeddable/d3Map/FlowLayer.js +1 -1
  21. package/dist/cjs/embeddable/d3Map/GradientColors.js +1 -1
  22. package/dist/cjs/embeddable/d3Map/LatLongLayer.js +1 -1
  23. package/dist/cjs/embeddable/d3Map/Layer.js +1 -1
  24. package/dist/cjs/embeddable/d3Map/Legends.js +1 -1
  25. package/dist/cjs/embeddable/d3Map/ProjectedContainer.js +1 -1
  26. package/dist/cjs/embeddable/d3Map/Utils.js +1 -1
  27. package/dist/cjs/embeddable/d3Map/ZoomControl.js +1 -1
  28. package/dist/cjs/embeddable/d3Map/index.js +1 -1
  29. package/dist/cjs/embeddable/data/CategoriesProvider.js +1 -1
  30. package/dist/cjs/embeddable/data/D3MapDataConsumer.js +1 -0
  31. package/dist/cjs/embeddable/data/D3MapDataProvider.js +1 -0
  32. package/dist/cjs/embeddable/data/DataContext.js +1 -1
  33. package/dist/cjs/embeddable/data/DataProvider.js +1 -1
  34. package/dist/cjs/embeddable/data-paragraph/index.js +1 -0
  35. package/dist/cjs/embeddable/download/dom-to-image.js +2 -2
  36. package/dist/cjs/embeddable/download/index.js +5 -5
  37. package/dist/cjs/embeddable/filter/index.js +1 -1
  38. package/dist/cjs/embeddable/grouped-bars/GroupedBars.js +1 -0
  39. package/dist/cjs/embeddable/grouped-bars/index.js +1 -0
  40. package/dist/cjs/embeddable/index.js +1 -1
  41. package/dist/cjs/embeddable/posts-filter/CategoricalFilter.js +1 -1
  42. package/dist/cjs/embeddable/reducers/data-api.js +1 -1
  43. package/dist/cjs/embeddable/reducers/data.js +1 -1
  44. package/dist/cjs/embeddable/utils/common.js +1 -1
  45. package/dist/cjs/index.js +1 -1
  46. package/dist/cjs/layout/Customizer.js +1 -1
  47. package/dist/cjs/layout/SearchControl.js +1 -1
  48. package/dist/cjs/layout/containers/SlugPostContainer.js +1 -1
  49. package/dist/cjs/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Symbol.js +1 -0
  50. package/dist/cjs/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseGetTag.js +1 -0
  51. package/dist/cjs/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseTrim.js +1 -0
  52. package/dist/cjs/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_freeGlobal.js +1 -0
  53. package/dist/cjs/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getRawTag.js +1 -0
  54. package/dist/cjs/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_objectToString.js +1 -0
  55. package/dist/cjs/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_root.js +1 -0
  56. package/dist/cjs/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_trimmedEndIndex.js +1 -0
  57. package/dist/cjs/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/debounce.js +1 -0
  58. package/dist/cjs/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObject.js +1 -0
  59. package/dist/cjs/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObjectLike.js +1 -0
  60. package/dist/cjs/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isSymbol.js +1 -0
  61. package/dist/cjs/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/now.js +1 -0
  62. package/dist/cjs/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/toNumber.js +1 -0
  63. package/dist/cjs/styles.css +1 -1
  64. package/dist/esm/_virtual/_commonjsHelpers.js +8 -0
  65. package/dist/esm/_virtual/debounce.js +7 -0
  66. package/dist/esm/embeddable/big-filter/BigNumberGroup.js +129 -0
  67. package/dist/esm/embeddable/big-filter/BigNumberItem.js +107 -0
  68. package/dist/esm/embeddable/big-filter/DataProvider.js +53 -0
  69. package/dist/esm/embeddable/big-filter/index.js +130 -0
  70. package/dist/esm/embeddable/big-number/index.js +154 -102
  71. package/dist/esm/embeddable/big-number-trend/Alternative.js +227 -0
  72. package/dist/esm/embeddable/big-number-trend/Classic.js +190 -0
  73. package/dist/esm/embeddable/big-number-trend/index.js +12 -147
  74. package/dist/esm/embeddable/chart/Bar.js +450 -395
  75. package/dist/esm/embeddable/chart/Line.js +216 -184
  76. package/dist/esm/embeddable/chart/data/Bar.js +16 -18
  77. package/dist/esm/embeddable/chart/data/Line.js +27 -24
  78. package/dist/esm/embeddable/chart/data/Utils.js +3 -1
  79. package/dist/esm/embeddable/chart/index.js +168 -162
  80. package/dist/esm/embeddable/d3Map/BaseLayer.js +25 -28
  81. package/dist/esm/embeddable/d3Map/BreaksStyles.js +17 -10
  82. package/dist/esm/embeddable/d3Map/DataLayer.js +290 -289
  83. package/dist/esm/embeddable/d3Map/FlowLayer.js +122 -136
  84. package/dist/esm/embeddable/d3Map/GradientColors.js +27 -20
  85. package/dist/esm/embeddable/d3Map/LatLongLayer.js +62 -62
  86. package/dist/esm/embeddable/d3Map/Layer.js +31 -27
  87. package/dist/esm/embeddable/d3Map/Legends.js +204 -190
  88. package/dist/esm/embeddable/d3Map/ProjectedContainer.js +1 -3
  89. package/dist/esm/embeddable/d3Map/Utils.js +12 -8
  90. package/dist/esm/embeddable/d3Map/ZoomControl.js +41 -41
  91. package/dist/esm/embeddable/d3Map/index.js +135 -117
  92. package/dist/esm/embeddable/data/CategoriesProvider.js +39 -26
  93. package/dist/esm/embeddable/data/D3MapDataConsumer.js +7 -0
  94. package/dist/esm/embeddable/data/D3MapDataProvider.js +83 -0
  95. package/dist/esm/embeddable/data/DataContext.js +2 -2
  96. package/dist/esm/embeddable/data/DataProvider.js +124 -55
  97. package/dist/esm/embeddable/data-paragraph/index.js +168 -0
  98. package/dist/esm/embeddable/download/dom-to-image.js +163 -148
  99. package/dist/esm/embeddable/download/index.js +102 -76
  100. package/dist/esm/embeddable/filter/index.js +335 -298
  101. package/dist/esm/embeddable/grouped-bars/GroupedBars.js +549 -0
  102. package/dist/esm/embeddable/grouped-bars/index.js +16 -0
  103. package/dist/esm/embeddable/index.js +33 -30
  104. package/dist/esm/embeddable/posts-filter/CategoricalFilter.js +18 -18
  105. package/dist/esm/embeddable/reducers/data-api.js +39 -35
  106. package/dist/esm/embeddable/reducers/data.js +141 -182
  107. package/dist/esm/embeddable/utils/common.js +3 -3
  108. package/dist/esm/index.js +111 -94
  109. package/dist/esm/layout/Customizer.js +10 -9
  110. package/dist/esm/layout/SearchControl.js +103 -113
  111. package/dist/esm/layout/containers/SlugPostContainer.js +1 -1
  112. package/dist/esm/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Symbol.js +11 -0
  113. package/dist/esm/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseGetTag.js +16 -0
  114. package/dist/esm/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseTrim.js +14 -0
  115. package/dist/esm/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_freeGlobal.js +11 -0
  116. package/dist/esm/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getRawTag.js +21 -0
  117. package/dist/esm/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_objectToString.js +13 -0
  118. package/dist/esm/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_root.js +11 -0
  119. package/dist/esm/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_trimmedEndIndex.js +15 -0
  120. package/dist/esm/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/debounce.js +60 -0
  121. package/dist/esm/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObject.js +13 -0
  122. package/dist/esm/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObjectLike.js +12 -0
  123. package/dist/esm/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isSymbol.js +15 -0
  124. package/dist/esm/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/now.js +13 -0
  125. package/dist/esm/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/toNumber.js +28 -0
  126. package/dist/esm/styles.css +1 -1
  127. package/dist/types/embeddable/big-filter/BigNumberGroup.d.ts +3 -0
  128. package/dist/types/embeddable/big-filter/BigNumberItem.d.ts +2 -0
  129. package/dist/types/embeddable/big-filter/DataProvider.d.ts +7 -0
  130. package/dist/types/embeddable/big-filter/index.d.ts +5 -0
  131. package/dist/types/embeddable/big-number-trend/Alternative.d.ts +5 -0
  132. package/dist/types/embeddable/big-number-trend/Classic.d.ts +5 -0
  133. package/dist/types/embeddable/big-number-trend/index.d.ts +2 -4
  134. package/dist/types/embeddable/chart/Bar.d.ts +3 -0
  135. package/dist/types/embeddable/chart/Line.d.ts +6 -0
  136. package/dist/types/embeddable/d3Map/GradientColors.d.ts +6 -2
  137. package/dist/types/embeddable/d3Map/Layer.d.ts +1 -1
  138. package/dist/types/embeddable/d3Map/Utils.d.ts +1 -1
  139. package/dist/types/embeddable/data/D3MapDataProvider.d.ts +7 -0
  140. package/dist/types/embeddable/data/index.d.ts +6 -0
  141. package/dist/types/embeddable/data-paragraph/index.d.ts +5 -0
  142. package/dist/types/embeddable/filter/index.d.ts +13 -1
  143. package/dist/types/embeddable/grouped-bars/GroupedBars.d.ts +5 -0
  144. package/dist/types/embeddable/grouped-bars/index.d.ts +3 -0
  145. package/dist/types/embeddable/reducers/data-api.d.ts +5 -0
  146. package/dist/types/embeddable/reducers/data.d.ts +16 -9
  147. package/dist/types/embeddable/utils/index.d.ts +1 -0
  148. package/dist/types/embeddable/utils/parseUtils.d.ts +0 -6
  149. package/dist/types/index.d.ts +6 -0
  150. package/dist/types/layout/Customizer.d.ts +1 -0
  151. package/dist/types/layout/containers/PageContainer.d.ts +8 -0
  152. package/dist/types/layout/containers/PostContainer.d.ts +0 -0
  153. package/dist/types/layout/index.d.ts +1 -0
  154. package/dist/types/utils/Logger.d.ts +1 -0
  155. package/package.json +3 -2
  156. /package/dist/types/embeddable/data/{DataConsumerMap.d.ts → D3MapDataConsumer.d.ts} +0 -0
@@ -0,0 +1,107 @@
1
+ import { jsxs as $, jsx as a } from "react/jsx-runtime";
2
+ import "react";
3
+ import { Grid as j } from "semantic-ui-react";
4
+ function E(t) {
5
+ if (typeof t == "boolean") return t;
6
+ if (typeof t != "string") return !!t;
7
+ switch (t.trim().toLowerCase()) {
8
+ case "true":
9
+ case "yes":
10
+ case "1":
11
+ case "on":
12
+ return !0;
13
+ case "false":
14
+ case "no":
15
+ case "0":
16
+ case "off":
17
+ return !1;
18
+ default:
19
+ return !1;
20
+ }
21
+ }
22
+ const q = (t) => {
23
+ const {
24
+ isDisabled: n,
25
+ // 1. ADDED: New prop to check if we are locked
26
+ child: r,
27
+ selectedKey: u,
28
+ appliedFilters: p,
29
+ dimension1: I,
30
+ dimension2: d,
31
+ app: v,
32
+ group: A,
33
+ parent: O,
34
+ blockName: G,
35
+ hasParentFilters: K,
36
+ onSetFilter: P,
37
+ onUnSetFilter: R,
38
+ intl: g,
39
+ numberFontSize: b,
40
+ labelFontSize: f,
41
+ backgroundColor: h,
42
+ numberColor: y,
43
+ labelColor: x,
44
+ unselectedBackgroundColor: C,
45
+ unselectedNumberColor: F,
46
+ unselectedLabelColor: S,
47
+ formatObject: i,
48
+ decode: o,
49
+ getLabel: m,
50
+ idx: N
51
+ } = t, l = p.indexOf(r.value) > -1, k = r[u], w = () => {
52
+ n || t.handleClick && t.handleClick();
53
+ }, D = (e) => ({
54
+ cursor: n ? "not-allowed" : "pointer",
55
+ // 3. UPDATED: Change cursor
56
+ color: o(e ? y : F),
57
+ fontSize: b + "px",
58
+ textAlign: "center",
59
+ paddingTop: "3%",
60
+ paddingLeft: "1%",
61
+ paddingRight: "1%",
62
+ paddingBottom: "0px",
63
+ margin: "0px"
64
+ }), z = (e) => ({
65
+ cursor: n ? "not-allowed" : "pointer",
66
+ // 3. UPDATED: Change cursor
67
+ color: o(e ? x : S),
68
+ fontSize: f + "px",
69
+ textAlign: "center",
70
+ padding: "0px",
71
+ margin: "0px"
72
+ }), B = (e) => ({
73
+ border: "1px solid #EEE",
74
+ backgroundColor: o(e ? h : C),
75
+ opacity: n ? 0.4 : 1,
76
+ // 4. ADDED: Dim the card to 40% if disabled
77
+ cursor: n ? "not-allowed" : "pointer"
78
+ // 4. ADDED: Change cursor on the whole cell
79
+ }), L = (e) => {
80
+ const s = {
81
+ style: i.style === "compacted" ? "decimal" : i.style,
82
+ notation: i.style === "compacted" ? "compact" : "standard",
83
+ currency: i.currency,
84
+ minimumFractionDigits: parseInt(i.minimumFractionDigits),
85
+ maximumFractionDigits: parseInt(i.maximumFractionDigits)
86
+ };
87
+ return g.formatNumber(e, { ...s });
88
+ };
89
+ let c = !1;
90
+ return d !== "none" && (c = r && r.children ? r.children.map((e) => E(e.value)).reduce((e, s) => e && s, !0) : !1), /* @__PURE__ */ $(
91
+ j.Column,
92
+ {
93
+ className: `big filter item ${l ? "selected" : "unselected"} ${c ? `highlighted ${d}` : ""} ${n ? "disabled" : ""}`,
94
+ onClick: w,
95
+ style: B(l),
96
+ children: [
97
+ /* @__PURE__ */ a("p", { style: D(l), className: "big-number", children: L(k) }),
98
+ c && /* @__PURE__ */ a("p", { children: /* @__PURE__ */ a("div", { className: "highlighted-pill", children: "Zoonotic" }) }),
99
+ /* @__PURE__ */ a("p", { style: z(l), className: "big-number-label", children: m ? m(r.value) : r.label || r.value })
100
+ ]
101
+ },
102
+ N
103
+ );
104
+ };
105
+ export {
106
+ q as BigNumberItem
107
+ };
@@ -0,0 +1,53 @@
1
+ import { jsx as f } from "react/jsx-runtime";
2
+ import u from "react";
3
+ import { connect as h } from "react-redux";
4
+ import { injectIntl as D } from "react-intl";
5
+ import "semantic-ui-react";
6
+ import { DataContext as S } from "../data/DataContext.js";
7
+ import { getData as I, setData as J } from "../reducers/data.js";
8
+ class v extends u.Component {
9
+ constructor(t) {
10
+ super(t), this.debounces = [];
11
+ }
12
+ componentDidMount() {
13
+ const { app: t, useAncestor: e, parent: s, source: r, store: a, params: i, csv: d, group: n, editing: l, waitForFilters: p = !1 } = this.props;
14
+ this.props.onLoadData({ app: t, source: r, store: a, params: i, group: n });
15
+ }
16
+ componentDidUpdate(t, e, s) {
17
+ const { app: r, filters: a, useAncestor: i, parent: d, source: n, store: l, params: p, csv: c, group: g, editing: x } = this.props;
18
+ (a != t.filters || JSON.stringify(p) != JSON.stringify(t.params) || r != t.app || JSON.stringify(t.source) != JSON.stringify(n) || c != t.csv) && this.props.onLoadData({ app: r, source: n, store: l, params: p, group: g });
19
+ }
20
+ componentWillUnmount() {
21
+ }
22
+ render() {
23
+ const { data: t, style: e, loading: s, time: r, error: a, editing: i } = this.props;
24
+ return /* @__PURE__ */ f(S.Provider, { value: t, children: this.props.children });
25
+ }
26
+ }
27
+ const m = (o, t, e) => {
28
+ const s = [t], r = o.getIn(["data", "filters-settings", e]) ? o.getIn(["data", "filters-settings", e]).toJS() : null;
29
+ if (r) {
30
+ const a = r[t];
31
+ a && a.parent && s.push(...m(o, a.parent, e));
32
+ }
33
+ return s;
34
+ }, y = (o, t) => {
35
+ const { store: e, readGroup: s, app: r, blockName: a, params: i, parent: d } = t;
36
+ let n = { ...i };
37
+ return d && m(o, d, r).forEach((p) => {
38
+ const c = o.getIn(["data", "filters", r, p]);
39
+ c && c.size > 0 && (n = { ...n, ...c.toJS() });
40
+ }), {
41
+ params: n,
42
+ data: o.getIn(["data", ...e, "data"]),
43
+ filters: o.getIn(["data", "filters", r, s]),
44
+ error: o.getIn(["data", ...e, "error"]),
45
+ loading: o.getIn(["data", ...e, "loading"])
46
+ };
47
+ }, N = {
48
+ onSetData: J,
49
+ onLoadData: I
50
+ }, w = h(y, N)(D(v));
51
+ export {
52
+ w as default
53
+ };
@@ -0,0 +1,130 @@
1
+ import { jsx as a, jsxs as F } from "react/jsx-runtime";
2
+ import { useRef as Z } from "react";
3
+ import { Container as K } from "semantic-ui-react";
4
+ import { connect as Q } from "react-redux";
5
+ import W from "../data/DataConsumer.js";
6
+ import { unsetFilter as X, setFilter as Y } from "../reducers/data.js";
7
+ import { parse as k } from "../utils/parseUtils.js";
8
+ import _ from "./DataProvider.js";
9
+ import ee from "./BigNumberGroup.js";
10
+ const te = (r) => {
11
+ const {
12
+ editing: d = !1,
13
+ unique: o,
14
+ intl: u,
15
+ "data-csv": m = "",
16
+ "data-dimension1": e = "none",
17
+ "data-dimension2": l = "none",
18
+ "data-dvz-proxy-dataset-id": c,
19
+ "data-no-data-message": b = "No data matches your selection",
20
+ "data-view-mode": v = "info",
21
+ "data-height": n,
22
+ "data-app": t,
23
+ "data-measures": f = "{}",
24
+ "data-group": S,
25
+ "data-parent": i,
26
+ "data-block-name": s,
27
+ "data-filters": P = "[]",
28
+ "data-number-font-size": w = 20,
29
+ "data-label-font-size": z = 20,
30
+ "data-unselected-number-color": I = "#000000",
31
+ "data-unselected-label-color": A = "#000000",
32
+ "data-unselected-background-color": B = "#fdfdfdff",
33
+ "data-number-color": N = "#000000",
34
+ "data-label-color": y = "#000000",
35
+ "data-background-color": D = "#ffffffff",
36
+ "data-label": j = "",
37
+ "data-wait-for-filters": G = "false",
38
+ "data-n-columns": M = 4,
39
+ "data-sort": J = "alpha",
40
+ "data-order": E = "asc",
41
+ "data-show-zero-values": U = "false",
42
+ hasParentFilters: $,
43
+ effectiveFilter: q,
44
+ appliedFilters: H,
45
+ parentAppliedFilters: L,
46
+ onSetFilter: O,
47
+ onUnSetFilter: R
48
+ } = r, T = Z(null), V = d ? n - 80 : n - 40, x = { dvzProxyDatasetId: c }, h = k(P) || {};
49
+ h && h.forEach && h.forEach((p) => {
50
+ p.value != null && p.value.filter((C) => C != null && C.toString().trim() != "").length > 0 && (x[p.param] = p.value);
51
+ });
52
+ const g = [];
53
+ return e != "none" && g.push(e), l != "none" && g.push(l), /* @__PURE__ */ a("div", { ref: T, children: /* @__PURE__ */ F(K, { fluid: !0, style: { padding: "0px", margin: "0px", height: `${n}px` }, children: [
54
+ (!t || t === "csv") && /* @__PURE__ */ F("p", { children: [
55
+ /* @__PURE__ */ a("h2", { children: "Big Filter:" }),
56
+ /* @__PURE__ */ a("h4", { children: "Please select an API! " })
57
+ ] }),
58
+ t !== "csv" && e == "none" && /* @__PURE__ */ F("p", { children: [
59
+ /* @__PURE__ */ a("h2", { children: "Big Filter:" }),
60
+ /* @__PURE__ */ a("h4", { children: "Please select dimension! " })
61
+ ] }),
62
+ t && e != "none" && /* @__PURE__ */ a(
63
+ _,
64
+ {
65
+ style: { height: `${V}px` },
66
+ blockName: s,
67
+ params: x,
68
+ app: t,
69
+ useAncestor: !0,
70
+ parent: i,
71
+ editing: d,
72
+ waitForFilters: G === "true",
73
+ store: [t, o],
74
+ source: g.join("/"),
75
+ children: /* @__PURE__ */ a(W, { noDataMessage: /* @__PURE__ */ a("h1", { children: "No data" }), children: /* @__PURE__ */ a(
76
+ ee,
77
+ {
78
+ nColumns: M,
79
+ parent: i,
80
+ sort: J,
81
+ order: E,
82
+ showZeroValues: U,
83
+ onSetFilter: O,
84
+ onUnSetFilter: R,
85
+ appliedFilters: H,
86
+ height: n,
87
+ intl: u,
88
+ app: t,
89
+ group: S,
90
+ blockName: s,
91
+ measures: k(f),
92
+ label: j,
93
+ numberFontSize: w,
94
+ labelFontSize: z,
95
+ numberColor: N,
96
+ labelColor: y,
97
+ backgroundColor: D,
98
+ unselectedNumberColor: I,
99
+ unselectedLabelColor: A,
100
+ unselectedBackgroundColor: B,
101
+ hasParentFilters: $,
102
+ effectiveFilter: q,
103
+ parentAppliedFilters: L,
104
+ dimension1: e,
105
+ dimension2: l
106
+ }
107
+ ) })
108
+ }
109
+ )
110
+ ] }) });
111
+ }, ae = (r, d) => {
112
+ const { "data-app": o, "data-group": u, "data-block-name": m, "data-parent": e, "data-dimension1": l } = d, c = u, b = e || m + Math.random(0, 1), v = m, n = r.getIn(["data", "filters", o, v]), t = e != "" && e != null, f = r.getIn(["data", "filters", o, c]) ? r.getIn(["data", "filters", o, c]).toJS() : {};
113
+ let i = (t ? r.getIn(["data", "filters", o, b]) : null) ? Object.values(r.getIn(["data", "filters", o, e]).toJS())[0] : [], s = n ? n.toJS()[l] : [];
114
+ return {
115
+ hasParentFilters: t,
116
+ //util flag
117
+ effectiveFilter: f,
118
+ //all filter toghether
119
+ parentAppliedFilters: i || [],
120
+ //parent applied filter
121
+ appliedFilters: s || []
122
+ //self applied filters
123
+ };
124
+ }, re = {
125
+ onSetFilter: Y,
126
+ onUnSetFilter: X
127
+ }, me = Q(ae, re)(te);
128
+ export {
129
+ me as default
130
+ };
@@ -1,136 +1,188 @@
1
- import { jsx as o, jsxs as E } from "react/jsx-runtime";
2
- import { useRef as V, useState as T, useEffect as O } from "react";
3
- import { Container as q } from "semantic-ui-react";
4
- import H from "../data/DataProvider.js";
5
- import J from "../data/DataConsumer.js";
1
+ import { jsx as a, jsxs as x } from "react/jsx-runtime";
2
+ import { useRef as H, useState as O, useEffect as J } from "react";
3
+ import { Container as K } from "semantic-ui-react";
4
+ import $ from "../data/DataProvider.js";
5
+ import Q from "../data/DataConsumer.js";
6
6
  import "@devgateway/wp-react-lib";
7
- import { connect as $ } from "react-redux";
8
- import { useSpring as k, animated as B } from "@react-spring/web";
9
- const G = (l) => {
7
+ import { connect as W } from "react-redux";
8
+ import { useSpring as X, animated as Y } from "@react-spring/web";
9
+ const Z = (r) => {
10
10
  const {
11
- editing: n = !1,
12
- unique: c,
11
+ editing: e = !1,
12
+ unique: n,
13
13
  intl: t,
14
- childContent: a,
15
- "data-csv": f = "",
16
- "data-dvz-proxy-dataset-id": g,
17
- "data-no-data-message": P = "No data matches your selection",
18
- "data-view-mode": y = "info",
19
- "data-height": m,
20
- "data-app": d,
21
- "data-measures": F = "{}",
22
- "data-format": b = "{}",
23
- "data-group": s,
24
- "data-filters": u = "[]",
25
- "data-number-font-size": r = 20,
26
- "data-label-font-size": v = 20,
27
- "data-number-color": D = "#000000",
28
- "data-label-color": S = "#000000",
29
- "data-label": C = "",
30
- "data-wait-for-filters": z = "false",
31
- "data-no-data-text": I = "-"
32
- } = l, h = t.locale, x = V(null), p = (e) => n ? e : decodeURIComponent(e), N = (e) => {
14
+ childContent: u,
15
+ "data-csv": D = "",
16
+ "data-dimension1": p = "none",
17
+ "data-dvz-proxy-dataset-id": v,
18
+ "data-no-data-message": F = "No data matches your selection",
19
+ "data-view-mode": z = "info",
20
+ "data-height": b,
21
+ "data-app": o,
22
+ "data-measures": l = "{}",
23
+ "data-format": S = "{}",
24
+ "data-group": f,
25
+ "data-filters": g = "[]",
26
+ "data-number-font-size": h = 20,
27
+ "data-label-font-size": i = 20,
28
+ "data-number-color": c = "#000000",
29
+ "data-label-color": d = "#000000",
30
+ "data-label": y = "",
31
+ "data-group-label": P = "",
32
+ "data-group-label-color": R = "",
33
+ "data-group-label-font-size": T = "",
34
+ "data-wait-for-filters": U = "false",
35
+ "data-no-data-text": A = "-"
36
+ } = r, E = t.locale, V = H(null), q = (s) => e ? s : decodeURIComponent(s), N = (s) => {
33
37
  try {
34
- return JSON.parse(p(e));
38
+ return JSON.parse(q(s));
35
39
  } catch {
36
- console.error("error parsing value:" + e);
40
+ console.error("error parsing value:" + s);
37
41
  }
38
42
  return null;
39
- }, i = N(b), U = i ? {
40
- style: i.style === "compacted" ? "decimal" : i.style,
41
- notation: i.style === "compacted" ? "compact" : "standard",
42
- currency: i.currency,
43
- minimumFractionDigits: parseInt(i.minimumFractionDigits),
44
- maximumFractionDigits: parseInt(i.maximumFractionDigits)
43
+ }, C = N(l), m = C && C[o] ? C[o].format : null;
44
+ console.log(m);
45
+ const B = m ? {
46
+ style: m.style === "compacted" ? "decimal" : m.style,
47
+ notation: m.style === "compacted" ? "compact" : "standard",
48
+ currency: m.currency,
49
+ minimumFractionDigits: parseInt(m.minimumFractionDigits),
50
+ maximumFractionDigits: parseInt(m.maximumFractionDigits)
45
51
  } : {
46
52
  notation: "standard",
47
53
  currency: "USD",
48
54
  minimumFractionDigits: 2,
49
55
  maximumFractionDigits: 2
50
- }, [W, X] = T(y), A = n ? m - 80 : m - 40, j = {}, w = N(u) || {};
51
- w && w.forEach && w.forEach((e) => {
52
- e.value != null && e.value.filter((M) => M != null && M.toString().trim() != "").length > 0 && (j[e.param] = e.value);
53
- }), g && (j.dvzProxyDatasetId = g);
54
- const R = [];
55
- return /* @__PURE__ */ o("div", { ref: x, children: /* @__PURE__ */ o(q, { className: "chart container big-number-container", style: { height: m + "px" }, fluid: !0, children: /* @__PURE__ */ o(
56
- H,
56
+ }, [te, ae] = O(z), G = e ? b - 80 : b - 40, L = {}, j = N(g) || {};
57
+ j && j.forEach && j.forEach((s) => {
58
+ s.value != null && s.value.filter((M) => M != null && M.toString().trim() != "").length > 0 && (L[s.param] = s.value);
59
+ }), v && (L.dvzProxyDatasetId = v);
60
+ const w = [];
61
+ return p != "none" && w.push(p), /* @__PURE__ */ a("div", { ref: V, children: /* @__PURE__ */ a(K, { className: "chart container big-number-container", style: { height: b + "px" }, fluid: !0, children: o && o != "none" && /* @__PURE__ */ a(
62
+ $,
57
63
  {
58
- style: { height: `${A}px` },
59
- params: j,
60
- app: d,
61
- group: s,
62
- csv: f,
63
- editing: n,
64
- waitForFilters: z === "true",
65
- store: [d, c, ...R],
66
- source: R.join("/"),
67
- children: /* @__PURE__ */ o(J, { children: /* @__PURE__ */ o(
68
- K,
64
+ style: { height: `${G}px` },
65
+ params: L,
66
+ app: o,
67
+ group: f,
68
+ source: w.join("/"),
69
+ csv: D,
70
+ editing: e,
71
+ waitForFilters: U === "true",
72
+ store: [o, n, ...w],
73
+ children: /* @__PURE__ */ a(Q, { children: /* @__PURE__ */ a(
74
+ _,
69
75
  {
70
- locale: h,
76
+ dimension: p,
77
+ locale: E,
71
78
  intl: t,
72
- app: d,
73
- format: U,
74
- measure: N(F)[0] || null,
75
- label: C,
76
- numberFontSize: r,
77
- numberColor: D,
78
- labelFontSize: v,
79
- labelColor: S,
80
- noDataText: I
79
+ app: o,
80
+ format: B,
81
+ measures: N(l),
82
+ label: y,
83
+ numberFontSize: h,
84
+ numberColor: c,
85
+ labelFontSize: i,
86
+ labelColor: d,
87
+ noDataText: A,
88
+ groupLabel: P,
89
+ groupLabelColor: R,
90
+ groupLabelFontSize: T
81
91
  }
82
92
  ) })
83
93
  }
84
94
  ) }) });
85
- }, K = (l) => {
86
- var h, x;
95
+ }, _ = (r) => {
87
96
  const {
88
- app: n,
89
- measure: c,
97
+ app: e,
98
+ measures: n,
90
99
  data: t,
91
- format: a,
92
- label: f,
93
- numberColor: g,
94
- numberFontSize: P,
95
- labelColor: y,
96
- labelFontSize: m,
97
- noDataText: d = "-",
98
- intl: F
99
- } = l;
100
- let b = c, s = t;
101
- n === "csv" && ((h = t == null ? void 0 : t.meta) != null && h.fields) && ((x = t == null ? void 0 : t.data) != null && x.length) && (b = t.meta.fields[0], s = t.data[0]);
102
- const u = (s == null ? void 0 : s[b]) ?? null, r = u ? (a == null ? void 0 : a.style) === "percent" ? u / 100 : u : null, [v, D] = T(r);
103
- O(() => {
104
- r != null && D(r);
105
- }, [r]);
106
- const { number: S } = k({
100
+ format: u,
101
+ label: D,
102
+ numberColor: p,
103
+ numberFontSize: v,
104
+ dimension: F,
105
+ labelColor: z,
106
+ labelFontSize: b,
107
+ noDataText: o = "-",
108
+ intl: l,
109
+ groupLabel: S,
110
+ groupLabelColor: f,
111
+ groupLabelFontSize: g
112
+ } = r, h = n && n[e] ? Object.keys(n[e]).filter((i) => n[e][i].selected) : [];
113
+ if (F != "none") {
114
+ const i = t.metadata.types.filter((c) => c.dimension === F)[0];
115
+ return t.children.map((c) => {
116
+ const d = i.items.filter((y) => y.code == c.value)[0].value;
117
+ return /* @__PURE__ */ x("div", { className: "big-number-group", style: { display: "flex", flexDirection: "column" }, children: [
118
+ /* @__PURE__ */ x(
119
+ "span",
120
+ {
121
+ className: "big-number-title",
122
+ style: { color: f, fontSize: g + "px" },
123
+ children: [
124
+ /* @__PURE__ */ a("span", { className: "dimension-text", children: d }),
125
+ /* @__PURE__ */ x("span", { className: "group-text", children: [
126
+ " ",
127
+ S
128
+ ] })
129
+ ]
130
+ }
131
+ ),
132
+ /* @__PURE__ */ a("div", { className: "big-number-row", style: { display: "flex", flexDirection: "row" }, children: h.map((y) => /* @__PURE__ */ a("div", { className: "big-number-parent", children: /* @__PURE__ */ a(
133
+ I,
134
+ {
135
+ showDimensionLabel: !0,
136
+ metadata: i,
137
+ dataItem: c,
138
+ measureField: y,
139
+ measure: n[e][y],
140
+ ...r
141
+ }
142
+ ) })) })
143
+ ] });
144
+ });
145
+ } else
146
+ return /* @__PURE__ */ x("div", { children: [
147
+ /* @__PURE__ */ x("span", { style: { color: f, fontSize: g + "px" }, children: [
148
+ " ",
149
+ S
150
+ ] }),
151
+ h.map((i) => /* @__PURE__ */ a(I, { dataItem: t, measureField: i, measure: n[e][i], ...r }))
152
+ ] });
153
+ }, I = ({ dataItem: r, format: e, measureField: n, measure: t, numberColor: u, numberFontSize: D, labelColor: p, labelFontSize: v, noDataText: F, label: z, intl: b }) => {
154
+ const o = (r == null ? void 0 : r[n]) ?? null, l = o ? (e == null ? void 0 : e.style) === "percent" ? o / 100 : o : null, [S, f] = O(l);
155
+ J(() => {
156
+ l != null && f(l);
157
+ }, [l]);
158
+ const { number: g } = X({
107
159
  from: { number: 0 },
108
- to: { number: v ?? 0 },
160
+ to: { number: S ?? 0 },
109
161
  // reset: true,
110
162
  config: {
111
163
  mass: 1,
112
164
  tension: 120,
113
165
  friction: 30
114
166
  }
115
- }), C = {
116
- color: decodeURIComponent(g),
117
- fontSize: P + "px",
167
+ }), h = {
168
+ color: decodeURIComponent(u),
169
+ fontSize: D + "px",
118
170
  textAlign: "center"
119
- }, z = {
120
- color: decodeURIComponent(y),
121
- fontSize: m + "px",
171
+ }, i = {
172
+ color: decodeURIComponent(p),
173
+ fontSize: v + "px",
122
174
  textAlign: "center"
123
- }, I = (p) => F.formatNumber(p, { ...a });
124
- return /* @__PURE__ */ E("div", { children: [
125
- /* @__PURE__ */ o("div", { style: C, className: "big-number", children: r === null ? d : /* @__PURE__ */ o(B.span, { children: S.to((p) => I(p)) }) }),
126
- f && /* @__PURE__ */ o("div", { style: z, className: "big-number-label", children: f })
175
+ }, c = (d) => b.formatNumber(d, { ...e });
176
+ return /* @__PURE__ */ x("div", { className: "big-number", children: [
177
+ /* @__PURE__ */ a("div", { style: h, className: "big-number-value", children: l === null ? F : /* @__PURE__ */ a(Y.span, { children: g.to((d) => c(d)) }) }),
178
+ (t == null ? void 0 : t.customLabel) && /* @__PURE__ */ a("div", { style: i, className: "big-number-label", children: t.customLabel })
127
179
  ] });
128
- }, L = (l, n) => {
129
- const { "data-app": c, "data-group": t } = n, a = l.getIn(["data", "measures", c, t]);
130
- return a ? {
131
- injectedMeasures: a
180
+ }, k = (r, e) => {
181
+ const { "data-app": n, "data-group": t } = e, u = r.getIn(["data", "measures", n, t]);
182
+ return u ? {
183
+ injectedMeasures: u
132
184
  } : {};
133
- }, Q = {}, nt = $(L, Q)(G);
185
+ }, ee = {}, de = W(k, ee)(Z);
134
186
  export {
135
- nt as default
187
+ de as default
136
188
  };