@j2inn/fin5-ui-utils 8.2.0 → 9.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/dist/fantomProps/createFin5Props/index.d.ts +12 -12
  2. package/dist/fantomProps/createFin5Props/index.js +146 -146
  3. package/dist/fantomProps/createFin5Props/index.js.map +1 -1
  4. package/dist/fantomProps/createFin5Props/runCreateFin5Props.d.ts +2 -2
  5. package/dist/fantomProps/createFin5Props/runCreateFin5Props.js +20 -20
  6. package/dist/fantomProps/createFin5Props/runCreateFin5Props.js.map +1 -1
  7. package/dist/fantomProps/fantomPropsToObject.d.ts +8 -8
  8. package/dist/fantomProps/fantomPropsToObject.js +182 -183
  9. package/dist/fantomProps/fantomPropsToObject.js.map +1 -1
  10. package/dist/fantomProps/generateJsonFromFantomPropsFile.d.ts +4 -4
  11. package/dist/fantomProps/generateJsonFromFantomPropsFile.js +51 -41
  12. package/dist/fantomProps/generateJsonFromFantomPropsFile.js.map +1 -1
  13. package/dist/fantomProps/localePropsToJson.d.ts +1 -1
  14. package/dist/fantomProps/localePropsToJson.js +60 -50
  15. package/dist/fantomProps/localePropsToJson.js.map +1 -1
  16. package/dist/fantomProps/readFantomPropsFile.d.ts +5 -5
  17. package/dist/fantomProps/readFantomPropsFile.js +74 -65
  18. package/dist/fantomProps/readFantomPropsFile.js.map +1 -1
  19. package/dist/fin5Top/fin5FileUpload.d.ts +24 -24
  20. package/dist/fin5Top/fin5FileUpload.js +51 -51
  21. package/dist/fin5Top/fin5FileUpload.js.map +1 -1
  22. package/dist/fin5Top/fin5Top.d.ts +188 -188
  23. package/dist/fin5Top/fin5Top.js +86 -86
  24. package/dist/fin5Top/fin5Top.js.map +1 -1
  25. package/dist/fin5Top/finEdge2Cloud.d.ts +6 -6
  26. package/dist/fin5Top/finEdge2Cloud.js +15 -15
  27. package/dist/fin5Top/getFin5BinUrl.d.ts +2 -2
  28. package/dist/fin5Top/getFin5BinUrl.js +9 -9
  29. package/dist/fin5Top/openFin5Alarm.d.ts +22 -22
  30. package/dist/fin5Top/openFin5Alarm.js +23 -23
  31. package/dist/fin5Top/openFin5Alarm.js.map +1 -1
  32. package/dist/fin5Top/openFin5Historian.d.ts +3 -3
  33. package/dist/fin5Top/openFin5Historian.js +19 -19
  34. package/dist/fin5Top/openFin5Historian.js.map +1 -1
  35. package/dist/fin5Top/useFin5AppURLHashParameter.d.ts +18 -18
  36. package/dist/fin5Top/useFin5AppURLHashParameter.js +133 -133
  37. package/dist/fin5Top/useFin5AppURLHashParameter.js.map +1 -1
  38. package/dist/index.d.ts +35 -35
  39. package/dist/index.js +69 -69
  40. package/dist/jobs/jobUtils.d.ts +14 -14
  41. package/dist/jobs/jobUtils.js +15 -15
  42. package/dist/jobs/jobUtils.js.map +1 -1
  43. package/dist/react/app/Fin5AppContainer.d.ts +36 -36
  44. package/dist/react/app/Fin5AppContainer.js +171 -161
  45. package/dist/react/app/Fin5AppContainer.js.map +1 -1
  46. package/dist/react/app/Fin5AppRootStore.d.ts +42 -42
  47. package/dist/react/app/Fin5AppRootStore.js +114 -114
  48. package/dist/react/app/Fin5AppRootStore.js.map +1 -1
  49. package/dist/react/components/ErrorBoundary.d.ts +57 -57
  50. package/dist/react/components/ErrorBoundary.js +160 -150
  51. package/dist/react/components/ErrorBoundary.js.map +1 -1
  52. package/dist/react/components/ErrorDisplayer.d.ts +19 -19
  53. package/dist/react/components/ErrorDisplayer.js +36 -36
  54. package/dist/react/components/ErrorDisplayer.js.map +1 -1
  55. package/dist/react/components/Loader.d.ts +9 -9
  56. package/dist/react/components/Loader.js +17 -17
  57. package/dist/react/components/LoadingSpinner.d.ts +2 -2
  58. package/dist/react/components/LoadingSpinner.js +27 -27
  59. package/dist/react/components/RecordImage.d.ts +20 -20
  60. package/dist/react/components/RecordImage.js +61 -51
  61. package/dist/react/components/RecordImage.js.map +1 -1
  62. package/dist/react/components/charts/QRCode.d.ts +25 -25
  63. package/dist/react/components/charts/QRCode.js +92 -82
  64. package/dist/react/components/charts/QRCode.js.map +1 -1
  65. package/dist/react/components/charts/line-bar/Chart.d.ts +166 -166
  66. package/dist/react/components/charts/line-bar/Chart.js +452 -442
  67. package/dist/react/components/charts/line-bar/Chart.js.map +1 -1
  68. package/dist/react/components/charts/line-bar/HGridChart.d.ts +58 -58
  69. package/dist/react/components/charts/line-bar/HGridChart.js +295 -285
  70. package/dist/react/components/charts/line-bar/HGridChart.js.map +1 -1
  71. package/dist/react/components/charts/pie/PieChart.d.ts +94 -94
  72. package/dist/react/components/charts/pie/PieChart.js +214 -204
  73. package/dist/react/components/charts/pie/PieChart.js.map +1 -1
  74. package/dist/react/components/charts/pie/SimplePieChart.d.ts +21 -21
  75. package/dist/react/components/charts/pie/SimplePieChart.js +65 -55
  76. package/dist/react/components/charts/pie/SimplePieChart.js.map +1 -1
  77. package/dist/react/components/graphics/GraphicViewer.d.ts +10 -10
  78. package/dist/react/components/graphics/GraphicViewer.js +29 -29
  79. package/dist/react/components/graphics/GraphicsTabViewer.d.ts +17 -17
  80. package/dist/react/components/graphics/GraphicsTabViewer.js +100 -90
  81. package/dist/react/components/graphics/GraphicsTabViewer.js.map +1 -1
  82. package/dist/react/components/makeCustomElement.d.ts +16 -16
  83. package/dist/react/components/makeCustomElement.js +150 -150
  84. package/dist/react/components/makeCustomElement.js.map +1 -1
  85. package/dist/react/components/navigation/BasicLayout.d.ts +41 -41
  86. package/dist/react/components/navigation/BasicLayout.js +165 -155
  87. package/dist/react/components/navigation/BasicLayout.js.map +1 -1
  88. package/dist/react/components/navigation/HeaderSiderLayout.d.ts +13 -13
  89. package/dist/react/components/navigation/HeaderSiderLayout.js +119 -110
  90. package/dist/react/components/navigation/HeaderSiderLayout.js.map +1 -1
  91. package/dist/react/components/navigation/MenuPage.d.ts +37 -37
  92. package/dist/react/components/navigation/MenuPage.js +35 -36
  93. package/dist/react/components/navigation/MenuPage.js.map +1 -1
  94. package/dist/react/components/navigation/MenuTrigger.d.ts +9 -9
  95. package/dist/react/components/navigation/MenuTrigger.js +33 -33
  96. package/dist/react/components/navigation/ReactRouterHeaderSiderLayout.d.ts +11 -11
  97. package/dist/react/components/navigation/ReactRouterHeaderSiderLayout.js +25 -25
  98. package/dist/react/components/navigation/ReactRouterHeaderSiderLayout.js.map +1 -1
  99. package/dist/react/components/navigation/ReactRouterLayout.d.ts +45 -46
  100. package/dist/react/components/navigation/ReactRouterLayout.js +142 -132
  101. package/dist/react/components/navigation/ReactRouterLayout.js.map +1 -1
  102. package/dist/react/components/navigation/customRouting/Router.d.ts +12 -12
  103. package/dist/react/components/navigation/customRouting/Router.js +54 -45
  104. package/dist/react/components/navigation/customRouting/Router.js.map +1 -1
  105. package/dist/react/components/navigation/customRouting/RouterLayout.d.ts +11 -11
  106. package/dist/react/components/navigation/customRouting/RouterLayout.js +71 -61
  107. package/dist/react/components/navigation/customRouting/RouterLayout.js.map +1 -1
  108. package/dist/react/components/resolvable/configurationForm/ConfigurationForm.d.ts +26 -27
  109. package/dist/react/components/resolvable/configurationForm/ConfigurationForm.js +105 -95
  110. package/dist/react/components/resolvable/configurationForm/ConfigurationForm.js.map +1 -1
  111. package/dist/react/components/resolvable/configurationForm/ConfigurationFormEntry.d.ts +15 -16
  112. package/dist/react/components/resolvable/configurationForm/ConfigurationFormEntry.js +98 -88
  113. package/dist/react/components/resolvable/configurationForm/ConfigurationFormEntry.js.map +1 -1
  114. package/dist/react/components/resolvable/configurationForm/getSectionDefault.d.ts +16 -16
  115. package/dist/react/components/resolvable/configurationForm/getSectionDefault.js +99 -99
  116. package/dist/react/components/resolvable/configurationForm/getSectionDefault.js.map +1 -1
  117. package/dist/react/hooks/useFin5BinUrl.d.ts +6 -6
  118. package/dist/react/hooks/useFin5BinUrl.js +15 -15
  119. package/dist/react/hooks/useFin5ColorScheme.d.ts +2 -2
  120. package/dist/react/hooks/useFin5ColorScheme.js +55 -56
  121. package/dist/react/hooks/useFin5ColorScheme.js.map +1 -1
  122. package/dist/react/hooks/useScreenSize.d.ts +7 -7
  123. package/dist/react/hooks/useScreenSize.js +31 -31
  124. package/dist_es/fantomProps/createFin5Props/index.d.ts +12 -12
  125. package/dist_es/fantomProps/createFin5Props/index.js +140 -140
  126. package/dist_es/fantomProps/createFin5Props/index.js.map +1 -1
  127. package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.d.ts +2 -2
  128. package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.js +15 -15
  129. package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.js.map +1 -1
  130. package/dist_es/fantomProps/fantomPropsToObject.d.ts +8 -8
  131. package/dist_es/fantomProps/fantomPropsToObject.js +178 -178
  132. package/dist_es/fantomProps/fantomPropsToObject.js.map +1 -1
  133. package/dist_es/fantomProps/generateJsonFromFantomPropsFile.d.ts +4 -4
  134. package/dist_es/fantomProps/generateJsonFromFantomPropsFile.js +12 -12
  135. package/dist_es/fantomProps/localePropsToJson.d.ts +1 -1
  136. package/dist_es/fantomProps/localePropsToJson.js +21 -21
  137. package/dist_es/fantomProps/localePropsToJson.js.map +1 -1
  138. package/dist_es/fantomProps/readFantomPropsFile.d.ts +5 -5
  139. package/dist_es/fantomProps/readFantomPropsFile.js +38 -39
  140. package/dist_es/fantomProps/readFantomPropsFile.js.map +1 -1
  141. package/dist_es/fin5Top/fin5FileUpload.d.ts +24 -24
  142. package/dist_es/fin5Top/fin5FileUpload.js +47 -47
  143. package/dist_es/fin5Top/fin5FileUpload.js.map +1 -1
  144. package/dist_es/fin5Top/fin5Top.d.ts +188 -188
  145. package/dist_es/fin5Top/fin5Top.js +81 -81
  146. package/dist_es/fin5Top/fin5Top.js.map +1 -1
  147. package/dist_es/fin5Top/finEdge2Cloud.d.ts +6 -6
  148. package/dist_es/fin5Top/finEdge2Cloud.js +11 -11
  149. package/dist_es/fin5Top/getFin5BinUrl.d.ts +2 -2
  150. package/dist_es/fin5Top/getFin5BinUrl.js +5 -5
  151. package/dist_es/fin5Top/openFin5Alarm.d.ts +22 -22
  152. package/dist_es/fin5Top/openFin5Alarm.js +19 -19
  153. package/dist_es/fin5Top/openFin5Alarm.js.map +1 -1
  154. package/dist_es/fin5Top/openFin5Historian.d.ts +3 -3
  155. package/dist_es/fin5Top/openFin5Historian.js +15 -15
  156. package/dist_es/fin5Top/openFin5Historian.js.map +1 -1
  157. package/dist_es/fin5Top/useFin5AppURLHashParameter.d.ts +18 -18
  158. package/dist_es/fin5Top/useFin5AppURLHashParameter.js +124 -124
  159. package/dist_es/fin5Top/useFin5AppURLHashParameter.js.map +1 -1
  160. package/dist_es/index.d.ts +35 -35
  161. package/dist_es/index.js +53 -53
  162. package/dist_es/jobs/jobUtils.d.ts +14 -14
  163. package/dist_es/jobs/jobUtils.js +9 -9
  164. package/dist_es/react/app/Fin5AppContainer.d.ts +36 -36
  165. package/dist_es/react/app/Fin5AppContainer.js +132 -132
  166. package/dist_es/react/app/Fin5AppContainer.js.map +1 -1
  167. package/dist_es/react/app/Fin5AppRootStore.d.ts +42 -42
  168. package/dist_es/react/app/Fin5AppRootStore.js +110 -110
  169. package/dist_es/react/app/Fin5AppRootStore.js.map +1 -1
  170. package/dist_es/react/components/ErrorBoundary.d.ts +57 -57
  171. package/dist_es/react/components/ErrorBoundary.js +123 -123
  172. package/dist_es/react/components/ErrorDisplayer.d.ts +19 -19
  173. package/dist_es/react/components/ErrorDisplayer.js +28 -28
  174. package/dist_es/react/components/ErrorDisplayer.js.map +1 -1
  175. package/dist_es/react/components/Loader.d.ts +9 -9
  176. package/dist_es/react/components/Loader.js +12 -12
  177. package/dist_es/react/components/LoadingSpinner.d.ts +2 -2
  178. package/dist_es/react/components/LoadingSpinner.js +20 -20
  179. package/dist_es/react/components/RecordImage.d.ts +20 -20
  180. package/dist_es/react/components/RecordImage.js +24 -24
  181. package/dist_es/react/components/RecordImage.js.map +1 -1
  182. package/dist_es/react/components/charts/QRCode.d.ts +25 -25
  183. package/dist_es/react/components/charts/QRCode.js +52 -52
  184. package/dist_es/react/components/charts/QRCode.js.map +1 -1
  185. package/dist_es/react/components/charts/line-bar/Chart.d.ts +166 -166
  186. package/dist_es/react/components/charts/line-bar/Chart.js +415 -415
  187. package/dist_es/react/components/charts/line-bar/Chart.js.map +1 -1
  188. package/dist_es/react/components/charts/line-bar/HGridChart.d.ts +58 -58
  189. package/dist_es/react/components/charts/line-bar/HGridChart.js +250 -250
  190. package/dist_es/react/components/charts/line-bar/HGridChart.js.map +1 -1
  191. package/dist_es/react/components/charts/pie/PieChart.d.ts +94 -94
  192. package/dist_es/react/components/charts/pie/PieChart.js +177 -177
  193. package/dist_es/react/components/charts/pie/PieChart.js.map +1 -1
  194. package/dist_es/react/components/charts/pie/SimplePieChart.d.ts +21 -21
  195. package/dist_es/react/components/charts/pie/SimplePieChart.js +25 -25
  196. package/dist_es/react/components/graphics/GraphicViewer.d.ts +10 -10
  197. package/dist_es/react/components/graphics/GraphicViewer.js +22 -22
  198. package/dist_es/react/components/graphics/GraphicsTabViewer.d.ts +17 -17
  199. package/dist_es/react/components/graphics/GraphicsTabViewer.js +60 -60
  200. package/dist_es/react/components/graphics/GraphicsTabViewer.js.map +1 -1
  201. package/dist_es/react/components/makeCustomElement.d.ts +16 -16
  202. package/dist_es/react/components/makeCustomElement.js +142 -142
  203. package/dist_es/react/components/makeCustomElement.js.map +1 -1
  204. package/dist_es/react/components/navigation/BasicLayout.d.ts +41 -41
  205. package/dist_es/react/components/navigation/BasicLayout.js +124 -124
  206. package/dist_es/react/components/navigation/BasicLayout.js.map +1 -1
  207. package/dist_es/react/components/navigation/HeaderSiderLayout.d.ts +13 -13
  208. package/dist_es/react/components/navigation/HeaderSiderLayout.js +80 -80
  209. package/dist_es/react/components/navigation/HeaderSiderLayout.js.map +1 -1
  210. package/dist_es/react/components/navigation/MenuPage.d.ts +37 -37
  211. package/dist_es/react/components/navigation/MenuPage.js +30 -30
  212. package/dist_es/react/components/navigation/MenuPage.js.map +1 -1
  213. package/dist_es/react/components/navigation/MenuTrigger.d.ts +9 -9
  214. package/dist_es/react/components/navigation/MenuTrigger.js +28 -28
  215. package/dist_es/react/components/navigation/ReactRouterHeaderSiderLayout.d.ts +11 -11
  216. package/dist_es/react/components/navigation/ReactRouterHeaderSiderLayout.js +18 -18
  217. package/dist_es/react/components/navigation/ReactRouterHeaderSiderLayout.js.map +1 -1
  218. package/dist_es/react/components/navigation/ReactRouterLayout.d.ts +45 -46
  219. package/dist_es/react/components/navigation/ReactRouterLayout.js +99 -99
  220. package/dist_es/react/components/navigation/ReactRouterLayout.js.map +1 -1
  221. package/dist_es/react/components/navigation/customRouting/Router.d.ts +12 -12
  222. package/dist_es/react/components/navigation/customRouting/Router.js +18 -18
  223. package/dist_es/react/components/navigation/customRouting/Router.js.map +1 -1
  224. package/dist_es/react/components/navigation/customRouting/RouterLayout.d.ts +11 -11
  225. package/dist_es/react/components/navigation/customRouting/RouterLayout.js +34 -34
  226. package/dist_es/react/components/navigation/customRouting/RouterLayout.js.map +1 -1
  227. package/dist_es/react/components/resolvable/configurationForm/ConfigurationForm.d.ts +26 -27
  228. package/dist_es/react/components/resolvable/configurationForm/ConfigurationForm.js +64 -64
  229. package/dist_es/react/components/resolvable/configurationForm/ConfigurationForm.js.map +1 -1
  230. package/dist_es/react/components/resolvable/configurationForm/ConfigurationFormEntry.d.ts +15 -16
  231. package/dist_es/react/components/resolvable/configurationForm/ConfigurationFormEntry.js +58 -58
  232. package/dist_es/react/components/resolvable/configurationForm/ConfigurationFormEntry.js.map +1 -1
  233. package/dist_es/react/components/resolvable/configurationForm/getSectionDefault.d.ts +16 -16
  234. package/dist_es/react/components/resolvable/configurationForm/getSectionDefault.js +94 -94
  235. package/dist_es/react/components/resolvable/configurationForm/getSectionDefault.js.map +1 -1
  236. package/dist_es/react/hooks/useFin5BinUrl.d.ts +6 -6
  237. package/dist_es/react/hooks/useFin5BinUrl.js +11 -11
  238. package/dist_es/react/hooks/useFin5ColorScheme.d.ts +2 -2
  239. package/dist_es/react/hooks/useFin5ColorScheme.js +52 -52
  240. package/dist_es/react/hooks/useFin5ColorScheme.js.map +1 -1
  241. package/dist_es/react/hooks/useScreenSize.d.ts +7 -7
  242. package/dist_es/react/hooks/useScreenSize.js +27 -27
  243. package/package.json +26 -49
@@ -1,133 +1,143 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2023, J2 Innovations. All Rights Reserved
4
- */
5
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
- desc = { enumerable: true, get: function() { return m[k]; } };
10
- }
11
- Object.defineProperty(o, k2, desc);
12
- }) : (function(o, m, k, k2) {
13
- if (k2 === undefined) k2 = k;
14
- o[k2] = m[k];
15
- }));
16
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
- Object.defineProperty(o, "default", { enumerable: true, value: v });
18
- }) : function(o, v) {
19
- o["default"] = v;
20
- });
21
- var __importStar = (this && this.__importStar) || function (mod) {
22
- if (mod && mod.__esModule) return mod;
23
- var result = {};
24
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
- __setModuleDefault(result, mod);
26
- return result;
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.ReactRouterLayout = exports.useDefaultOnSelect = exports.useGetPageKeyRouteMap = exports.getRoute = exports.useSelectedRoutes = exports.useLocationUpdateSkippingHash = exports.useLocationUpdate = void 0;
30
- const react_1 = __importStar(require("react"));
31
- const react_router_1 = require("react-router");
32
- const useFin5AppURLHashParameter_1 = require("../../../fin5Top/useFin5AppURLHashParameter");
33
- const BasicLayout_1 = require("./BasicLayout");
34
- const MenuPage_1 = require("./MenuPage");
35
- /**
36
- * This hook can be used with react-router/BasicLayout,
37
- * to ensure FIN5 URL is aligned with the internal frame URL.
38
- * This does not skip the hash update and should be used only with
39
- * FIN >= 5.1.7.92, otherwise FIN will reload the entire page.
40
- */
41
- const useLocationUpdate = () => {
42
- const location = (0, react_router_1.useLocation)();
43
- (0, react_1.useEffect)(() => {
44
- if (useFin5AppURLHashParameter_1.IN_IFRAME) {
45
- setHash(location);
46
- }
47
- }, [location]);
48
- };
49
- exports.useLocationUpdate = useLocationUpdate;
50
- /**
51
- * This hook can be used with react-router/BasicLayout,
52
- * to ensure FIN5 URL is aligned with the internal frame URL.
53
- * This skips the hash update and should be used only with
54
- * FIN < 5.1.7.92.
55
- * @deprecated use only with FIN < 5.1.7.92
56
- * @see {@link useLocationUpdate} for FIN >= 5.1.7.92
57
- */
58
- const useLocationUpdateSkippingHash = () => {
59
- const location = (0, react_router_1.useLocation)();
60
- (0, react_1.useEffect)(() => {
61
- if (useFin5AppURLHashParameter_1.IN_IFRAME) {
62
- (0, useFin5AppURLHashParameter_1.fin5SkipHashUpdate)()?.then(() => {
63
- setHash(location);
64
- });
65
- }
66
- }, [location]);
67
- };
68
- exports.useLocationUpdateSkippingHash = useLocationUpdateSkippingHash;
69
- const setHash = (location) => {
70
- const hash = location.pathname;
71
- const queryParams = location.search;
72
- const frameParameters = (0, useFin5AppURLHashParameter_1.getFin5HashFrameParameters)();
73
- frameParameters.set('url', frameParameters.get('url')?.split('#')[0] + '#' + hash + queryParams);
74
- (0, useFin5AppURLHashParameter_1.getTopLocation)().hash = `#${(0, useFin5AppURLHashParameter_1.getTopLocation)().hash.slice(1).split('?')[0]}?${frameParameters.toString()}`;
75
- };
76
- const useSelectedRoutes = (pages, isSelectedRoute = (page, location) => location.pathname.includes(page.route)) => {
77
- const location = (0, react_router_1.useLocation)();
78
- const flatPages = (0, react_1.useMemo)(() => (0, MenuPage_1.pageTreeToPageList)(pages), [pages]);
79
- return (0, react_1.useMemo)(() => {
80
- return flatPages
81
- .filter((page) => isSelectedRoute(page, location))
82
- .map((page) => page.key);
83
- }, [location, flatPages, isSelectedRoute]);
84
- };
85
- exports.useSelectedRoutes = useSelectedRoutes;
86
- /**
87
- * If we are inside a frame (FIN5), the route is left as is.
88
- * If we are outside FIN5 frame, the route needs to be prefixed with a segment containing the project name.
89
- * @param route
90
- * @returns the correct route for the environment
91
- */
92
- const getRoute = (route) => {
93
- const prefixedRoute = route.startsWith('/') ? route : `/${route}`;
94
- return !useFin5AppURLHashParameter_1.IN_IFRAME ? `/proj/:projectName${prefixedRoute}` : prefixedRoute;
95
- };
96
- exports.getRoute = getRoute;
97
- /**
98
- * Create a map that holds the page key and its related route.
99
- * @param pages
100
- * @returns the map page key - route
101
- */
102
- const useGetPageKeyRouteMap = (pages) => (0, react_1.useMemo)(() => {
103
- const flatPages = (0, MenuPage_1.pageTreeToPageList)(pages);
104
- const result = new Map();
105
- flatPages.forEach((page) => {
106
- result.set(page.key, page.route);
107
- });
108
- return result;
109
- }, [pages]);
110
- exports.useGetPageKeyRouteMap = useGetPageKeyRouteMap;
111
- const useDefaultOnSelect = (navigate, pageKeyRouteMap, pages) => (0, react_1.useCallback)((key) => {
112
- const route = pageKeyRouteMap.get(key);
113
- if (route) {
114
- navigate(route);
115
- }
116
- else {
117
- console.warn('Could not find route for page key', key, 'pages', pages);
118
- }
119
- }, [navigate, pageKeyRouteMap]);
120
- exports.useDefaultOnSelect = useDefaultOnSelect;
121
- /**
122
- * Basic layout that uses React Router.
123
- */
124
- const ReactRouterLayout = ({ isSelectedRoute, pages = [], onSelect, ...otherProps }) => {
125
- const navigate = (0, react_router_1.useNavigate)();
126
- const selectedRoutes = (0, exports.useSelectedRoutes)(pages, isSelectedRoute);
127
- const pageKeyRouteMap = (0, exports.useGetPageKeyRouteMap)(pages);
128
- const defaultOnSelect = (0, exports.useDefaultOnSelect)(navigate, pageKeyRouteMap, pages);
129
- return (react_1.default.createElement(BasicLayout_1.BasicLayout, { ...otherProps, pages: pages, onSelect: onSelect ?? defaultOnSelect, selectedPages: selectedRoutes },
130
- react_1.default.createElement(react_router_1.Outlet, null)));
131
- };
132
- exports.ReactRouterLayout = ReactRouterLayout;
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2023, J2 Innovations. All Rights Reserved
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.ReactRouterLayout = exports.useDefaultOnSelect = exports.useGetPageKeyRouteMap = exports.getRoute = exports.useSelectedRoutes = exports.useLocationUpdateSkippingHash = exports.useLocationUpdate = void 0;
40
+ const react_1 = __importStar(require("react"));
41
+ const react_router_1 = require("react-router");
42
+ const useFin5AppURLHashParameter_1 = require("../../../fin5Top/useFin5AppURLHashParameter");
43
+ const BasicLayout_1 = require("./BasicLayout");
44
+ const MenuPage_1 = require("./MenuPage");
45
+ /**
46
+ * This hook can be used with react-router/BasicLayout,
47
+ * to ensure FIN5 URL is aligned with the internal frame URL.
48
+ * This does not skip the hash update and should be used only with
49
+ * FIN >= 5.1.7.92, otherwise FIN will reload the entire page.
50
+ */
51
+ const useLocationUpdate = () => {
52
+ const location = (0, react_router_1.useLocation)();
53
+ (0, react_1.useEffect)(() => {
54
+ if (useFin5AppURLHashParameter_1.IN_IFRAME) {
55
+ setHash(location);
56
+ }
57
+ }, [location]);
58
+ };
59
+ exports.useLocationUpdate = useLocationUpdate;
60
+ /**
61
+ * This hook can be used with react-router/BasicLayout,
62
+ * to ensure FIN5 URL is aligned with the internal frame URL.
63
+ * This skips the hash update and should be used only with
64
+ * FIN < 5.1.7.92.
65
+ * @deprecated use only with FIN < 5.1.7.92
66
+ * @see {@link useLocationUpdate} for FIN >= 5.1.7.92
67
+ */
68
+ const useLocationUpdateSkippingHash = () => {
69
+ const location = (0, react_router_1.useLocation)();
70
+ (0, react_1.useEffect)(() => {
71
+ if (useFin5AppURLHashParameter_1.IN_IFRAME) {
72
+ (0, useFin5AppURLHashParameter_1.fin5SkipHashUpdate)()?.then(() => {
73
+ setHash(location);
74
+ });
75
+ }
76
+ }, [location]);
77
+ };
78
+ exports.useLocationUpdateSkippingHash = useLocationUpdateSkippingHash;
79
+ const setHash = (location) => {
80
+ const hash = location.pathname;
81
+ const queryParams = location.search;
82
+ const frameParameters = (0, useFin5AppURLHashParameter_1.getFin5HashFrameParameters)();
83
+ frameParameters.set('url', frameParameters.get('url')?.split('#')[0] + '#' + hash + queryParams);
84
+ (0, useFin5AppURLHashParameter_1.getTopLocation)().hash = `#${(0, useFin5AppURLHashParameter_1.getTopLocation)().hash.slice(1).split('?')[0]}?${frameParameters.toString()}`;
85
+ };
86
+ const useSelectedRoutes = (pages, isSelectedRoute = (page, location) => location.pathname.includes(page.route)) => {
87
+ const location = (0, react_router_1.useLocation)();
88
+ const flatPages = (0, react_1.useMemo)(() => (0, MenuPage_1.pageTreeToPageList)(pages), [pages]);
89
+ return (0, react_1.useMemo)(() => {
90
+ return flatPages
91
+ .filter((page) => isSelectedRoute(page, location))
92
+ .map((page) => page.key);
93
+ }, [location, flatPages, isSelectedRoute]);
94
+ };
95
+ exports.useSelectedRoutes = useSelectedRoutes;
96
+ /**
97
+ * If we are inside a frame (FIN5), the route is left as is.
98
+ * If we are outside FIN5 frame, the route needs to be prefixed with a segment containing the project name.
99
+ * @param route
100
+ * @returns the correct route for the environment
101
+ */
102
+ const getRoute = (route) => {
103
+ const prefixedRoute = route.startsWith('/') ? route : `/${route}`;
104
+ return !useFin5AppURLHashParameter_1.IN_IFRAME ? `/proj/:projectName${prefixedRoute}` : prefixedRoute;
105
+ };
106
+ exports.getRoute = getRoute;
107
+ /**
108
+ * Create a map that holds the page key and its related route.
109
+ * @param pages
110
+ * @returns the map page key - route
111
+ */
112
+ const useGetPageKeyRouteMap = (pages) => (0, react_1.useMemo)(() => {
113
+ const flatPages = (0, MenuPage_1.pageTreeToPageList)(pages);
114
+ const result = new Map();
115
+ flatPages.forEach((page) => {
116
+ result.set(page.key, page.route);
117
+ });
118
+ return result;
119
+ }, [pages]);
120
+ exports.useGetPageKeyRouteMap = useGetPageKeyRouteMap;
121
+ const useDefaultOnSelect = (navigate, pageKeyRouteMap, pages) => (0, react_1.useCallback)((key) => {
122
+ const route = pageKeyRouteMap.get(key);
123
+ if (route) {
124
+ navigate(route);
125
+ }
126
+ else {
127
+ console.warn('Could not find route for page key', key, 'pages', pages);
128
+ }
129
+ }, [navigate, pageKeyRouteMap]);
130
+ exports.useDefaultOnSelect = useDefaultOnSelect;
131
+ /**
132
+ * Basic layout that uses React Router.
133
+ */
134
+ const ReactRouterLayout = ({ isSelectedRoute, pages = [], onSelect, ...otherProps }) => {
135
+ const navigate = (0, react_router_1.useNavigate)();
136
+ const selectedRoutes = (0, exports.useSelectedRoutes)(pages, isSelectedRoute);
137
+ const pageKeyRouteMap = (0, exports.useGetPageKeyRouteMap)(pages);
138
+ const defaultOnSelect = (0, exports.useDefaultOnSelect)(navigate, pageKeyRouteMap, pages);
139
+ return (react_1.default.createElement(BasicLayout_1.BasicLayout, { ...otherProps, pages: pages, onSelect: onSelect ?? defaultOnSelect, selectedPages: selectedRoutes },
140
+ react_1.default.createElement(react_router_1.Outlet, null)));
141
+ };
142
+ exports.ReactRouterLayout = ReactRouterLayout;
133
143
  //# sourceMappingURL=ReactRouterLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReactRouterLayout.js","sourceRoot":"","sources":["../../../../src/react/components/navigation/ReactRouterLayout.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReactRouterLayout.js","sourceRoot":"","sources":["../../../../src/react/components/navigation/ReactRouterLayout.tsx"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- import { PropsWithChildren, ReactElement } from 'react';
2
- import { MenuPage } from '../MenuPage';
3
- export interface RouterProps<T extends MenuPage> {
4
- pages?: T[];
5
- currentPage: string;
6
- onPageChange?: (selectedPage?: T) => void;
7
- fallbackComponent?: ReactElement;
8
- }
9
- /**
10
- * Renders the currently selected page from a tree of pages
11
- */
12
- export declare function Router<T extends MenuPage>({ pages, currentPage, onPageChange, fallbackComponent, }: PropsWithChildren<RouterProps<T>>): JSX.Element;
1
+ import { PropsWithChildren, ReactElement } from 'react';
2
+ import { MenuPage } from '../MenuPage';
3
+ export interface RouterProps<T extends MenuPage> {
4
+ pages?: T[];
5
+ currentPage: string;
6
+ onPageChange?: (selectedPage?: T) => void;
7
+ fallbackComponent?: ReactElement;
8
+ }
9
+ /**
10
+ * Renders the currently selected page from a tree of pages
11
+ */
12
+ export declare function Router<T extends MenuPage>({ pages, currentPage, onPageChange, fallbackComponent, }: PropsWithChildren<RouterProps<T>>): JSX.Element;
@@ -1,46 +1,55 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
- Object.defineProperty(o, "default", { enumerable: true, value: v });
18
- }) : function(o, v) {
19
- o["default"] = v;
20
- });
21
- var __importStar = (this && this.__importStar) || function (mod) {
22
- if (mod && mod.__esModule) return mod;
23
- var result = {};
24
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
- __setModuleDefault(result, mod);
26
- return result;
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.Router = void 0;
30
- const react_1 = __importStar(require("react"));
31
- const LoadingSpinner_1 = require("../../LoadingSpinner");
32
- const MenuPage_1 = require("../MenuPage");
33
- /**
34
- * Renders the currently selected page from a tree of pages
35
- */
36
- function Router({ pages = [], currentPage, onPageChange, fallbackComponent, }) {
37
- const page = (0, react_1.useMemo)(() => (0, MenuPage_1.findPageByName)(pages, currentPage), [pages, currentPage]);
38
- (0, react_1.useEffect)(() => {
39
- onPageChange?.(page);
40
- }, [page]);
41
- return page?.component ? (react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement(LoadingSpinner_1.LoadingSpinner, null) }, react_1.default.createElement(page.component, page?.props))) : (fallbackComponent ?? react_1.default.createElement("div", null,
42
- currentPage,
43
- " page not found"));
44
- }
45
- exports.Router = Router;
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.Router = Router;
40
+ const react_1 = __importStar(require("react"));
41
+ const LoadingSpinner_1 = require("../../LoadingSpinner");
42
+ const MenuPage_1 = require("../MenuPage");
43
+ /**
44
+ * Renders the currently selected page from a tree of pages
45
+ */
46
+ function Router({ pages = [], currentPage, onPageChange, fallbackComponent, }) {
47
+ const page = (0, react_1.useMemo)(() => (0, MenuPage_1.findPageByName)(pages, currentPage), [pages, currentPage]);
48
+ (0, react_1.useEffect)(() => {
49
+ onPageChange?.(page);
50
+ }, [page]);
51
+ return page?.component ? (react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement(LoadingSpinner_1.LoadingSpinner, null) }, react_1.default.createElement(page.component, page?.props))) : ((fallbackComponent ?? react_1.default.createElement("div", null,
52
+ currentPage,
53
+ " page not found")));
54
+ }
46
55
  //# sourceMappingURL=Router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Router.js","sourceRoot":"","sources":["../../../../../src/react/components/navigation/customRouting/Router.tsx"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,+CAMc;AACd,yDAAqD;AACrD,0CAAsD;AAStD;;GAEG;AACH,SAAgB,MAAM,CAAqB,EAC1C,KAAK,GAAG,EAAE,EACV,WAAW,EACX,YAAY,EACZ,iBAAiB,GACkB;IACnC,MAAM,IAAI,GAAG,IAAA,eAAO,EACnB,GAAG,EAAE,CAAC,IAAA,yBAAc,EAAC,KAAK,EAAE,WAAW,CAAC,EACxC,CAAC,KAAK,EAAE,WAAW,CAAC,CACpB,CAAA;IAED,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,YAAY,EAAE,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEV,OAAO,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CACxB,8BAAC,gBAAQ,IAAC,QAAQ,EAAE,8BAAC,+BAAc,OAAG,IACpC,eAAK,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CACvC,CACX,CAAC,CAAC,CAAC,CACH,iBAAiB,IAAI;QAAM,WAAW;0BAAsB,CAC5D,CAAA;AACF,CAAC;AAtBD,wBAsBC"}
1
+ {"version":3,"file":"Router.js","sourceRoot":"","sources":["../../../../../src/react/components/navigation/customRouting/Router.tsx"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBH,wBAsBC;AA1CD,+CAMc;AACd,yDAAqD;AACrD,0CAAsD;AAStD;;GAEG;AACH,SAAgB,MAAM,CAAqB,EAC1C,KAAK,GAAG,EAAE,EACV,WAAW,EACX,YAAY,EACZ,iBAAiB,GACkB;IACnC,MAAM,IAAI,GAAG,IAAA,eAAO,EACnB,GAAG,EAAE,CAAC,IAAA,yBAAc,EAAC,KAAK,EAAE,WAAW,CAAC,EACxC,CAAC,KAAK,EAAE,WAAW,CAAC,CACpB,CAAA;IAED,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,YAAY,EAAE,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEV,OAAO,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CACxB,8BAAC,gBAAQ,IAAC,QAAQ,EAAE,8BAAC,+BAAc,OAAG,IACpC,eAAK,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CACvC,CACX,CAAC,CAAC,CAAC,CACH,CAAC,iBAAiB,IAAI;QAAM,WAAW;0BAAsB,CAAC,CAC9D,CAAA;AACF,CAAC"}
@@ -1,11 +1,11 @@
1
- import React from 'react';
2
- import { BasicLayoutProps } from '../BasicLayout';
3
- import { MenuPage } from '../MenuPage';
4
- export interface RouterLayoutProps extends BasicLayoutProps<MenuPage> {
5
- page?: string;
6
- onPageChange?: (page: string) => void;
7
- }
8
- /**
9
- * Basic layout that uses a custom router.
10
- */
11
- export declare const RouterLayout: React.FC<RouterLayoutProps>;
1
+ import React from 'react';
2
+ import { BasicLayoutProps } from '../BasicLayout';
3
+ import { MenuPage } from '../MenuPage';
4
+ export interface RouterLayoutProps extends BasicLayoutProps<MenuPage> {
5
+ page?: string;
6
+ onPageChange?: (page: string) => void;
7
+ }
8
+ /**
9
+ * Basic layout that uses a custom router.
10
+ */
11
+ export declare const RouterLayout: React.FC<RouterLayoutProps>;
@@ -1,62 +1,72 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
- Object.defineProperty(o, "default", { enumerable: true, value: v });
18
- }) : function(o, v) {
19
- o["default"] = v;
20
- });
21
- var __importStar = (this && this.__importStar) || function (mod) {
22
- if (mod && mod.__esModule) return mod;
23
- var result = {};
24
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
- __setModuleDefault(result, mod);
26
- return result;
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.RouterLayout = void 0;
30
- const ui_1 = require("@j2inn/ui");
31
- const react_1 = __importStar(require("react"));
32
- const ErrorDisplayer_1 = require("../../ErrorDisplayer");
33
- const BasicLayout_1 = require("../BasicLayout");
34
- const MenuPage_1 = require("../MenuPage");
35
- const Router_1 = require("./Router");
36
- /**
37
- * Basic layout that uses a custom router.
38
- */
39
- const RouterLayout = ({ pages = [], defaultPage = pages?.[0].key ?? '', onPageChange, page, ...otherProps }) => {
40
- const [currentPage, setCurrentPage] = (0, react_1.useState)(page ?? defaultPage);
41
- (0, react_1.useEffect)(() => {
42
- if (page) {
43
- setCurrentPage(page);
44
- }
45
- }, [page]);
46
- // Fire onChange
47
- (0, react_1.useEffect)(() => {
48
- onPageChange?.(currentPage);
49
- }, [currentPage]);
50
- const onSelect = (0, react_1.useCallback)((key) => {
51
- const page = (0, MenuPage_1.findPageByName)(pages, key);
52
- if (page?.component) {
53
- setCurrentPage(key);
54
- }
55
- }, [pages]);
56
- return (react_1.default.createElement(BasicLayout_1.BasicLayout, { ...otherProps, pages: pages, defaultPage: defaultPage, onSelect: onSelect, selectedPages: [currentPage] },
57
- react_1.default.createElement(Router_1.Router, { pages: pages, currentPage: currentPage, fallbackComponent: react_1.default.createElement(ErrorDisplayer_1.ErrorDisplayer, { error: new Error('Page Not Found'), extra: [
58
- react_1.default.createElement(ui_1.Button, { type: 'primary', key: 'refresh', onClick: () => setCurrentPage(defaultPage) }, "Go Home"),
59
- ] }) })));
60
- };
61
- exports.RouterLayout = RouterLayout;
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.RouterLayout = void 0;
40
+ const ui_1 = require("@j2inn/ui");
41
+ const react_1 = __importStar(require("react"));
42
+ const ErrorDisplayer_1 = require("../../ErrorDisplayer");
43
+ const BasicLayout_1 = require("../BasicLayout");
44
+ const MenuPage_1 = require("../MenuPage");
45
+ const Router_1 = require("./Router");
46
+ /**
47
+ * Basic layout that uses a custom router.
48
+ */
49
+ const RouterLayout = ({ pages = [], defaultPage = pages?.[0].key ?? '', onPageChange, page, ...otherProps }) => {
50
+ const [currentPage, setCurrentPage] = (0, react_1.useState)(page ?? defaultPage);
51
+ (0, react_1.useEffect)(() => {
52
+ if (page) {
53
+ setCurrentPage(page);
54
+ }
55
+ }, [page]);
56
+ // Fire onChange
57
+ (0, react_1.useEffect)(() => {
58
+ onPageChange?.(currentPage);
59
+ }, [currentPage]);
60
+ const onSelect = (0, react_1.useCallback)((key) => {
61
+ const page = (0, MenuPage_1.findPageByName)(pages, key);
62
+ if (page?.component) {
63
+ setCurrentPage(key);
64
+ }
65
+ }, [pages]);
66
+ return (react_1.default.createElement(BasicLayout_1.BasicLayout, { ...otherProps, pages: pages, defaultPage: defaultPage, onSelect: onSelect, selectedPages: [currentPage] },
67
+ react_1.default.createElement(Router_1.Router, { pages: pages, currentPage: currentPage, fallbackComponent: react_1.default.createElement(ErrorDisplayer_1.ErrorDisplayer, { error: new Error('Page Not Found'), extra: [
68
+ react_1.default.createElement(ui_1.Button, { type: 'primary', key: 'refresh', onClick: () => setCurrentPage(defaultPage) }, "Go Home"),
69
+ ] }) })));
70
+ };
71
+ exports.RouterLayout = RouterLayout;
62
72
  //# sourceMappingURL=RouterLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RouterLayout.js","sourceRoot":"","sources":["../../../../../src/react/components/navigation/customRouting/RouterLayout.tsx"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,kCAAkC;AAClC,+CAA+D;AAC/D,yDAAqD;AACrD,gDAA8D;AAC9D,0CAAsD;AACtD,qCAAiC;AAOjC;;GAEG;AACI,MAAM,YAAY,GAAgC,CAAC,EACzD,KAAK,GAAG,EAAE,EACV,WAAW,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,EAClC,YAAY,EACZ,IAAI,EACJ,GAAG,UAAU,EACb,EAAE,EAAE;IACJ,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,IAAI,WAAW,CAAC,CAAA;IAEnE,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,IAAI,IAAI,EAAE;YACT,cAAc,CAAC,IAAI,CAAC,CAAA;SACpB;IACF,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEV,gBAAgB;IAChB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,YAAY,EAAE,CAAC,WAAW,CAAC,CAAA;IAC5B,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAC3B,CAAC,GAAW,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,IAAA,yBAAc,EAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACvC,IAAI,IAAI,EAAE,SAAS,EAAE;YACpB,cAAc,CAAC,GAAG,CAAC,CAAA;SACnB;IACF,CAAC,EACD,CAAC,KAAK,CAAC,CACP,CAAA;IAED,OAAO,CACN,8BAAC,yBAAW,OACP,UAAU,EACd,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,CAAC,WAAW,CAAC;QAC5B,8BAAC,eAAM,IACN,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAChB,8BAAC,+BAAc,IACd,KAAK,EAAE,IAAI,KAAK,CAAC,gBAAgB,CAAC,EAClC,KAAK,EAAE;oBACN,8BAAC,WAAM,IACN,IAAI,EAAC,SAAS,EACd,GAAG,EAAC,SAAS,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,cAElC;iBACT,GACA,GAEF,CACW,CACd,CAAA;AACF,CAAC,CAAA;AAxDY,QAAA,YAAY,gBAwDxB"}
1
+ {"version":3,"file":"RouterLayout.js","sourceRoot":"","sources":["../../../../../src/react/components/navigation/customRouting/RouterLayout.tsx"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,kCAAkC;AAClC,+CAA+D;AAC/D,yDAAqD;AACrD,gDAA8D;AAC9D,0CAAsD;AACtD,qCAAiC;AAOjC;;GAEG;AACI,MAAM,YAAY,GAAgC,CAAC,EACzD,KAAK,GAAG,EAAE,EACV,WAAW,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,EAClC,YAAY,EACZ,IAAI,EACJ,GAAG,UAAU,EACb,EAAE,EAAE;IACJ,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,IAAI,WAAW,CAAC,CAAA;IAEnE,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,IAAI,IAAI,EAAE,CAAC;YACV,cAAc,CAAC,IAAI,CAAC,CAAA;QACrB,CAAC;IACF,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEV,gBAAgB;IAChB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,YAAY,EAAE,CAAC,WAAW,CAAC,CAAA;IAC5B,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAC3B,CAAC,GAAW,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,IAAA,yBAAc,EAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACvC,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC;YACrB,cAAc,CAAC,GAAG,CAAC,CAAA;QACpB,CAAC;IACF,CAAC,EACD,CAAC,KAAK,CAAC,CACP,CAAA;IAED,OAAO,CACN,8BAAC,yBAAW,OACP,UAAU,EACd,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,CAAC,WAAW,CAAC;QAC5B,8BAAC,eAAM,IACN,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAChB,8BAAC,+BAAc,IACd,KAAK,EAAE,IAAI,KAAK,CAAC,gBAAgB,CAAC,EAClC,KAAK,EAAE;oBACN,8BAAC,WAAM,IACN,IAAI,EAAC,SAAS,EACd,GAAG,EAAC,SAAS,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,cAElC;iBACT,GACA,GAEF,CACW,CACd,CAAA;AACF,CAAC,CAAA;AAxDY,QAAA,YAAY,gBAwDxB"}