@j2inn/fin5-ui-utils 8.1.1-beta.5 → 8.1.1-beta.6

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 +20 -20
  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 +65 -65
  14. package/dist/fin5Top/fin5FileUpload.d.ts +24 -24
  15. package/dist/fin5Top/fin5FileUpload.js +51 -51
  16. package/dist/fin5Top/fin5Top.d.ts +165 -124
  17. package/dist/fin5Top/fin5Top.js +61 -53
  18. package/dist/fin5Top/fin5Top.js.map +1 -1
  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 +145 -161
  35. package/dist/react/app/Fin5AppContainer.js.map +1 -1
  36. package/dist/react/app/Fin5AppRootStore.d.ts +40 -42
  37. package/dist/react/app/Fin5AppRootStore.js +90 -114
  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 +56 -56
  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 +15 -15
  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 +39 -39
  105. package/dist_es/fin5Top/fin5FileUpload.d.ts +24 -24
  106. package/dist_es/fin5Top/fin5FileUpload.js +47 -47
  107. package/dist_es/fin5Top/fin5Top.d.ts +165 -124
  108. package/dist_es/fin5Top/fin5Top.js +57 -49
  109. package/dist_es/fin5Top/fin5Top.js.map +1 -1
  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 +116 -132
  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 -42
  130. package/dist_es/react/app/Fin5AppRootStore.js +86 -110
  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 +52 -52
  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 +1 -1
@@ -1,134 +1,134 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2022, J2 Innovations. All Rights Reserved
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.useFin5AppURLHashParameters = exports.useFin5AppURLHashParameter = exports.getHashParameters = exports.fin5SkipHashUpdate = exports.getFin5HashFrameParameters = exports.getTopLocation = exports.IN_IFRAME = void 0;
7
- const react_1 = require("react");
8
- const fin5Top_1 = require("./fin5Top");
9
- exports.IN_IFRAME = window !== top && (0, fin5Top_1.isWindowTopFin5)();
10
- const getTop = () => window.top ?? window;
11
- const getApp = () => getTop()?.app;
12
- const getTopLocation = () => getTop().location;
13
- exports.getTopLocation = getTopLocation;
14
- const getFin5HashFrameParameters = () => new URLSearchParams((0, exports.getTopLocation)().hash.slice(1).split('?')[1]);
15
- exports.getFin5HashFrameParameters = getFin5HashFrameParameters;
16
- const getFin5FrameURL = () => (0, exports.getFin5HashFrameParameters)().get('url');
17
- const getPartialURLHashFragment = (url) => `#${url?.split('#')[1] ?? ''}`;
18
- const getHash = () => {
19
- return exports.IN_IFRAME
20
- ? getPartialURLHashFragment(getFin5FrameURL())
21
- : window.location.hash;
22
- };
23
- const fin5SkipHashUpdate = () => getApp()?.set('skipHashUpdate', true);
24
- exports.fin5SkipHashUpdate = fin5SkipHashUpdate;
25
- const setHash = (hash) => {
26
- if (exports.IN_IFRAME) {
27
- return (0, exports.fin5SkipHashUpdate)()?.then(() => {
28
- const frameParameters = (0, exports.getFin5HashFrameParameters)();
29
- frameParameters.set('url', frameParameters.get('url')?.split('#')[0] + '#' + hash);
30
- (0, exports.getTopLocation)().hash = `#${(0, exports.getTopLocation)().hash.slice(1).split('?')[0]}?${frameParameters.toString()}`;
31
- });
32
- }
33
- else {
34
- window.location.hash = hash;
35
- return Promise.resolve();
36
- }
37
- };
38
- const getHashParameters = () => new URLSearchParams(getHash().slice(1));
39
- exports.getHashParameters = getHashParameters;
40
- /**
41
- * Use a parameter in the hash of a custom app running in FIN 5 as state.
42
- * @param name parameter name.
43
- * @param initialState initial state used if the parameter is not defined.
44
- * @returns the parameter value and a function to update it.
45
- */
46
- const useFin5AppURLHashParameter = (name, initialState) => {
47
- const [paramValue, setParamValue] = (0, react_1.useState)((0, exports.getHashParameters)()?.get(name) ?? undefined);
48
- const setHashParameter = async (value) => {
49
- const params = (0, exports.getHashParameters)();
50
- if (params.get(name) !== value) {
51
- if (value === '' || value == null) {
52
- params.delete(name);
53
- }
54
- else {
55
- params?.set(name, value);
56
- }
57
- await setHash(params?.toString());
58
- setParamValue(value);
59
- }
60
- };
61
- (0, react_1.useEffect)(() => {
62
- if (!(0, exports.getHashParameters)()?.has(name) && initialState) {
63
- setHashParameter(initialState);
64
- }
65
- }, []);
66
- (0, react_1.useEffect)(() => {
67
- const onHashChange = () => {
68
- setParamValue((0, exports.getHashParameters)()?.get(name) ?? undefined);
69
- };
70
- if (exports.IN_IFRAME) {
71
- getTop().addEventListener('hashchange', onHashChange);
72
- return () => {
73
- getTop().removeEventListener('hashchange', onHashChange);
74
- };
75
- }
76
- return () => {
77
- return;
78
- };
79
- }, []);
80
- return [paramValue, setHashParameter];
81
- };
82
- exports.useFin5AppURLHashParameter = useFin5AppURLHashParameter;
83
- /**
84
- * Use all the parameters in the hash of a custom app running in FIN 5 as state.
85
- * @param parameters the initial (optional) values for the parameters
86
- * @returns the URL parameters and a function to patch the parameters.
87
- */
88
- const useFin5AppURLHashParameters = (parameters) => {
89
- const [paramValues, setParamValues] = (0, react_1.useState)((0, exports.getHashParameters)());
90
- // Patch the parameters: this updates just the URL parameters passed.
91
- // If there is a parameter in the hash and not in the function arg, that is left untouched.
92
- // To remove a parameter in the hash, set it to null or empty string.
93
- const setHashParameters = async (paramsToUpdate) => {
94
- const params = (0, exports.getHashParameters)();
95
- Array.from(paramsToUpdate.entries()).forEach(([paramKey, newParamValue]) => {
96
- if (newParamValue !== params.get(paramKey)) {
97
- if (newParamValue == null || newParamValue === '') {
98
- params.delete(paramKey);
99
- }
100
- else {
101
- params.set(paramKey, newParamValue);
102
- }
103
- }
104
- });
105
- await setHash(params.toString());
106
- setParamValues(params);
107
- };
108
- // Initial setup.
109
- (0, react_1.useEffect)(() => {
110
- const hashParameters = (0, exports.getHashParameters)();
111
- if (parameters) {
112
- Array.from(parameters.entries()).forEach(([paramKey, paramValue]) => {
113
- if (!hashParameters.has(paramKey) &&
114
- paramValue != null &&
115
- paramValue !== '') {
116
- hashParameters.set(paramKey, paramValue);
117
- }
118
- });
119
- setHashParameters(hashParameters);
120
- }
121
- }, []);
122
- (0, react_1.useEffect)(() => {
123
- const onHashChange = () => {
124
- setParamValues((0, exports.getHashParameters)());
125
- };
126
- getTop().addEventListener('hashchange', onHashChange);
127
- return () => {
128
- getTop().removeEventListener('hashchange', onHashChange);
129
- };
130
- }, []);
131
- return [paramValues, setHashParameters];
132
- };
133
- exports.useFin5AppURLHashParameters = useFin5AppURLHashParameters;
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2022, J2 Innovations. All Rights Reserved
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useFin5AppURLHashParameters = exports.useFin5AppURLHashParameter = exports.getHashParameters = exports.fin5SkipHashUpdate = exports.getFin5HashFrameParameters = exports.getTopLocation = exports.IN_IFRAME = void 0;
7
+ const react_1 = require("react");
8
+ const fin5Top_1 = require("./fin5Top");
9
+ exports.IN_IFRAME = window !== top && (0, fin5Top_1.isWindowTopFin5)();
10
+ const getTop = () => window.top ?? window;
11
+ const getApp = () => getTop()?.app;
12
+ const getTopLocation = () => getTop().location;
13
+ exports.getTopLocation = getTopLocation;
14
+ const getFin5HashFrameParameters = () => new URLSearchParams((0, exports.getTopLocation)().hash.slice(1).split('?')[1]);
15
+ exports.getFin5HashFrameParameters = getFin5HashFrameParameters;
16
+ const getFin5FrameURL = () => (0, exports.getFin5HashFrameParameters)().get('url');
17
+ const getPartialURLHashFragment = (url) => `#${url?.split('#')[1] ?? ''}`;
18
+ const getHash = () => {
19
+ return exports.IN_IFRAME
20
+ ? getPartialURLHashFragment(getFin5FrameURL())
21
+ : window.location.hash;
22
+ };
23
+ const fin5SkipHashUpdate = () => getApp()?.set('skipHashUpdate', true);
24
+ exports.fin5SkipHashUpdate = fin5SkipHashUpdate;
25
+ const setHash = (hash) => {
26
+ if (exports.IN_IFRAME) {
27
+ return (0, exports.fin5SkipHashUpdate)()?.then(() => {
28
+ const frameParameters = (0, exports.getFin5HashFrameParameters)();
29
+ frameParameters.set('url', frameParameters.get('url')?.split('#')[0] + '#' + hash);
30
+ (0, exports.getTopLocation)().hash = `#${(0, exports.getTopLocation)().hash.slice(1).split('?')[0]}?${frameParameters.toString()}`;
31
+ });
32
+ }
33
+ else {
34
+ window.location.hash = hash;
35
+ return Promise.resolve();
36
+ }
37
+ };
38
+ const getHashParameters = () => new URLSearchParams(getHash().slice(1));
39
+ exports.getHashParameters = getHashParameters;
40
+ /**
41
+ * Use a parameter in the hash of a custom app running in FIN 5 as state.
42
+ * @param name parameter name.
43
+ * @param initialState initial state used if the parameter is not defined.
44
+ * @returns the parameter value and a function to update it.
45
+ */
46
+ const useFin5AppURLHashParameter = (name, initialState) => {
47
+ const [paramValue, setParamValue] = (0, react_1.useState)((0, exports.getHashParameters)()?.get(name) ?? undefined);
48
+ const setHashParameter = async (value) => {
49
+ const params = (0, exports.getHashParameters)();
50
+ if (params.get(name) !== value) {
51
+ if (value === '' || value == null) {
52
+ params.delete(name);
53
+ }
54
+ else {
55
+ params?.set(name, value);
56
+ }
57
+ await setHash(params?.toString());
58
+ setParamValue(value);
59
+ }
60
+ };
61
+ (0, react_1.useEffect)(() => {
62
+ if (!(0, exports.getHashParameters)()?.has(name) && initialState) {
63
+ setHashParameter(initialState);
64
+ }
65
+ }, []);
66
+ (0, react_1.useEffect)(() => {
67
+ const onHashChange = () => {
68
+ setParamValue((0, exports.getHashParameters)()?.get(name) ?? undefined);
69
+ };
70
+ if (exports.IN_IFRAME) {
71
+ getTop().addEventListener('hashchange', onHashChange);
72
+ return () => {
73
+ getTop().removeEventListener('hashchange', onHashChange);
74
+ };
75
+ }
76
+ return () => {
77
+ return;
78
+ };
79
+ }, []);
80
+ return [paramValue, setHashParameter];
81
+ };
82
+ exports.useFin5AppURLHashParameter = useFin5AppURLHashParameter;
83
+ /**
84
+ * Use all the parameters in the hash of a custom app running in FIN 5 as state.
85
+ * @param parameters the initial (optional) values for the parameters
86
+ * @returns the URL parameters and a function to patch the parameters.
87
+ */
88
+ const useFin5AppURLHashParameters = (parameters) => {
89
+ const [paramValues, setParamValues] = (0, react_1.useState)((0, exports.getHashParameters)());
90
+ // Patch the parameters: this updates just the URL parameters passed.
91
+ // If there is a parameter in the hash and not in the function arg, that is left untouched.
92
+ // To remove a parameter in the hash, set it to null or empty string.
93
+ const setHashParameters = async (paramsToUpdate) => {
94
+ const params = (0, exports.getHashParameters)();
95
+ Array.from(paramsToUpdate.entries()).forEach(([paramKey, newParamValue]) => {
96
+ if (newParamValue !== params.get(paramKey)) {
97
+ if (newParamValue == null || newParamValue === '') {
98
+ params.delete(paramKey);
99
+ }
100
+ else {
101
+ params.set(paramKey, newParamValue);
102
+ }
103
+ }
104
+ });
105
+ await setHash(params.toString());
106
+ setParamValues(params);
107
+ };
108
+ // Initial setup.
109
+ (0, react_1.useEffect)(() => {
110
+ const hashParameters = (0, exports.getHashParameters)();
111
+ if (parameters) {
112
+ Array.from(parameters.entries()).forEach(([paramKey, paramValue]) => {
113
+ if (!hashParameters.has(paramKey) &&
114
+ paramValue != null &&
115
+ paramValue !== '') {
116
+ hashParameters.set(paramKey, paramValue);
117
+ }
118
+ });
119
+ setHashParameters(hashParameters);
120
+ }
121
+ }, []);
122
+ (0, react_1.useEffect)(() => {
123
+ const onHashChange = () => {
124
+ setParamValues((0, exports.getHashParameters)());
125
+ };
126
+ getTop().addEventListener('hashchange', onHashChange);
127
+ return () => {
128
+ getTop().removeEventListener('hashchange', onHashChange);
129
+ };
130
+ }, []);
131
+ return [paramValues, setHashParameters];
132
+ };
133
+ exports.useFin5AppURLHashParameters = useFin5AppURLHashParameters;
134
134
  //# sourceMappingURL=useFin5AppURLHashParameter.js.map
package/dist/index.d.ts CHANGED
@@ -1,35 +1,35 @@
1
- export * from './fin5Top/fin5FileUpload';
2
- export * from './fin5Top/fin5Top';
3
- export * from './fin5Top/finEdge2Cloud';
4
- export * from './fin5Top/getFin5BinUrl';
5
- export * from './fin5Top/openFin5Alarm';
6
- export * from './fin5Top/openFin5Historian';
7
- export * from './fin5Top/useFin5AppURLHashParameter';
8
- export * from './jobs/jobUtils';
9
- export * from './react/components/ErrorBoundary';
10
- export * from './react/components/ErrorDisplayer';
11
- export * from './react/components/Loader';
12
- export * from './react/components/LoadingSpinner';
13
- export * from './react/components/graphics/GraphicViewer';
14
- export * from './react/components/graphics/GraphicsTabViewer';
15
- export * from './react/components/navigation/BasicLayout';
16
- export * from './react/components/navigation/MenuPage';
17
- export * from './react/components/navigation/ReactRouterLayout';
18
- export * from './react/components/navigation/ReactRouterHeaderSiderLayout';
19
- export * from './react/components/navigation/customRouting/RouterLayout';
20
- export * from './react/components/navigation/customRouting/Router';
21
- export * from './react/components/resolvable/configurationForm/ConfigurationForm';
22
- export * from './react/components/resolvable/configurationForm/ConfigurationFormEntry';
23
- export * from './react/components/resolvable/configurationForm/getSectionDefault';
24
- export * from './react/components/RecordImage';
25
- export * from './react/components/charts/QRCode';
26
- export * from './react/components/charts/line-bar/Chart';
27
- export * from './react/components/charts/line-bar/HGridChart';
28
- export * from './react/components/charts/pie/PieChart';
29
- export * from './react/components/charts/pie/SimplePieChart';
30
- export * from './react/components/makeCustomElement';
31
- export * from './react/hooks/useFin5BinUrl';
32
- export * from './react/hooks/useFin5ColorScheme';
33
- export * from './react/hooks/useScreenSize';
34
- export * from './react/app/Fin5AppContainer';
35
- export * from './react/app/Fin5AppRootStore';
1
+ export * from './fin5Top/fin5FileUpload';
2
+ export * from './fin5Top/fin5Top';
3
+ export * from './fin5Top/finEdge2Cloud';
4
+ export * from './fin5Top/getFin5BinUrl';
5
+ export * from './fin5Top/openFin5Alarm';
6
+ export * from './fin5Top/openFin5Historian';
7
+ export * from './fin5Top/useFin5AppURLHashParameter';
8
+ export * from './jobs/jobUtils';
9
+ export * from './react/components/ErrorBoundary';
10
+ export * from './react/components/ErrorDisplayer';
11
+ export * from './react/components/Loader';
12
+ export * from './react/components/LoadingSpinner';
13
+ export * from './react/components/graphics/GraphicViewer';
14
+ export * from './react/components/graphics/GraphicsTabViewer';
15
+ export * from './react/components/navigation/BasicLayout';
16
+ export * from './react/components/navigation/MenuPage';
17
+ export * from './react/components/navigation/ReactRouterLayout';
18
+ export * from './react/components/navigation/ReactRouterHeaderSiderLayout';
19
+ export * from './react/components/navigation/customRouting/RouterLayout';
20
+ export * from './react/components/navigation/customRouting/Router';
21
+ export * from './react/components/resolvable/configurationForm/ConfigurationForm';
22
+ export * from './react/components/resolvable/configurationForm/ConfigurationFormEntry';
23
+ export * from './react/components/resolvable/configurationForm/getSectionDefault';
24
+ export * from './react/components/RecordImage';
25
+ export * from './react/components/charts/QRCode';
26
+ export * from './react/components/charts/line-bar/Chart';
27
+ export * from './react/components/charts/line-bar/HGridChart';
28
+ export * from './react/components/charts/pie/PieChart';
29
+ export * from './react/components/charts/pie/SimplePieChart';
30
+ export * from './react/components/makeCustomElement';
31
+ export * from './react/hooks/useFin5BinUrl';
32
+ export * from './react/hooks/useFin5ColorScheme';
33
+ export * from './react/hooks/useScreenSize';
34
+ export * from './react/app/Fin5AppContainer';
35
+ export * from './react/app/Fin5AppRootStore';
package/dist/index.js CHANGED
@@ -1,70 +1,70 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2022, 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 __exportStar = (this && this.__exportStar) || function(m, exports) {
17
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- //////////////////////////////////////////////////////////////////////////
21
- // Fin5 APIs related modules
22
- //////////////////////////////////////////////////////////////////////////
23
- __exportStar(require("./fin5Top/fin5FileUpload"), exports);
24
- __exportStar(require("./fin5Top/fin5Top"), exports);
25
- __exportStar(require("./fin5Top/finEdge2Cloud"), exports);
26
- __exportStar(require("./fin5Top/getFin5BinUrl"), exports);
27
- __exportStar(require("./fin5Top/openFin5Alarm"), exports);
28
- __exportStar(require("./fin5Top/openFin5Historian"), exports);
29
- __exportStar(require("./fin5Top/useFin5AppURLHashParameter"), exports);
30
- //////////////////////////////////////////////////////////////////////////
31
- // Fin5 features related modules
32
- //////////////////////////////////////////////////////////////////////////
33
- __exportStar(require("./jobs/jobUtils"), exports);
34
- //////////////////////////////////////////////////////////////////////////
35
- // React components
36
- //////////////////////////////////////////////////////////////////////////
37
- __exportStar(require("./react/components/ErrorBoundary"), exports);
38
- __exportStar(require("./react/components/ErrorDisplayer"), exports);
39
- __exportStar(require("./react/components/Loader"), exports);
40
- __exportStar(require("./react/components/LoadingSpinner"), exports);
41
- __exportStar(require("./react/components/graphics/GraphicViewer"), exports);
42
- __exportStar(require("./react/components/graphics/GraphicsTabViewer"), exports);
43
- __exportStar(require("./react/components/navigation/BasicLayout"), exports);
44
- __exportStar(require("./react/components/navigation/MenuPage"), exports);
45
- __exportStar(require("./react/components/navigation/ReactRouterLayout"), exports);
46
- __exportStar(require("./react/components/navigation/ReactRouterHeaderSiderLayout"), exports);
47
- __exportStar(require("./react/components/navigation/customRouting/RouterLayout"), exports);
48
- __exportStar(require("./react/components/navigation/customRouting/Router"), exports);
49
- __exportStar(require("./react/components/resolvable/configurationForm/ConfigurationForm"), exports);
50
- __exportStar(require("./react/components/resolvable/configurationForm/ConfigurationFormEntry"), exports);
51
- __exportStar(require("./react/components/resolvable/configurationForm/getSectionDefault"), exports);
52
- __exportStar(require("./react/components/RecordImage"), exports);
53
- __exportStar(require("./react/components/charts/QRCode"), exports);
54
- __exportStar(require("./react/components/charts/line-bar/Chart"), exports);
55
- __exportStar(require("./react/components/charts/line-bar/HGridChart"), exports);
56
- __exportStar(require("./react/components/charts/pie/PieChart"), exports);
57
- __exportStar(require("./react/components/charts/pie/SimplePieChart"), exports);
58
- __exportStar(require("./react/components/makeCustomElement"), exports);
59
- //////////////////////////////////////////////////////////////////////////
60
- // React hooks
61
- //////////////////////////////////////////////////////////////////////////
62
- __exportStar(require("./react/hooks/useFin5BinUrl"), exports);
63
- __exportStar(require("./react/hooks/useFin5ColorScheme"), exports);
64
- __exportStar(require("./react/hooks/useScreenSize"), exports);
65
- //////////////////////////////////////////////////////////////////////////
66
- // j2inn/app support for FIN5
67
- //////////////////////////////////////////////////////////////////////////
68
- __exportStar(require("./react/app/Fin5AppContainer"), exports);
69
- __exportStar(require("./react/app/Fin5AppRootStore"), exports);
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2022, 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 __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ //////////////////////////////////////////////////////////////////////////
21
+ // Fin5 APIs related modules
22
+ //////////////////////////////////////////////////////////////////////////
23
+ __exportStar(require("./fin5Top/fin5FileUpload"), exports);
24
+ __exportStar(require("./fin5Top/fin5Top"), exports);
25
+ __exportStar(require("./fin5Top/finEdge2Cloud"), exports);
26
+ __exportStar(require("./fin5Top/getFin5BinUrl"), exports);
27
+ __exportStar(require("./fin5Top/openFin5Alarm"), exports);
28
+ __exportStar(require("./fin5Top/openFin5Historian"), exports);
29
+ __exportStar(require("./fin5Top/useFin5AppURLHashParameter"), exports);
30
+ //////////////////////////////////////////////////////////////////////////
31
+ // Fin5 features related modules
32
+ //////////////////////////////////////////////////////////////////////////
33
+ __exportStar(require("./jobs/jobUtils"), exports);
34
+ //////////////////////////////////////////////////////////////////////////
35
+ // React components
36
+ //////////////////////////////////////////////////////////////////////////
37
+ __exportStar(require("./react/components/ErrorBoundary"), exports);
38
+ __exportStar(require("./react/components/ErrorDisplayer"), exports);
39
+ __exportStar(require("./react/components/Loader"), exports);
40
+ __exportStar(require("./react/components/LoadingSpinner"), exports);
41
+ __exportStar(require("./react/components/graphics/GraphicViewer"), exports);
42
+ __exportStar(require("./react/components/graphics/GraphicsTabViewer"), exports);
43
+ __exportStar(require("./react/components/navigation/BasicLayout"), exports);
44
+ __exportStar(require("./react/components/navigation/MenuPage"), exports);
45
+ __exportStar(require("./react/components/navigation/ReactRouterLayout"), exports);
46
+ __exportStar(require("./react/components/navigation/ReactRouterHeaderSiderLayout"), exports);
47
+ __exportStar(require("./react/components/navigation/customRouting/RouterLayout"), exports);
48
+ __exportStar(require("./react/components/navigation/customRouting/Router"), exports);
49
+ __exportStar(require("./react/components/resolvable/configurationForm/ConfigurationForm"), exports);
50
+ __exportStar(require("./react/components/resolvable/configurationForm/ConfigurationFormEntry"), exports);
51
+ __exportStar(require("./react/components/resolvable/configurationForm/getSectionDefault"), exports);
52
+ __exportStar(require("./react/components/RecordImage"), exports);
53
+ __exportStar(require("./react/components/charts/QRCode"), exports);
54
+ __exportStar(require("./react/components/charts/line-bar/Chart"), exports);
55
+ __exportStar(require("./react/components/charts/line-bar/HGridChart"), exports);
56
+ __exportStar(require("./react/components/charts/pie/PieChart"), exports);
57
+ __exportStar(require("./react/components/charts/pie/SimplePieChart"), exports);
58
+ __exportStar(require("./react/components/makeCustomElement"), exports);
59
+ //////////////////////////////////////////////////////////////////////////
60
+ // React hooks
61
+ //////////////////////////////////////////////////////////////////////////
62
+ __exportStar(require("./react/hooks/useFin5BinUrl"), exports);
63
+ __exportStar(require("./react/hooks/useFin5ColorScheme"), exports);
64
+ __exportStar(require("./react/hooks/useScreenSize"), exports);
65
+ //////////////////////////////////////////////////////////////////////////
66
+ // j2inn/app support for FIN5
67
+ //////////////////////////////////////////////////////////////////////////
68
+ __exportStar(require("./react/app/Fin5AppContainer"), exports);
69
+ __exportStar(require("./react/app/Fin5AppRootStore"), exports);
70
70
  //# sourceMappingURL=index.js.map
@@ -1,14 +1,14 @@
1
- import { HDict, HNum, HStr } from 'haystack-core';
2
- export declare enum JobStatus {
3
- doneOk = "doneOk",
4
- doneErr = "doneErr",
5
- running = "running"
6
- }
7
- export interface JobStatusDict extends HDict {
8
- jobStatus: HStr;
9
- progress: HNum;
10
- progressMsg: HStr;
11
- }
12
- export declare const isJobSuccessful: (jobStatus: JobStatusDict) => boolean;
13
- export declare const isJobError: (jobStatus: JobStatusDict) => boolean;
14
- export declare const isJobRunning: (jobStatus: JobStatusDict) => boolean;
1
+ import { HDict, HNum, HStr } from 'haystack-core';
2
+ export declare enum JobStatus {
3
+ doneOk = "doneOk",
4
+ doneErr = "doneErr",
5
+ running = "running"
6
+ }
7
+ export interface JobStatusDict extends HDict {
8
+ jobStatus: HStr;
9
+ progress: HNum;
10
+ progressMsg: HStr;
11
+ }
12
+ export declare const isJobSuccessful: (jobStatus: JobStatusDict) => boolean;
13
+ export declare const isJobError: (jobStatus: JobStatusDict) => boolean;
14
+ export declare const isJobRunning: (jobStatus: JobStatusDict) => boolean;
@@ -1,16 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isJobRunning = exports.isJobError = exports.isJobSuccessful = exports.JobStatus = void 0;
4
- var JobStatus;
5
- (function (JobStatus) {
6
- JobStatus["doneOk"] = "doneOk";
7
- JobStatus["doneErr"] = "doneErr";
8
- JobStatus["running"] = "running";
9
- })(JobStatus = exports.JobStatus || (exports.JobStatus = {}));
10
- const isJobSuccessful = (jobStatus) => jobStatus.jobStatus.value === JobStatus.doneOk;
11
- exports.isJobSuccessful = isJobSuccessful;
12
- const isJobError = (jobStatus) => jobStatus.jobStatus.value === JobStatus.doneErr;
13
- exports.isJobError = isJobError;
14
- const isJobRunning = (jobStatus) => jobStatus.jobStatus.value === JobStatus.running;
15
- exports.isJobRunning = isJobRunning;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isJobRunning = exports.isJobError = exports.isJobSuccessful = exports.JobStatus = void 0;
4
+ var JobStatus;
5
+ (function (JobStatus) {
6
+ JobStatus["doneOk"] = "doneOk";
7
+ JobStatus["doneErr"] = "doneErr";
8
+ JobStatus["running"] = "running";
9
+ })(JobStatus = exports.JobStatus || (exports.JobStatus = {}));
10
+ const isJobSuccessful = (jobStatus) => jobStatus.jobStatus.value === JobStatus.doneOk;
11
+ exports.isJobSuccessful = isJobSuccessful;
12
+ const isJobError = (jobStatus) => jobStatus.jobStatus.value === JobStatus.doneErr;
13
+ exports.isJobError = isJobError;
14
+ const isJobRunning = (jobStatus) => jobStatus.jobStatus.value === JobStatus.running;
15
+ exports.isJobRunning = isJobRunning;
16
16
  //# sourceMappingURL=jobUtils.js.map
@@ -1,36 +1,36 @@
1
- import React from 'react';
2
- import { AppStore } from '@j2inn/app';
3
- import { Client } from 'haystack-nclient';
4
- import { ThemeDef } from '@j2inn/ui';
5
- /**
6
- * Properties for the dev application container component.
7
- */
8
- export interface Fin5AppContainerProps {
9
- /**
10
- * The children to render.
11
- */
12
- children?: React.ReactNode;
13
- /**
14
- * The app store.
15
- */
16
- appStore?: AppStore;
17
- /**
18
- * The network client object.
19
- */
20
- client?: Client;
21
- /**
22
- * Optional project name. Typically this is only specified
23
- * in development mode. It's typically picked up from the URL.
24
- */
25
- project?: string;
26
- /**
27
- * The optional theme to use.
28
- */
29
- theme?: ThemeDef;
30
- }
31
- /**
32
- * Creates a basic application container environment to run a view in FIN5.
33
- */
34
- export declare const Fin5AppContainer: (({ children, appStore, client, project, theme, }: Fin5AppContainerProps) => JSX.Element) & {
35
- displayName: string;
36
- };
1
+ import React from 'react';
2
+ import { AppStore } from '@j2inn/app';
3
+ import { Client } from 'haystack-nclient';
4
+ import { ThemeDef } from '@j2inn/ui';
5
+ /**
6
+ * Properties for the dev application container component.
7
+ */
8
+ export interface Fin5AppContainerProps {
9
+ /**
10
+ * The children to render.
11
+ */
12
+ children?: React.ReactNode;
13
+ /**
14
+ * The app store.
15
+ */
16
+ appStore?: AppStore;
17
+ /**
18
+ * The network client object.
19
+ */
20
+ client?: Client;
21
+ /**
22
+ * Optional project name. Typically this is only specified
23
+ * in development mode. It's typically picked up from the URL.
24
+ */
25
+ project?: string;
26
+ /**
27
+ * The optional theme to use.
28
+ */
29
+ theme?: ThemeDef;
30
+ }
31
+ /**
32
+ * Creates a basic application container environment to run a view in FIN5.
33
+ */
34
+ export declare const Fin5AppContainer: (({ children, appStore, client, project, theme, }: Fin5AppContainerProps) => JSX.Element) & {
35
+ displayName: string;
36
+ };