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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) 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 -165
  17. package/dist/fin5Top/fin5Top.js +61 -61
  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 +35 -35
  29. package/dist/index.js +69 -69
  30. package/dist/jobs/jobUtils.d.ts +14 -14
  31. package/dist/jobs/jobUtils.js +15 -15
  32. package/dist/react/app/Fin5AppContainer.d.ts +36 -36
  33. package/dist/react/app/Fin5AppContainer.js +145 -145
  34. package/dist/react/app/Fin5AppRootStore.d.ts +40 -40
  35. package/dist/react/app/Fin5AppRootStore.js +90 -90
  36. package/dist/react/components/ErrorBoundary.d.ts +57 -57
  37. package/dist/react/components/ErrorBoundary.js +150 -150
  38. package/dist/react/components/ErrorDisplayer.d.ts +19 -19
  39. package/dist/react/components/ErrorDisplayer.js +36 -36
  40. package/dist/react/components/Loader.d.ts +9 -9
  41. package/dist/react/components/Loader.js +17 -17
  42. package/dist/react/components/LoadingSpinner.d.ts +2 -2
  43. package/dist/react/components/LoadingSpinner.js +27 -27
  44. package/dist/react/components/RecordImage.d.ts +20 -20
  45. package/dist/react/components/RecordImage.js +51 -51
  46. package/dist/react/components/charts/QRCode.d.ts +25 -25
  47. package/dist/react/components/charts/QRCode.js +82 -82
  48. package/dist/react/components/charts/line-bar/Chart.d.ts +166 -166
  49. package/dist/react/components/charts/line-bar/Chart.js +442 -442
  50. package/dist/react/components/charts/line-bar/HGridChart.d.ts +58 -58
  51. package/dist/react/components/charts/line-bar/HGridChart.js +285 -285
  52. package/dist/react/components/charts/pie/PieChart.d.ts +94 -94
  53. package/dist/react/components/charts/pie/PieChart.js +204 -204
  54. package/dist/react/components/charts/pie/SimplePieChart.d.ts +21 -21
  55. package/dist/react/components/charts/pie/SimplePieChart.js +55 -55
  56. package/dist/react/components/graphics/GraphicViewer.d.ts +10 -10
  57. package/dist/react/components/graphics/GraphicViewer.js +29 -29
  58. package/dist/react/components/graphics/GraphicsTabViewer.d.ts +17 -17
  59. package/dist/react/components/graphics/GraphicsTabViewer.js +90 -90
  60. package/dist/react/components/makeCustomElement.d.ts +16 -16
  61. package/dist/react/components/makeCustomElement.js +150 -150
  62. package/dist/react/components/navigation/BasicLayout.d.ts +41 -41
  63. package/dist/react/components/navigation/BasicLayout.js +155 -155
  64. package/dist/react/components/navigation/HeaderSiderLayout.d.ts +13 -13
  65. package/dist/react/components/navigation/HeaderSiderLayout.js +110 -110
  66. package/dist/react/components/navigation/MenuPage.d.ts +37 -37
  67. package/dist/react/components/navigation/MenuPage.js +36 -36
  68. package/dist/react/components/navigation/MenuTrigger.d.ts +9 -9
  69. package/dist/react/components/navigation/MenuTrigger.js +33 -33
  70. package/dist/react/components/navigation/ReactRouterHeaderSiderLayout.d.ts +11 -11
  71. package/dist/react/components/navigation/ReactRouterHeaderSiderLayout.js +25 -25
  72. package/dist/react/components/navigation/ReactRouterLayout.d.ts +46 -46
  73. package/dist/react/components/navigation/ReactRouterLayout.js +132 -132
  74. package/dist/react/components/navigation/customRouting/Router.d.ts +12 -12
  75. package/dist/react/components/navigation/customRouting/Router.js +45 -45
  76. package/dist/react/components/navigation/customRouting/RouterLayout.d.ts +11 -11
  77. package/dist/react/components/navigation/customRouting/RouterLayout.js +61 -61
  78. package/dist/react/components/resolvable/configurationForm/ConfigurationForm.d.ts +27 -27
  79. package/dist/react/components/resolvable/configurationForm/ConfigurationForm.js +95 -95
  80. package/dist/react/components/resolvable/configurationForm/ConfigurationFormEntry.d.ts +16 -16
  81. package/dist/react/components/resolvable/configurationForm/ConfigurationFormEntry.js +88 -88
  82. package/dist/react/components/resolvable/configurationForm/getSectionDefault.d.ts +16 -16
  83. package/dist/react/components/resolvable/configurationForm/getSectionDefault.js +99 -99
  84. package/dist/react/hooks/useFin5BinUrl.d.ts +6 -6
  85. package/dist/react/hooks/useFin5BinUrl.js +15 -15
  86. package/dist/react/hooks/useFin5ColorScheme.d.ts +2 -2
  87. package/dist/react/hooks/useFin5ColorScheme.js +56 -56
  88. package/dist/react/hooks/useScreenSize.d.ts +7 -7
  89. package/dist/react/hooks/useScreenSize.js +31 -31
  90. package/dist_es/fantomProps/createFin5Props/index.d.ts +12 -12
  91. package/dist_es/fantomProps/createFin5Props/index.js +140 -140
  92. package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.d.ts +2 -2
  93. package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.js +15 -15
  94. package/dist_es/fantomProps/fantomPropsToObject.d.ts +8 -8
  95. package/dist_es/fantomProps/fantomPropsToObject.js +178 -178
  96. package/dist_es/fantomProps/generateJsonFromFantomPropsFile.d.ts +4 -4
  97. package/dist_es/fantomProps/generateJsonFromFantomPropsFile.js +12 -12
  98. package/dist_es/fantomProps/localePropsToJson.d.ts +1 -1
  99. package/dist_es/fantomProps/localePropsToJson.js +21 -21
  100. package/dist_es/fantomProps/readFantomPropsFile.d.ts +5 -5
  101. package/dist_es/fantomProps/readFantomPropsFile.js +39 -39
  102. package/dist_es/fin5Top/fin5FileUpload.d.ts +24 -24
  103. package/dist_es/fin5Top/fin5FileUpload.js +47 -47
  104. package/dist_es/fin5Top/fin5Top.d.ts +165 -165
  105. package/dist_es/fin5Top/fin5Top.js +57 -57
  106. package/dist_es/fin5Top/finEdge2Cloud.d.ts +6 -6
  107. package/dist_es/fin5Top/finEdge2Cloud.js +11 -11
  108. package/dist_es/fin5Top/getFin5BinUrl.d.ts +2 -2
  109. package/dist_es/fin5Top/getFin5BinUrl.js +5 -5
  110. package/dist_es/fin5Top/openFin5Alarm.d.ts +22 -22
  111. package/dist_es/fin5Top/openFin5Alarm.js +19 -19
  112. package/dist_es/fin5Top/openFin5Historian.d.ts +3 -3
  113. package/dist_es/fin5Top/openFin5Historian.js +15 -15
  114. package/dist_es/fin5Top/useFin5AppURLHashParameter.d.ts +18 -18
  115. package/dist_es/fin5Top/useFin5AppURLHashParameter.js +124 -124
  116. package/dist_es/index.d.ts +35 -35
  117. package/dist_es/index.js +53 -53
  118. package/dist_es/jobs/jobUtils.d.ts +14 -14
  119. package/dist_es/jobs/jobUtils.js +9 -9
  120. package/dist_es/react/app/Fin5AppContainer.d.ts +36 -36
  121. package/dist_es/react/app/Fin5AppContainer.js +116 -116
  122. package/dist_es/react/app/Fin5AppRootStore.d.ts +40 -40
  123. package/dist_es/react/app/Fin5AppRootStore.js +86 -86
  124. package/dist_es/react/components/ErrorBoundary.d.ts +57 -57
  125. package/dist_es/react/components/ErrorBoundary.js +123 -123
  126. package/dist_es/react/components/ErrorDisplayer.d.ts +19 -19
  127. package/dist_es/react/components/ErrorDisplayer.js +28 -28
  128. package/dist_es/react/components/Loader.d.ts +9 -9
  129. package/dist_es/react/components/Loader.js +12 -12
  130. package/dist_es/react/components/LoadingSpinner.d.ts +2 -2
  131. package/dist_es/react/components/LoadingSpinner.js +20 -20
  132. package/dist_es/react/components/RecordImage.d.ts +20 -20
  133. package/dist_es/react/components/RecordImage.js +24 -24
  134. package/dist_es/react/components/charts/QRCode.d.ts +25 -25
  135. package/dist_es/react/components/charts/QRCode.js +52 -52
  136. package/dist_es/react/components/charts/line-bar/Chart.d.ts +166 -166
  137. package/dist_es/react/components/charts/line-bar/Chart.js +415 -415
  138. package/dist_es/react/components/charts/line-bar/HGridChart.d.ts +58 -58
  139. package/dist_es/react/components/charts/line-bar/HGridChart.js +250 -250
  140. package/dist_es/react/components/charts/pie/PieChart.d.ts +94 -94
  141. package/dist_es/react/components/charts/pie/PieChart.js +177 -177
  142. package/dist_es/react/components/charts/pie/SimplePieChart.d.ts +21 -21
  143. package/dist_es/react/components/charts/pie/SimplePieChart.js +25 -25
  144. package/dist_es/react/components/graphics/GraphicViewer.d.ts +10 -10
  145. package/dist_es/react/components/graphics/GraphicViewer.js +22 -22
  146. package/dist_es/react/components/graphics/GraphicsTabViewer.d.ts +17 -17
  147. package/dist_es/react/components/graphics/GraphicsTabViewer.js +60 -60
  148. package/dist_es/react/components/makeCustomElement.d.ts +16 -16
  149. package/dist_es/react/components/makeCustomElement.js +142 -142
  150. package/dist_es/react/components/navigation/BasicLayout.d.ts +41 -41
  151. package/dist_es/react/components/navigation/BasicLayout.js +124 -124
  152. package/dist_es/react/components/navigation/HeaderSiderLayout.d.ts +13 -13
  153. package/dist_es/react/components/navigation/HeaderSiderLayout.js +80 -80
  154. package/dist_es/react/components/navigation/MenuPage.d.ts +37 -37
  155. package/dist_es/react/components/navigation/MenuPage.js +30 -30
  156. package/dist_es/react/components/navigation/MenuTrigger.d.ts +9 -9
  157. package/dist_es/react/components/navigation/MenuTrigger.js +28 -28
  158. package/dist_es/react/components/navigation/ReactRouterHeaderSiderLayout.d.ts +11 -11
  159. package/dist_es/react/components/navigation/ReactRouterHeaderSiderLayout.js +18 -18
  160. package/dist_es/react/components/navigation/ReactRouterLayout.d.ts +46 -46
  161. package/dist_es/react/components/navigation/ReactRouterLayout.js +99 -99
  162. package/dist_es/react/components/navigation/customRouting/Router.d.ts +12 -12
  163. package/dist_es/react/components/navigation/customRouting/Router.js +18 -18
  164. package/dist_es/react/components/navigation/customRouting/RouterLayout.d.ts +11 -11
  165. package/dist_es/react/components/navigation/customRouting/RouterLayout.js +34 -34
  166. package/dist_es/react/components/resolvable/configurationForm/ConfigurationForm.d.ts +27 -27
  167. package/dist_es/react/components/resolvable/configurationForm/ConfigurationForm.js +64 -64
  168. package/dist_es/react/components/resolvable/configurationForm/ConfigurationFormEntry.d.ts +16 -16
  169. package/dist_es/react/components/resolvable/configurationForm/ConfigurationFormEntry.js +58 -58
  170. package/dist_es/react/components/resolvable/configurationForm/getSectionDefault.d.ts +16 -16
  171. package/dist_es/react/components/resolvable/configurationForm/getSectionDefault.js +94 -94
  172. package/dist_es/react/hooks/useFin5BinUrl.d.ts +6 -6
  173. package/dist_es/react/hooks/useFin5BinUrl.js +11 -11
  174. package/dist_es/react/hooks/useFin5ColorScheme.d.ts +2 -2
  175. package/dist_es/react/hooks/useFin5ColorScheme.js +52 -52
  176. package/dist_es/react/hooks/useScreenSize.d.ts +7 -7
  177. package/dist_es/react/hooks/useScreenSize.js +27 -27
  178. package/package.json +1 -1
  179. package/dist_es/react/app/Fin5AppContainer.jsx +0 -82
  180. package/dist_es/react/app/Fin5AppContainer.jsx.map +0 -1
  181. package/dist_es/react/components/ErrorBoundary.jsx +0 -150
  182. package/dist_es/react/components/ErrorBoundary.jsx.map +0 -1
  183. package/dist_es/react/components/ErrorDisplayer.jsx +0 -36
  184. package/dist_es/react/components/ErrorDisplayer.jsx.map +0 -1
  185. package/dist_es/react/components/Loader.jsx +0 -13
  186. package/dist_es/react/components/Loader.jsx.map +0 -1
  187. package/dist_es/react/components/LoadingSpinner.jsx +0 -22
  188. package/dist_es/react/components/LoadingSpinner.jsx.map +0 -1
  189. package/dist_es/react/components/charts/line-bar/ZincGridChart.d.ts +0 -12
  190. package/dist_es/react/components/charts/line-bar/ZincGridChart.js +0 -17
  191. package/dist_es/react/components/charts/line-bar/ZincGridChart.js.map +0 -1
  192. package/dist_es/react/components/graphics/GraphicViewer.jsx +0 -23
  193. package/dist_es/react/components/graphics/GraphicViewer.jsx.map +0 -1
  194. package/dist_es/react/components/graphics/GraphicsTabViewer.jsx +0 -63
  195. package/dist_es/react/components/graphics/GraphicsTabViewer.jsx.map +0 -1
  196. package/dist_es/react/components/navigation/BasicLayout.jsx +0 -133
  197. package/dist_es/react/components/navigation/BasicLayout.jsx.map +0 -1
  198. package/dist_es/react/components/navigation/MenuPage.jsx +0 -31
  199. package/dist_es/react/components/navigation/MenuPage.jsx.map +0 -1
  200. package/dist_es/react/components/navigation/Router.d.ts +0 -12
  201. package/dist_es/react/components/navigation/Router.js +0 -19
  202. package/dist_es/react/components/navigation/Router.js.map +0 -1
  203. package/dist_es/react/components/navigation/Router.jsx +0 -19
  204. package/dist_es/react/components/navigation/Router.jsx.map +0 -1
  205. package/dist_es/react/components/navigation/react-router/BasicLayout.d.ts +0 -23
  206. package/dist_es/react/components/navigation/react-router/BasicLayout.js +0 -82
  207. package/dist_es/react/components/navigation/react-router/BasicLayout.js.map +0 -1
  208. package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.d.ts +0 -24
  209. package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.js +0 -82
  210. package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.js.map +0 -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
+ };