@j2inn/fin5-ui-utils 5.2.2-beta.9 → 6.0.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 (223) hide show
  1. package/README.md +5 -5
  2. package/dist/fantomProps/createFin5Props/index.d.ts +12 -12
  3. package/dist/fantomProps/createFin5Props/index.js +146 -146
  4. package/dist/fantomProps/createFin5Props/runCreateFin5Props.d.ts +2 -2
  5. package/dist/fantomProps/createFin5Props/runCreateFin5Props.js +16 -16
  6. package/dist/fantomProps/fantomPropsToObject.d.ts +8 -8
  7. package/dist/fantomProps/fantomPropsToObject.js +183 -183
  8. package/dist/fantomProps/generateJsonFromFantomPropsFile.d.ts +4 -4
  9. package/dist/fantomProps/generateJsonFromFantomPropsFile.js +41 -41
  10. package/dist/fantomProps/localePropsToJson.d.ts +1 -1
  11. package/dist/fantomProps/localePropsToJson.js +50 -50
  12. package/dist/fantomProps/readFantomPropsFile.d.ts +5 -5
  13. package/dist/fantomProps/readFantomPropsFile.js +61 -61
  14. package/dist/fin5Top/fin5FileUpload.d.ts +24 -24
  15. package/dist/fin5Top/fin5FileUpload.js +51 -51
  16. package/dist/fin5Top/fin5Top.d.ts +124 -124
  17. package/dist/fin5Top/fin5Top.js +58 -58
  18. package/dist/fin5Top/finEdge2Cloud.d.ts +6 -6
  19. package/dist/fin5Top/finEdge2Cloud.js +15 -15
  20. package/dist/fin5Top/getFin5BinUrl.d.ts +2 -2
  21. package/dist/fin5Top/getFin5BinUrl.js +9 -9
  22. package/dist/fin5Top/openFin5Alarm.d.ts +22 -22
  23. package/dist/fin5Top/openFin5Alarm.js +23 -23
  24. package/dist/fin5Top/openFin5Historian.d.ts +3 -3
  25. package/dist/fin5Top/openFin5Historian.js +19 -19
  26. package/dist/fin5Top/useFin5AppURLHashParameter.d.ts +18 -18
  27. package/dist/fin5Top/useFin5AppURLHashParameter.js +133 -133
  28. package/dist/index.d.ts +35 -36
  29. package/dist/index.js +69 -70
  30. package/dist/index.js.map +1 -1
  31. package/dist/jobs/jobUtils.d.ts +14 -14
  32. package/dist/jobs/jobUtils.js +15 -15
  33. package/dist/react/app/Fin5AppContainer.d.ts +36 -36
  34. package/dist/react/app/Fin5AppContainer.js +102 -102
  35. package/dist/react/app/Fin5AppRootStore.d.ts +38 -39
  36. package/dist/react/app/Fin5AppRootStore.js +68 -69
  37. package/dist/react/app/Fin5AppRootStore.js.map +1 -1
  38. package/dist/react/components/ErrorBoundary.d.ts +57 -57
  39. package/dist/react/components/ErrorBoundary.js +150 -150
  40. package/dist/react/components/ErrorDisplayer.d.ts +19 -19
  41. package/dist/react/components/ErrorDisplayer.js +36 -36
  42. package/dist/react/components/Loader.d.ts +9 -9
  43. package/dist/react/components/Loader.js +17 -17
  44. package/dist/react/components/LoadingSpinner.d.ts +2 -2
  45. package/dist/react/components/LoadingSpinner.js +27 -27
  46. package/dist/react/components/RecordImage.d.ts +20 -20
  47. package/dist/react/components/RecordImage.js +51 -51
  48. package/dist/react/components/charts/QRCode.d.ts +25 -25
  49. package/dist/react/components/charts/QRCode.js +82 -82
  50. package/dist/react/components/charts/line-bar/Chart.d.ts +166 -166
  51. package/dist/react/components/charts/line-bar/Chart.js +442 -442
  52. package/dist/react/components/charts/line-bar/HGridChart.d.ts +58 -58
  53. package/dist/react/components/charts/line-bar/HGridChart.js +285 -288
  54. package/dist/react/components/charts/line-bar/HGridChart.js.map +1 -1
  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 -12
  64. package/dist/react/components/makeCustomElement.js +150 -139
  65. package/dist/react/components/makeCustomElement.js.map +1 -1
  66. package/dist/react/components/navigation/BasicLayout.d.ts +41 -41
  67. package/dist/react/components/navigation/BasicLayout.js +155 -155
  68. package/dist/react/components/navigation/HeaderSiderLayout.d.ts +13 -13
  69. package/dist/react/components/navigation/HeaderSiderLayout.js +110 -110
  70. package/dist/react/components/navigation/MenuPage.d.ts +37 -37
  71. package/dist/react/components/navigation/MenuPage.js +36 -36
  72. package/dist/react/components/navigation/MenuTrigger.d.ts +9 -9
  73. package/dist/react/components/navigation/MenuTrigger.js +33 -33
  74. package/dist/react/components/navigation/ReactRouterHeaderSiderLayout.d.ts +11 -11
  75. package/dist/react/components/navigation/ReactRouterHeaderSiderLayout.js +25 -25
  76. package/dist/react/components/navigation/ReactRouterLayout.d.ts +46 -46
  77. package/dist/react/components/navigation/ReactRouterLayout.js +132 -132
  78. package/dist/react/components/navigation/customRouting/Router.d.ts +12 -12
  79. package/dist/react/components/navigation/customRouting/Router.js +45 -45
  80. package/dist/react/components/navigation/customRouting/RouterLayout.d.ts +11 -11
  81. package/dist/react/components/navigation/customRouting/RouterLayout.js +61 -61
  82. package/dist/react/components/resolvable/configurationForm/ConfigurationForm.d.ts +27 -27
  83. package/dist/react/components/resolvable/configurationForm/ConfigurationForm.js +95 -95
  84. package/dist/react/components/resolvable/configurationForm/ConfigurationFormEntry.d.ts +16 -16
  85. package/dist/react/components/resolvable/configurationForm/ConfigurationFormEntry.js +88 -88
  86. package/dist/react/components/resolvable/configurationForm/getSectionDefault.d.ts +16 -16
  87. package/dist/react/components/resolvable/configurationForm/getSectionDefault.js +99 -99
  88. package/dist/react/hooks/useFin5BinUrl.d.ts +6 -6
  89. package/dist/react/hooks/useFin5BinUrl.js +15 -15
  90. package/dist/react/hooks/useFin5ColorScheme.d.ts +2 -2
  91. package/dist/react/hooks/useFin5ColorScheme.js +42 -42
  92. package/dist/react/hooks/useScreenSize.d.ts +7 -8
  93. package/dist/react/hooks/useScreenSize.js +31 -30
  94. package/dist/react/hooks/useScreenSize.js.map +1 -1
  95. package/dist_es/fantomProps/createFin5Props/index.d.ts +12 -12
  96. package/dist_es/fantomProps/createFin5Props/index.js +140 -140
  97. package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.d.ts +2 -2
  98. package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.js +11 -11
  99. package/dist_es/fantomProps/fantomPropsToObject.d.ts +8 -8
  100. package/dist_es/fantomProps/fantomPropsToObject.js +178 -178
  101. package/dist_es/fantomProps/generateJsonFromFantomPropsFile.d.ts +4 -4
  102. package/dist_es/fantomProps/generateJsonFromFantomPropsFile.js +12 -12
  103. package/dist_es/fantomProps/localePropsToJson.d.ts +1 -1
  104. package/dist_es/fantomProps/localePropsToJson.js +21 -21
  105. package/dist_es/fantomProps/readFantomPropsFile.d.ts +5 -5
  106. package/dist_es/fantomProps/readFantomPropsFile.js +35 -35
  107. package/dist_es/fin5Top/fin5FileUpload.d.ts +24 -24
  108. package/dist_es/fin5Top/fin5FileUpload.js +47 -47
  109. package/dist_es/fin5Top/fin5Top.d.ts +124 -124
  110. package/dist_es/fin5Top/fin5Top.js +54 -54
  111. package/dist_es/fin5Top/finEdge2Cloud.d.ts +6 -6
  112. package/dist_es/fin5Top/finEdge2Cloud.js +11 -11
  113. package/dist_es/fin5Top/getFin5BinUrl.d.ts +2 -2
  114. package/dist_es/fin5Top/getFin5BinUrl.js +5 -5
  115. package/dist_es/fin5Top/openFin5Alarm.d.ts +22 -22
  116. package/dist_es/fin5Top/openFin5Alarm.js +19 -19
  117. package/dist_es/fin5Top/openFin5Historian.d.ts +3 -3
  118. package/dist_es/fin5Top/openFin5Historian.js +15 -15
  119. package/dist_es/fin5Top/useFin5AppURLHashParameter.d.ts +18 -18
  120. package/dist_es/fin5Top/useFin5AppURLHashParameter.js +124 -124
  121. package/dist_es/index.d.ts +35 -36
  122. package/dist_es/index.js +53 -54
  123. package/dist_es/index.js.map +1 -1
  124. package/dist_es/jobs/jobUtils.d.ts +14 -14
  125. package/dist_es/jobs/jobUtils.js +9 -9
  126. package/dist_es/react/app/Fin5AppContainer.d.ts +36 -36
  127. package/dist_es/react/app/Fin5AppContainer.js +73 -73
  128. package/dist_es/react/app/Fin5AppRootStore.d.ts +38 -39
  129. package/dist_es/react/app/Fin5AppRootStore.js +64 -65
  130. package/dist_es/react/app/Fin5AppRootStore.js.map +1 -1
  131. package/dist_es/react/components/ErrorBoundary.d.ts +57 -57
  132. package/dist_es/react/components/ErrorBoundary.js +123 -123
  133. package/dist_es/react/components/ErrorDisplayer.d.ts +19 -19
  134. package/dist_es/react/components/ErrorDisplayer.js +28 -28
  135. package/dist_es/react/components/Loader.d.ts +9 -9
  136. package/dist_es/react/components/Loader.js +12 -12
  137. package/dist_es/react/components/LoadingSpinner.d.ts +2 -2
  138. package/dist_es/react/components/LoadingSpinner.js +20 -20
  139. package/dist_es/react/components/RecordImage.d.ts +20 -20
  140. package/dist_es/react/components/RecordImage.js +24 -24
  141. package/dist_es/react/components/charts/QRCode.d.ts +25 -25
  142. package/dist_es/react/components/charts/QRCode.js +52 -52
  143. package/dist_es/react/components/charts/line-bar/Chart.d.ts +166 -166
  144. package/dist_es/react/components/charts/line-bar/Chart.js +415 -415
  145. package/dist_es/react/components/charts/line-bar/HGridChart.d.ts +58 -58
  146. package/dist_es/react/components/charts/line-bar/HGridChart.js +250 -250
  147. package/dist_es/react/components/charts/line-bar/HGridChart.js.map +1 -1
  148. package/dist_es/react/components/charts/pie/PieChart.d.ts +94 -94
  149. package/dist_es/react/components/charts/pie/PieChart.js +177 -177
  150. package/dist_es/react/components/charts/pie/SimplePieChart.d.ts +21 -21
  151. package/dist_es/react/components/charts/pie/SimplePieChart.js +25 -25
  152. package/dist_es/react/components/graphics/GraphicViewer.d.ts +10 -10
  153. package/dist_es/react/components/graphics/GraphicViewer.js +22 -22
  154. package/dist_es/react/components/graphics/GraphicsTabViewer.d.ts +17 -17
  155. package/dist_es/react/components/graphics/GraphicsTabViewer.js +60 -60
  156. package/dist_es/react/components/makeCustomElement.d.ts +16 -12
  157. package/dist_es/react/components/makeCustomElement.js +142 -131
  158. package/dist_es/react/components/makeCustomElement.js.map +1 -1
  159. package/dist_es/react/components/navigation/BasicLayout.d.ts +41 -41
  160. package/dist_es/react/components/navigation/BasicLayout.js +124 -124
  161. package/dist_es/react/components/navigation/HeaderSiderLayout.d.ts +13 -13
  162. package/dist_es/react/components/navigation/HeaderSiderLayout.js +80 -80
  163. package/dist_es/react/components/navigation/MenuPage.d.ts +37 -37
  164. package/dist_es/react/components/navigation/MenuPage.js +30 -30
  165. package/dist_es/react/components/navigation/MenuTrigger.d.ts +9 -9
  166. package/dist_es/react/components/navigation/MenuTrigger.js +28 -28
  167. package/dist_es/react/components/navigation/ReactRouterHeaderSiderLayout.d.ts +11 -11
  168. package/dist_es/react/components/navigation/ReactRouterHeaderSiderLayout.js +18 -18
  169. package/dist_es/react/components/navigation/ReactRouterLayout.d.ts +46 -46
  170. package/dist_es/react/components/navigation/ReactRouterLayout.js +99 -99
  171. package/dist_es/react/components/navigation/customRouting/Router.d.ts +12 -12
  172. package/dist_es/react/components/navigation/customRouting/Router.js +18 -18
  173. package/dist_es/react/components/navigation/customRouting/RouterLayout.d.ts +11 -11
  174. package/dist_es/react/components/navigation/customRouting/RouterLayout.js +34 -34
  175. package/dist_es/react/components/resolvable/configurationForm/ConfigurationForm.d.ts +27 -27
  176. package/dist_es/react/components/resolvable/configurationForm/ConfigurationForm.js +64 -64
  177. package/dist_es/react/components/resolvable/configurationForm/ConfigurationFormEntry.d.ts +16 -16
  178. package/dist_es/react/components/resolvable/configurationForm/ConfigurationFormEntry.js +58 -58
  179. package/dist_es/react/components/resolvable/configurationForm/getSectionDefault.d.ts +16 -16
  180. package/dist_es/react/components/resolvable/configurationForm/getSectionDefault.js +94 -94
  181. package/dist_es/react/hooks/useFin5BinUrl.d.ts +6 -6
  182. package/dist_es/react/hooks/useFin5BinUrl.js +11 -11
  183. package/dist_es/react/hooks/useFin5ColorScheme.d.ts +2 -2
  184. package/dist_es/react/hooks/useFin5ColorScheme.js +38 -38
  185. package/dist_es/react/hooks/useScreenSize.d.ts +7 -8
  186. package/dist_es/react/hooks/useScreenSize.js +27 -28
  187. package/dist_es/react/hooks/useScreenSize.js.map +1 -1
  188. package/package.json +7 -7
  189. package/dist/react/components/charts/line-bar/ZincGridChart.d.ts +0 -12
  190. package/dist/react/components/charts/line-bar/ZincGridChart.js +0 -24
  191. package/dist/react/components/charts/line-bar/ZincGridChart.js.map +0 -1
  192. package/dist_es/react/app/Fin5AppContainer.jsx +0 -82
  193. package/dist_es/react/app/Fin5AppContainer.jsx.map +0 -1
  194. package/dist_es/react/components/ErrorBoundary.jsx +0 -150
  195. package/dist_es/react/components/ErrorBoundary.jsx.map +0 -1
  196. package/dist_es/react/components/ErrorDisplayer.jsx +0 -36
  197. package/dist_es/react/components/ErrorDisplayer.jsx.map +0 -1
  198. package/dist_es/react/components/Loader.jsx +0 -13
  199. package/dist_es/react/components/Loader.jsx.map +0 -1
  200. package/dist_es/react/components/LoadingSpinner.jsx +0 -22
  201. package/dist_es/react/components/LoadingSpinner.jsx.map +0 -1
  202. package/dist_es/react/components/charts/line-bar/ZincGridChart.d.ts +0 -12
  203. package/dist_es/react/components/charts/line-bar/ZincGridChart.js +0 -17
  204. package/dist_es/react/components/charts/line-bar/ZincGridChart.js.map +0 -1
  205. package/dist_es/react/components/graphics/GraphicViewer.jsx +0 -23
  206. package/dist_es/react/components/graphics/GraphicViewer.jsx.map +0 -1
  207. package/dist_es/react/components/graphics/GraphicsTabViewer.jsx +0 -63
  208. package/dist_es/react/components/graphics/GraphicsTabViewer.jsx.map +0 -1
  209. package/dist_es/react/components/navigation/BasicLayout.jsx +0 -133
  210. package/dist_es/react/components/navigation/BasicLayout.jsx.map +0 -1
  211. package/dist_es/react/components/navigation/MenuPage.jsx +0 -31
  212. package/dist_es/react/components/navigation/MenuPage.jsx.map +0 -1
  213. package/dist_es/react/components/navigation/Router.d.ts +0 -12
  214. package/dist_es/react/components/navigation/Router.js +0 -19
  215. package/dist_es/react/components/navigation/Router.js.map +0 -1
  216. package/dist_es/react/components/navigation/Router.jsx +0 -19
  217. package/dist_es/react/components/navigation/Router.jsx.map +0 -1
  218. package/dist_es/react/components/navigation/react-router/BasicLayout.d.ts +0 -23
  219. package/dist_es/react/components/navigation/react-router/BasicLayout.js +0 -82
  220. package/dist_es/react/components/navigation/react-router/BasicLayout.js.map +0 -1
  221. package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.d.ts +0 -24
  222. package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.js +0 -82
  223. package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.js.map +0 -1
@@ -1,31 +1,31 @@
1
- /*
2
- * Copyright (c) 2022, J2 Innovations. All Rights Reserved
3
- */
4
- /**
5
- * Retrieve a specific page or subPage from a root page list
6
- * @param name the name of the searched page
7
- * @param pages the list of root pages
8
- */
9
- export function findPageByName(pages, name) {
10
- return pageTreeToPageList(pages).find((page) => page.key === name && !page.disabled);
11
- }
12
- /**
13
- * Expands the list of pages to include all the subpages
14
- */
15
- export function pageTreeToPageList(pages) {
16
- return pages.flatMap((page) => getAllSubPages(page));
17
- }
18
- /**
19
- * Recursively get all the subPages of a root page
20
- * @param page root page
21
- * @returns the whole tree of subPages as a list
22
- */
23
- export function getAllSubPages(page) {
24
- if (page.children) {
25
- return [page].concat(...page.children.map((subPage) => getAllSubPages(subPage)));
26
- }
27
- else {
28
- return [page];
29
- }
30
- }
1
+ /*
2
+ * Copyright (c) 2022, J2 Innovations. All Rights Reserved
3
+ */
4
+ /**
5
+ * Retrieve a specific page or subPage from a root page list
6
+ * @param name the name of the searched page
7
+ * @param pages the list of root pages
8
+ */
9
+ export function findPageByName(pages, name) {
10
+ return pageTreeToPageList(pages).find((page) => page.key === name && !page.disabled);
11
+ }
12
+ /**
13
+ * Expands the list of pages to include all the subpages
14
+ */
15
+ export function pageTreeToPageList(pages) {
16
+ return pages.flatMap((page) => getAllSubPages(page));
17
+ }
18
+ /**
19
+ * Recursively get all the subPages of a root page
20
+ * @param page root page
21
+ * @returns the whole tree of subPages as a list
22
+ */
23
+ export function getAllSubPages(page) {
24
+ if (page.children) {
25
+ return [page].concat(...page.children.map((subPage) => getAllSubPages(subPage)));
26
+ }
27
+ else {
28
+ return [page];
29
+ }
30
+ }
31
31
  //# sourceMappingURL=MenuPage.js.map
@@ -1,9 +1,9 @@
1
- import React from 'react';
2
- interface MenuTriggerProps {
3
- hiddenSider: boolean;
4
- headerHeight?: number;
5
- className?: string;
6
- onClick: () => void;
7
- }
8
- declare const MenuTrigger: React.FC<MenuTriggerProps>;
9
- export default MenuTrigger;
1
+ import React from 'react';
2
+ interface MenuTriggerProps {
3
+ hiddenSider: boolean;
4
+ headerHeight?: number;
5
+ className?: string;
6
+ onClick: () => void;
7
+ }
8
+ declare const MenuTrigger: React.FC<MenuTriggerProps>;
9
+ export default MenuTrigger;
@@ -1,29 +1,29 @@
1
- /*
2
- * Copyright (c) 2024, J2 Innovations. All Rights Reserved
3
- */
4
- import { MenuFoldOutlined, MenuUnfoldOutlined } from '@ant-design/icons';
5
- import classNames from 'classnames';
6
- import React from 'react';
7
- import { createUseStyles } from 'react-jss';
8
- const useStyles = createUseStyles((theme) => ({
9
- menuTrigger: ({ headerHeight }) => ({
10
- width: headerHeight,
11
- height: '100%',
12
- textAlign: 'center',
13
- fontSize: 18,
14
- cursor: 'pointer',
15
- transition: 'color 0.3s ease-in-out',
16
- backgroundColor: 'transparent',
17
- color: theme.linkColor,
18
- padding: '0 0.5rem',
19
- '&:hover': {
20
- color: theme.linkActiveColor,
21
- },
22
- }),
23
- }));
24
- const MenuTrigger = ({ hiddenSider, headerHeight = 45, onClick, className, }) => {
25
- const classes = useStyles({ headerHeight });
26
- return hiddenSider ? (React.createElement(MenuUnfoldOutlined, { className: classNames(classes.menuTrigger, className), onClick: onClick })) : (React.createElement(MenuFoldOutlined, { className: classNames(classes.menuTrigger, className), onClick: onClick }));
27
- };
28
- export default MenuTrigger;
1
+ /*
2
+ * Copyright (c) 2024, J2 Innovations. All Rights Reserved
3
+ */
4
+ import { MenuFoldOutlined, MenuUnfoldOutlined } from '@ant-design/icons';
5
+ import classNames from 'classnames';
6
+ import React from 'react';
7
+ import { createUseStyles } from 'react-jss';
8
+ const useStyles = createUseStyles((theme) => ({
9
+ menuTrigger: ({ headerHeight }) => ({
10
+ width: headerHeight,
11
+ height: '100%',
12
+ textAlign: 'center',
13
+ fontSize: 18,
14
+ cursor: 'pointer',
15
+ transition: 'color 0.3s ease-in-out',
16
+ backgroundColor: 'transparent',
17
+ color: theme.linkColor,
18
+ padding: '0 0.5rem',
19
+ '&:hover': {
20
+ color: theme.linkActiveColor,
21
+ },
22
+ }),
23
+ }));
24
+ const MenuTrigger = ({ hiddenSider, headerHeight = 45, onClick, className, }) => {
25
+ const classes = useStyles({ headerHeight });
26
+ return hiddenSider ? (React.createElement(MenuUnfoldOutlined, { className: classNames(classes.menuTrigger, className), onClick: onClick })) : (React.createElement(MenuFoldOutlined, { className: classNames(classes.menuTrigger, className), onClick: onClick }));
27
+ };
28
+ export default MenuTrigger;
29
29
  //# sourceMappingURL=MenuTrigger.js.map
@@ -1,11 +1,11 @@
1
- import type { Location } from '@remix-run/router';
2
- import React from 'react';
3
- import { HeaderSiderLayoutProps } from './HeaderSiderLayout';
4
- import { ReactRouterMenuPage } from './ReactRouterLayout';
5
- export interface ReactRouterHeaderSiderLayoutProps extends HeaderSiderLayoutProps<ReactRouterMenuPage> {
6
- isSelectedRoute?: (page: ReactRouterMenuPage, location: Location) => boolean;
7
- }
8
- /**
9
- * Header/Sider layout that uses React Router.
10
- */
11
- export declare const ReactRouterHeaderSiderLayout: React.FC<ReactRouterHeaderSiderLayoutProps>;
1
+ import type { Location } from '@remix-run/router';
2
+ import React from 'react';
3
+ import { HeaderSiderLayoutProps } from './HeaderSiderLayout';
4
+ import { ReactRouterMenuPage } from './ReactRouterLayout';
5
+ export interface ReactRouterHeaderSiderLayoutProps extends HeaderSiderLayoutProps<ReactRouterMenuPage> {
6
+ isSelectedRoute?: (page: ReactRouterMenuPage, location: Location) => boolean;
7
+ }
8
+ /**
9
+ * Header/Sider layout that uses React Router.
10
+ */
11
+ export declare const ReactRouterHeaderSiderLayout: React.FC<ReactRouterHeaderSiderLayoutProps>;
@@ -1,19 +1,19 @@
1
- /*
2
- * Copyright (c) 2024, J2 Innovations. All Rights Reserved
3
- */
4
- import React from 'react';
5
- import { Outlet, useNavigate } from 'react-router';
6
- import { HeaderSiderLayout } from './HeaderSiderLayout';
7
- import { useDefaultOnSelect, useGetPageKeyRouteMap, useSelectedRoutes, } from './ReactRouterLayout';
8
- /**
9
- * Header/Sider layout that uses React Router.
10
- */
11
- export const ReactRouterHeaderSiderLayout = ({ isSelectedRoute, pages = [], onSelect, ...otherProps }) => {
12
- const navigate = useNavigate();
13
- const selectedRoutes = useSelectedRoutes(pages, isSelectedRoute);
14
- const pageKeyRouteMap = useGetPageKeyRouteMap(pages);
15
- const defaultOnSelect = useDefaultOnSelect(navigate, pageKeyRouteMap, pages);
16
- return (React.createElement(HeaderSiderLayout, { ...otherProps, pages: pages, onSelect: onSelect ?? defaultOnSelect, selectedPages: selectedRoutes },
17
- React.createElement(Outlet, null)));
18
- };
1
+ /*
2
+ * Copyright (c) 2024, J2 Innovations. All Rights Reserved
3
+ */
4
+ import React from 'react';
5
+ import { Outlet, useNavigate } from 'react-router';
6
+ import { HeaderSiderLayout } from './HeaderSiderLayout';
7
+ import { useDefaultOnSelect, useGetPageKeyRouteMap, useSelectedRoutes, } from './ReactRouterLayout';
8
+ /**
9
+ * Header/Sider layout that uses React Router.
10
+ */
11
+ export const ReactRouterHeaderSiderLayout = ({ isSelectedRoute, pages = [], onSelect, ...otherProps }) => {
12
+ const navigate = useNavigate();
13
+ const selectedRoutes = useSelectedRoutes(pages, isSelectedRoute);
14
+ const pageKeyRouteMap = useGetPageKeyRouteMap(pages);
15
+ const defaultOnSelect = useDefaultOnSelect(navigate, pageKeyRouteMap, pages);
16
+ return (React.createElement(HeaderSiderLayout, { ...otherProps, pages: pages, onSelect: onSelect ?? defaultOnSelect, selectedPages: selectedRoutes },
17
+ React.createElement(Outlet, null)));
18
+ };
19
19
  //# sourceMappingURL=ReactRouterHeaderSiderLayout.js.map
@@ -1,46 +1,46 @@
1
- import type { Location } from '@remix-run/router';
2
- import React from 'react';
3
- import { NavigateFunction } from 'react-router';
4
- import { BasicLayoutProps } from './BasicLayout';
5
- import { MenuPage } from './MenuPage';
6
- export declare type ReactRouterMenuPage = MenuPage & {
7
- route: string;
8
- };
9
- export interface ReactRouterLayoutProps extends BasicLayoutProps<ReactRouterMenuPage> {
10
- isSelectedRoute?: (page: ReactRouterMenuPage, location: Location) => boolean;
11
- }
12
- /**
13
- * This hook can be used with react-router/BasicLayout,
14
- * to ensure FIN5 URL is aligned with the internal frame URL.
15
- * This does not skip the hash update and should be used only with
16
- * FIN >= 5.1.7.92, otherwise FIN will reload the entire page.
17
- */
18
- export declare const useLocationUpdate: () => void;
19
- /**
20
- * This hook can be used with react-router/BasicLayout,
21
- * to ensure FIN5 URL is aligned with the internal frame URL.
22
- * This skips the hash update and should be used only with
23
- * FIN < 5.1.7.92.
24
- * @deprecated use only with FIN < 5.1.7.92
25
- * @see {@link useLocationUpdate} for FIN >= 5.1.7.92
26
- */
27
- export declare const useLocationUpdateSkippingHash: () => void;
28
- export declare const useSelectedRoutes: (pages: ReactRouterMenuPage[], isSelectedRoute?: (page: ReactRouterMenuPage, location: Location) => boolean) => string[];
29
- /**
30
- * If we are inside a frame (FIN5), the route is left as is.
31
- * If we are outside FIN5 frame, the route needs to be prefixed with a segment containing the project name.
32
- * @param route
33
- * @returns the correct route for the environment
34
- */
35
- export declare const getRoute: (route: string) => string;
36
- /**
37
- * Create a map that holds the page key and its related route.
38
- * @param pages
39
- * @returns the map page key - route
40
- */
41
- export declare const useGetPageKeyRouteMap: (pages: ReactRouterMenuPage[]) => Map<string, string>;
42
- export declare const useDefaultOnSelect: (navigate: NavigateFunction, pageKeyRouteMap: Map<string, string>, pages: ReactRouterMenuPage[]) => (key: string) => void;
43
- /**
44
- * Basic layout that uses React Router.
45
- */
46
- export declare const ReactRouterLayout: React.FC<ReactRouterLayoutProps>;
1
+ import type { Location } from '@remix-run/router';
2
+ import React from 'react';
3
+ import { NavigateFunction } from 'react-router';
4
+ import { BasicLayoutProps } from './BasicLayout';
5
+ import { MenuPage } from './MenuPage';
6
+ export declare type ReactRouterMenuPage = MenuPage & {
7
+ route: string;
8
+ };
9
+ export interface ReactRouterLayoutProps extends BasicLayoutProps<ReactRouterMenuPage> {
10
+ isSelectedRoute?: (page: ReactRouterMenuPage, location: Location) => boolean;
11
+ }
12
+ /**
13
+ * This hook can be used with react-router/BasicLayout,
14
+ * to ensure FIN5 URL is aligned with the internal frame URL.
15
+ * This does not skip the hash update and should be used only with
16
+ * FIN >= 5.1.7.92, otherwise FIN will reload the entire page.
17
+ */
18
+ export declare const useLocationUpdate: () => void;
19
+ /**
20
+ * This hook can be used with react-router/BasicLayout,
21
+ * to ensure FIN5 URL is aligned with the internal frame URL.
22
+ * This skips the hash update and should be used only with
23
+ * FIN < 5.1.7.92.
24
+ * @deprecated use only with FIN < 5.1.7.92
25
+ * @see {@link useLocationUpdate} for FIN >= 5.1.7.92
26
+ */
27
+ export declare const useLocationUpdateSkippingHash: () => void;
28
+ export declare const useSelectedRoutes: (pages: ReactRouterMenuPage[], isSelectedRoute?: (page: ReactRouterMenuPage, location: Location) => boolean) => string[];
29
+ /**
30
+ * If we are inside a frame (FIN5), the route is left as is.
31
+ * If we are outside FIN5 frame, the route needs to be prefixed with a segment containing the project name.
32
+ * @param route
33
+ * @returns the correct route for the environment
34
+ */
35
+ export declare const getRoute: (route: string) => string;
36
+ /**
37
+ * Create a map that holds the page key and its related route.
38
+ * @param pages
39
+ * @returns the map page key - route
40
+ */
41
+ export declare const useGetPageKeyRouteMap: (pages: ReactRouterMenuPage[]) => Map<string, string>;
42
+ export declare const useDefaultOnSelect: (navigate: NavigateFunction, pageKeyRouteMap: Map<string, string>, pages: ReactRouterMenuPage[]) => (key: string) => void;
43
+ /**
44
+ * Basic layout that uses React Router.
45
+ */
46
+ export declare const ReactRouterLayout: React.FC<ReactRouterLayoutProps>;
@@ -1,100 +1,100 @@
1
- /*
2
- * Copyright (c) 2023, J2 Innovations. All Rights Reserved
3
- */
4
- import React, { useCallback, useEffect, useMemo } from 'react';
5
- import { Outlet, useLocation, useNavigate, } from 'react-router';
6
- import { IN_IFRAME, fin5SkipHashUpdate, getFin5HashFrameParameters, getTopLocation, } from '../../../fin5Top/useFin5AppURLHashParameter';
7
- import { BasicLayout } from './BasicLayout';
8
- import { pageTreeToPageList } from './MenuPage';
9
- /**
10
- * This hook can be used with react-router/BasicLayout,
11
- * to ensure FIN5 URL is aligned with the internal frame URL.
12
- * This does not skip the hash update and should be used only with
13
- * FIN >= 5.1.7.92, otherwise FIN will reload the entire page.
14
- */
15
- export const useLocationUpdate = () => {
16
- const location = useLocation();
17
- useEffect(() => {
18
- if (IN_IFRAME) {
19
- setHash(location);
20
- }
21
- }, [location]);
22
- };
23
- /**
24
- * This hook can be used with react-router/BasicLayout,
25
- * to ensure FIN5 URL is aligned with the internal frame URL.
26
- * This skips the hash update and should be used only with
27
- * FIN < 5.1.7.92.
28
- * @deprecated use only with FIN < 5.1.7.92
29
- * @see {@link useLocationUpdate} for FIN >= 5.1.7.92
30
- */
31
- export const useLocationUpdateSkippingHash = () => {
32
- const location = useLocation();
33
- useEffect(() => {
34
- if (IN_IFRAME) {
35
- fin5SkipHashUpdate()?.then(() => {
36
- setHash(location);
37
- });
38
- }
39
- }, [location]);
40
- };
41
- const setHash = (location) => {
42
- const hash = location.pathname;
43
- const queryParams = location.search;
44
- const frameParameters = getFin5HashFrameParameters();
45
- frameParameters.set('url', frameParameters.get('url')?.split('#')[0] + '#' + hash + queryParams);
46
- getTopLocation().hash = `#${getTopLocation().hash.slice(1).split('?')[0]}?${frameParameters.toString()}`;
47
- };
48
- export const useSelectedRoutes = (pages, isSelectedRoute = (page, location) => location.pathname.includes(page.route)) => {
49
- const location = useLocation();
50
- const flatPages = useMemo(() => pageTreeToPageList(pages), [pages]);
51
- return useMemo(() => {
52
- return flatPages
53
- .filter((page) => isSelectedRoute(page, location))
54
- .map((page) => page.key);
55
- }, [location, flatPages, isSelectedRoute]);
56
- };
57
- /**
58
- * If we are inside a frame (FIN5), the route is left as is.
59
- * If we are outside FIN5 frame, the route needs to be prefixed with a segment containing the project name.
60
- * @param route
61
- * @returns the correct route for the environment
62
- */
63
- export const getRoute = (route) => {
64
- const prefixedRoute = route.startsWith('/') ? route : `/${route}`;
65
- return !IN_IFRAME ? `/proj/:projectName${prefixedRoute}` : prefixedRoute;
66
- };
67
- /**
68
- * Create a map that holds the page key and its related route.
69
- * @param pages
70
- * @returns the map page key - route
71
- */
72
- export const useGetPageKeyRouteMap = (pages) => useMemo(() => {
73
- const flatPages = pageTreeToPageList(pages);
74
- const result = new Map();
75
- flatPages.forEach((page) => {
76
- result.set(page.key, page.route);
77
- });
78
- return result;
79
- }, [pages]);
80
- export const useDefaultOnSelect = (navigate, pageKeyRouteMap, pages) => useCallback((key) => {
81
- const route = pageKeyRouteMap.get(key);
82
- if (route) {
83
- navigate(route);
84
- }
85
- else {
86
- console.warn('Could not find route for page key', key, 'pages', pages);
87
- }
88
- }, [navigate, pageKeyRouteMap]);
89
- /**
90
- * Basic layout that uses React Router.
91
- */
92
- export const ReactRouterLayout = ({ isSelectedRoute, pages = [], onSelect, ...otherProps }) => {
93
- const navigate = useNavigate();
94
- const selectedRoutes = useSelectedRoutes(pages, isSelectedRoute);
95
- const pageKeyRouteMap = useGetPageKeyRouteMap(pages);
96
- const defaultOnSelect = useDefaultOnSelect(navigate, pageKeyRouteMap, pages);
97
- return (React.createElement(BasicLayout, { ...otherProps, pages: pages, onSelect: onSelect ?? defaultOnSelect, selectedPages: selectedRoutes },
98
- React.createElement(Outlet, null)));
99
- };
1
+ /*
2
+ * Copyright (c) 2023, J2 Innovations. All Rights Reserved
3
+ */
4
+ import React, { useCallback, useEffect, useMemo } from 'react';
5
+ import { Outlet, useLocation, useNavigate, } from 'react-router';
6
+ import { IN_IFRAME, fin5SkipHashUpdate, getFin5HashFrameParameters, getTopLocation, } from '../../../fin5Top/useFin5AppURLHashParameter';
7
+ import { BasicLayout } from './BasicLayout';
8
+ import { pageTreeToPageList } from './MenuPage';
9
+ /**
10
+ * This hook can be used with react-router/BasicLayout,
11
+ * to ensure FIN5 URL is aligned with the internal frame URL.
12
+ * This does not skip the hash update and should be used only with
13
+ * FIN >= 5.1.7.92, otherwise FIN will reload the entire page.
14
+ */
15
+ export const useLocationUpdate = () => {
16
+ const location = useLocation();
17
+ useEffect(() => {
18
+ if (IN_IFRAME) {
19
+ setHash(location);
20
+ }
21
+ }, [location]);
22
+ };
23
+ /**
24
+ * This hook can be used with react-router/BasicLayout,
25
+ * to ensure FIN5 URL is aligned with the internal frame URL.
26
+ * This skips the hash update and should be used only with
27
+ * FIN < 5.1.7.92.
28
+ * @deprecated use only with FIN < 5.1.7.92
29
+ * @see {@link useLocationUpdate} for FIN >= 5.1.7.92
30
+ */
31
+ export const useLocationUpdateSkippingHash = () => {
32
+ const location = useLocation();
33
+ useEffect(() => {
34
+ if (IN_IFRAME) {
35
+ fin5SkipHashUpdate()?.then(() => {
36
+ setHash(location);
37
+ });
38
+ }
39
+ }, [location]);
40
+ };
41
+ const setHash = (location) => {
42
+ const hash = location.pathname;
43
+ const queryParams = location.search;
44
+ const frameParameters = getFin5HashFrameParameters();
45
+ frameParameters.set('url', frameParameters.get('url')?.split('#')[0] + '#' + hash + queryParams);
46
+ getTopLocation().hash = `#${getTopLocation().hash.slice(1).split('?')[0]}?${frameParameters.toString()}`;
47
+ };
48
+ export const useSelectedRoutes = (pages, isSelectedRoute = (page, location) => location.pathname.includes(page.route)) => {
49
+ const location = useLocation();
50
+ const flatPages = useMemo(() => pageTreeToPageList(pages), [pages]);
51
+ return useMemo(() => {
52
+ return flatPages
53
+ .filter((page) => isSelectedRoute(page, location))
54
+ .map((page) => page.key);
55
+ }, [location, flatPages, isSelectedRoute]);
56
+ };
57
+ /**
58
+ * If we are inside a frame (FIN5), the route is left as is.
59
+ * If we are outside FIN5 frame, the route needs to be prefixed with a segment containing the project name.
60
+ * @param route
61
+ * @returns the correct route for the environment
62
+ */
63
+ export const getRoute = (route) => {
64
+ const prefixedRoute = route.startsWith('/') ? route : `/${route}`;
65
+ return !IN_IFRAME ? `/proj/:projectName${prefixedRoute}` : prefixedRoute;
66
+ };
67
+ /**
68
+ * Create a map that holds the page key and its related route.
69
+ * @param pages
70
+ * @returns the map page key - route
71
+ */
72
+ export const useGetPageKeyRouteMap = (pages) => useMemo(() => {
73
+ const flatPages = pageTreeToPageList(pages);
74
+ const result = new Map();
75
+ flatPages.forEach((page) => {
76
+ result.set(page.key, page.route);
77
+ });
78
+ return result;
79
+ }, [pages]);
80
+ export const useDefaultOnSelect = (navigate, pageKeyRouteMap, pages) => useCallback((key) => {
81
+ const route = pageKeyRouteMap.get(key);
82
+ if (route) {
83
+ navigate(route);
84
+ }
85
+ else {
86
+ console.warn('Could not find route for page key', key, 'pages', pages);
87
+ }
88
+ }, [navigate, pageKeyRouteMap]);
89
+ /**
90
+ * Basic layout that uses React Router.
91
+ */
92
+ export const ReactRouterLayout = ({ isSelectedRoute, pages = [], onSelect, ...otherProps }) => {
93
+ const navigate = useNavigate();
94
+ const selectedRoutes = useSelectedRoutes(pages, isSelectedRoute);
95
+ const pageKeyRouteMap = useGetPageKeyRouteMap(pages);
96
+ const defaultOnSelect = useDefaultOnSelect(navigate, pageKeyRouteMap, pages);
97
+ return (React.createElement(BasicLayout, { ...otherProps, pages: pages, onSelect: onSelect ?? defaultOnSelect, selectedPages: selectedRoutes },
98
+ React.createElement(Outlet, null)));
99
+ };
100
100
  //# sourceMappingURL=ReactRouterLayout.js.map
@@ -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,19 +1,19 @@
1
- /*
2
- * Copyright (c) 2022, J2 Innovations. All Rights Reserved
3
- */
4
- import React, { Suspense, useEffect, useMemo, } from 'react';
5
- import { LoadingSpinner } from '../../LoadingSpinner';
6
- import { findPageByName } from '../MenuPage';
7
- /**
8
- * Renders the currently selected page from a tree of pages
9
- */
10
- export function Router({ pages = [], currentPage, onPageChange, fallbackComponent, }) {
11
- const page = useMemo(() => findPageByName(pages, currentPage), [pages, currentPage]);
12
- useEffect(() => {
13
- onPageChange?.(page);
14
- }, [page]);
15
- return page?.component ? (React.createElement(Suspense, { fallback: React.createElement(LoadingSpinner, null) }, React.createElement(page.component, page?.props))) : (fallbackComponent ?? React.createElement("div", null,
16
- currentPage,
17
- " page not found"));
18
- }
1
+ /*
2
+ * Copyright (c) 2022, J2 Innovations. All Rights Reserved
3
+ */
4
+ import React, { Suspense, useEffect, useMemo, } from 'react';
5
+ import { LoadingSpinner } from '../../LoadingSpinner';
6
+ import { findPageByName } from '../MenuPage';
7
+ /**
8
+ * Renders the currently selected page from a tree of pages
9
+ */
10
+ export function Router({ pages = [], currentPage, onPageChange, fallbackComponent, }) {
11
+ const page = useMemo(() => findPageByName(pages, currentPage), [pages, currentPage]);
12
+ useEffect(() => {
13
+ onPageChange?.(page);
14
+ }, [page]);
15
+ return page?.component ? (React.createElement(Suspense, { fallback: React.createElement(LoadingSpinner, null) }, React.createElement(page.component, page?.props))) : (fallbackComponent ?? React.createElement("div", null,
16
+ currentPage,
17
+ " page not found"));
18
+ }
19
19
  //# sourceMappingURL=Router.js.map
@@ -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>;