codenotch-react 1.0.59 → 1.0.61
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/components/Auml.d.ts +3 -2
- package/dist/components/Auml.d.ts.map +1 -1
- package/dist/components/Auml.js +42 -42
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +66 -49
- package/dist/models/Codenotch.d.ts +1 -0
- package/dist/models/Codenotch.d.ts.map +1 -1
- package/dist/utils/I18nUtils.d.ts +2 -1
- package/dist/utils/I18nUtils.d.ts.map +1 -1
- package/dist/utils/I18nUtils.js +4 -5
- package/package.json +1 -1
|
@@ -2,6 +2,7 @@ import React from "react";
|
|
|
2
2
|
import { SpaRenderStatus } from '@echino/echino.ui.framework/components/SpaBuilder/common/ISpaRenderProps';
|
|
3
3
|
interface IAumlProps {
|
|
4
4
|
value: string;
|
|
5
|
+
verbose?: boolean;
|
|
5
6
|
}
|
|
6
7
|
interface IAumlState {
|
|
7
8
|
loaded: boolean;
|
|
@@ -11,10 +12,9 @@ export declare class Auml extends React.Component<IAumlProps, IAumlState> {
|
|
|
11
12
|
_refreshTokenTimer: NodeJS.Timeout | undefined;
|
|
12
13
|
constructor(props: IAumlProps);
|
|
13
14
|
componentDidMount(): void;
|
|
15
|
+
registerRefreshToken(): void;
|
|
14
16
|
componentWillUnmount(): void;
|
|
15
17
|
progress(s: SpaRenderStatus): void;
|
|
16
|
-
getLogo(): React.JSX.Element;
|
|
17
|
-
getMode(theme: boolean | undefined): "light" | "dark";
|
|
18
18
|
retrieveInputs(): {
|
|
19
19
|
[k: string]: string;
|
|
20
20
|
};
|
|
@@ -23,6 +23,7 @@ export declare class Auml extends React.Component<IAumlProps, IAumlState> {
|
|
|
23
23
|
msToTime(ms: number): string;
|
|
24
24
|
parseJwt(token: string): any;
|
|
25
25
|
render(): React.JSX.Element;
|
|
26
|
+
renderLoadingContent(): React.JSX.Element;
|
|
26
27
|
refreshExpiredToken(): Promise<void>;
|
|
27
28
|
}
|
|
28
29
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Auml.d.ts","sourceRoot":"","sources":["../../src/components/Auml.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,0EAA0E,CAAC;
|
|
1
|
+
{"version":3,"file":"Auml.d.ts","sourceRoot":"","sources":["../../src/components/Auml.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,0EAA0E,CAAC;AAW3G,UAAU,UAAU;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,UAAU;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAED,qBAAa,IAAK,SAAQ,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;IAE7D,kBAAkB,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;gBAEnC,KAAK,EAAE,UAAU;IAa7B,iBAAiB;IAIjB,oBAAoB;IAoCpB,oBAAoB;IAOpB,QAAQ,CAAC,CAAC,EAAE,eAAe;IAS3B,cAAc;;;IAMd,wBAAwB,IAAI,MAAM,GAAG,IAAI;IAqCzC,2BAA2B,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM;IAO/D,QAAQ,CAAC,EAAE,EAAE,MAAM;IAmBnB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAUtB,MAAM;IAkDN,oBAAoB;IAkBd,mBAAmB;CAoC5B"}
|
package/dist/components/Auml.js
CHANGED
|
@@ -7,6 +7,7 @@ exports.Auml = void 0;
|
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
const SpaRenderWithBrowserRouter_1 = require("@echino/echino.ui.framework/components/SpaBuilder/SpaRender/SpaRenderWithBrowserRouter");
|
|
9
9
|
const I18nUtils_1 = __importDefault(require("../utils/I18nUtils"));
|
|
10
|
+
const __1 = require("..");
|
|
10
11
|
class Auml extends react_1.default.Component {
|
|
11
12
|
constructor(props) {
|
|
12
13
|
super(props);
|
|
@@ -14,20 +15,31 @@ class Auml extends react_1.default.Component {
|
|
|
14
15
|
loaded: false,
|
|
15
16
|
inspectorEnabled: false
|
|
16
17
|
};
|
|
18
|
+
if (typeof user === 'undefined') {
|
|
19
|
+
let globalObject = typeof window !== 'undefined' ? window : globalThis;
|
|
20
|
+
globalObject['user'] = null; // Make sure user is defined
|
|
21
|
+
}
|
|
17
22
|
}
|
|
18
23
|
componentDidMount() {
|
|
24
|
+
this.registerRefreshToken();
|
|
25
|
+
}
|
|
26
|
+
registerRefreshToken() {
|
|
19
27
|
try {
|
|
20
28
|
// Setup a method to refresh our access token when it expires
|
|
21
29
|
if (this._refreshTokenTimer) {
|
|
22
30
|
clearTimeout(this._refreshTokenTimer);
|
|
23
31
|
}
|
|
24
|
-
if (
|
|
25
|
-
|
|
32
|
+
if (user === null) {
|
|
33
|
+
if (this.props.verbose === true) {
|
|
34
|
+
console.log("No user found, will not refresh the token");
|
|
35
|
+
}
|
|
26
36
|
return;
|
|
27
37
|
}
|
|
28
38
|
let timeToExpireMs = this.getTimeToTokenExpiration();
|
|
29
39
|
if (timeToExpireMs === null) {
|
|
30
|
-
|
|
40
|
+
if (this.props.verbose === true) {
|
|
41
|
+
console.log("No identity token found, attempting refreshing the token in 5 minutes");
|
|
42
|
+
}
|
|
31
43
|
this._refreshTokenTimer = setTimeout(() => this.refreshExpiredToken(), 5 * 60 * 1000);
|
|
32
44
|
return;
|
|
33
45
|
}
|
|
@@ -55,25 +67,6 @@ class Auml extends react_1.default.Component {
|
|
|
55
67
|
this.setState({ loaded: true });
|
|
56
68
|
}
|
|
57
69
|
}
|
|
58
|
-
getLogo() {
|
|
59
|
-
//@ts-ignore
|
|
60
|
-
let tenant = global.tenant;
|
|
61
|
-
if (tenant.logoUrl) {
|
|
62
|
-
return react_1.default.createElement("img", { src: tenant.logoUrl, alt: tenant.displayName });
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
return react_1.default.createElement("div", { className: 'app-loading-title' }, tenant.displayName);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
getMode(theme) {
|
|
69
|
-
if (theme !== undefined) {
|
|
70
|
-
return theme ? 'dark' : 'light';
|
|
71
|
-
}
|
|
72
|
-
if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
|
73
|
-
return 'dark';
|
|
74
|
-
}
|
|
75
|
-
return 'light';
|
|
76
|
-
}
|
|
77
70
|
// Get input from the query parameters in the url
|
|
78
71
|
retrieveInputs() {
|
|
79
72
|
return Object.fromEntries(new URLSearchParams(window.location.search).entries());
|
|
@@ -97,7 +90,9 @@ class Auml extends react_1.default.Component {
|
|
|
97
90
|
let expires = identityTokenParsed.exp; // Timestamp in second since Unix epoch
|
|
98
91
|
let timeToExpiresMs = expires * 1000 - new Date().getTime();
|
|
99
92
|
let timeToExpireStr = this.msToTime(timeToExpiresMs);
|
|
100
|
-
|
|
93
|
+
if (this.props.verbose === true) {
|
|
94
|
+
console.log(`Token will expire at ${new Date(expires * 1000).toISOString()} (in ${timeToExpireStr}), setting up a timer to refresh it`);
|
|
95
|
+
}
|
|
101
96
|
// Refresh it a bit before the expiration (5 min)
|
|
102
97
|
timeToExpiresMs -= 5 * 60 * 1000;
|
|
103
98
|
return timeToExpiresMs;
|
|
@@ -127,24 +122,10 @@ class Auml extends react_1.default.Component {
|
|
|
127
122
|
}).join(''));
|
|
128
123
|
return JSON.parse(jsonPayload);
|
|
129
124
|
}
|
|
130
|
-
/*
|
|
131
|
-
export interface UserInfo {
|
|
132
|
-
|
|
133
|
-
id: string,
|
|
134
|
-
roles: string[],
|
|
135
|
-
groups: string[],
|
|
136
|
-
email: string,
|
|
137
|
-
firstName: string,
|
|
138
|
-
lastName: string
|
|
139
|
-
}
|
|
140
|
-
*/
|
|
141
125
|
render() {
|
|
142
|
-
//var clusterUrl = this.figureOutClusterUrl();
|
|
143
126
|
let inputs = this.retrieveInputs();
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
theme = inputs["_theme"].toLowerCase() === "dark";
|
|
147
|
-
}
|
|
127
|
+
const cn = (0, __1.useCodenotch)();
|
|
128
|
+
let theme = cn.env.theme === "dark";
|
|
148
129
|
let aumlManifest = null;
|
|
149
130
|
try {
|
|
150
131
|
let appManifestObj = JSON.parse(appManifest);
|
|
@@ -153,7 +134,10 @@ export interface UserInfo {
|
|
|
153
134
|
catch { }
|
|
154
135
|
let auml = this.props.value;
|
|
155
136
|
try {
|
|
156
|
-
auml = I18nUtils_1.default.compileAuml(auml);
|
|
137
|
+
auml = I18nUtils_1.default.compileAuml(auml, cn);
|
|
138
|
+
if (this.props.verbose === true) {
|
|
139
|
+
console.log("Compiled AUML with i18n variables: ", auml);
|
|
140
|
+
}
|
|
157
141
|
}
|
|
158
142
|
catch (err) {
|
|
159
143
|
console.error("Error compiling AUML with i18n variables: " + err);
|
|
@@ -161,10 +145,26 @@ export interface UserInfo {
|
|
|
161
145
|
return react_1.default.createElement("div", { className: "app" },
|
|
162
146
|
react_1.default.createElement(SpaRenderWithBrowserRouter_1.SpaRenderWithBrowserRouter, { appDescription: auml, tenant: tenant, serviceName: serviceName, packageVersions: packageVersions, user: user, languages: languages, onProgress: (s) => this.progress(s), input: inputs, theme: theme, manifest: aumlManifest, inspectorEnabled: this.state.inspectorEnabled, children: [] }),
|
|
163
147
|
!this.state.loaded &&
|
|
164
|
-
react_1.default.createElement("div", { className: `app-loading ${
|
|
165
|
-
this.
|
|
148
|
+
react_1.default.createElement("div", { className: `app-loading ${cn.env.theme ?? 'light'}` },
|
|
149
|
+
this.renderLoadingContent(),
|
|
166
150
|
react_1.default.createElement("i", { className: "fas fa-circle-notch fa-spin" })));
|
|
167
151
|
}
|
|
152
|
+
renderLoadingContent() {
|
|
153
|
+
try {
|
|
154
|
+
//@ts-ignore
|
|
155
|
+
let tenant = global.tenant;
|
|
156
|
+
if (tenant.logoUrl) {
|
|
157
|
+
return react_1.default.createElement("img", { src: tenant.logoUrl, alt: tenant.displayName });
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
return react_1.default.createElement("div", { className: 'app-loading-title' }, tenant.displayName);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
catch (e) {
|
|
164
|
+
console.warn("Could not load tenant information: " + e);
|
|
165
|
+
return react_1.default.createElement("div", { className: 'app-loading-title' }, "Loading...");
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
168
|
async refreshExpiredToken() {
|
|
169
169
|
console.log("Token will expire soon, requesting a new one...");
|
|
170
170
|
// Using the refresh token we ask for a new access token using /portal/login/refresh
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEpF,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,UAAU,MAAM,yBAAyB,CAAC;AAIjD,QAAA,MAAM,GAAG,EAAE,aAAkB,CAAC;AAM9B;;;;GAIG;AACH,iBAAS,IAAI,CAAC,YAAY,EAAE,GAAG,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEpF,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,UAAU,MAAM,yBAAyB,CAAC;AAIjD,QAAA,MAAM,GAAG,EAAE,aAAkB,CAAC;AAM9B;;;;GAIG;AACH,iBAAS,IAAI,CAAC,YAAY,EAAE,GAAG,GAAG,IAAI,CAyFrC;AAED,iBAAS,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAoCjD;AAED;;;GAGG;AACH,iBAAS,YAAY,IAAI,aAAa,CAkLrC;AAED,OAAO,EACH,GAAG,EACH,IAAI,EACJ,YAAY,EACZ,IAAI,EACJ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,IAAI,EACJ,UAAU,EACb,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -27,65 +27,82 @@ const MISSING_TENANT_NAME_ERROR = "Codenotch tenant name is not defined. Please
|
|
|
27
27
|
* @returns {void}
|
|
28
28
|
*/
|
|
29
29
|
function init(envVariables) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
globalObject[globalKey] = JSON.parse(envVariables[key]);
|
|
43
|
-
console.log(`Codenotch global variable ${globalKey} set!`);
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
else if (key.startsWith("i18n.")) {
|
|
47
|
-
// Special case
|
|
48
|
-
let parts = key.split("."); // i18n.someKey.fr
|
|
49
|
-
let language = parts[parts.length - 1]; // fr
|
|
50
|
-
let keyName = parts.slice(1, parts.length - 1).join("."); // someKey
|
|
51
|
-
i18nLanguages.add(language);
|
|
52
|
-
let value = `${envVariables[key]}`.trim();
|
|
53
|
-
if (value.startsWith('"') && value.endsWith('"')) {
|
|
54
|
-
// Parse like json
|
|
55
|
-
value = JSON.parse(value);
|
|
30
|
+
// Ensure envVariables is an object
|
|
31
|
+
if (typeof envVariables === 'object' && envVariables !== null) {
|
|
32
|
+
let i18nLanguages = new Set();
|
|
33
|
+
Object.keys(envVariables).forEach((key) => {
|
|
34
|
+
try {
|
|
35
|
+
if (key.startsWith('GLOBAL.')) {
|
|
36
|
+
// Global variable, we set it directly on the window object
|
|
37
|
+
let globalKey = key.substring('GLOBAL.'.length);
|
|
38
|
+
let globalObject = typeof window !== 'undefined' ? window : globalThis;
|
|
39
|
+
globalObject[globalKey] = JSON.parse(envVariables[key]);
|
|
40
|
+
console.log(`Codenotch global variable ${globalKey} set!`);
|
|
41
|
+
return;
|
|
56
42
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
43
|
+
else if (key.startsWith("i18n.")) {
|
|
44
|
+
// Special case
|
|
45
|
+
let parts = key.split("."); // i18n.someKey.fr
|
|
46
|
+
let language = parts[parts.length - 1]; // fr
|
|
47
|
+
let keyName = parts.slice(1, parts.length - 1).join("."); // someKey
|
|
48
|
+
i18nLanguages.add(language);
|
|
49
|
+
let value = `${envVariables[key]}`.trim();
|
|
50
|
+
if (value.startsWith('"') && value.endsWith('"')) {
|
|
51
|
+
// Parse like json
|
|
52
|
+
value = JSON.parse(value);
|
|
67
53
|
}
|
|
68
|
-
|
|
69
|
-
|
|
54
|
+
env.i18n = env.i18n ?? {};
|
|
55
|
+
env.i18n[language] = env.i18n[language] ?? {};
|
|
56
|
+
env.i18n[language][keyName] = value;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
env[key] = envVariables[key];
|
|
60
|
+
if (['appManifest', 'projectManifest'].includes(key)) {
|
|
61
|
+
// Must be Json
|
|
62
|
+
try {
|
|
63
|
+
env[key] = JSON.parse(envVariables[key]);
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
console.warn(`Codenotch environment variable ${key} is not a valid JSON string. Using raw value.`);
|
|
67
|
+
}
|
|
70
68
|
}
|
|
69
|
+
console.log(`Codenotch environment variable ${key} set to ${env[key]}`);
|
|
71
70
|
}
|
|
72
|
-
console.log(`Codenotch environment variable ${key} set to ${env[key]}`);
|
|
73
71
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
72
|
+
catch (error) {
|
|
73
|
+
console.error(`Error processing Codenotch environment variable ${key}:`, error);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
if (env.language === undefined) {
|
|
77
|
+
// If current language is not defined, we set it to the first language found in i18n
|
|
78
|
+
if (i18nLanguages.size > 0) {
|
|
79
|
+
env.language = Array.from(i18nLanguages)[0];
|
|
80
|
+
console.log(`Codenotch current language set to ${env.language}`);
|
|
81
|
+
}
|
|
84
82
|
}
|
|
85
83
|
}
|
|
84
|
+
// Instantiate SignalR for further use in the API
|
|
86
85
|
if (env.clusterUrl && env.serviceName) {
|
|
87
86
|
signalR = new SignalR_1.SignalR(env.clusterUrl, env.serviceName, false, env.accessToken);
|
|
88
87
|
}
|
|
88
|
+
// Get theme like AEC does
|
|
89
|
+
try {
|
|
90
|
+
let urlParams = Object.fromEntries(new URLSearchParams(window.location.search).entries());
|
|
91
|
+
if (urlParams["_theme"]) {
|
|
92
|
+
let theme = urlParams["_theme"].toLowerCase();
|
|
93
|
+
if (theme === "light" || theme === "dark") {
|
|
94
|
+
env.theme = theme;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
|
98
|
+
env.theme = 'dark';
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
env.theme = 'light';
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
}
|
|
89
106
|
}
|
|
90
107
|
function i18n(key, ...args) {
|
|
91
108
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Codenotch.d.ts","sourceRoot":"","sources":["../../src/models/Codenotch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAEzB,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,eAAe,CAAC,EAAE,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"Codenotch.d.ts","sourceRoot":"","sources":["../../src/models/Codenotch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAEzB,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,eAAe,CAAC,EAAE,eAAe,CAAC;IAGlC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;IAE5B,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1E,QAAQ,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3G,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,KAAK,gBAAgB,CAAC;IAC7D,QAAQ,CAAC,cAAc,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/E,QAAQ,CAAC,iBAAiB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7D,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9G,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;IACrD,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,YAAY,EAAE,MAAM,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,CAAC;IAC5B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,eAAe,CAAC;IACnD,QAAQ,CAAC,cAAc,EAAE,MAAM,mBAAmB,GAAG,SAAS,CAAC;CAClE;AAED,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,IAAI,CAAC;CACrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"I18nUtils.d.ts","sourceRoot":"","sources":["../../src/utils/I18nUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"I18nUtils.d.ts","sourceRoot":"","sources":["../../src/utils/I18nUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgB,MAAM,IAAI,CAAC;AAEjD,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,SAAS;WAErB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,MAAM;IAOnE,OAAO,CAAC,MAAM,CAAC,UAAU;CAqB5B"}
|
package/dist/utils/I18nUtils.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const __1 = require("..");
|
|
4
3
|
class I18nUtils {
|
|
5
|
-
static compileAuml(auml) {
|
|
6
|
-
auml = this.injectI18n(auml);
|
|
4
|
+
static compileAuml(auml, api) {
|
|
5
|
+
auml = this.injectI18n(auml, api);
|
|
7
6
|
return auml;
|
|
8
7
|
}
|
|
9
|
-
static injectI18n(auml) {
|
|
10
|
-
let i18n =
|
|
8
|
+
static injectI18n(auml, api) {
|
|
9
|
+
let i18n = api.env.i18n ?? {};
|
|
11
10
|
if (Object.keys(i18n).length === 0) {
|
|
12
11
|
// No i18n variables, return original auml
|
|
13
12
|
return auml;
|