@j2inn/fin5-ui-utils 6.0.3 → 6.0.5-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/README.md +5 -5
  2. package/dist/fantomProps/createFin5Props/index.d.ts +12 -12
  3. package/dist/fantomProps/createFin5Props/index.js +146 -146
  4. package/dist/fantomProps/createFin5Props/runCreateFin5Props.d.ts +2 -2
  5. package/dist/fantomProps/createFin5Props/runCreateFin5Props.js +16 -16
  6. package/dist/fantomProps/fantomPropsToObject.d.ts +8 -8
  7. package/dist/fantomProps/fantomPropsToObject.js +183 -183
  8. package/dist/fantomProps/generateJsonFromFantomPropsFile.d.ts +4 -4
  9. package/dist/fantomProps/generateJsonFromFantomPropsFile.js +41 -41
  10. package/dist/fantomProps/localePropsToJson.d.ts +1 -1
  11. package/dist/fantomProps/localePropsToJson.js +50 -50
  12. package/dist/fantomProps/readFantomPropsFile.d.ts +5 -5
  13. package/dist/fantomProps/readFantomPropsFile.js +66 -61
  14. package/dist/fantomProps/readFantomPropsFile.js.map +1 -1
  15. package/dist/fin5Top/fin5FileUpload.d.ts +24 -24
  16. package/dist/fin5Top/fin5FileUpload.js +51 -51
  17. package/dist/fin5Top/fin5Top.d.ts +124 -124
  18. package/dist/fin5Top/fin5Top.js +53 -53
  19. package/dist/fin5Top/finEdge2Cloud.d.ts +6 -6
  20. package/dist/fin5Top/finEdge2Cloud.js +15 -15
  21. package/dist/fin5Top/getFin5BinUrl.d.ts +2 -2
  22. package/dist/fin5Top/getFin5BinUrl.js +9 -9
  23. package/dist/fin5Top/openFin5Alarm.d.ts +22 -22
  24. package/dist/fin5Top/openFin5Alarm.js +23 -23
  25. package/dist/fin5Top/openFin5Historian.d.ts +3 -3
  26. package/dist/fin5Top/openFin5Historian.js +19 -19
  27. package/dist/fin5Top/useFin5AppURLHashParameter.d.ts +18 -18
  28. package/dist/fin5Top/useFin5AppURLHashParameter.js +133 -133
  29. package/dist/index.d.ts +35 -35
  30. package/dist/index.js +69 -69
  31. package/dist/jobs/jobUtils.d.ts +14 -14
  32. package/dist/jobs/jobUtils.js +15 -15
  33. package/dist/react/app/Fin5AppContainer.d.ts +36 -36
  34. package/dist/react/app/Fin5AppContainer.js +102 -102
  35. package/dist/react/app/Fin5AppContainer.js.map +1 -1
  36. package/dist/react/app/Fin5AppRootStore.d.ts +40 -38
  37. package/dist/react/app/Fin5AppRootStore.js +69 -68
  38. package/dist/react/app/Fin5AppRootStore.js.map +1 -1
  39. package/dist/react/components/ErrorBoundary.d.ts +57 -57
  40. package/dist/react/components/ErrorBoundary.js +150 -150
  41. package/dist/react/components/ErrorDisplayer.d.ts +19 -19
  42. package/dist/react/components/ErrorDisplayer.js +36 -36
  43. package/dist/react/components/Loader.d.ts +9 -9
  44. package/dist/react/components/Loader.js +17 -17
  45. package/dist/react/components/LoadingSpinner.d.ts +2 -2
  46. package/dist/react/components/LoadingSpinner.js +27 -27
  47. package/dist/react/components/RecordImage.d.ts +20 -20
  48. package/dist/react/components/RecordImage.js +51 -51
  49. package/dist/react/components/charts/QRCode.d.ts +25 -25
  50. package/dist/react/components/charts/QRCode.js +82 -82
  51. package/dist/react/components/charts/line-bar/Chart.d.ts +166 -166
  52. package/dist/react/components/charts/line-bar/Chart.js +442 -442
  53. package/dist/react/components/charts/line-bar/HGridChart.d.ts +58 -58
  54. package/dist/react/components/charts/line-bar/HGridChart.js +285 -285
  55. package/dist/react/components/charts/pie/PieChart.d.ts +94 -94
  56. package/dist/react/components/charts/pie/PieChart.js +204 -204
  57. package/dist/react/components/charts/pie/SimplePieChart.d.ts +21 -21
  58. package/dist/react/components/charts/pie/SimplePieChart.js +55 -55
  59. package/dist/react/components/graphics/GraphicViewer.d.ts +10 -10
  60. package/dist/react/components/graphics/GraphicViewer.js +29 -29
  61. package/dist/react/components/graphics/GraphicsTabViewer.d.ts +17 -17
  62. package/dist/react/components/graphics/GraphicsTabViewer.js +90 -90
  63. package/dist/react/components/makeCustomElement.d.ts +16 -16
  64. package/dist/react/components/makeCustomElement.js +150 -150
  65. package/dist/react/components/navigation/BasicLayout.d.ts +41 -41
  66. package/dist/react/components/navigation/BasicLayout.js +155 -155
  67. package/dist/react/components/navigation/HeaderSiderLayout.d.ts +13 -13
  68. package/dist/react/components/navigation/HeaderSiderLayout.js +110 -110
  69. package/dist/react/components/navigation/MenuPage.d.ts +37 -37
  70. package/dist/react/components/navigation/MenuPage.js +36 -36
  71. package/dist/react/components/navigation/MenuTrigger.d.ts +9 -9
  72. package/dist/react/components/navigation/MenuTrigger.js +33 -33
  73. package/dist/react/components/navigation/ReactRouterHeaderSiderLayout.d.ts +11 -11
  74. package/dist/react/components/navigation/ReactRouterHeaderSiderLayout.js +25 -25
  75. package/dist/react/components/navigation/ReactRouterLayout.d.ts +46 -46
  76. package/dist/react/components/navigation/ReactRouterLayout.js +132 -132
  77. package/dist/react/components/navigation/customRouting/Router.d.ts +12 -12
  78. package/dist/react/components/navigation/customRouting/Router.js +45 -45
  79. package/dist/react/components/navigation/customRouting/RouterLayout.d.ts +11 -11
  80. package/dist/react/components/navigation/customRouting/RouterLayout.js +61 -61
  81. package/dist/react/components/resolvable/configurationForm/ConfigurationForm.d.ts +27 -27
  82. package/dist/react/components/resolvable/configurationForm/ConfigurationForm.js +95 -95
  83. package/dist/react/components/resolvable/configurationForm/ConfigurationFormEntry.d.ts +16 -16
  84. package/dist/react/components/resolvable/configurationForm/ConfigurationFormEntry.js +88 -88
  85. package/dist/react/components/resolvable/configurationForm/getSectionDefault.d.ts +16 -16
  86. package/dist/react/components/resolvable/configurationForm/getSectionDefault.js +99 -99
  87. package/dist/react/hooks/useFin5BinUrl.d.ts +6 -6
  88. package/dist/react/hooks/useFin5BinUrl.js +15 -15
  89. package/dist/react/hooks/useFin5ColorScheme.d.ts +2 -2
  90. package/dist/react/hooks/useFin5ColorScheme.js +49 -49
  91. package/dist/react/hooks/useScreenSize.d.ts +7 -7
  92. package/dist/react/hooks/useScreenSize.js +31 -31
  93. package/dist_es/fantomProps/createFin5Props/index.d.ts +12 -12
  94. package/dist_es/fantomProps/createFin5Props/index.js +140 -140
  95. package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.d.ts +2 -2
  96. package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.js +11 -11
  97. package/dist_es/fantomProps/fantomPropsToObject.d.ts +8 -8
  98. package/dist_es/fantomProps/fantomPropsToObject.js +178 -178
  99. package/dist_es/fantomProps/generateJsonFromFantomPropsFile.d.ts +4 -4
  100. package/dist_es/fantomProps/generateJsonFromFantomPropsFile.js +12 -12
  101. package/dist_es/fantomProps/localePropsToJson.d.ts +1 -1
  102. package/dist_es/fantomProps/localePropsToJson.js +21 -21
  103. package/dist_es/fantomProps/readFantomPropsFile.d.ts +5 -5
  104. package/dist_es/fantomProps/readFantomPropsFile.js +40 -35
  105. package/dist_es/fantomProps/readFantomPropsFile.js.map +1 -1
  106. package/dist_es/fin5Top/fin5FileUpload.d.ts +24 -24
  107. package/dist_es/fin5Top/fin5FileUpload.js +47 -47
  108. package/dist_es/fin5Top/fin5Top.d.ts +124 -124
  109. package/dist_es/fin5Top/fin5Top.js +49 -49
  110. package/dist_es/fin5Top/finEdge2Cloud.d.ts +6 -6
  111. package/dist_es/fin5Top/finEdge2Cloud.js +11 -11
  112. package/dist_es/fin5Top/getFin5BinUrl.d.ts +2 -2
  113. package/dist_es/fin5Top/getFin5BinUrl.js +5 -5
  114. package/dist_es/fin5Top/openFin5Alarm.d.ts +22 -22
  115. package/dist_es/fin5Top/openFin5Alarm.js +19 -19
  116. package/dist_es/fin5Top/openFin5Historian.d.ts +3 -3
  117. package/dist_es/fin5Top/openFin5Historian.js +15 -15
  118. package/dist_es/fin5Top/useFin5AppURLHashParameter.d.ts +18 -18
  119. package/dist_es/fin5Top/useFin5AppURLHashParameter.js +124 -124
  120. package/dist_es/index.d.ts +35 -35
  121. package/dist_es/index.js +53 -53
  122. package/dist_es/jobs/jobUtils.d.ts +14 -14
  123. package/dist_es/jobs/jobUtils.js +9 -9
  124. package/dist_es/react/app/Fin5AppContainer.d.ts +36 -36
  125. package/dist_es/react/app/Fin5AppContainer.js +73 -73
  126. package/dist_es/react/app/Fin5AppContainer.js.map +1 -1
  127. package/dist_es/react/app/Fin5AppContainer.jsx +82 -0
  128. package/dist_es/react/app/Fin5AppContainer.jsx.map +1 -0
  129. package/dist_es/react/app/Fin5AppRootStore.d.ts +40 -38
  130. package/dist_es/react/app/Fin5AppRootStore.js +65 -64
  131. package/dist_es/react/app/Fin5AppRootStore.js.map +1 -1
  132. package/dist_es/react/components/ErrorBoundary.d.ts +57 -57
  133. package/dist_es/react/components/ErrorBoundary.js +123 -123
  134. package/dist_es/react/components/ErrorBoundary.jsx +150 -0
  135. package/dist_es/react/components/ErrorBoundary.jsx.map +1 -0
  136. package/dist_es/react/components/ErrorDisplayer.d.ts +19 -19
  137. package/dist_es/react/components/ErrorDisplayer.js +28 -28
  138. package/dist_es/react/components/ErrorDisplayer.jsx +36 -0
  139. package/dist_es/react/components/ErrorDisplayer.jsx.map +1 -0
  140. package/dist_es/react/components/Loader.d.ts +9 -9
  141. package/dist_es/react/components/Loader.js +12 -12
  142. package/dist_es/react/components/Loader.jsx +13 -0
  143. package/dist_es/react/components/Loader.jsx.map +1 -0
  144. package/dist_es/react/components/LoadingSpinner.d.ts +2 -2
  145. package/dist_es/react/components/LoadingSpinner.js +20 -20
  146. package/dist_es/react/components/LoadingSpinner.jsx +22 -0
  147. package/dist_es/react/components/LoadingSpinner.jsx.map +1 -0
  148. package/dist_es/react/components/RecordImage.d.ts +20 -20
  149. package/dist_es/react/components/RecordImage.js +24 -24
  150. package/dist_es/react/components/charts/QRCode.d.ts +25 -25
  151. package/dist_es/react/components/charts/QRCode.js +52 -52
  152. package/dist_es/react/components/charts/line-bar/Chart.d.ts +166 -166
  153. package/dist_es/react/components/charts/line-bar/Chart.js +415 -415
  154. package/dist_es/react/components/charts/line-bar/HGridChart.d.ts +58 -58
  155. package/dist_es/react/components/charts/line-bar/HGridChart.js +250 -250
  156. package/dist_es/react/components/charts/line-bar/ZincGridChart.d.ts +12 -0
  157. package/dist_es/react/components/charts/line-bar/ZincGridChart.js +17 -0
  158. package/dist_es/react/components/charts/line-bar/ZincGridChart.js.map +1 -0
  159. package/dist_es/react/components/charts/pie/PieChart.d.ts +94 -94
  160. package/dist_es/react/components/charts/pie/PieChart.js +177 -177
  161. package/dist_es/react/components/charts/pie/SimplePieChart.d.ts +21 -21
  162. package/dist_es/react/components/charts/pie/SimplePieChart.js +25 -25
  163. package/dist_es/react/components/graphics/GraphicViewer.d.ts +10 -10
  164. package/dist_es/react/components/graphics/GraphicViewer.js +22 -22
  165. package/dist_es/react/components/graphics/GraphicViewer.jsx +23 -0
  166. package/dist_es/react/components/graphics/GraphicViewer.jsx.map +1 -0
  167. package/dist_es/react/components/graphics/GraphicsTabViewer.d.ts +17 -17
  168. package/dist_es/react/components/graphics/GraphicsTabViewer.js +60 -60
  169. package/dist_es/react/components/graphics/GraphicsTabViewer.jsx +63 -0
  170. package/dist_es/react/components/graphics/GraphicsTabViewer.jsx.map +1 -0
  171. package/dist_es/react/components/makeCustomElement.d.ts +16 -16
  172. package/dist_es/react/components/makeCustomElement.js +142 -142
  173. package/dist_es/react/components/navigation/BasicLayout.d.ts +41 -41
  174. package/dist_es/react/components/navigation/BasicLayout.js +124 -124
  175. package/dist_es/react/components/navigation/BasicLayout.jsx +133 -0
  176. package/dist_es/react/components/navigation/BasicLayout.jsx.map +1 -0
  177. package/dist_es/react/components/navigation/HeaderSiderLayout.d.ts +13 -13
  178. package/dist_es/react/components/navigation/HeaderSiderLayout.js +80 -80
  179. package/dist_es/react/components/navigation/MenuPage.d.ts +37 -37
  180. package/dist_es/react/components/navigation/MenuPage.js +30 -30
  181. package/dist_es/react/components/navigation/MenuPage.jsx +31 -0
  182. package/dist_es/react/components/navigation/MenuPage.jsx.map +1 -0
  183. package/dist_es/react/components/navigation/MenuTrigger.d.ts +9 -9
  184. package/dist_es/react/components/navigation/MenuTrigger.js +28 -28
  185. package/dist_es/react/components/navigation/ReactRouterHeaderSiderLayout.d.ts +11 -11
  186. package/dist_es/react/components/navigation/ReactRouterHeaderSiderLayout.js +18 -18
  187. package/dist_es/react/components/navigation/ReactRouterLayout.d.ts +46 -46
  188. package/dist_es/react/components/navigation/ReactRouterLayout.js +99 -99
  189. package/dist_es/react/components/navigation/Router.d.ts +12 -0
  190. package/dist_es/react/components/navigation/Router.js +19 -0
  191. package/dist_es/react/components/navigation/Router.js.map +1 -0
  192. package/dist_es/react/components/navigation/Router.jsx +19 -0
  193. package/dist_es/react/components/navigation/Router.jsx.map +1 -0
  194. package/dist_es/react/components/navigation/customRouting/Router.d.ts +12 -12
  195. package/dist_es/react/components/navigation/customRouting/Router.js +18 -18
  196. package/dist_es/react/components/navigation/customRouting/RouterLayout.d.ts +11 -11
  197. package/dist_es/react/components/navigation/customRouting/RouterLayout.js +34 -34
  198. package/dist_es/react/components/navigation/react-router/BasicLayout.d.ts +23 -0
  199. package/dist_es/react/components/navigation/react-router/BasicLayout.js +82 -0
  200. package/dist_es/react/components/navigation/react-router/BasicLayout.js.map +1 -0
  201. package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.d.ts +24 -0
  202. package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.js +82 -0
  203. package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.js.map +1 -0
  204. package/dist_es/react/components/resolvable/configurationForm/ConfigurationForm.d.ts +27 -27
  205. package/dist_es/react/components/resolvable/configurationForm/ConfigurationForm.js +64 -64
  206. package/dist_es/react/components/resolvable/configurationForm/ConfigurationFormEntry.d.ts +16 -16
  207. package/dist_es/react/components/resolvable/configurationForm/ConfigurationFormEntry.js +58 -58
  208. package/dist_es/react/components/resolvable/configurationForm/getSectionDefault.d.ts +16 -16
  209. package/dist_es/react/components/resolvable/configurationForm/getSectionDefault.js +94 -94
  210. package/dist_es/react/hooks/useFin5BinUrl.d.ts +6 -6
  211. package/dist_es/react/hooks/useFin5BinUrl.js +11 -11
  212. package/dist_es/react/hooks/useFin5ColorScheme.d.ts +2 -2
  213. package/dist_es/react/hooks/useFin5ColorScheme.js +45 -45
  214. package/dist_es/react/hooks/useScreenSize.d.ts +7 -7
  215. package/dist_es/react/hooks/useScreenSize.js +27 -27
  216. package/package.json +2 -2
@@ -1,286 +1,286 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2025, J2 Innovations. All Rights Reserved
4
- */
5
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
- desc = { enumerable: true, get: function() { return m[k]; } };
10
- }
11
- Object.defineProperty(o, k2, desc);
12
- }) : (function(o, m, k, k2) {
13
- if (k2 === undefined) k2 = k;
14
- o[k2] = m[k];
15
- }));
16
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
- Object.defineProperty(o, "default", { enumerable: true, value: v });
18
- }) : function(o, v) {
19
- o["default"] = v;
20
- });
21
- var __importStar = (this && this.__importStar) || function (mod) {
22
- if (mod && mod.__esModule) return mod;
23
- var result = {};
24
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
- __setModuleDefault(result, mod);
26
- return result;
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.HGridChart = exports.calculateDefaultTimeInterval = exports.addLineSeriesRowData = exports.getBarSeriesRowData = exports.splitBarAndLineSeriesCols = exports.colNameToDisProvider = exports.isBarSeries = exports.isStackedBarSeries = exports.isLineSeries = exports.rollupDurationToTimeInterval = void 0;
30
- const am5 = __importStar(require("@amcharts/amcharts5"));
31
- const haystack_core_1 = require("haystack-core");
32
- const dist_1 = require("haystack-units/dist");
33
- const react_1 = __importStar(require("react"));
34
- const react_jss_1 = require("react-jss");
35
- const useScreenSize_1 = require("../../../hooks/useScreenSize");
36
- const Chart_1 = require("./Chart");
37
- var SeriesType;
38
- (function (SeriesType) {
39
- SeriesType["line"] = "line";
40
- SeriesType["bar"] = "bar";
41
- SeriesType["stackedBar"] = "stackedBar";
42
- })(SeriesType || (SeriesType = {}));
43
- var SeriesVariant;
44
- (function (SeriesVariant) {
45
- SeriesVariant["dashed"] = "dashed";
46
- })(SeriesVariant || (SeriesVariant = {}));
47
- const rollupDurationToTimeInterval = (value) => {
48
- let unit;
49
- switch (value?.unit) {
50
- case dist_1.hour:
51
- unit = 'hour';
52
- break;
53
- case dist_1.day:
54
- unit = 'day';
55
- break;
56
- case dist_1.week:
57
- unit = 'week';
58
- break;
59
- case dist_1.julianMonth:
60
- unit = 'month';
61
- break;
62
- case dist_1.year:
63
- unit = 'year';
64
- break;
65
- }
66
- return { count: value?.value ?? 1, timeUnit: unit ?? 'hour' };
67
- };
68
- exports.rollupDurationToTimeInterval = rollupDurationToTimeInterval;
69
- const isLineSeries = (colMetadata) => colMetadata?.series?.value === SeriesType.line;
70
- exports.isLineSeries = isLineSeries;
71
- const isStackedBarSeries = (colMetadata) => colMetadata?.series?.value === SeriesType.stackedBar;
72
- exports.isStackedBarSeries = isStackedBarSeries;
73
- const isBarSeries = (colMetadata) => colMetadata?.series?.value === SeriesType.bar;
74
- exports.isBarSeries = isBarSeries;
75
- const isDottedSeriesVariant = (colMetadata) => SeriesVariant.dashed === colMetadata?.variant?.value;
76
- const getSeriesColor = (colMetadata) => colMetadata?.color ? am5.color(colMetadata.color.value) : undefined;
77
- const getSeriesDis = (colMetadata) => colMetadata?.dis?.value;
78
- const getSeriesUnit = (colMetadata) => colMetadata?.unit?.value;
79
- const getHideAxis = (colMetadata) => colMetadata?.hideAxis?.value;
80
- const getAxisPlacement = (colMetadata) => Chart_1.AxisPlacement[colMetadata?.axisPlacement?.value];
81
- const colNameToDisProvider = (grid, translateLabel) => (colName) => {
82
- if (translateLabel) {
83
- const label = translateLabel(colName);
84
- if (label) {
85
- return label;
86
- }
87
- }
88
- const colMetadata = grid.getColumn(colName)?.meta;
89
- if (colMetadata?.dis) {
90
- return colMetadata.dis.value;
91
- }
92
- return colName;
93
- };
94
- exports.colNameToDisProvider = colNameToDisProvider;
95
- const splitBarAndLineSeriesCols = (grid) => {
96
- const barSeries = new Set();
97
- const stackedBarSeries = new Set();
98
- const lineSeries = new Set();
99
- grid.getColumns().forEach((column) => {
100
- const colMetadata = column.meta;
101
- if ((0, exports.isLineSeries)(colMetadata)) {
102
- lineSeries.add(column.name);
103
- }
104
- else if ((0, exports.isBarSeries)(colMetadata)) {
105
- barSeries.add(column.name);
106
- }
107
- else if ((0, exports.isStackedBarSeries)(colMetadata)) {
108
- stackedBarSeries.add(column.name);
109
- }
110
- });
111
- return {
112
- barSeries,
113
- stackedBarSeries,
114
- lineSeries,
115
- };
116
- };
117
- exports.splitBarAndLineSeriesCols = splitBarAndLineSeriesCols;
118
- const getBarSeriesRowData = (row, metadata, colName, barSeriesData) => {
119
- if (!barSeriesData.has(colName)) {
120
- const series = {
121
- seriesName: colName,
122
- dis: getSeriesDis(metadata),
123
- unit: getSeriesUnit(metadata),
124
- hideAxis: getHideAxis(metadata),
125
- axisPlacement: getAxisPlacement(metadata),
126
- data: [],
127
- };
128
- const seriesColor = getSeriesColor(metadata);
129
- if (seriesColor) {
130
- series.stroke = seriesColor;
131
- }
132
- barSeriesData.set(colName, series);
133
- }
134
- barSeriesData.get(colName)?.data.push({
135
- ts: row.get('ts').date.getTime(),
136
- value: row.get(colName)?.value,
137
- });
138
- };
139
- exports.getBarSeriesRowData = getBarSeriesRowData;
140
- const addLineSeriesRowData = (row, metadata, colName, lineSeriesData) => {
141
- if (!lineSeriesData.has(colName)) {
142
- const series = {
143
- seriesName: colName,
144
- dis: getSeriesDis(metadata),
145
- unit: getSeriesUnit(metadata),
146
- hideAxis: getHideAxis(metadata),
147
- axisPlacement: getAxisPlacement(metadata),
148
- data: [],
149
- strokeSettings: {
150
- strokeWidth: 2,
151
- strokeDasharray: isDottedSeriesVariant(metadata)
152
- ? [3, 3]
153
- : undefined,
154
- },
155
- };
156
- const seriesColor = getSeriesColor(metadata);
157
- if (seriesColor && series.strokeSettings) {
158
- series.strokeSettings.stroke = seriesColor;
159
- }
160
- lineSeriesData.set(colName, series);
161
- }
162
- lineSeriesData.get(colName)?.data.push({
163
- ts: row.get('ts').date.getTime(),
164
- value: row.get(colName)?.value,
165
- });
166
- };
167
- exports.addLineSeriesRowData = addLineSeriesRowData;
168
- /**
169
- * Returns the numeric value of an Haystack Value object (if numeric)
170
- * @param val Haystack value
171
- * @returns the numeric value:
172
- * - `HNum` > numeric value
173
- * - `HDate` > time value in milliseconds since midnight, January 1, 1970 UTC
174
- * - `HTime` > time value in milliseconds since midnight, January 1, 1970 UTC
175
- * - `HBool` > 1 if `val` is `true`, `false` otherwise
176
- * - `HDateTime` > time value in milliseconds since midnight, January 1, 1970 UTC
177
- */
178
- const getHValValueNumber = (val) => {
179
- if ((0, haystack_core_1.valueIsKind)(val, haystack_core_1.Kind.Number)) {
180
- return val.value;
181
- }
182
- if ((0, haystack_core_1.valueIsKind)(val, haystack_core_1.Kind.Date)) {
183
- return val.date.getTime();
184
- }
185
- if ((0, haystack_core_1.valueIsKind)(val, haystack_core_1.Kind.Time)) {
186
- return val.date.getTime();
187
- }
188
- if ((0, haystack_core_1.valueIsKind)(val, haystack_core_1.Kind.Bool)) {
189
- return val.value ? 1 : 0;
190
- }
191
- if ((0, haystack_core_1.valueIsKind)(val, haystack_core_1.Kind.DateTime)) {
192
- return val.date.getTime();
193
- }
194
- throw new Error(`getHValValue: ${val.getKind()} not supported`);
195
- };
196
- const calculateDefaultTimeInterval = (timeRange) => {
197
- const diffTime = Math.abs(timeRange[1].getTime() - timeRange[0].getTime());
198
- const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
199
- return { count: diffDays ? diffDays : 1, timeUnit: 'hour' };
200
- };
201
- exports.calculateDefaultTimeInterval = calculateDefaultTimeInterval;
202
- /**
203
- * A component that renders a chart containing multiple series
204
- * of different kinds, taking all the data and configuration from an HGrid.
205
- */
206
- exports.HGridChart = (0, react_1.memo)(function HGridChartComponent({ className, data, timeRange, timeInterval = (0, exports.calculateDefaultTimeInterval)(timeRange), unitPlacement = Chart_1.UnitPlacement.axis, legendPlacement = Chart_1.LegendPlacement.right, translateLabel = undefined, DOMtargetId, }) {
207
- const theme = (0, react_jss_1.useTheme)();
208
- const { barSeriesData, stackedBarSeriesData, lineSeriesData, rangesData } = (0, react_1.useMemo)(() => {
209
- if (data === undefined) {
210
- return {
211
- barSeriesData: [],
212
- stackedBarSeriesData: [],
213
- lineSeriesData: [],
214
- rangesData: [],
215
- };
216
- }
217
- const gridMetadata = data.meta;
218
- const { barSeries, stackedBarSeries, lineSeries } = (0, exports.splitBarAndLineSeriesCols)(data);
219
- const barSeriesData = new Map();
220
- const stackedBarSeriesData = new Map();
221
- const lineSeriesData = new Map();
222
- data.getRows().forEach((row) => {
223
- if (stackedBarSeries.size > 0) {
224
- stackedBarSeries.forEach((colName) => {
225
- (0, exports.getBarSeriesRowData)(row, data.getColumn(colName)?.meta ?? haystack_core_1.HDict.make(), colName, stackedBarSeriesData);
226
- });
227
- }
228
- if (barSeries.size > 0) {
229
- barSeries.forEach((colName) => {
230
- (0, exports.getBarSeriesRowData)(row, data.getColumn(colName)?.meta ?? haystack_core_1.HDict.make(), colName, barSeriesData);
231
- });
232
- }
233
- if (lineSeries.size > 0) {
234
- lineSeries.forEach((lineSeriesColName) => {
235
- (0, exports.addLineSeriesRowData)(row, data.getColumn(lineSeriesColName)?.meta ??
236
- haystack_core_1.HDict.make(), lineSeriesColName, lineSeriesData);
237
- });
238
- }
239
- });
240
- const rangesData = gridMetadata.ranges?.map((rangeData) => {
241
- const result = {
242
- startValue: getHValValueNumber(rangeData.startValue),
243
- endValue: getHValValueNumber(rangeData.endValue),
244
- color: getSeriesColor(rangeData),
245
- tooltip: rangeData.dis?.value,
246
- opacity: rangeData.opacity?.value,
247
- };
248
- return result;
249
- }) ?? [];
250
- return {
251
- barSeriesData: Array.from(barSeriesData.values()),
252
- stackedBarSeriesData: Array.from(stackedBarSeriesData.values()),
253
- lineSeriesData: Array.from(lineSeriesData.values()),
254
- rangesData,
255
- };
256
- }, [data]);
257
- const screenSize = (0, useScreenSize_1.useScreenSize)();
258
- const effectiveLegendPlacement = (0, react_1.useMemo)(() => {
259
- const MIN_WIDTH = 1024;
260
- if (screenSize.width >= MIN_WIDTH) {
261
- return legendPlacement;
262
- }
263
- switch (legendPlacement) {
264
- case Chart_1.LegendPlacement.left:
265
- return Chart_1.LegendPlacement.top;
266
- case Chart_1.LegendPlacement.right:
267
- return Chart_1.LegendPlacement.bottom;
268
- }
269
- return legendPlacement;
270
- }, [legendPlacement, screenSize.width]);
271
- return (react_1.default.createElement("div", { className: className },
272
- react_1.default.createElement(Chart_1.Chart, { DOMtargetId: DOMtargetId, cursor: true, legendPlacement: effectiveLegendPlacement, unitPlacement: unitPlacement, numberFormat: { maximumFractionDigits: 0 }, barSeriesData: barSeriesData, rangesData: rangesData, translateLabel: (0, exports.colNameToDisProvider)(data ?? haystack_core_1.HGrid.make(), translateLabel), stackedBarSeriesData: stackedBarSeriesData, lineSeriesData: lineSeriesData, gridSettings: {
273
- stroke: am5.color(theme.borderColor),
274
- }, dateField: 'ts', baseInterval: timeInterval, tooltipSettings: {
275
- fontSize: '0.9rem',
276
- }, legendLabelsSettings: {
277
- fill: am5.color(theme.textColor),
278
- fontSize: '0.9rem',
279
- }, legendMarkersSettings: {
280
- width: 8,
281
- height: 8,
282
- rounded: true,
283
- } })));
284
- });
285
- exports.default = exports.HGridChart;
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2025, J2 Innovations. All Rights Reserved
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || function (mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
+ __setModuleDefault(result, mod);
26
+ return result;
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.HGridChart = exports.calculateDefaultTimeInterval = exports.addLineSeriesRowData = exports.getBarSeriesRowData = exports.splitBarAndLineSeriesCols = exports.colNameToDisProvider = exports.isBarSeries = exports.isStackedBarSeries = exports.isLineSeries = exports.rollupDurationToTimeInterval = void 0;
30
+ const am5 = __importStar(require("@amcharts/amcharts5"));
31
+ const haystack_core_1 = require("haystack-core");
32
+ const dist_1 = require("haystack-units/dist");
33
+ const react_1 = __importStar(require("react"));
34
+ const react_jss_1 = require("react-jss");
35
+ const useScreenSize_1 = require("../../../hooks/useScreenSize");
36
+ const Chart_1 = require("./Chart");
37
+ var SeriesType;
38
+ (function (SeriesType) {
39
+ SeriesType["line"] = "line";
40
+ SeriesType["bar"] = "bar";
41
+ SeriesType["stackedBar"] = "stackedBar";
42
+ })(SeriesType || (SeriesType = {}));
43
+ var SeriesVariant;
44
+ (function (SeriesVariant) {
45
+ SeriesVariant["dashed"] = "dashed";
46
+ })(SeriesVariant || (SeriesVariant = {}));
47
+ const rollupDurationToTimeInterval = (value) => {
48
+ let unit;
49
+ switch (value?.unit) {
50
+ case dist_1.hour:
51
+ unit = 'hour';
52
+ break;
53
+ case dist_1.day:
54
+ unit = 'day';
55
+ break;
56
+ case dist_1.week:
57
+ unit = 'week';
58
+ break;
59
+ case dist_1.julianMonth:
60
+ unit = 'month';
61
+ break;
62
+ case dist_1.year:
63
+ unit = 'year';
64
+ break;
65
+ }
66
+ return { count: value?.value ?? 1, timeUnit: unit ?? 'hour' };
67
+ };
68
+ exports.rollupDurationToTimeInterval = rollupDurationToTimeInterval;
69
+ const isLineSeries = (colMetadata) => colMetadata?.series?.value === SeriesType.line;
70
+ exports.isLineSeries = isLineSeries;
71
+ const isStackedBarSeries = (colMetadata) => colMetadata?.series?.value === SeriesType.stackedBar;
72
+ exports.isStackedBarSeries = isStackedBarSeries;
73
+ const isBarSeries = (colMetadata) => colMetadata?.series?.value === SeriesType.bar;
74
+ exports.isBarSeries = isBarSeries;
75
+ const isDottedSeriesVariant = (colMetadata) => SeriesVariant.dashed === colMetadata?.variant?.value;
76
+ const getSeriesColor = (colMetadata) => colMetadata?.color ? am5.color(colMetadata.color.value) : undefined;
77
+ const getSeriesDis = (colMetadata) => colMetadata?.dis?.value;
78
+ const getSeriesUnit = (colMetadata) => colMetadata?.unit?.value;
79
+ const getHideAxis = (colMetadata) => colMetadata?.hideAxis?.value;
80
+ const getAxisPlacement = (colMetadata) => Chart_1.AxisPlacement[colMetadata?.axisPlacement?.value];
81
+ const colNameToDisProvider = (grid, translateLabel) => (colName) => {
82
+ if (translateLabel) {
83
+ const label = translateLabel(colName);
84
+ if (label) {
85
+ return label;
86
+ }
87
+ }
88
+ const colMetadata = grid.getColumn(colName)?.meta;
89
+ if (colMetadata?.dis) {
90
+ return colMetadata.dis.value;
91
+ }
92
+ return colName;
93
+ };
94
+ exports.colNameToDisProvider = colNameToDisProvider;
95
+ const splitBarAndLineSeriesCols = (grid) => {
96
+ const barSeries = new Set();
97
+ const stackedBarSeries = new Set();
98
+ const lineSeries = new Set();
99
+ grid.getColumns().forEach((column) => {
100
+ const colMetadata = column.meta;
101
+ if ((0, exports.isLineSeries)(colMetadata)) {
102
+ lineSeries.add(column.name);
103
+ }
104
+ else if ((0, exports.isBarSeries)(colMetadata)) {
105
+ barSeries.add(column.name);
106
+ }
107
+ else if ((0, exports.isStackedBarSeries)(colMetadata)) {
108
+ stackedBarSeries.add(column.name);
109
+ }
110
+ });
111
+ return {
112
+ barSeries,
113
+ stackedBarSeries,
114
+ lineSeries,
115
+ };
116
+ };
117
+ exports.splitBarAndLineSeriesCols = splitBarAndLineSeriesCols;
118
+ const getBarSeriesRowData = (row, metadata, colName, barSeriesData) => {
119
+ if (!barSeriesData.has(colName)) {
120
+ const series = {
121
+ seriesName: colName,
122
+ dis: getSeriesDis(metadata),
123
+ unit: getSeriesUnit(metadata),
124
+ hideAxis: getHideAxis(metadata),
125
+ axisPlacement: getAxisPlacement(metadata),
126
+ data: [],
127
+ };
128
+ const seriesColor = getSeriesColor(metadata);
129
+ if (seriesColor) {
130
+ series.stroke = seriesColor;
131
+ }
132
+ barSeriesData.set(colName, series);
133
+ }
134
+ barSeriesData.get(colName)?.data.push({
135
+ ts: row.get('ts').date.getTime(),
136
+ value: row.get(colName)?.value,
137
+ });
138
+ };
139
+ exports.getBarSeriesRowData = getBarSeriesRowData;
140
+ const addLineSeriesRowData = (row, metadata, colName, lineSeriesData) => {
141
+ if (!lineSeriesData.has(colName)) {
142
+ const series = {
143
+ seriesName: colName,
144
+ dis: getSeriesDis(metadata),
145
+ unit: getSeriesUnit(metadata),
146
+ hideAxis: getHideAxis(metadata),
147
+ axisPlacement: getAxisPlacement(metadata),
148
+ data: [],
149
+ strokeSettings: {
150
+ strokeWidth: 2,
151
+ strokeDasharray: isDottedSeriesVariant(metadata)
152
+ ? [3, 3]
153
+ : undefined,
154
+ },
155
+ };
156
+ const seriesColor = getSeriesColor(metadata);
157
+ if (seriesColor && series.strokeSettings) {
158
+ series.strokeSettings.stroke = seriesColor;
159
+ }
160
+ lineSeriesData.set(colName, series);
161
+ }
162
+ lineSeriesData.get(colName)?.data.push({
163
+ ts: row.get('ts').date.getTime(),
164
+ value: row.get(colName)?.value,
165
+ });
166
+ };
167
+ exports.addLineSeriesRowData = addLineSeriesRowData;
168
+ /**
169
+ * Returns the numeric value of an Haystack Value object (if numeric)
170
+ * @param val Haystack value
171
+ * @returns the numeric value:
172
+ * - `HNum` > numeric value
173
+ * - `HDate` > time value in milliseconds since midnight, January 1, 1970 UTC
174
+ * - `HTime` > time value in milliseconds since midnight, January 1, 1970 UTC
175
+ * - `HBool` > 1 if `val` is `true`, `false` otherwise
176
+ * - `HDateTime` > time value in milliseconds since midnight, January 1, 1970 UTC
177
+ */
178
+ const getHValValueNumber = (val) => {
179
+ if ((0, haystack_core_1.valueIsKind)(val, haystack_core_1.Kind.Number)) {
180
+ return val.value;
181
+ }
182
+ if ((0, haystack_core_1.valueIsKind)(val, haystack_core_1.Kind.Date)) {
183
+ return val.date.getTime();
184
+ }
185
+ if ((0, haystack_core_1.valueIsKind)(val, haystack_core_1.Kind.Time)) {
186
+ return val.date.getTime();
187
+ }
188
+ if ((0, haystack_core_1.valueIsKind)(val, haystack_core_1.Kind.Bool)) {
189
+ return val.value ? 1 : 0;
190
+ }
191
+ if ((0, haystack_core_1.valueIsKind)(val, haystack_core_1.Kind.DateTime)) {
192
+ return val.date.getTime();
193
+ }
194
+ throw new Error(`getHValValue: ${val.getKind()} not supported`);
195
+ };
196
+ const calculateDefaultTimeInterval = (timeRange) => {
197
+ const diffTime = Math.abs(timeRange[1].getTime() - timeRange[0].getTime());
198
+ const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
199
+ return { count: diffDays ? diffDays : 1, timeUnit: 'hour' };
200
+ };
201
+ exports.calculateDefaultTimeInterval = calculateDefaultTimeInterval;
202
+ /**
203
+ * A component that renders a chart containing multiple series
204
+ * of different kinds, taking all the data and configuration from an HGrid.
205
+ */
206
+ exports.HGridChart = (0, react_1.memo)(function HGridChartComponent({ className, data, timeRange, timeInterval = (0, exports.calculateDefaultTimeInterval)(timeRange), unitPlacement = Chart_1.UnitPlacement.axis, legendPlacement = Chart_1.LegendPlacement.right, translateLabel = undefined, DOMtargetId, }) {
207
+ const theme = (0, react_jss_1.useTheme)();
208
+ const { barSeriesData, stackedBarSeriesData, lineSeriesData, rangesData } = (0, react_1.useMemo)(() => {
209
+ if (data === undefined) {
210
+ return {
211
+ barSeriesData: [],
212
+ stackedBarSeriesData: [],
213
+ lineSeriesData: [],
214
+ rangesData: [],
215
+ };
216
+ }
217
+ const gridMetadata = data.meta;
218
+ const { barSeries, stackedBarSeries, lineSeries } = (0, exports.splitBarAndLineSeriesCols)(data);
219
+ const barSeriesData = new Map();
220
+ const stackedBarSeriesData = new Map();
221
+ const lineSeriesData = new Map();
222
+ data.getRows().forEach((row) => {
223
+ if (stackedBarSeries.size > 0) {
224
+ stackedBarSeries.forEach((colName) => {
225
+ (0, exports.getBarSeriesRowData)(row, data.getColumn(colName)?.meta ?? haystack_core_1.HDict.make(), colName, stackedBarSeriesData);
226
+ });
227
+ }
228
+ if (barSeries.size > 0) {
229
+ barSeries.forEach((colName) => {
230
+ (0, exports.getBarSeriesRowData)(row, data.getColumn(colName)?.meta ?? haystack_core_1.HDict.make(), colName, barSeriesData);
231
+ });
232
+ }
233
+ if (lineSeries.size > 0) {
234
+ lineSeries.forEach((lineSeriesColName) => {
235
+ (0, exports.addLineSeriesRowData)(row, data.getColumn(lineSeriesColName)?.meta ??
236
+ haystack_core_1.HDict.make(), lineSeriesColName, lineSeriesData);
237
+ });
238
+ }
239
+ });
240
+ const rangesData = gridMetadata.ranges?.map((rangeData) => {
241
+ const result = {
242
+ startValue: getHValValueNumber(rangeData.startValue),
243
+ endValue: getHValValueNumber(rangeData.endValue),
244
+ color: getSeriesColor(rangeData),
245
+ tooltip: rangeData.dis?.value,
246
+ opacity: rangeData.opacity?.value,
247
+ };
248
+ return result;
249
+ }) ?? [];
250
+ return {
251
+ barSeriesData: Array.from(barSeriesData.values()),
252
+ stackedBarSeriesData: Array.from(stackedBarSeriesData.values()),
253
+ lineSeriesData: Array.from(lineSeriesData.values()),
254
+ rangesData,
255
+ };
256
+ }, [data]);
257
+ const screenSize = (0, useScreenSize_1.useScreenSize)();
258
+ const effectiveLegendPlacement = (0, react_1.useMemo)(() => {
259
+ const MIN_WIDTH = 1024;
260
+ if (screenSize.width >= MIN_WIDTH) {
261
+ return legendPlacement;
262
+ }
263
+ switch (legendPlacement) {
264
+ case Chart_1.LegendPlacement.left:
265
+ return Chart_1.LegendPlacement.top;
266
+ case Chart_1.LegendPlacement.right:
267
+ return Chart_1.LegendPlacement.bottom;
268
+ }
269
+ return legendPlacement;
270
+ }, [legendPlacement, screenSize.width]);
271
+ return (react_1.default.createElement("div", { className: className },
272
+ react_1.default.createElement(Chart_1.Chart, { DOMtargetId: DOMtargetId, cursor: true, legendPlacement: effectiveLegendPlacement, unitPlacement: unitPlacement, numberFormat: { maximumFractionDigits: 0 }, barSeriesData: barSeriesData, rangesData: rangesData, translateLabel: (0, exports.colNameToDisProvider)(data ?? haystack_core_1.HGrid.make(), translateLabel), stackedBarSeriesData: stackedBarSeriesData, lineSeriesData: lineSeriesData, gridSettings: {
273
+ stroke: am5.color(theme.borderColor),
274
+ }, dateField: 'ts', baseInterval: timeInterval, tooltipSettings: {
275
+ fontSize: '0.9rem',
276
+ }, legendLabelsSettings: {
277
+ fill: am5.color(theme.textColor),
278
+ fontSize: '0.9rem',
279
+ }, legendMarkersSettings: {
280
+ width: 8,
281
+ height: 8,
282
+ rounded: true,
283
+ } })));
284
+ });
285
+ exports.default = exports.HGridChart;
286
286
  //# sourceMappingURL=HGridChart.js.map