@j2inn/fin5-ui-utils 8.1.2-beta.2 → 8.1.2

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 -175
  17. package/dist/fin5Top/fin5Top.js +61 -61
  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 +161 -145
  35. package/dist/react/app/Fin5AppContainer.js.map +1 -1
  36. package/dist/react/app/Fin5AppRootStore.d.ts +42 -40
  37. package/dist/react/app/Fin5AppRootStore.js +114 -90
  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 -175
  108. package/dist_es/fin5Top/fin5Top.js +57 -57
  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 +132 -116
  126. package/dist_es/react/app/Fin5AppContainer.js.map +1 -1
  127. package/dist_es/react/app/Fin5AppRootStore.d.ts +42 -40
  128. package/dist_es/react/app/Fin5AppRootStore.js +110 -86
  129. package/dist_es/react/app/Fin5AppRootStore.js.map +1 -1
  130. package/dist_es/react/components/ErrorBoundary.d.ts +57 -57
  131. package/dist_es/react/components/ErrorBoundary.js +123 -123
  132. package/dist_es/react/components/ErrorDisplayer.d.ts +19 -19
  133. package/dist_es/react/components/ErrorDisplayer.js +28 -28
  134. package/dist_es/react/components/Loader.d.ts +9 -9
  135. package/dist_es/react/components/Loader.js +12 -12
  136. package/dist_es/react/components/LoadingSpinner.d.ts +2 -2
  137. package/dist_es/react/components/LoadingSpinner.js +20 -20
  138. package/dist_es/react/components/RecordImage.d.ts +20 -20
  139. package/dist_es/react/components/RecordImage.js +24 -24
  140. package/dist_es/react/components/charts/QRCode.d.ts +25 -25
  141. package/dist_es/react/components/charts/QRCode.js +52 -52
  142. package/dist_es/react/components/charts/line-bar/Chart.d.ts +166 -166
  143. package/dist_es/react/components/charts/line-bar/Chart.js +415 -415
  144. package/dist_es/react/components/charts/line-bar/HGridChart.d.ts +58 -58
  145. package/dist_es/react/components/charts/line-bar/HGridChart.js +250 -250
  146. package/dist_es/react/components/charts/pie/PieChart.d.ts +94 -94
  147. package/dist_es/react/components/charts/pie/PieChart.js +177 -177
  148. package/dist_es/react/components/charts/pie/SimplePieChart.d.ts +21 -21
  149. package/dist_es/react/components/charts/pie/SimplePieChart.js +25 -25
  150. package/dist_es/react/components/graphics/GraphicViewer.d.ts +10 -10
  151. package/dist_es/react/components/graphics/GraphicViewer.js +22 -22
  152. package/dist_es/react/components/graphics/GraphicsTabViewer.d.ts +17 -17
  153. package/dist_es/react/components/graphics/GraphicsTabViewer.js +60 -60
  154. package/dist_es/react/components/makeCustomElement.d.ts +16 -16
  155. package/dist_es/react/components/makeCustomElement.js +142 -142
  156. package/dist_es/react/components/navigation/BasicLayout.d.ts +41 -41
  157. package/dist_es/react/components/navigation/BasicLayout.js +124 -124
  158. package/dist_es/react/components/navigation/HeaderSiderLayout.d.ts +13 -13
  159. package/dist_es/react/components/navigation/HeaderSiderLayout.js +80 -80
  160. package/dist_es/react/components/navigation/MenuPage.d.ts +37 -37
  161. package/dist_es/react/components/navigation/MenuPage.js +30 -30
  162. package/dist_es/react/components/navigation/MenuTrigger.d.ts +9 -9
  163. package/dist_es/react/components/navigation/MenuTrigger.js +28 -28
  164. package/dist_es/react/components/navigation/ReactRouterHeaderSiderLayout.d.ts +11 -11
  165. package/dist_es/react/components/navigation/ReactRouterHeaderSiderLayout.js +18 -18
  166. package/dist_es/react/components/navigation/ReactRouterLayout.d.ts +46 -46
  167. package/dist_es/react/components/navigation/ReactRouterLayout.js +99 -99
  168. package/dist_es/react/components/navigation/customRouting/Router.d.ts +12 -12
  169. package/dist_es/react/components/navigation/customRouting/Router.js +18 -18
  170. package/dist_es/react/components/navigation/customRouting/RouterLayout.d.ts +11 -11
  171. package/dist_es/react/components/navigation/customRouting/RouterLayout.js +34 -34
  172. package/dist_es/react/components/resolvable/configurationForm/ConfigurationForm.d.ts +27 -27
  173. package/dist_es/react/components/resolvable/configurationForm/ConfigurationForm.js +64 -64
  174. package/dist_es/react/components/resolvable/configurationForm/ConfigurationFormEntry.d.ts +16 -16
  175. package/dist_es/react/components/resolvable/configurationForm/ConfigurationFormEntry.js +58 -58
  176. package/dist_es/react/components/resolvable/configurationForm/getSectionDefault.d.ts +16 -16
  177. package/dist_es/react/components/resolvable/configurationForm/getSectionDefault.js +94 -94
  178. package/dist_es/react/hooks/useFin5BinUrl.d.ts +6 -6
  179. package/dist_es/react/hooks/useFin5BinUrl.js +11 -11
  180. package/dist_es/react/hooks/useFin5ColorScheme.d.ts +2 -2
  181. package/dist_es/react/hooks/useFin5ColorScheme.js +52 -52
  182. package/dist_es/react/hooks/useScreenSize.d.ts +7 -7
  183. package/dist_es/react/hooks/useScreenSize.js +27 -27
  184. package/package.json +2 -2
  185. package/dist_es/react/app/Fin5AppContainer.jsx +0 -82
  186. package/dist_es/react/app/Fin5AppContainer.jsx.map +0 -1
  187. package/dist_es/react/components/ErrorBoundary.jsx +0 -150
  188. package/dist_es/react/components/ErrorBoundary.jsx.map +0 -1
  189. package/dist_es/react/components/ErrorDisplayer.jsx +0 -36
  190. package/dist_es/react/components/ErrorDisplayer.jsx.map +0 -1
  191. package/dist_es/react/components/Loader.jsx +0 -13
  192. package/dist_es/react/components/Loader.jsx.map +0 -1
  193. package/dist_es/react/components/LoadingSpinner.jsx +0 -22
  194. package/dist_es/react/components/LoadingSpinner.jsx.map +0 -1
  195. package/dist_es/react/components/charts/line-bar/ZincGridChart.d.ts +0 -12
  196. package/dist_es/react/components/charts/line-bar/ZincGridChart.js +0 -17
  197. package/dist_es/react/components/charts/line-bar/ZincGridChart.js.map +0 -1
  198. package/dist_es/react/components/graphics/GraphicViewer.jsx +0 -23
  199. package/dist_es/react/components/graphics/GraphicViewer.jsx.map +0 -1
  200. package/dist_es/react/components/graphics/GraphicsTabViewer.jsx +0 -63
  201. package/dist_es/react/components/graphics/GraphicsTabViewer.jsx.map +0 -1
  202. package/dist_es/react/components/navigation/BasicLayout.jsx +0 -133
  203. package/dist_es/react/components/navigation/BasicLayout.jsx.map +0 -1
  204. package/dist_es/react/components/navigation/MenuPage.jsx +0 -31
  205. package/dist_es/react/components/navigation/MenuPage.jsx.map +0 -1
  206. package/dist_es/react/components/navigation/Router.d.ts +0 -12
  207. package/dist_es/react/components/navigation/Router.js +0 -19
  208. package/dist_es/react/components/navigation/Router.js.map +0 -1
  209. package/dist_es/react/components/navigation/Router.jsx +0 -19
  210. package/dist_es/react/components/navigation/Router.jsx.map +0 -1
  211. package/dist_es/react/components/navigation/react-router/BasicLayout.d.ts +0 -23
  212. package/dist_es/react/components/navigation/react-router/BasicLayout.js +0 -82
  213. package/dist_es/react/components/navigation/react-router/BasicLayout.js.map +0 -1
  214. package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.d.ts +0 -24
  215. package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.js +0 -82
  216. package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.js.map +0 -1
@@ -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,10 +1,10 @@
1
- export var JobStatus;
2
- (function (JobStatus) {
3
- JobStatus["doneOk"] = "doneOk";
4
- JobStatus["doneErr"] = "doneErr";
5
- JobStatus["running"] = "running";
6
- })(JobStatus || (JobStatus = {}));
7
- export const isJobSuccessful = (jobStatus) => jobStatus.jobStatus.value === JobStatus.doneOk;
8
- export const isJobError = (jobStatus) => jobStatus.jobStatus.value === JobStatus.doneErr;
9
- export const isJobRunning = (jobStatus) => jobStatus.jobStatus.value === JobStatus.running;
1
+ export var JobStatus;
2
+ (function (JobStatus) {
3
+ JobStatus["doneOk"] = "doneOk";
4
+ JobStatus["doneErr"] = "doneErr";
5
+ JobStatus["running"] = "running";
6
+ })(JobStatus || (JobStatus = {}));
7
+ export const isJobSuccessful = (jobStatus) => jobStatus.jobStatus.value === JobStatus.doneOk;
8
+ export const isJobError = (jobStatus) => jobStatus.jobStatus.value === JobStatus.doneErr;
9
+ export const isJobRunning = (jobStatus) => jobStatus.jobStatus.value === JobStatus.running;
10
10
  //# 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
+ };
@@ -1,117 +1,133 @@
1
- /*
2
- * Copyright (c) 2022, J2 Innovations. All Rights Reserved
3
- */
4
- import React, { useEffect, useRef, useState } from 'react';
5
- import { AppRootStoreContext, AppStoreContext } from '@j2inn/app-react';
6
- import { observer } from 'mobx-react-lite';
7
- import { Fin5AppRootStore } from './Fin5AppRootStore';
8
- import { Client, } from 'haystack-nclient';
9
- import { ClientContext } from 'haystack-react';
10
- import { I18NProvider } from '@j2inn/utils';
11
- import { ThemeProvider } from 'react-jss';
12
- import { DEFAULT_THEME, GenerateTheme } from '@j2inn/ui';
13
- import { fin5Top } from '../../fin5Top/fin5Top';
14
- import { useFin5AppURLHashParameter } from '../../fin5Top/useFin5AppURLHashParameter';
15
- import { HRef } from 'haystack-core';
16
- import { ErrorBoundary } from '../components/ErrorBoundary';
17
- import Loader from '../components/Loader';
18
- const PATH_PREFIX = 'finApp';
19
- const getServiceUrl = ({ origin, path }) => `${origin}/${PATH_PREFIX}/api/${path}`;
20
- const getOpUrl = ({ origin, project, op }) => `${origin}/api/${project}/${op}`;
21
- const getHaystackServiceUrl = ({ origin, project, path, }) => `${origin}/${PATH_PREFIX}/api/haystack${project ? `/${project}` : ''}/${path}`;
22
- const getHostServiceUrl = ({ origin, path, }) => `${origin}/${PATH_PREFIX}/api/host/${path}`;
23
- /**
24
- * Runtime type guard that checks whether a store instance
25
- * exposes a boolean `initialized` flag.
26
- *
27
- * @param {AppStore | null | undefined} appStore - The store instance to test
28
- * @returns {appStore is AppStore & { initialized: boolean }} True if `appStore` has a boolean `initialized` property
29
- *
30
- * @remarks
31
- * To use the FINX onMessage feature, ensure the concrete store declares `initialized` ahead of time,
32
- * and set to true when children components have fully rendered.
33
- */
34
- function hasInitialized(appStore) {
35
- return (!!appStore &&
36
- 'initialized' in appStore &&
37
- typeof appStore.initialized === 'boolean');
38
- }
39
- /**
40
- * Creates a basic application container environment to run a view in FIN5.
41
- */
42
- export const Fin5AppContainer = observer(({ children, appStore, client, project, theme = GenerateTheme(DEFAULT_THEME).light, }) => {
43
- const [loading, setLoading] = useState(true);
44
- const [loadingi18n, setLoadingi18n] = useState(true);
45
- const rootStoreRef = useRef(null);
46
- rootStoreRef.current ??= new Fin5AppRootStore();
47
- const rootStore = rootStoreRef.current;
48
- const [hashProjName] = useFin5AppURLHashParameter('projectName');
49
- const containerProject = project || hashProjName || fin5Top?.finstack?.projectName || '';
50
- const locale = fin5Top?.languageManager?.currentLang ?? navigator?.language;
51
- rootStore.locale = locale;
52
- if (!rootStore.allLocales.includes(locale)) {
53
- rootStore.allLocales.push(locale);
54
- }
55
- const target = fin5Top?.app?.TargetRef?.() || '';
56
- rootStore.target = target ? HRef.make(target).value : '';
57
- const initialized = hasInitialized(appStore)
58
- ? appStore.initialized
59
- : false;
60
- const getClient = () => client ??
61
- new Client({
62
- base: new URL(window.location.href),
63
- project: containerProject,
64
- options: { headers: { accept: 'text/zinc' } },
65
- getServiceUrl,
66
- getOpUrl,
67
- getHaystackServiceUrl,
68
- getHostServiceUrl,
69
- });
70
- const [containerClient, setContainerClient] = useState(getClient);
71
- useEffect(() => {
72
- setLoading(true);
73
- const newClient = getClient();
74
- setContainerClient(newClient);
75
- // Load everything network wise before we load
76
- // the application.
77
- Promise.all([
78
- newClient.ext.eval('finGetCurrentUser()'),
79
- newClient.ext.loadDefs(),
80
- ]).then(([userGrid]) => {
81
- rootStore.currentUser = userGrid.first;
82
- setLoading(false);
83
- });
84
- }, [client, containerProject]);
85
- useEffect(() => {
86
- const onMessage = (event) => {
87
- if (fin5Top?.location.origin === event.origin &&
88
- appStore?.onMessage) {
89
- appStore.onMessage({
90
- message: event.data.message,
91
- params: event.data,
92
- client: getClient(),
93
- appRootStore: rootStore,
94
- });
95
- }
96
- };
97
- window.addEventListener('message', onMessage);
98
- return () => window.removeEventListener('message', onMessage);
99
- }, []);
100
- useEffect(() => {
101
- // tell the top level app its ready
102
- if (initialized) {
103
- fin5Top?.postMessage({
104
- kind: 'iframeApp',
105
- loading: false,
106
- });
107
- }
108
- }, [initialized]);
109
- return (React.createElement(AppRootStoreContext.Provider, { value: rootStore },
110
- React.createElement(AppStoreContext.Provider, { value: appStore },
111
- React.createElement(ClientContext.Provider, { value: containerClient },
112
- React.createElement(I18NProvider, { locale: locale, setLoading: setLoadingi18n },
113
- React.createElement(ThemeProvider, { theme: theme },
114
- React.createElement(Loader, { loading: loading || loadingi18n },
115
- React.createElement(ErrorBoundary, { mode: "global" /* ErrorBoundaryMode.global */ }, children))))))));
116
- });
1
+ /*
2
+ * Copyright (c) 2022, J2 Innovations. All Rights Reserved
3
+ */
4
+ import React, { useEffect, useRef, useState } from 'react';
5
+ import { AppRootStoreContext, AppStoreContext } from '@j2inn/app-react';
6
+ import { observer } from 'mobx-react-lite';
7
+ import { Fin5AppRootStore } from './Fin5AppRootStore';
8
+ import { Client, } from 'haystack-nclient';
9
+ import { ClientContext } from 'haystack-react';
10
+ import { I18NProvider } from '@j2inn/utils';
11
+ import { ThemeProvider } from 'react-jss';
12
+ import { DEFAULT_THEME, GenerateTheme } from '@j2inn/ui';
13
+ import { fin5Top } from '../../fin5Top/fin5Top';
14
+ import { useFin5AppURLHashParameter } from '../../fin5Top/useFin5AppURLHashParameter';
15
+ import { HRef } from 'haystack-core';
16
+ import { ErrorBoundary } from '../components/ErrorBoundary';
17
+ import Loader from '../components/Loader';
18
+ const PATH_PREFIX = 'finApp';
19
+ /**
20
+ * The Ractive keypath used to observe target reference changes on fin5Top.app.
21
+ * @see https://ractive.js.org/api/#ractiveobserve
22
+ */
23
+ const FIN5_TARGET_KEYPATH = 'currentId';
24
+ const getServiceUrl = ({ origin, path }) => `${origin}/${PATH_PREFIX}/api/${path}`;
25
+ const getOpUrl = ({ origin, project, op }) => `${origin}/api/${project}/${op}`;
26
+ const getHaystackServiceUrl = ({ origin, project, path, }) => `${origin}/${PATH_PREFIX}/api/haystack${project ? `/${project}` : ''}/${path}`;
27
+ const getHostServiceUrl = ({ origin, path, }) => `${origin}/${PATH_PREFIX}/api/host/${path}`;
28
+ /**
29
+ * Runtime type guard that checks whether a store instance
30
+ * exposes a boolean `initialized` flag.
31
+ *
32
+ * @param {AppStore | null | undefined} appStore - The store instance to test
33
+ * @returns {appStore is AppStore & { initialized: boolean }} True if `appStore` has a boolean `initialized` property
34
+ *
35
+ * @remarks
36
+ * To use the FINX onMessage feature, ensure the concrete store declares `initialized` ahead of time,
37
+ * and set to true when children components have fully rendered.
38
+ */
39
+ function hasInitialized(appStore) {
40
+ return (!!appStore &&
41
+ 'initialized' in appStore &&
42
+ typeof appStore.initialized === 'boolean');
43
+ }
44
+ /**
45
+ * Creates a basic application container environment to run a view in FIN5.
46
+ */
47
+ export const Fin5AppContainer = observer(({ children, appStore, client, project, theme = GenerateTheme(DEFAULT_THEME).light, }) => {
48
+ const [loading, setLoading] = useState(true);
49
+ const [loadingi18n, setLoadingi18n] = useState(true);
50
+ const rootStoreRef = useRef(null);
51
+ rootStoreRef.current ??= new Fin5AppRootStore();
52
+ const rootStore = rootStoreRef.current;
53
+ const [hashProjName] = useFin5AppURLHashParameter('projectName');
54
+ const containerProject = project || hashProjName || fin5Top?.finstack?.projectName || '';
55
+ const locale = fin5Top?.languageManager?.currentLang ?? navigator?.language;
56
+ rootStore.locale = locale;
57
+ if (!rootStore.allLocales.includes(locale)) {
58
+ rootStore.allLocales.push(locale);
59
+ }
60
+ const initialized = hasInitialized(appStore)
61
+ ? appStore.initialized
62
+ : false;
63
+ const getClient = () => client ??
64
+ new Client({
65
+ base: new URL(window.location.href),
66
+ project: containerProject,
67
+ options: { headers: { accept: 'text/zinc' } },
68
+ getServiceUrl,
69
+ getOpUrl,
70
+ getHaystackServiceUrl,
71
+ getHostServiceUrl,
72
+ });
73
+ const [containerClient, setContainerClient] = useState(getClient);
74
+ // Primary: set initial value from fin5Top.app and subscribe to changes via Ractive observe
75
+ useEffect(() => {
76
+ if (!fin5Top?.app)
77
+ return;
78
+ const initial = fin5Top.app.TargetRef?.() ?? '';
79
+ rootStore.setTarget(initial ? HRef.make(initial).value : '');
80
+ const observer = fin5Top.app.observe(FIN5_TARGET_KEYPATH, (newValue) => {
81
+ const value = String(newValue);
82
+ const target = value ?? '';
83
+ rootStore.setTarget(target ? HRef.make(target).value : '');
84
+ });
85
+ return () => observer.cancel();
86
+ }, []);
87
+ useEffect(() => {
88
+ setLoading(true);
89
+ const newClient = getClient();
90
+ setContainerClient(newClient);
91
+ // Load everything network wise before we load
92
+ // the application.
93
+ Promise.all([
94
+ newClient.ext.eval('finGetCurrentUser()'),
95
+ newClient.ext.loadDefs(),
96
+ ]).then(([userGrid]) => {
97
+ rootStore.currentUser = userGrid.first;
98
+ setLoading(false);
99
+ });
100
+ }, [client, containerProject]);
101
+ useEffect(() => {
102
+ const onMessage = (event) => {
103
+ if (fin5Top?.location.origin === event.origin &&
104
+ appStore?.onMessage) {
105
+ appStore.onMessage({
106
+ message: event.data.message,
107
+ params: event.data,
108
+ client: getClient(),
109
+ appRootStore: rootStore,
110
+ });
111
+ }
112
+ };
113
+ window.addEventListener('message', onMessage);
114
+ return () => window.removeEventListener('message', onMessage);
115
+ }, []);
116
+ useEffect(() => {
117
+ // tell the top level app its ready
118
+ if (initialized) {
119
+ fin5Top?.postMessage({
120
+ kind: 'iframeApp',
121
+ loading: false,
122
+ });
123
+ }
124
+ }, [initialized]);
125
+ return (React.createElement(AppRootStoreContext.Provider, { value: rootStore },
126
+ React.createElement(AppStoreContext.Provider, { value: appStore },
127
+ React.createElement(ClientContext.Provider, { value: containerClient },
128
+ React.createElement(I18NProvider, { locale: locale, setLoading: setLoadingi18n },
129
+ React.createElement(ThemeProvider, { theme: theme },
130
+ React.createElement(Loader, { loading: loading || loadingi18n },
131
+ React.createElement(ErrorBoundary, { mode: "global" /* ErrorBoundaryMode.global */ }, children))))))));
132
+ });
117
133
  //# sourceMappingURL=Fin5AppContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Fin5AppContainer.js","sourceRoot":"","sources":["../../../src/react/app/Fin5AppContainer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Fin5AppContainer.js","sourceRoot":"","sources":["../../../src/react/app/Fin5AppContainer.tsx"],"names":[],"mappings":"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"}
@@ -1,40 +1,42 @@
1
- import { App, AppRootStore, AppView, CustomHistory } from '@j2inn/app';
2
- import { HDict } from 'haystack-core';
3
- /**
4
- * An application root store for use with FIN5.
5
- */
6
- export declare class Fin5AppRootStore implements AppRootStore {
7
- project: string;
8
- sidebarOpen: boolean;
9
- locale: string;
10
- allLocales: string[];
11
- target: string;
12
- targetSidebar: string;
13
- currentUser: HDict | undefined;
14
- get app(): {
15
- id: string;
16
- name: string;
17
- app: App;
18
- view: AppView;
19
- } | undefined;
20
- get sidebar(): {
21
- id: string;
22
- name: string;
23
- app: App;
24
- view: AppView;
25
- } | undefined;
26
- readonly apps: App[];
27
- readonly history: CustomHistory;
28
- readonly historySidebar: CustomHistory;
29
- constructor();
30
- openAppInNewWindow(): void;
31
- open(appId: string, state?: Record<string, unknown>): void;
32
- openSidebar(): void;
33
- postAppMessage(): void;
34
- registerSidebars(): void;
35
- unregisterSidebars(): void;
36
- registerQuicklinks(): void;
37
- unregisterQuicklinks(): void;
38
- hasAppAccess: (appId: string) => boolean;
39
- hasSidebar(): boolean;
40
- }
1
+ import { App, AppRootStore, AppView, CustomHistory } from '@j2inn/app';
2
+ import { HDict } from 'haystack-core';
3
+ /**
4
+ * An application root store for use with FIN5.
5
+ */
6
+ export declare class Fin5AppRootStore implements AppRootStore {
7
+ project: string;
8
+ sidebarOpen: boolean;
9
+ locale: string;
10
+ allLocales: string[];
11
+ target: string;
12
+ targetSidebar: string;
13
+ currentUser: HDict | undefined;
14
+ get app(): {
15
+ id: string;
16
+ name: string;
17
+ app: App;
18
+ view: AppView;
19
+ } | undefined;
20
+ get sidebar(): {
21
+ id: string;
22
+ name: string;
23
+ app: App;
24
+ view: AppView;
25
+ } | undefined;
26
+ readonly apps: App[];
27
+ readonly history: CustomHistory;
28
+ readonly historySidebar: CustomHistory;
29
+ setTarget(target: string): void;
30
+ setTargetSidebar(targetSidebar: string): void;
31
+ constructor();
32
+ openAppInNewWindow(): void;
33
+ open(appId: string, state?: Record<string, unknown>): void;
34
+ openSidebar(): void;
35
+ postAppMessage(): void;
36
+ registerSidebars(): void;
37
+ unregisterSidebars(): void;
38
+ registerQuicklinks(): void;
39
+ unregisterQuicklinks(): void;
40
+ hasAppAccess: (appId: string) => boolean;
41
+ hasSidebar(): boolean;
42
+ }