@j2inn/fin5-ui-utils 0.0.4 → 0.0.5-beta.3
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.
- package/dist/fantomProps/createFin5Props/index.d.ts +12 -0
- package/dist/fantomProps/createFin5Props/index.js +147 -0
- package/dist/fantomProps/createFin5Props/index.js.map +1 -0
- package/dist/fantomProps/createFin5Props/runCreateFin5Props.d.ts +2 -0
- package/dist/fantomProps/createFin5Props/runCreateFin5Props.js +17 -0
- package/dist/fantomProps/createFin5Props/runCreateFin5Props.js.map +1 -0
- package/dist/fantomProps/fantomPropsToObject.js +3 -0
- package/dist/fantomProps/fantomPropsToObject.js.map +1 -1
- package/dist/fantomProps/generateJsonFromFantomPropsFile.js +3 -0
- package/dist/fantomProps/generateJsonFromFantomPropsFile.js.map +1 -1
- package/dist/fantomProps/localePropsToJson.js +3 -0
- package/dist/fantomProps/localePropsToJson.js.map +1 -1
- package/dist/fantomProps/readFantomPropsFile.js +3 -0
- package/dist/fantomProps/readFantomPropsFile.js.map +1 -1
- package/dist/fin5Top/fin5Top.js +3 -0
- package/dist/fin5Top/fin5Top.js.map +1 -1
- package/dist/fin5Top/getFin5BinUrl.js +3 -0
- package/dist/fin5Top/getFin5BinUrl.js.map +1 -1
- package/dist/fin5Top/openFin5Alarm.js +5 -2
- package/dist/fin5Top/openFin5Alarm.js.map +1 -1
- package/dist/fin5Top/openFin5Historian.js +5 -2
- package/dist/fin5Top/openFin5Historian.js.map +1 -1
- package/dist/fin5Top/useFin5AppURLHashParameter.d.ts +7 -0
- package/dist/fin5Top/useFin5AppURLHashParameter.js +72 -0
- package/dist/fin5Top/useFin5AppURLHashParameter.js.map +1 -0
- package/dist/index.d.ts +5 -3
- package/dist/index.js +11 -6
- package/dist/index.js.map +1 -1
- package/dist/react/app/Fin5AppContainer.d.ts +36 -0
- package/dist/react/app/Fin5AppContainer.jsx +102 -0
- package/dist/react/app/Fin5AppContainer.jsx.map +1 -0
- package/dist/react/app/Fin5AppRootStore.d.ts +38 -0
- package/dist/react/app/Fin5AppRootStore.js +66 -0
- package/dist/react/app/Fin5AppRootStore.js.map +1 -0
- package/dist/react/components/ErrorBoundary.d.ts +57 -0
- package/dist/react/components/ErrorBoundary.jsx +177 -0
- package/dist/react/components/ErrorBoundary.jsx.map +1 -0
- package/dist/react/components/Loader.d.ts +9 -0
- package/dist/react/components/Loader.jsx +18 -0
- package/dist/react/components/Loader.jsx.map +1 -0
- package/dist/react/components/LoadingSpinner.jsx +3 -0
- package/dist/react/components/LoadingSpinner.jsx.map +1 -1
- package/dist/react/components/navigation/BasicLayout.jsx +3 -0
- package/dist/react/components/navigation/BasicLayout.jsx.map +1 -1
- package/dist/react/components/navigation/MenuPage.jsx +3 -0
- package/dist/react/components/navigation/MenuPage.jsx.map +1 -1
- package/dist/react/components/navigation/Router.jsx +3 -0
- package/dist/react/components/navigation/Router.jsx.map +1 -1
- package/dist_es/fantomProps/createFin5Props/index.d.ts +12 -0
- package/dist_es/fantomProps/createFin5Props/index.js +141 -0
- package/dist_es/fantomProps/createFin5Props/index.js.map +1 -0
- package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.d.ts +2 -0
- package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.js +12 -0
- package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.js.map +1 -0
- package/dist_es/fantomProps/fantomPropsToObject.js +3 -0
- package/dist_es/fantomProps/fantomPropsToObject.js.map +1 -1
- package/dist_es/fantomProps/generateJsonFromFantomPropsFile.js +3 -0
- package/dist_es/fantomProps/generateJsonFromFantomPropsFile.js.map +1 -1
- package/dist_es/fantomProps/localePropsToJson.js +3 -0
- package/dist_es/fantomProps/localePropsToJson.js.map +1 -1
- package/dist_es/fantomProps/readFantomPropsFile.js +3 -0
- package/dist_es/fantomProps/readFantomPropsFile.js.map +1 -1
- package/dist_es/fin5Top/fin5Top.js +3 -0
- package/dist_es/fin5Top/fin5Top.js.map +1 -1
- package/dist_es/fin5Top/getFin5BinUrl.js +3 -0
- package/dist_es/fin5Top/getFin5BinUrl.js.map +1 -1
- package/dist_es/fin5Top/openFin5Alarm.js +3 -0
- package/dist_es/fin5Top/openFin5Alarm.js.map +1 -1
- package/dist_es/fin5Top/openFin5Historian.js +3 -0
- package/dist_es/fin5Top/openFin5Historian.js.map +1 -1
- package/dist_es/fin5Top/useFin5AppURLHashParameter.d.ts +7 -0
- package/dist_es/fin5Top/useFin5AppURLHashParameter.js +68 -0
- package/dist_es/fin5Top/useFin5AppURLHashParameter.js.map +1 -0
- package/dist_es/index.d.ts +5 -3
- package/dist_es/index.js +11 -6
- package/dist_es/index.js.map +1 -1
- package/dist_es/react/app/Fin5AppContainer.d.ts +36 -0
- package/dist_es/react/app/Fin5AppContainer.jsx +73 -0
- package/dist_es/react/app/Fin5AppContainer.jsx.map +1 -0
- package/dist_es/react/app/Fin5AppRootStore.d.ts +38 -0
- package/dist_es/react/app/Fin5AppRootStore.js +62 -0
- package/dist_es/react/app/Fin5AppRootStore.js.map +1 -0
- package/dist_es/react/components/ErrorBoundary.d.ts +57 -0
- package/dist_es/react/components/ErrorBoundary.jsx +150 -0
- package/dist_es/react/components/ErrorBoundary.jsx.map +1 -0
- package/dist_es/react/components/Loader.d.ts +9 -0
- package/dist_es/react/components/Loader.jsx +13 -0
- package/dist_es/react/components/Loader.jsx.map +1 -0
- package/dist_es/react/components/LoadingSpinner.jsx +3 -0
- package/dist_es/react/components/LoadingSpinner.jsx.map +1 -1
- package/dist_es/react/components/navigation/BasicLayout.jsx +3 -0
- package/dist_es/react/components/navigation/BasicLayout.jsx.map +1 -1
- package/dist_es/react/components/navigation/MenuPage.jsx +3 -0
- package/dist_es/react/components/navigation/MenuPage.jsx.map +1 -1
- package/dist_es/react/components/navigation/Router.jsx +3 -0
- package/dist_es/react/components/navigation/Router.jsx.map +1 -1
- package/package.json +20 -10
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2022, J2 Innovations. All Rights Reserved
|
|
3
|
+
*/
|
|
4
|
+
import fs from 'fs';
|
|
5
|
+
import path from 'path';
|
|
6
|
+
import yaml from 'js-yaml';
|
|
7
|
+
import { promisify } from 'util';
|
|
8
|
+
import { makeValue, HNamespace } from 'haystack-core';
|
|
9
|
+
const readFile = promisify(fs.readFile);
|
|
10
|
+
const writeFile = promisify(fs.writeFile);
|
|
11
|
+
const exists = promisify(fs.exists);
|
|
12
|
+
const mkdir = promisify(fs.mkdir);
|
|
13
|
+
const readdir = promisify(fs.readdir);
|
|
14
|
+
const unlink = promisify(fs.unlink);
|
|
15
|
+
/**
|
|
16
|
+
* The FIN locale path where all the JSON files reside.
|
|
17
|
+
*/
|
|
18
|
+
const LOCALE_PATH = 'locale';
|
|
19
|
+
/**
|
|
20
|
+
* The application defs YAML file path.
|
|
21
|
+
*/
|
|
22
|
+
const APP_DEF_YAML = 'lib/app.hayson.yaml';
|
|
23
|
+
/**
|
|
24
|
+
* Return the app name.
|
|
25
|
+
*
|
|
26
|
+
* @param baseDir The base directory to run from.
|
|
27
|
+
* @returns The name of the app.
|
|
28
|
+
*/
|
|
29
|
+
async function getAppName(baseDir) {
|
|
30
|
+
const buffer = await readFile(path.join(baseDir, APP_DEF_YAML));
|
|
31
|
+
// Find the name of the app to prefix all the keys with.
|
|
32
|
+
const appHayson = yaml.loadAll(buffer.toString('utf8'))?.[0];
|
|
33
|
+
const value = makeValue(appHayson);
|
|
34
|
+
return HNamespace.getFeatureName(value.get('def')?.value ?? '');
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Return the language from the file path.
|
|
38
|
+
*
|
|
39
|
+
* @param path The file path.
|
|
40
|
+
* @return The language.
|
|
41
|
+
*/
|
|
42
|
+
function getLanguageFromFile(path) {
|
|
43
|
+
return /^([^.]+)/.exec(path)?.[1] ?? '';
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Build a tree of nodes.
|
|
47
|
+
*
|
|
48
|
+
* @param parent The parent to add the nodes too.
|
|
49
|
+
* @param obj The object to example.
|
|
50
|
+
* @param leads An array of leaf nodes to build up.
|
|
51
|
+
*/
|
|
52
|
+
function buildNode(parent, obj, leafs) {
|
|
53
|
+
for (const key of Object.keys(obj)) {
|
|
54
|
+
const child = { name: key, parent };
|
|
55
|
+
const value = obj[key];
|
|
56
|
+
if (typeof value === 'string') {
|
|
57
|
+
child.value = value;
|
|
58
|
+
leafs.push(child);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
buildNode(child, value, leafs);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Create properties from the object.
|
|
67
|
+
*
|
|
68
|
+
* @param appName The application name.
|
|
69
|
+
* @param obj The object.
|
|
70
|
+
* @returns The properties.
|
|
71
|
+
*/
|
|
72
|
+
function createProps(appName, obj) {
|
|
73
|
+
// Build a tree node of nodes for the JSON object. Record all the leafs.
|
|
74
|
+
const leafs = [];
|
|
75
|
+
buildNode({ name: appName }, obj, leafs);
|
|
76
|
+
let props = '';
|
|
77
|
+
// For each leaf, walk all the parents to build up a list of names.
|
|
78
|
+
// Reverse the list of names to create the entry.
|
|
79
|
+
for (const node of leafs) {
|
|
80
|
+
const pathNames = [];
|
|
81
|
+
let n = node;
|
|
82
|
+
while (n) {
|
|
83
|
+
if (n.name) {
|
|
84
|
+
pathNames.push(n.name);
|
|
85
|
+
}
|
|
86
|
+
n = n.parent;
|
|
87
|
+
}
|
|
88
|
+
if (pathNames.length) {
|
|
89
|
+
props += `${pathNames.reverse().join('.')}=${node.value}\n`;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return props;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Clean the properties directory of any properties files.
|
|
96
|
+
*
|
|
97
|
+
* @param dir The directory to check.
|
|
98
|
+
*/
|
|
99
|
+
async function cleanPropsDir(dir) {
|
|
100
|
+
for (const file of await readdir(dir)) {
|
|
101
|
+
if (file.toLowerCase().endsWith('.props')) {
|
|
102
|
+
await unlink(path.join(dir, file));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Create the directory.
|
|
108
|
+
*
|
|
109
|
+
* @param dir The directory to create.
|
|
110
|
+
*/
|
|
111
|
+
async function createDir(dir) {
|
|
112
|
+
if (!(await exists(dir))) {
|
|
113
|
+
await mkdir(dir, { recursive: true });
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Create the FIN5 language prop files from the locale JSON files.
|
|
118
|
+
*
|
|
119
|
+
* This function assumes the app directory has a sub-directory named `locale` that contains
|
|
120
|
+
* the language files in a JSON format (i.e. `en.json`). It also assumes there's a `lib` directory
|
|
121
|
+
* containing the defs for the app. This is used to look up the app name that's used to prefix the
|
|
122
|
+
* entries in the properties file.
|
|
123
|
+
*
|
|
124
|
+
* @param appDir The directory that contains the application.
|
|
125
|
+
* @param propsDir The directory the properties file will output too.
|
|
126
|
+
*/
|
|
127
|
+
export default async function createFin5Props(appDir, propsDir) {
|
|
128
|
+
const appName = await getAppName(appDir);
|
|
129
|
+
await createDir(propsDir);
|
|
130
|
+
await cleanPropsDir(propsDir);
|
|
131
|
+
// For each language file, create a properties file.
|
|
132
|
+
for (const file of await readdir(path.join(appDir, LOCALE_PATH))) {
|
|
133
|
+
const filePath = path.join(appDir, LOCALE_PATH, file);
|
|
134
|
+
const obj = JSON.parse((await readFile(filePath)).toString('utf8'));
|
|
135
|
+
const props = createProps(appName, obj);
|
|
136
|
+
const language = getLanguageFromFile(file);
|
|
137
|
+
const propFilePath = path.join(propsDir, `${language}.props`);
|
|
138
|
+
await writeFile(propFilePath, props);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fantomProps/createFin5Props/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import createFin5Props from '.';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
/*
|
|
5
|
+
* Copyright (c) 2022, J2 Innovations. All Rights Reserved
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Run the creation of the FIN5 properties as a script.
|
|
9
|
+
*/
|
|
10
|
+
console.log('Creating FIN5 property language files...');
|
|
11
|
+
createFin5Props(path.resolve(), path.resolve('locale')).then(() => console.log('Successfully completed property file creation'), (error) => console.error('Failed to create property file', error));
|
|
12
|
+
//# sourceMappingURL=runCreateFin5Props.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runCreateFin5Props.js","sourceRoot":"","sources":["../../../src/fantomProps/createFin5Props/runCreateFin5Props.ts"],"names":[],"mappings":";AAEA,OAAO,eAAe,MAAM,GAAG,CAAA;AAC/B,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB;;GAEG;AAEH;;GAEG;AAEH,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAA;AACvD,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAC3D,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,EAClE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CACjE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fantomPropsToObject.js","sourceRoot":"","sources":["../../src/fantomProps/fantomPropsToObject.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fantomPropsToObject.js","sourceRoot":"","sources":["../../src/fantomProps/fantomPropsToObject.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateJsonFromFantomPropsFile.js","sourceRoot":"","sources":["../../src/fantomProps/generateJsonFromFantomPropsFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AAEvD;;GAEG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,+BAA+B,CAC5D,SAAS,GAAG,oBAAoB,EAChC,UAAU,GAAG,uBAAuB;IAEpC,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAA;IAEnD,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AACjE,CAAC"}
|
|
1
|
+
{"version":3,"file":"generateJsonFromFantomPropsFile.js","sourceRoot":"","sources":["../../src/fantomProps/generateJsonFromFantomPropsFile.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AAEvD;;GAEG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,+BAA+B,CAC5D,SAAS,GAAG,oBAAoB,EAChC,UAAU,GAAG,uBAAuB;IAEpC,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAA;IAEnD,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AACjE,CAAC"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2022, J2 Innovations. All Rights Reserved
|
|
3
|
+
*/
|
|
1
4
|
import * as fs from 'fs';
|
|
2
5
|
import readFantomPropsFile from './readFantomPropsFile';
|
|
3
6
|
export default async function localePropsToJson(inputPath = '../locale/en.props', outputPath = './src/localeKeys.json', includeOnlyPrefixedBy = '') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localePropsToJson.js","sourceRoot":"","sources":["../../src/fantomProps/localePropsToJson.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AAEvD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,iBAAiB,CAC9C,SAAS,GAAG,oBAAoB,EAChC,UAAU,GAAG,uBAAuB,EACpC,qBAAqB,GAAG,EAAE;IAE1B,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAA;IAElD,IAAI,UAAU,CAAA;IACd,IAAI,qBAAqB,EAAE;QAC1B,UAAU,GAAG,MAAM,CAAC,WAAW,CAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;aAChB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;aACtD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;YACb,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;YAC3D,GAAG;SACH,CAAC,CACH,CAAA;KACD;SAAM;QACN,UAAU,GAAG,MAAM,CAAC,WAAW,CAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAChE,CAAA;KACD;IAED,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AACrE,CAAC"}
|
|
1
|
+
{"version":3,"file":"localePropsToJson.js","sourceRoot":"","sources":["../../src/fantomProps/localePropsToJson.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AAEvD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,iBAAiB,CAC9C,SAAS,GAAG,oBAAoB,EAChC,UAAU,GAAG,uBAAuB,EACpC,qBAAqB,GAAG,EAAE;IAE1B,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAA;IAElD,IAAI,UAAU,CAAA;IACd,IAAI,qBAAqB,EAAE;QAC1B,UAAU,GAAG,MAAM,CAAC,WAAW,CAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;aAChB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;aACtD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;YACb,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;YAC3D,GAAG;SACH,CAAC,CACH,CAAA;KACD;SAAM;QACN,UAAU,GAAG,MAAM,CAAC,WAAW,CAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAChE,CAAA;KACD;IAED,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AACrE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readFantomPropsFile.js","sourceRoot":"","sources":["../../src/fantomProps/readFantomPropsFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,EAAE,gBAAgB,EAAS,MAAM,uBAAuB,CAAA;AAE/D;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,IAAY;IACvD,OAAO,IAAI,OAAO,CAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QAE5C,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE;YAC3B,MAAM,QAAQ,GAAG,GAAW,EAAE;gBAC7B,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;YACrC,CAAC,CAAA;YAED,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;gBACnC,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAClD,CAAC,CAAA;YAED,IAAI;gBACH,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;aAC/C;YAAC,OAAO,KAAK,EAAE;gBACf,MAAM,CAAC,KAAK,CAAC,CAAA;aACb;oBAAS;gBACT,IAAI;oBACH,UAAU,CAAC,KAAK,EAAE,CAAA;iBAClB;gBAAC,OAAO,GAAG,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;iBAClB;aACD;QACF,CAAC,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"readFantomPropsFile.js","sourceRoot":"","sources":["../../src/fantomProps/readFantomPropsFile.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,EAAE,gBAAgB,EAAS,MAAM,uBAAuB,CAAA;AAE/D;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,IAAY;IACvD,OAAO,IAAI,OAAO,CAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QAE5C,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE;YAC3B,MAAM,QAAQ,GAAG,GAAW,EAAE;gBAC7B,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;YACrC,CAAC,CAAA;YAED,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;gBACnC,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAClD,CAAC,CAAA;YAED,IAAI;gBACH,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;aAC/C;YAAC,OAAO,KAAK,EAAE;gBACf,MAAM,CAAC,KAAK,CAAC,CAAA;aACb;oBAAS;gBACT,IAAI;oBACH,UAAU,CAAC,KAAK,EAAE,CAAA;iBAClB;gBAAC,OAAO,GAAG,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;iBAClB;aACD;QACF,CAAC,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fin5Top.js","sourceRoot":"","sources":["../../src/fin5Top/fin5Top.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fin5Top.js","sourceRoot":"","sources":["../../src/fin5Top/fin5Top.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,gBAAgB;IACb,MAAM,CAAC,QAAQ,CAAgB;IAEvC,MAAM,KAAK,OAAO;QACjB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAA;IACzB,CAAC;IACD,MAAM,CAAC,UAAU,GAAG,CAAC,aAA0B,EAAkB,EAAE;QAClE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;YAChC,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,aAAa,CAAC;gBAC7C,CAAC,CAAE,MAAM,CAAC,GAA0B,CAAC,uEAAuE;gBAC5G,CAAC,CAAC,IAAI,CAAA;SACP;QACD,OAAO,IAAI,CAAC,QAAQ,CAAA;IACrB,CAAC,CAAA;;AAGF,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAA;AAErD,MAAM,CAAC,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAA;AAE/C,MAAM,UAAU,eAAe,CAAC,aAA0B;IACzD,IAAI;QACH,MAAM,EAAE,GAAG,EAAE,MAAM,CAAA;QACnB,IAAK,MAAM,CAAC,GAA0B,CAAC,QAAQ,EAAE;YAChD,OAAO,IAAI,CAAA;SACX;aAAM;YACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;SAC1C;KACD;IAAC,OAAO,GAAG,EAAE;QACb,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjB,aAAa,EAAE,EAAE,CAAA;QACjB,OAAO,KAAK,CAAA;KACZ;AACF,CAAC;AA8GD,MAAM,CAAN,IAAY,YAiBX;AAjBD,WAAY,YAAY;IACvB,+BAAe,CAAA;IACf,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IACjB,+BAAe,CAAA;IACf,mCAAmB,CAAA;IACnB,8CAA8B,CAAA;IAC9B,+BAAe,CAAA;IACf,uCAAuB,CAAA;IACvB,8CAA8B,CAAA;IAC9B,oCAAoB,CAAA;IACpB,wCAAwB,CAAA;IACxB,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;AACpB,CAAC,EAjBW,YAAY,KAAZ,YAAY,QAiBvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFin5BinUrl.js","sourceRoot":"","sources":["../../src/fin5Top/getFin5BinUrl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getFin5BinUrl.js","sourceRoot":"","sources":["../../src/fin5Top/getFin5BinUrl.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAQ,EAAU,EAAE,CACjD,eAAe,OAAO,EAAE,QAAQ,EAAE,WAAW,YAAY,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openFin5Alarm.js","sourceRoot":"","sources":["../../src/fin5Top/openFin5Alarm.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,SAAS;AACT,0EAA0E;AAE1E,OAAO,EAAE,OAAO,EAAa,MAAM,WAAW,CAAA;AAyB9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACvC,SAAS,EACT,MAAM,EACN,UAAU,GAAG,KAAK,GACJ,EAAiB,EAAE;IACjC,MAAM,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IAC5E,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAElC,IAAI,YAAY,GAAG,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,CAAA;IACxD,IAAI,MAAM,EAAE;QACX,YAAY,GAAG;YACd,GAAG,YAAY;YACf,GAAG,MAAM;SACT,CAAA;KACD;IAED,OAAO,EAAE,GAAG,EAAE,eAAe,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;AACxD,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"openFin5Alarm.js","sourceRoot":"","sources":["../../src/fin5Top/openFin5Alarm.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,0EAA0E;AAC1E,SAAS;AACT,0EAA0E;AAE1E,OAAO,EAAE,OAAO,EAAa,MAAM,WAAW,CAAA;AAyB9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACvC,SAAS,EACT,MAAM,EACN,UAAU,GAAG,KAAK,GACJ,EAAiB,EAAE;IACjC,MAAM,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IAC5E,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAElC,IAAI,YAAY,GAAG,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,CAAA;IACxD,IAAI,MAAM,EAAE;QACX,YAAY,GAAG;YACd,GAAG,YAAY;YACf,GAAG,MAAM;SACT,CAAA;KACD;IAED,OAAO,EAAE,GAAG,EAAE,eAAe,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;AACxD,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openFin5Historian.js","sourceRoot":"","sources":["../../src/fin5Top/openFin5Historian.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,YAAY;AACZ,0EAA0E;AAE1E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAMnC,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACxC,SAAyB,EACzB,IAAoB,EACJ,EAAE;IAClB,IAAI,OAAO,EAAE;QACZ,SAAS,IAAI,IAAI;YAChB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAC;YACvD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;QAC9D,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;KAClC;AACF,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"openFin5Historian.js","sourceRoot":"","sources":["../../src/fin5Top/openFin5Historian.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,0EAA0E;AAC1E,YAAY;AACZ,0EAA0E;AAE1E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAMnC,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACxC,SAAyB,EACzB,IAAoB,EACJ,EAAE;IAClB,IAAI,OAAO,EAAE;QACZ,SAAS,IAAI,IAAI;YAChB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAC;YACvD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;QAC9D,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;KAClC;AACF,CAAC,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Use a parameter in the hash of a custom app running in FIN 5 as state.
|
|
3
|
+
* @param name parameter name.
|
|
4
|
+
* @param initialState initial state used if the parameter is not defined.
|
|
5
|
+
* @returns the parameter value and a function to update it.
|
|
6
|
+
*/
|
|
7
|
+
export declare const useFin5AppURLHashParameter: (name: string, initialState?: string) => [string | undefined, (newValue: string) => void];
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2022, J2 Innovations. All Rights Reserved
|
|
3
|
+
*/
|
|
4
|
+
import { useEffect, useState } from 'react';
|
|
5
|
+
const IN_IFRAME = window !== top;
|
|
6
|
+
const getTop = () => window.top ?? window;
|
|
7
|
+
const getApp = () => getTop()?.app;
|
|
8
|
+
const getTopLocation = () => getTop().location;
|
|
9
|
+
const getFin5HashFrameParameters = () => new URLSearchParams(getTopLocation().hash.slice(1).split('?')[1]);
|
|
10
|
+
const getFin5FrameURL = () => getFin5HashFrameParameters().get('url');
|
|
11
|
+
const getPartialURLHashFragment = (url) => `#${url?.split('#')[1] ?? ''}`;
|
|
12
|
+
const getHash = () => {
|
|
13
|
+
return IN_IFRAME
|
|
14
|
+
? getPartialURLHashFragment(getFin5FrameURL())
|
|
15
|
+
: window.location.hash;
|
|
16
|
+
};
|
|
17
|
+
const fin5SkipHashUpdate = () => getApp()?.set('skipHashUpdate', true);
|
|
18
|
+
const setHash = (hash) => {
|
|
19
|
+
if (IN_IFRAME) {
|
|
20
|
+
fin5SkipHashUpdate()?.then(() => {
|
|
21
|
+
const frameParameters = getFin5HashFrameParameters();
|
|
22
|
+
frameParameters.set('url', frameParameters.get('url')?.split('#')[0] + '#' + hash);
|
|
23
|
+
getTopLocation().hash = `#${getTopLocation().hash.slice(1).split('?')[0]}?${frameParameters.toString()}`;
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
window.location.hash = hash;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
const getHashParameters = () => new URLSearchParams(getHash().slice(1));
|
|
31
|
+
/**
|
|
32
|
+
* Use a parameter in the hash of a custom app running in FIN 5 as state.
|
|
33
|
+
* @param name parameter name.
|
|
34
|
+
* @param initialState initial state used if the parameter is not defined.
|
|
35
|
+
* @returns the parameter value and a function to update it.
|
|
36
|
+
*/
|
|
37
|
+
export const useFin5AppURLHashParameter = (name, initialState) => {
|
|
38
|
+
const [paramValue, setParamValue] = useState(getHashParameters()?.get(name) ?? undefined);
|
|
39
|
+
const setHashParameter = (value) => {
|
|
40
|
+
const params = getHashParameters();
|
|
41
|
+
if (params.get(name) !== value) {
|
|
42
|
+
if (value === '' || value == null) {
|
|
43
|
+
params.delete(name);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
params?.set(name, value);
|
|
47
|
+
}
|
|
48
|
+
setHash(params?.toString());
|
|
49
|
+
setParamValue(value);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
useEffect(() => {
|
|
53
|
+
if (!getHashParameters()?.has(name) && initialState) {
|
|
54
|
+
setHashParameter(initialState);
|
|
55
|
+
}
|
|
56
|
+
}, []);
|
|
57
|
+
useEffect(() => {
|
|
58
|
+
const onHashChange = () => {
|
|
59
|
+
setParamValue(getHashParameters()?.get(name) ?? undefined);
|
|
60
|
+
};
|
|
61
|
+
getTop().addEventListener('hashchange', onHashChange);
|
|
62
|
+
return () => {
|
|
63
|
+
getTop().removeEventListener('hashchange', onHashChange);
|
|
64
|
+
};
|
|
65
|
+
}, []);
|
|
66
|
+
return [paramValue, setHashParameter];
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=useFin5AppURLHashParameter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFin5AppURLHashParameter.js","sourceRoot":"","sources":["../../src/fin5Top/useFin5AppURLHashParameter.ts"],"names":[],"mappings":"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"}
|
package/dist_es/index.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
export * from './fantomProps/fantomPropsToObject';
|
|
2
|
-
export * from './fantomProps/generateJsonFromFantomPropsFile';
|
|
3
|
-
export * from './fantomProps/readFantomPropsFile';
|
|
4
1
|
export * from './fin5Top/fin5Top';
|
|
5
2
|
export * from './fin5Top/getFin5BinUrl';
|
|
6
3
|
export * from './fin5Top/openFin5Alarm';
|
|
7
4
|
export * from './fin5Top/openFin5Historian';
|
|
5
|
+
export * from './fin5Top/useFin5AppURLHashParameter';
|
|
8
6
|
export * from './react/components/ErrorDisplayer';
|
|
7
|
+
export * from './react/components/ErrorBoundary';
|
|
8
|
+
export * from './react/components/Loader';
|
|
9
9
|
export * from './react/components/LoadingSpinner';
|
|
10
10
|
export * from './react/components/navigation/BasicLayout';
|
|
11
11
|
export * from './react/components/navigation/MenuPage';
|
|
12
12
|
export * from './react/components/navigation/Router';
|
|
13
|
+
export * from './react/app/Fin5AppContainer';
|
|
14
|
+
export * from './react/app/Fin5AppRootStore';
|
package/dist_es/index.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export * from './fantomProps/fantomPropsToObject';
|
|
5
|
-
export * from './fantomProps/generateJsonFromFantomPropsFile';
|
|
6
|
-
export * from './fantomProps/readFantomPropsFile';
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2022, J2 Innovations. All Rights Reserved
|
|
3
|
+
*/
|
|
7
4
|
//////////////////////////////////////////////////////////////////////////
|
|
8
5
|
// Fin5 APIs related modules
|
|
9
6
|
//////////////////////////////////////////////////////////////////////////
|
|
@@ -11,12 +8,20 @@ export * from './fin5Top/fin5Top';
|
|
|
11
8
|
export * from './fin5Top/getFin5BinUrl';
|
|
12
9
|
export * from './fin5Top/openFin5Alarm';
|
|
13
10
|
export * from './fin5Top/openFin5Historian';
|
|
11
|
+
export * from './fin5Top/useFin5AppURLHashParameter';
|
|
14
12
|
//////////////////////////////////////////////////////////////////////////
|
|
15
13
|
// React components
|
|
16
14
|
//////////////////////////////////////////////////////////////////////////
|
|
17
15
|
export * from './react/components/ErrorDisplayer';
|
|
16
|
+
export * from './react/components/ErrorBoundary';
|
|
17
|
+
export * from './react/components/Loader';
|
|
18
18
|
export * from './react/components/LoadingSpinner';
|
|
19
19
|
export * from './react/components/navigation/BasicLayout';
|
|
20
20
|
export * from './react/components/navigation/MenuPage';
|
|
21
21
|
export * from './react/components/navigation/Router';
|
|
22
|
+
//////////////////////////////////////////////////////////////////////////
|
|
23
|
+
// j2inn/app support for FIN5
|
|
24
|
+
//////////////////////////////////////////////////////////////////////////
|
|
25
|
+
export * from './react/app/Fin5AppContainer';
|
|
26
|
+
export * from './react/app/Fin5AppRootStore';
|
|
22
27
|
//# sourceMappingURL=index.js.map
|
package/dist_es/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,0EAA0E;AAC1E,4BAA4B;AAC5B,0EAA0E;AAE1E,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sCAAsC,CAAA;AAEpD,0EAA0E;AAC1E,mBAAmB;AACnB,0EAA0E;AAE1E,cAAc,mCAAmC,CAAA;AACjD,cAAc,kCAAkC,CAAA;AAChD,cAAc,2BAA2B,CAAA;AACzC,cAAc,mCAAmC,CAAA;AACjD,cAAc,2CAA2C,CAAA;AACzD,cAAc,wCAAwC,CAAA;AACtD,cAAc,sCAAsC,CAAA;AAEpD,0EAA0E;AAC1E,6BAA6B;AAC7B,0EAA0E;AAE1E,cAAc,8BAA8B,CAAA;AAC5C,cAAc,8BAA8B,CAAA"}
|
|
@@ -0,0 +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
|
+
};
|
|
@@ -0,0 +1,73 @@
|
|
|
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';
|
|
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
|
+
/**
|
|
19
|
+
* Creates a basic application container environment to run a view in FIN5.
|
|
20
|
+
*/
|
|
21
|
+
export const Fin5AppContainer = observer(({ children, appStore, client, project, theme = GenerateTheme(DEFAULT_THEME).light, }) => {
|
|
22
|
+
const [loading, setLoading] = useState(true);
|
|
23
|
+
const [loadingi18n, setLoadingi18n] = useState(true);
|
|
24
|
+
const rootStoreRef = useRef(null);
|
|
25
|
+
const rootStore = rootStoreRef.current ??
|
|
26
|
+
(rootStoreRef.current = new Fin5AppRootStore());
|
|
27
|
+
const [hashProjName] = useFin5AppURLHashParameter('projectName');
|
|
28
|
+
const containerProject = project || hashProjName || fin5Top?.finstack?.projectName || '';
|
|
29
|
+
const locale = fin5Top?.languageManager?.currentLang ?? navigator?.language;
|
|
30
|
+
rootStore.locale = locale;
|
|
31
|
+
if (!rootStore.allLocales.includes(locale)) {
|
|
32
|
+
rootStore.allLocales.push(locale);
|
|
33
|
+
}
|
|
34
|
+
const target = fin5Top?.app?.TargetRef?.() || '';
|
|
35
|
+
rootStore.target = target ? HRef.make(target).value : '';
|
|
36
|
+
const getClient = () => client ??
|
|
37
|
+
new Client({
|
|
38
|
+
base: new URL(window.location.href),
|
|
39
|
+
project: containerProject,
|
|
40
|
+
options: { headers: { accept: 'text/zinc' } },
|
|
41
|
+
});
|
|
42
|
+
const [containerClient, setContainerClient] = useState(getClient);
|
|
43
|
+
useEffect(() => {
|
|
44
|
+
setLoading(true);
|
|
45
|
+
const newClient = getClient();
|
|
46
|
+
setContainerClient(newClient);
|
|
47
|
+
// Load everything network wise before we load
|
|
48
|
+
// the application.
|
|
49
|
+
Promise.all([
|
|
50
|
+
newClient.ext.eval('finGetCurrentUser()'),
|
|
51
|
+
newClient.ext.loadDefs(),
|
|
52
|
+
]).then(([userGrid]) => {
|
|
53
|
+
rootStore.currentUser = userGrid.first;
|
|
54
|
+
setLoading(false);
|
|
55
|
+
});
|
|
56
|
+
}, [client, containerProject]);
|
|
57
|
+
return (<AppRootStoreContext.Provider value={rootStore}>
|
|
58
|
+
<AppStoreContext.Provider value={appStore}>
|
|
59
|
+
<ClientContext.Provider value={containerClient}>
|
|
60
|
+
<I18NProvider locale={locale} setLoading={setLoadingi18n}>
|
|
61
|
+
<ThemeProvider theme={theme}>
|
|
62
|
+
<Loader loading={loading || loadingi18n}>
|
|
63
|
+
<ErrorBoundary mode={"global" /* ErrorBoundaryMode.global */}>
|
|
64
|
+
{children}
|
|
65
|
+
</ErrorBoundary>
|
|
66
|
+
</Loader>
|
|
67
|
+
</ThemeProvider>
|
|
68
|
+
</I18NProvider>
|
|
69
|
+
</ClientContext.Provider>
|
|
70
|
+
</AppStoreContext.Provider>
|
|
71
|
+
</AppRootStoreContext.Provider>);
|
|
72
|
+
});
|
|
73
|
+
//# sourceMappingURL=Fin5AppContainer.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Fin5AppContainer.jsx","sourceRoot":"","sources":["../../../src/react/app/Fin5AppContainer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { AppRootStore, App, AppView, CustomHistory, AppAccessLevel } 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
|
+
constructor();
|
|
8
|
+
get app(): {
|
|
9
|
+
id: string;
|
|
10
|
+
name: string;
|
|
11
|
+
app: App;
|
|
12
|
+
view: AppView;
|
|
13
|
+
} | undefined;
|
|
14
|
+
get sidebar(): {
|
|
15
|
+
id: string;
|
|
16
|
+
name: string;
|
|
17
|
+
app: App;
|
|
18
|
+
view: AppView;
|
|
19
|
+
} | undefined;
|
|
20
|
+
readonly apps: App[];
|
|
21
|
+
project: string;
|
|
22
|
+
sidebarOpen: boolean;
|
|
23
|
+
open(): void;
|
|
24
|
+
openSidebar(): void;
|
|
25
|
+
locale: string;
|
|
26
|
+
allLocales: string[];
|
|
27
|
+
target: string;
|
|
28
|
+
targetSidebar: string;
|
|
29
|
+
readonly history: CustomHistory;
|
|
30
|
+
readonly historySidebar: CustomHistory;
|
|
31
|
+
currentUser: HDict | undefined;
|
|
32
|
+
postAppMessage(): void;
|
|
33
|
+
registerQuicklinks(): void;
|
|
34
|
+
unregisterQuicklinks(): void;
|
|
35
|
+
registerSidebars(): void;
|
|
36
|
+
unregisterSidebars(): void;
|
|
37
|
+
hasAppAccess: (_: string, access: AppAccessLevel) => boolean;
|
|
38
|
+
}
|