@j2inn/fin5-ui-utils 5.2.2-beta.8 → 6.0.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 (231) 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 +61 -61
  14. package/dist/fin5Top/fin5FileUpload.d.ts +24 -24
  15. package/dist/fin5Top/fin5FileUpload.js +51 -51
  16. package/dist/fin5Top/fin5Top.d.ts +124 -124
  17. package/dist/fin5Top/fin5Top.js +58 -58
  18. package/dist/fin5Top/finEdge2Cloud.d.ts +6 -6
  19. package/dist/fin5Top/finEdge2Cloud.js +15 -15
  20. package/dist/fin5Top/getFin5BinUrl.d.ts +2 -2
  21. package/dist/fin5Top/getFin5BinUrl.js +9 -9
  22. package/dist/fin5Top/openFin5Alarm.d.ts +22 -22
  23. package/dist/fin5Top/openFin5Alarm.js +23 -23
  24. package/dist/fin5Top/openFin5Historian.d.ts +3 -3
  25. package/dist/fin5Top/openFin5Historian.js +19 -19
  26. package/dist/fin5Top/useFin5AppURLHashParameter.d.ts +18 -18
  27. package/dist/fin5Top/useFin5AppURLHashParameter.js +133 -133
  28. package/dist/index.d.ts +31 -36
  29. package/dist/index.js +65 -70
  30. package/dist/index.js.map +1 -1
  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/Fin5AppRootStore.d.ts +38 -39
  36. package/dist/react/app/Fin5AppRootStore.js +68 -69
  37. package/dist/react/app/Fin5AppRootStore.js.map +1 -1
  38. package/dist/react/components/ErrorBoundary.d.ts +57 -57
  39. package/dist/react/components/ErrorBoundary.js +150 -150
  40. package/dist/react/components/ErrorDisplayer.d.ts +19 -19
  41. package/dist/react/components/ErrorDisplayer.js +36 -36
  42. package/dist/react/components/Loader.d.ts +9 -9
  43. package/dist/react/components/Loader.js +17 -17
  44. package/dist/react/components/LoadingSpinner.d.ts +2 -2
  45. package/dist/react/components/LoadingSpinner.js +27 -27
  46. package/dist/react/components/RecordImage.d.ts +20 -20
  47. package/dist/react/components/RecordImage.js +51 -51
  48. package/dist/react/components/charts/QRCode.d.ts +25 -25
  49. package/dist/react/components/charts/QRCode.js +81 -82
  50. package/dist/react/components/charts/QRCode.js.map +1 -1
  51. package/dist/react/components/charts/pie/PieChart.d.ts +93 -94
  52. package/dist/react/components/charts/pie/PieChart.js +202 -204
  53. package/dist/react/components/charts/pie/PieChart.js.map +1 -1
  54. package/dist/react/components/charts/pie/SimplePieChart.d.ts +20 -21
  55. package/dist/react/components/charts/pie/SimplePieChart.js +55 -55
  56. package/dist/react/components/charts/pie/SimplePieChart.js.map +1 -1
  57. package/dist/react/components/graphics/GraphicViewer.d.ts +10 -10
  58. package/dist/react/components/graphics/GraphicViewer.js +29 -29
  59. package/dist/react/components/graphics/GraphicsTabViewer.d.ts +17 -17
  60. package/dist/react/components/graphics/GraphicsTabViewer.js +90 -90
  61. package/dist/react/components/navigation/BasicLayout.d.ts +41 -41
  62. package/dist/react/components/navigation/BasicLayout.js +155 -155
  63. package/dist/react/components/navigation/HeaderSiderLayout.d.ts +13 -13
  64. package/dist/react/components/navigation/HeaderSiderLayout.js +110 -110
  65. package/dist/react/components/navigation/MenuPage.d.ts +37 -37
  66. package/dist/react/components/navigation/MenuPage.js +36 -36
  67. package/dist/react/components/navigation/MenuTrigger.d.ts +9 -9
  68. package/dist/react/components/navigation/MenuTrigger.js +33 -33
  69. package/dist/react/components/navigation/ReactRouterHeaderSiderLayout.d.ts +11 -11
  70. package/dist/react/components/navigation/ReactRouterHeaderSiderLayout.js +25 -25
  71. package/dist/react/components/navigation/ReactRouterLayout.d.ts +46 -46
  72. package/dist/react/components/navigation/ReactRouterLayout.js +132 -132
  73. package/dist/react/components/navigation/customRouting/Router.d.ts +12 -12
  74. package/dist/react/components/navigation/customRouting/Router.js +45 -45
  75. package/dist/react/components/navigation/customRouting/RouterLayout.d.ts +11 -11
  76. package/dist/react/components/navigation/customRouting/RouterLayout.js +61 -61
  77. package/dist/react/components/resolvable/configurationForm/ConfigurationForm.d.ts +27 -27
  78. package/dist/react/components/resolvable/configurationForm/ConfigurationForm.js +95 -95
  79. package/dist/react/components/resolvable/configurationForm/ConfigurationFormEntry.d.ts +16 -16
  80. package/dist/react/components/resolvable/configurationForm/ConfigurationFormEntry.js +88 -88
  81. package/dist/react/components/resolvable/configurationForm/getSectionDefault.d.ts +16 -16
  82. package/dist/react/components/resolvable/configurationForm/getSectionDefault.js +99 -99
  83. package/dist/react/hooks/useFin5BinUrl.d.ts +6 -6
  84. package/dist/react/hooks/useFin5BinUrl.js +15 -15
  85. package/dist/react/hooks/useFin5ColorScheme.d.ts +2 -2
  86. package/dist/react/hooks/useFin5ColorScheme.js +42 -42
  87. package/dist_es/fantomProps/createFin5Props/index.d.ts +12 -12
  88. package/dist_es/fantomProps/createFin5Props/index.js +140 -140
  89. package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.d.ts +2 -2
  90. package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.js +11 -11
  91. package/dist_es/fantomProps/fantomPropsToObject.d.ts +8 -8
  92. package/dist_es/fantomProps/fantomPropsToObject.js +178 -178
  93. package/dist_es/fantomProps/generateJsonFromFantomPropsFile.d.ts +4 -4
  94. package/dist_es/fantomProps/generateJsonFromFantomPropsFile.js +12 -12
  95. package/dist_es/fantomProps/localePropsToJson.d.ts +1 -1
  96. package/dist_es/fantomProps/localePropsToJson.js +21 -21
  97. package/dist_es/fantomProps/readFantomPropsFile.d.ts +5 -5
  98. package/dist_es/fantomProps/readFantomPropsFile.js +35 -35
  99. package/dist_es/fin5Top/fin5FileUpload.d.ts +24 -24
  100. package/dist_es/fin5Top/fin5FileUpload.js +47 -47
  101. package/dist_es/fin5Top/fin5Top.d.ts +124 -124
  102. package/dist_es/fin5Top/fin5Top.js +54 -54
  103. package/dist_es/fin5Top/finEdge2Cloud.d.ts +6 -6
  104. package/dist_es/fin5Top/finEdge2Cloud.js +11 -11
  105. package/dist_es/fin5Top/getFin5BinUrl.d.ts +2 -2
  106. package/dist_es/fin5Top/getFin5BinUrl.js +5 -5
  107. package/dist_es/fin5Top/openFin5Alarm.d.ts +22 -22
  108. package/dist_es/fin5Top/openFin5Alarm.js +19 -19
  109. package/dist_es/fin5Top/openFin5Historian.d.ts +3 -3
  110. package/dist_es/fin5Top/openFin5Historian.js +15 -15
  111. package/dist_es/fin5Top/useFin5AppURLHashParameter.d.ts +18 -18
  112. package/dist_es/fin5Top/useFin5AppURLHashParameter.js +124 -124
  113. package/dist_es/index.d.ts +31 -36
  114. package/dist_es/index.js +49 -54
  115. package/dist_es/index.js.map +1 -1
  116. package/dist_es/jobs/jobUtils.d.ts +14 -14
  117. package/dist_es/jobs/jobUtils.js +9 -9
  118. package/dist_es/react/app/Fin5AppContainer.d.ts +36 -36
  119. package/dist_es/react/app/Fin5AppContainer.js +73 -73
  120. package/dist_es/react/app/Fin5AppRootStore.d.ts +38 -39
  121. package/dist_es/react/app/Fin5AppRootStore.js +64 -65
  122. package/dist_es/react/app/Fin5AppRootStore.js.map +1 -1
  123. package/dist_es/react/components/ErrorBoundary.d.ts +57 -57
  124. package/dist_es/react/components/ErrorBoundary.js +123 -123
  125. package/dist_es/react/components/ErrorDisplayer.d.ts +19 -19
  126. package/dist_es/react/components/ErrorDisplayer.js +28 -28
  127. package/dist_es/react/components/Loader.d.ts +9 -9
  128. package/dist_es/react/components/Loader.js +12 -12
  129. package/dist_es/react/components/LoadingSpinner.d.ts +2 -2
  130. package/dist_es/react/components/LoadingSpinner.js +20 -20
  131. package/dist_es/react/components/RecordImage.d.ts +20 -20
  132. package/dist_es/react/components/RecordImage.js +24 -24
  133. package/dist_es/react/components/charts/QRCode.d.ts +25 -25
  134. package/dist_es/react/components/charts/QRCode.js +53 -52
  135. package/dist_es/react/components/charts/QRCode.js.map +1 -1
  136. package/dist_es/react/components/charts/pie/PieChart.d.ts +93 -94
  137. package/dist_es/react/components/charts/pie/PieChart.js +175 -177
  138. package/dist_es/react/components/charts/pie/PieChart.js.map +1 -1
  139. package/dist_es/react/components/charts/pie/SimplePieChart.d.ts +20 -21
  140. package/dist_es/react/components/charts/pie/SimplePieChart.js +25 -25
  141. package/dist_es/react/components/charts/pie/SimplePieChart.js.map +1 -1
  142. package/dist_es/react/components/graphics/GraphicViewer.d.ts +10 -10
  143. package/dist_es/react/components/graphics/GraphicViewer.js +22 -22
  144. package/dist_es/react/components/graphics/GraphicsTabViewer.d.ts +17 -17
  145. package/dist_es/react/components/graphics/GraphicsTabViewer.js +60 -60
  146. package/dist_es/react/components/navigation/BasicLayout.d.ts +41 -41
  147. package/dist_es/react/components/navigation/BasicLayout.js +124 -124
  148. package/dist_es/react/components/navigation/HeaderSiderLayout.d.ts +13 -13
  149. package/dist_es/react/components/navigation/HeaderSiderLayout.js +80 -80
  150. package/dist_es/react/components/navigation/MenuPage.d.ts +37 -37
  151. package/dist_es/react/components/navigation/MenuPage.js +30 -30
  152. package/dist_es/react/components/navigation/MenuTrigger.d.ts +9 -9
  153. package/dist_es/react/components/navigation/MenuTrigger.js +28 -28
  154. package/dist_es/react/components/navigation/ReactRouterHeaderSiderLayout.d.ts +11 -11
  155. package/dist_es/react/components/navigation/ReactRouterHeaderSiderLayout.js +18 -18
  156. package/dist_es/react/components/navigation/ReactRouterLayout.d.ts +46 -46
  157. package/dist_es/react/components/navigation/ReactRouterLayout.js +99 -99
  158. package/dist_es/react/components/navigation/customRouting/Router.d.ts +12 -12
  159. package/dist_es/react/components/navigation/customRouting/Router.js +18 -18
  160. package/dist_es/react/components/navigation/customRouting/RouterLayout.d.ts +11 -11
  161. package/dist_es/react/components/navigation/customRouting/RouterLayout.js +34 -34
  162. package/dist_es/react/components/resolvable/configurationForm/ConfigurationForm.d.ts +27 -27
  163. package/dist_es/react/components/resolvable/configurationForm/ConfigurationForm.js +64 -64
  164. package/dist_es/react/components/resolvable/configurationForm/ConfigurationFormEntry.d.ts +16 -16
  165. package/dist_es/react/components/resolvable/configurationForm/ConfigurationFormEntry.js +58 -58
  166. package/dist_es/react/components/resolvable/configurationForm/getSectionDefault.d.ts +16 -16
  167. package/dist_es/react/components/resolvable/configurationForm/getSectionDefault.js +94 -94
  168. package/dist_es/react/hooks/useFin5BinUrl.d.ts +6 -6
  169. package/dist_es/react/hooks/useFin5BinUrl.js +11 -11
  170. package/dist_es/react/hooks/useFin5ColorScheme.d.ts +2 -2
  171. package/dist_es/react/hooks/useFin5ColorScheme.js +38 -38
  172. package/package.json +8 -11
  173. package/dist/react/components/charts/line-bar/Chart.d.ts +0 -166
  174. package/dist/react/components/charts/line-bar/Chart.js +0 -443
  175. package/dist/react/components/charts/line-bar/Chart.js.map +0 -1
  176. package/dist/react/components/charts/line-bar/HGridChart.d.ts +0 -58
  177. package/dist/react/components/charts/line-bar/HGridChart.js +0 -289
  178. package/dist/react/components/charts/line-bar/HGridChart.js.map +0 -1
  179. package/dist/react/components/charts/line-bar/ZincGridChart.d.ts +0 -12
  180. package/dist/react/components/charts/line-bar/ZincGridChart.js +0 -24
  181. package/dist/react/components/charts/line-bar/ZincGridChart.js.map +0 -1
  182. package/dist/react/components/makeCustomElement.d.ts +0 -12
  183. package/dist/react/components/makeCustomElement.js +0 -137
  184. package/dist/react/components/makeCustomElement.js.map +0 -1
  185. package/dist/react/hooks/useScreenSize.d.ts +0 -8
  186. package/dist/react/hooks/useScreenSize.js +0 -31
  187. package/dist/react/hooks/useScreenSize.js.map +0 -1
  188. package/dist_es/react/app/Fin5AppContainer.jsx +0 -82
  189. package/dist_es/react/app/Fin5AppContainer.jsx.map +0 -1
  190. package/dist_es/react/components/ErrorBoundary.jsx +0 -150
  191. package/dist_es/react/components/ErrorBoundary.jsx.map +0 -1
  192. package/dist_es/react/components/ErrorDisplayer.jsx +0 -36
  193. package/dist_es/react/components/ErrorDisplayer.jsx.map +0 -1
  194. package/dist_es/react/components/Loader.jsx +0 -13
  195. package/dist_es/react/components/Loader.jsx.map +0 -1
  196. package/dist_es/react/components/LoadingSpinner.jsx +0 -22
  197. package/dist_es/react/components/LoadingSpinner.jsx.map +0 -1
  198. package/dist_es/react/components/charts/line-bar/Chart.d.ts +0 -166
  199. package/dist_es/react/components/charts/line-bar/Chart.js +0 -416
  200. package/dist_es/react/components/charts/line-bar/Chart.js.map +0 -1
  201. package/dist_es/react/components/charts/line-bar/HGridChart.d.ts +0 -58
  202. package/dist_es/react/components/charts/line-bar/HGridChart.js +0 -251
  203. package/dist_es/react/components/charts/line-bar/HGridChart.js.map +0 -1
  204. package/dist_es/react/components/charts/line-bar/ZincGridChart.d.ts +0 -12
  205. package/dist_es/react/components/charts/line-bar/ZincGridChart.js +0 -17
  206. package/dist_es/react/components/charts/line-bar/ZincGridChart.js.map +0 -1
  207. package/dist_es/react/components/graphics/GraphicViewer.jsx +0 -23
  208. package/dist_es/react/components/graphics/GraphicViewer.jsx.map +0 -1
  209. package/dist_es/react/components/graphics/GraphicsTabViewer.jsx +0 -63
  210. package/dist_es/react/components/graphics/GraphicsTabViewer.jsx.map +0 -1
  211. package/dist_es/react/components/makeCustomElement.d.ts +0 -12
  212. package/dist_es/react/components/makeCustomElement.js +0 -129
  213. package/dist_es/react/components/makeCustomElement.js.map +0 -1
  214. package/dist_es/react/components/navigation/BasicLayout.jsx +0 -133
  215. package/dist_es/react/components/navigation/BasicLayout.jsx.map +0 -1
  216. package/dist_es/react/components/navigation/MenuPage.jsx +0 -31
  217. package/dist_es/react/components/navigation/MenuPage.jsx.map +0 -1
  218. package/dist_es/react/components/navigation/Router.d.ts +0 -12
  219. package/dist_es/react/components/navigation/Router.js +0 -19
  220. package/dist_es/react/components/navigation/Router.js.map +0 -1
  221. package/dist_es/react/components/navigation/Router.jsx +0 -19
  222. package/dist_es/react/components/navigation/Router.jsx.map +0 -1
  223. package/dist_es/react/components/navigation/react-router/BasicLayout.d.ts +0 -23
  224. package/dist_es/react/components/navigation/react-router/BasicLayout.js +0 -82
  225. package/dist_es/react/components/navigation/react-router/BasicLayout.js.map +0 -1
  226. package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.d.ts +0 -24
  227. package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.js +0 -82
  228. package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.js.map +0 -1
  229. package/dist_es/react/hooks/useScreenSize.d.ts +0 -8
  230. package/dist_es/react/hooks/useScreenSize.js +0 -29
  231. package/dist_es/react/hooks/useScreenSize.js.map +0 -1
@@ -1,251 +0,0 @@
1
- /*
2
- * Copyright (c) 2025, J2 Innovations. All Rights Reserved
3
- */
4
- import * as am5 from '@amcharts/amcharts5';
5
- import { HDict, HGrid, Kind, valueIsKind, } from 'haystack-core';
6
- import { day, hour, julianMonth, week, year } from 'haystack-units/dist';
7
- import React, { memo, useMemo } from 'react';
8
- import { useTheme } from 'react-jss';
9
- import useScreenSize from '../../../hooks/useScreenSize';
10
- import { AxisPlacement, Chart, LegendPlacement, UnitPlacement, } from './Chart';
11
- var SeriesType;
12
- (function (SeriesType) {
13
- SeriesType["line"] = "line";
14
- SeriesType["bar"] = "bar";
15
- SeriesType["stackedBar"] = "stackedBar";
16
- })(SeriesType || (SeriesType = {}));
17
- var SeriesVariant;
18
- (function (SeriesVariant) {
19
- SeriesVariant["dashed"] = "dashed";
20
- })(SeriesVariant || (SeriesVariant = {}));
21
- export const rollupDurationToTimeInterval = (value) => {
22
- let unit;
23
- switch (value?.unit) {
24
- case hour:
25
- unit = 'hour';
26
- break;
27
- case day:
28
- unit = 'day';
29
- break;
30
- case week:
31
- unit = 'week';
32
- break;
33
- case julianMonth:
34
- unit = 'month';
35
- break;
36
- case year:
37
- unit = 'year';
38
- break;
39
- }
40
- return { count: value?.value ?? 1, timeUnit: unit ?? 'hour' };
41
- };
42
- export const isLineSeries = (colMetadata) => colMetadata?.series?.value === SeriesType.line;
43
- export const isStackedBarSeries = (colMetadata) => colMetadata?.series?.value === SeriesType.stackedBar;
44
- export const isBarSeries = (colMetadata) => colMetadata?.series?.value === SeriesType.bar;
45
- const isDottedSeriesVariant = (colMetadata) => SeriesVariant.dashed === colMetadata?.variant?.value;
46
- const getSeriesColor = (colMetadata) => colMetadata?.color ? am5.color(colMetadata.color.value) : undefined;
47
- const getSeriesDis = (colMetadata) => colMetadata?.dis?.value;
48
- const getSeriesUnit = (colMetadata) => colMetadata?.unit?.value;
49
- const getHideAxis = (colMetadata) => colMetadata?.hideAxis?.value;
50
- const getAxisPlacement = (colMetadata) => AxisPlacement[colMetadata?.axisPlacement?.value];
51
- export const colNameToDisProvider = (grid, translateLabel) => (colName) => {
52
- if (translateLabel) {
53
- const label = translateLabel(colName);
54
- if (label) {
55
- return label;
56
- }
57
- }
58
- const colMetadata = grid.getColumn(colName)?.meta;
59
- if (colMetadata?.dis) {
60
- return colMetadata.dis.value;
61
- }
62
- return colName;
63
- };
64
- export const splitBarAndLineSeriesCols = (grid) => {
65
- const barSeries = new Set();
66
- const stackedBarSeries = new Set();
67
- const lineSeries = new Set();
68
- grid.getColumns().forEach((column) => {
69
- const colMetadata = column.meta;
70
- if (isLineSeries(colMetadata)) {
71
- lineSeries.add(column.name);
72
- }
73
- else if (isBarSeries(colMetadata)) {
74
- barSeries.add(column.name);
75
- }
76
- else if (isStackedBarSeries(colMetadata)) {
77
- stackedBarSeries.add(column.name);
78
- }
79
- });
80
- return {
81
- barSeries,
82
- stackedBarSeries,
83
- lineSeries,
84
- };
85
- };
86
- export const getBarSeriesRowData = (row, metadata, colName, barSeriesData) => {
87
- if (!barSeriesData.has(colName)) {
88
- const series = {
89
- seriesName: colName,
90
- dis: getSeriesDis(metadata),
91
- unit: getSeriesUnit(metadata),
92
- hideAxis: getHideAxis(metadata),
93
- axisPlacement: getAxisPlacement(metadata),
94
- data: [],
95
- };
96
- const seriesColor = getSeriesColor(metadata);
97
- if (seriesColor) {
98
- series.stroke = seriesColor;
99
- }
100
- barSeriesData.set(colName, series);
101
- }
102
- barSeriesData.get(colName)?.data.push({
103
- ts: row.get('ts').date.getTime(),
104
- value: row.get(colName)?.value,
105
- });
106
- };
107
- export const addLineSeriesRowData = (row, metadata, colName, lineSeriesData) => {
108
- if (!lineSeriesData.has(colName)) {
109
- const series = {
110
- seriesName: colName,
111
- dis: getSeriesDis(metadata),
112
- unit: getSeriesUnit(metadata),
113
- hideAxis: getHideAxis(metadata),
114
- axisPlacement: getAxisPlacement(metadata),
115
- data: [],
116
- strokeSettings: {
117
- strokeWidth: 2,
118
- strokeDasharray: isDottedSeriesVariant(metadata)
119
- ? [3, 3]
120
- : undefined,
121
- },
122
- };
123
- const seriesColor = getSeriesColor(metadata);
124
- if (seriesColor && series.strokeSettings) {
125
- series.strokeSettings.stroke = seriesColor;
126
- }
127
- lineSeriesData.set(colName, series);
128
- }
129
- lineSeriesData.get(colName)?.data.push({
130
- ts: row.get('ts').date.getTime(),
131
- value: row.get(colName)?.value,
132
- });
133
- };
134
- /**
135
- * Returns the numeric value of an Haystack Value object (if numeric)
136
- * @param val Haystack value
137
- * @returns the numeric value:
138
- * - `HNum` > numeric value
139
- * - `HDate` > time value in milliseconds since midnight, January 1, 1970 UTC
140
- * - `HTime` > time value in milliseconds since midnight, January 1, 1970 UTC
141
- * - `HBool` > 1 if `val` is `true`, `false` otherwise
142
- * - `HDateTime` > time value in milliseconds since midnight, January 1, 1970 UTC
143
- */
144
- const getHValValueNumber = (val) => {
145
- if (valueIsKind(val, Kind.Number)) {
146
- return val.value;
147
- }
148
- if (valueIsKind(val, Kind.Date)) {
149
- return val.date.getTime();
150
- }
151
- if (valueIsKind(val, Kind.Time)) {
152
- return val.date.getTime();
153
- }
154
- if (valueIsKind(val, Kind.Bool)) {
155
- return val.value ? 1 : 0;
156
- }
157
- if (valueIsKind(val, Kind.DateTime)) {
158
- return val.date.getTime();
159
- }
160
- throw new Error(`getHValValue: ${val.getKind()} not supported`);
161
- };
162
- export const calculateDefaultTimeInterval = (timeRange) => {
163
- const diffTime = Math.abs(timeRange[1].getTime() - timeRange[0].getTime());
164
- const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
165
- return { count: diffDays ? diffDays : 1, timeUnit: 'hour' };
166
- };
167
- /**
168
- * A component that renders a chart containing multiple series
169
- * of different kinds, taking all the data and configuration from an HGrid.
170
- */
171
- export const HGridChart = memo(function HGridChartComponent({ className, data, timeRange, timeInterval = calculateDefaultTimeInterval(timeRange), unitPlacement = UnitPlacement.axis, legendPlacement = LegendPlacement.right, translateLabel = undefined, DOMtargetId, }) {
172
- const theme = useTheme();
173
- const { barSeriesData, stackedBarSeriesData, lineSeriesData, rangesData } = useMemo(() => {
174
- if (data === undefined) {
175
- return {
176
- barSeriesData: [],
177
- stackedBarSeriesData: [],
178
- lineSeriesData: [],
179
- rangesData: [],
180
- };
181
- }
182
- const gridMetadata = data.meta;
183
- const { barSeries, stackedBarSeries, lineSeries } = splitBarAndLineSeriesCols(data);
184
- const barSeriesData = new Map();
185
- const stackedBarSeriesData = new Map();
186
- const lineSeriesData = new Map();
187
- data.getRows().forEach((row) => {
188
- if (stackedBarSeries.size > 0) {
189
- stackedBarSeries.forEach((colName) => {
190
- getBarSeriesRowData(row, data.getColumn(colName)?.meta ?? HDict.make(), colName, stackedBarSeriesData);
191
- });
192
- }
193
- if (barSeries.size > 0) {
194
- barSeries.forEach((colName) => {
195
- getBarSeriesRowData(row, data.getColumn(colName)?.meta ?? HDict.make(), colName, barSeriesData);
196
- });
197
- }
198
- if (lineSeries.size > 0) {
199
- lineSeries.forEach((lineSeriesColName) => {
200
- addLineSeriesRowData(row, data.getColumn(lineSeriesColName)?.meta ??
201
- HDict.make(), lineSeriesColName, lineSeriesData);
202
- });
203
- }
204
- });
205
- const rangesData = gridMetadata.ranges?.map((rangeData) => {
206
- const result = {
207
- startValue: getHValValueNumber(rangeData.startValue),
208
- endValue: getHValValueNumber(rangeData.endValue),
209
- color: getSeriesColor(rangeData),
210
- tooltip: rangeData.dis?.value,
211
- opacity: rangeData.opacity?.value,
212
- };
213
- return result;
214
- }) ?? [];
215
- return {
216
- barSeriesData: Array.from(barSeriesData.values()),
217
- stackedBarSeriesData: Array.from(stackedBarSeriesData.values()),
218
- lineSeriesData: Array.from(lineSeriesData.values()),
219
- rangesData,
220
- };
221
- }, [data]);
222
- const screenSize = useScreenSize();
223
- const effectiveLegendPlacement = useMemo(() => {
224
- const MIN_WIDTH = 1024;
225
- if (screenSize.width >= MIN_WIDTH) {
226
- return legendPlacement;
227
- }
228
- switch (legendPlacement) {
229
- case LegendPlacement.left:
230
- return LegendPlacement.top;
231
- case LegendPlacement.right:
232
- return LegendPlacement.bottom;
233
- }
234
- return legendPlacement;
235
- }, [legendPlacement, screenSize.width]);
236
- return (React.createElement("div", { className: className },
237
- React.createElement(Chart, { DOMtargetId: DOMtargetId, cursor: true, legendPlacement: effectiveLegendPlacement, unitPlacement: unitPlacement, numberFormat: { maximumFractionDigits: 0 }, barSeriesData: barSeriesData, rangesData: rangesData, translateLabel: colNameToDisProvider(data ?? HGrid.make(), translateLabel), stackedBarSeriesData: stackedBarSeriesData, lineSeriesData: lineSeriesData, gridSettings: {
238
- stroke: am5.color(theme.borderColor),
239
- }, dateField: 'ts', baseInterval: timeInterval, tooltipSettings: {
240
- fontSize: '0.9rem',
241
- }, legendLabelsSettings: {
242
- fill: am5.color(theme.textColor),
243
- fontSize: '0.9rem',
244
- }, legendMarkersSettings: {
245
- width: 8,
246
- height: 8,
247
- rounded: true,
248
- } })));
249
- });
250
- export default HGridChart;
251
- //# sourceMappingURL=HGridChart.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HGridChart.js","sourceRoot":"","sources":["../../../../../src/react/components/charts/line-bar/HGridChart.tsx"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import React from 'react';
2
- import { HGridChartProps } from './HGridChart';
3
- export declare type ZincGridChartProps = Omit<HGridChartProps, 'data'> & {
4
- data: string;
5
- };
6
- /**
7
- * This component wraps the HGridChart component and allows using Zinc
8
- * data instead of an HGrid. This should help using the component inside,
9
- * for example, the Graphic Builder, where finstack returns an HaystackGrid
10
- * instead of haystack-core types.
11
- */
12
- export declare const ZincGridChart: React.FC<ZincGridChartProps>;
@@ -1,17 +0,0 @@
1
- import { Kind, valueIsKind, ZincReader } from 'haystack-core';
2
- import React from 'react';
3
- import HGridChart from './HGridChart';
4
- /**
5
- * This component wraps the HGridChart component and allows using Zinc
6
- * data instead of an HGrid. This should help using the component inside,
7
- * for example, the Graphic Builder, where finstack returns an HaystackGrid
8
- * instead of haystack-core types.
9
- */
10
- export const ZincGridChart = ({ data, ...props }) => {
11
- const parsedData = ZincReader.readValue(data);
12
- if (valueIsKind(parsedData, Kind.Grid)) {
13
- return React.createElement(HGridChart, { data: parsedData, ...props });
14
- }
15
- throw new Error('Invalid Zinc data, could not parse a Grid');
16
- };
17
- //# sourceMappingURL=ZincGridChart.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ZincGridChart.js","sourceRoot":"","sources":["../../../../../src/react/components/charts/line-bar/ZincGridChart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AACpE,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,UAA+B,MAAM,cAAc,CAAA;AAM1D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAiC,CAAC,EAC3D,IAAI,EACJ,GAAG,KAAK,EACR,EAAE,EAAE;IACJ,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAC7C,IAAI,WAAW,CAAQ,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;QAC9C,OAAO,oBAAC,UAAU,IAAC,IAAI,EAAE,UAAU,KAAM,KAAK,GAAI,CAAA;KAClD;IACD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;AAC7D,CAAC,CAAA"}
@@ -1,23 +0,0 @@
1
- /*
2
- * Copyright (c) 2022, J2 Innovations. All Rights Reserved
3
- */
4
- import cn from 'classnames';
5
- import React from 'react';
6
- import { createUseStyles } from 'react-jss';
7
- import { fin5Top } from '../../../fin5Top/fin5Top';
8
- const useStyles = createUseStyles({
9
- iframe: {
10
- width: '100%',
11
- height: '100%',
12
- border: 0,
13
- overflow: 'hidden',
14
- },
15
- });
16
- export const GraphicViewer = ({ projectName = fin5Top?.finstack?.projectName ?? '', graphicId, targetRef, className, }) => {
17
- const classes = useStyles();
18
- const url = new URL(`${window.location.protocol}//${window.location.host}/fin5/${projectName}`);
19
- url.hash = `targetRef=${targetRef.toAxon()}`;
20
- url.searchParams.set('projectRef', graphicId.toAxon());
21
- return (<iframe id={graphicId.toAxon()} className={cn(classes.iframe, className)} src={url.toString()}/>);
22
- };
23
- //# sourceMappingURL=GraphicViewer.jsx.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GraphicViewer.jsx","sourceRoot":"","sources":["../../../../src/react/components/graphics/GraphicViewer.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAElD,MAAM,SAAS,GAAG,eAAe,CAAC;IACjC,MAAM,EAAE;QACP,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,CAAC;QACT,QAAQ,EAAE,QAAQ;KAClB;CACD,CAAC,CAAA;AASF,MAAM,CAAC,MAAM,aAAa,GAAiC,CAAC,EAC3D,WAAW,GAAG,OAAO,EAAE,QAAQ,EAAE,WAAW,IAAI,EAAE,EAClD,SAAS,EACT,SAAS,EACT,SAAS,GACT,EAAE,EAAE;IACJ,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAE3B,MAAM,GAAG,GAAG,IAAI,GAAG,CAClB,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,SAAS,WAAW,EAAE,CAC1E,CAAA;IACD,GAAG,CAAC,IAAI,GAAG,aAAa,SAAS,CAAC,MAAM,EAAE,EAAE,CAAA;IAC5C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA;IAEtD,OAAO,CACN,CAAC,MAAM,CACN,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CACvB,SAAS,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CACzC,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EACnB,CACF,CAAA;AACF,CAAC,CAAA"}
@@ -1,63 +0,0 @@
1
- /*
2
- * Copyright (c) 2022, J2 Innovations. All Rights Reserved
3
- */
4
- import { ant_prefix, Tabs } from '@j2inn/ui';
5
- import cn from 'classnames';
6
- import { useClient } from 'haystack-react';
7
- import React, { useEffect, useMemo, useState } from 'react';
8
- import { createUseStyles } from 'react-jss';
9
- import { fin5Top } from '../../../fin5Top/fin5Top';
10
- import { LoadingSpinner } from '../LoadingSpinner';
11
- import { GraphicViewer } from './GraphicViewer';
12
- const useStyles = createUseStyles({
13
- tabs: {
14
- height: '100%',
15
- [`& .${ant_prefix}-tabs-content-holder`]: {
16
- height: '100%',
17
- [`& .${ant_prefix}-tabs-content`]: {
18
- height: '100%',
19
- [`& .${ant_prefix}-tabs-tabpane`]: {
20
- height: '100%',
21
- },
22
- },
23
- },
24
- },
25
- fallback: {
26
- height: '100%',
27
- display: 'flex',
28
- justifyContent: 'center',
29
- alignItems: 'center',
30
- fontSize: '1.1em',
31
- },
32
- });
33
- export const GraphicsTabViewer = ({ projectName = fin5Top?.finstack?.projectName, targetRef, className, queryRelated = false, fallbackText = 'No graphics found.', fallbackClassName, }) => {
34
- const client = useClient();
35
- const classes = useStyles();
36
- const [loading, setLoading] = useState(true);
37
- const [graphicsList, setGraphicsList] = useState([]);
38
- useEffect(() => {
39
- if (targetRef) {
40
- client.ext
41
- .eval(`readById(${targetRef.toAxon()}).finGraphicOn(${queryRelated})`)
42
- .then((grid) => {
43
- setGraphicsList(grid.getRows());
44
- })
45
- .finally(() => setLoading(false));
46
- }
47
- }, [targetRef]);
48
- const tabs = useMemo(() => {
49
- return graphicsList
50
- .sort((g1, g2) => g1.toDis().localeCompare(g2.toDis()))
51
- .map((graphic) => {
52
- return {
53
- label: graphic.toDis(),
54
- key: graphic.id.toAxon(),
55
- children: (<GraphicViewer projectName={projectName ?? ''} targetRef={targetRef} graphicId={graphic.id}/>),
56
- };
57
- });
58
- }, [graphicsList]);
59
- return loading ? (<LoadingSpinner />) : tabs.length > 0 ? (<Tabs className={cn(classes.tabs, className)} items={tabs}/>) : (<div className={cn(classes.fallback, fallbackClassName)}>
60
- {fallbackText}
61
- </div>);
62
- };
63
- //# sourceMappingURL=GraphicsTabViewer.jsx.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GraphicsTabViewer.jsx","sourceRoot":"","sources":["../../../../src/react/components/graphics/GraphicsTabViewer.tsx"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import React from 'react';
2
- /**
3
- * Generate a custom element constructor that wraps the given react component.
4
- */
5
- export declare const makeCustomElement: <T extends object>(Component: React.FC<T>) => CustomElementConstructor;
6
- /**
7
- * Create a custom element wrapping a React component and register it.
8
- * @param webComponentName the name of the Web component (tag name)
9
- * @param ReactComponent the React component to wrap
10
- * @returns
11
- */
12
- export declare const registerReactWebComponent: <T extends object>(webComponentName: string, ReactComponent: React.FC<T>) => void;
@@ -1,129 +0,0 @@
1
- /*
2
- * Copyright (c) 2025, J2 Innovations. All Rights Reserved
3
- */
4
- import { AppRootStoreContext, AppStoreContext } from '@j2inn/app-react';
5
- import { GenerateTheme } from '@j2inn/ui';
6
- import { I18NContext } from '@j2inn/utils';
7
- import { ClientContext } from 'haystack-react';
8
- import { create } from 'jss';
9
- import React from 'react';
10
- import { createRoot } from 'react-dom/client';
11
- import { JssProvider, ThemeProvider } from 'react-jss';
12
- const defaultTheme = GenerateTheme().light;
13
- /**
14
- * Generate a custom element constructor that wraps the given react component.
15
- */
16
- export const makeCustomElement = (Component) => {
17
- return class extends HTMLElement {
18
- static get observedAttributes() {
19
- return ['props'];
20
- }
21
- _locale;
22
- get locale() {
23
- return this._locale;
24
- }
25
- set locale(value) {
26
- this._locale = value;
27
- this.render();
28
- }
29
- _appRootStore;
30
- get appRootStore() {
31
- return this._appRootStore ?? {};
32
- }
33
- set appRootStore(value) {
34
- this._appRootStore = value;
35
- this.render();
36
- }
37
- _appStore;
38
- get appStore() {
39
- return this._appStore ?? {};
40
- }
41
- set appStore(value) {
42
- this._appStore = value;
43
- this.render();
44
- }
45
- _client;
46
- get client() {
47
- return this._client;
48
- }
49
- set client(value) {
50
- this._client = value;
51
- this.render();
52
- }
53
- _i18n;
54
- get i18n() {
55
- return this._i18n;
56
- }
57
- set i18n(value) {
58
- this._i18n = value;
59
- this.render();
60
- }
61
- _props;
62
- get props() {
63
- return this._props;
64
- }
65
- set props(value) {
66
- this._props = value;
67
- this.render();
68
- }
69
- _theme;
70
- get theme() {
71
- return this._theme ?? defaultTheme;
72
- }
73
- set theme(value) {
74
- this._theme = value;
75
- this.render();
76
- }
77
- root;
78
- jss;
79
- constructor() {
80
- super();
81
- const mountPoint = document.createElement('div');
82
- mountPoint.setAttribute('style', 'display: contents;');
83
- this.attachShadow({ mode: 'open' }).appendChild(mountPoint);
84
- this.root = createRoot(mountPoint);
85
- this.jss = create({
86
- insertionPoint: mountPoint,
87
- });
88
- }
89
- connectedCallback() {
90
- this.render();
91
- }
92
- attributeChangedCallback() {
93
- this.render();
94
- }
95
- disconnectedCallback() {
96
- this.root.unmount();
97
- }
98
- render() {
99
- const ThemedComponent = (React.createElement(ThemeProvider, { theme: this.theme },
100
- React.createElement(I18NContext.Provider, { value: this.i18n },
101
- React.createElement(JssProvider, { jss: this.jss },
102
- React.createElement(Component, { ...this.props })))));
103
- this.root.render(React.createElement(AppRootStoreContext.Provider, { value: this.appRootStore ?? null },
104
- React.createElement(AppStoreContext.Provider, { value: this.appStore }, this.client ? (React.createElement(ClientContext.Provider, { value: this.client }, ThemedComponent)) : (ThemedComponent))));
105
- }
106
- };
107
- };
108
- /**
109
- * Create a custom element wrapping a React component and register it.
110
- * @param webComponentName the name of the Web component (tag name)
111
- * @param ReactComponent the React component to wrap
112
- * @returns
113
- */
114
- export const registerReactWebComponent = (webComponentName, ReactComponent) => {
115
- // Bail if web component is already defined
116
- if (customElements.get(webComponentName)) {
117
- return;
118
- }
119
- // Make web component that wraps the react component
120
- const Element = makeCustomElement(ReactComponent);
121
- try {
122
- // Define web component
123
- customElements.define(webComponentName, Element);
124
- }
125
- catch (e) {
126
- console.error(e);
127
- }
128
- };
129
- //# sourceMappingURL=makeCustomElement.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"makeCustomElement.js","sourceRoot":"","sources":["../../../src/react/components/makeCustomElement.tsx"],"names":[],"mappings":"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"}