codenotch-react 1.0.57 → 1.0.59

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.
@@ -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;AAS3G,UAAU,UAAU;IAChB,KAAK,EAAE,MAAM,CAAC;CACjB;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;IAQ7B,iBAAiB;IAmCjB,oBAAoB;IAQpB,QAAQ,CAAC,CAAC,EAAE,eAAe;IAO3B,OAAO;IAYP,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS;IAclC,cAAc;;;IAMd,wBAAwB,IAAI,MAAM,GAAG,IAAI;IAoCzC,2BAA2B,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM;IAO/D,QAAQ,CAAC,EAAE,EAAE,MAAM;IAmBnB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAsBtB,MAAM;IA2CA,mBAAmB;CAqC5B"}
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;AAU3G,UAAU,UAAU;IAChB,KAAK,EAAE,MAAM,CAAC;CACjB;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;IAQ7B,iBAAiB;IAmCjB,oBAAoB;IAQpB,QAAQ,CAAC,CAAC,EAAE,eAAe;IAO3B,OAAO;IAYP,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS;IAclC,cAAc;;;IAMd,wBAAwB,IAAI,MAAM,GAAG,IAAI;IAoCzC,2BAA2B,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM;IAO/D,QAAQ,CAAC,EAAE,EAAE,MAAM;IAmBnB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAsBtB,MAAM;IAoDA,mBAAmB;CAqC5B"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  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
+ const I18nUtils_1 = __importDefault(require("../utils/I18nUtils"));
9
10
  class Auml extends react_1.default.Component {
10
11
  constructor(props) {
11
12
  super(props);
@@ -150,8 +151,15 @@ export interface UserInfo {
150
151
  aumlManifest = appManifestObj.auml;
151
152
  }
152
153
  catch { }
154
+ let auml = this.props.value;
155
+ try {
156
+ auml = I18nUtils_1.default.compileAuml(auml);
157
+ }
158
+ catch (err) {
159
+ console.error("Error compiling AUML with i18n variables: " + err);
160
+ }
153
161
  return react_1.default.createElement("div", { className: "app" },
154
- react_1.default.createElement(SpaRenderWithBrowserRouter_1.SpaRenderWithBrowserRouter, { appDescription: this.props.value, 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: [] }),
162
+ 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: [] }),
155
163
  !this.state.loaded &&
156
164
  react_1.default.createElement("div", { className: `app-loading ${this.getMode(theme)}` },
157
165
  this.getLogo(),
@@ -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;AAO9B;;;;GAIG;AACH,iBAAS,IAAI,CAAC,YAAY,EAAE,GAAG,GAAG,IAAI,CAiDrC;AAED,iBAAS,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAoCjD;AAED;;;GAGG;AACH,iBAAS,YAAY,IAAI,aAAa,CAsKrC;AAED,OAAO,EACH,GAAG,EACH,IAAI,EACJ,YAAY,EACZ,IAAI,EACJ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,IAAI,EACJ,UAAU,EACb,CAAC"}
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,CAqErC;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
@@ -34,29 +34,46 @@ function init(envVariables) {
34
34
  // i18n.fr.somekey=some value
35
35
  let i18nLanguages = new Set();
36
36
  Object.keys(envVariables).forEach((key) => {
37
- if (key.startsWith("i18n.")) {
38
- // Special case
39
- let parts = key.split(".");
40
- let language = parts[1];
41
- let keyName = parts.slice(2).join(".");
42
- i18nLanguages.add(language);
43
- let keyValue = `${envVariables[key]}`.trim();
44
- if (keyValue.startsWith('"') && keyValue.endsWith('"')) {
45
- // Parse like json
46
- try {
47
- keyValue = JSON.parse(keyValue);
37
+ try {
38
+ if (key.startsWith('GLOBAL.')) {
39
+ // Global variable, we set it directly on the window object
40
+ let globalKey = key.substring('GLOBAL.'.length);
41
+ let globalObject = typeof window !== 'undefined' ? window : globalThis;
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);
48
56
  }
49
- catch (error) {
50
- console.warn(`Codenotch environment variable ${key} is not a valid JSON string. Using raw value.`);
57
+ env.i18n = env.i18n ?? {};
58
+ env.i18n[language] = env.i18n[language] ?? {};
59
+ env.i18n[language][keyName] = value;
60
+ }
61
+ else {
62
+ env[key] = envVariables[key];
63
+ if (['appManifest', 'projectManifest'].includes(key)) {
64
+ // Must be Json
65
+ try {
66
+ env[key] = JSON.parse(envVariables[key]);
67
+ }
68
+ catch (error) {
69
+ console.warn(`Codenotch environment variable ${key} is not a valid JSON string. Using raw value.`);
70
+ }
51
71
  }
72
+ console.log(`Codenotch environment variable ${key} set to ${env[key]}`);
52
73
  }
53
- env.i18n = env.i18n ?? {};
54
- env.i18n[language] = env.i18n[language] ?? {};
55
- env.i18n[language][keyName] = keyValue;
56
74
  }
57
- else {
58
- env[key] = envVariables[key];
59
- console.log(`Codenotch environment variable ${key} set to ${env[key]}`);
75
+ catch (error) {
76
+ console.error(`Error processing Codenotch environment variable ${key}:`, error);
60
77
  }
61
78
  });
62
79
  if (env.language === undefined) {
@@ -255,11 +272,23 @@ function useCodenotch() {
255
272
  return;
256
273
  env.language = lang;
257
274
  },
275
+ getLanguages: () => {
276
+ return env.projectManifest?.languages ?? [];
277
+ },
258
278
  getLanguage: () => {
259
279
  return env.language;
260
280
  },
261
281
  getTheme: () => {
262
282
  return env.theme;
283
+ },
284
+ getProjectManifest: () => {
285
+ if (env.projectManifest === undefined) {
286
+ throw new Error("Project manifest is not defined in Codenotch environment. Please set it in the Codenotch configuration.");
287
+ }
288
+ return env.projectManifest;
289
+ },
290
+ getAppManifest: () => {
291
+ return env.appManifest;
263
292
  }
264
293
  };
265
294
  }
@@ -0,0 +1,46 @@
1
+ export interface ApplicationManifest {
2
+ pwa?: PWAManifest;
3
+ html?: HTMLManifest;
4
+ auml?: AUMLManifest;
5
+ }
6
+ export interface HTMLManifest {
7
+ title?: string;
8
+ description?: string;
9
+ author?: string;
10
+ keywords?: string;
11
+ charset?: string;
12
+ }
13
+ export interface PWAManifest {
14
+ background_color?: string;
15
+ description?: string;
16
+ dir?: string;
17
+ display?: string;
18
+ icons?: PWAManifestIcon[];
19
+ lang?: string;
20
+ name?: string;
21
+ orientation?: string;
22
+ prefer_related_applications?: boolean;
23
+ related_applications?: PWAManifestRelatedApplications[];
24
+ scope?: string;
25
+ short_name?: string;
26
+ start_url?: string;
27
+ theme_color?: string;
28
+ shortcuts?: string;
29
+ display_override?: string[];
30
+ }
31
+ export interface PWAManifestIcon {
32
+ src?: string;
33
+ sizes?: string;
34
+ type?: string;
35
+ }
36
+ export interface PWAManifestRelatedApplications {
37
+ platform?: string;
38
+ url?: string;
39
+ id?: string;
40
+ }
41
+ export interface AUMLManifest {
42
+ name?: string;
43
+ description?: string;
44
+ logoURL?: string;
45
+ }
46
+ //# sourceMappingURL=AppManifestModels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppManifestModels.d.ts","sourceRoot":"","sources":["../../src/models/AppManifestModels.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,mBAAmB;IAChC,GAAG,CAAC,EAAE,WAAW,CAAC;IAElB,IAAI,CAAC,EAAE,YAAY,CAAC;IAEpB,IAAI,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,oBAAoB,CAAC,EAAE,8BAA8B,EAAE,CAAC;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,8BAA8B;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,4 +1,6 @@
1
+ import { ProjectManifest } from "./ProjectManifestModels";
1
2
  import { ICodenotchSignal, IDisposable, IProcessResult } from "./Misc";
3
+ import { ApplicationManifest } from "./AppManifestModels";
2
4
  export interface ICodenotchEnv {
3
5
  appName?: string;
4
6
  clusterUrl?: string;
@@ -13,6 +15,8 @@ export interface ICodenotchEnv {
13
15
  };
14
16
  language?: string;
15
17
  theme?: 'light' | 'dark';
18
+ appManifest?: ApplicationManifest;
19
+ projectManifest?: ProjectManifest;
16
20
  }
17
21
  export interface ICodenotchApi {
18
22
  readonly env: ICodenotchEnv;
@@ -26,10 +30,13 @@ export interface ICodenotchApi {
26
30
  readonly getTheme: () => 'light' | 'dark' | undefined;
27
31
  readonly setLanguage: (lang: string) => void;
28
32
  readonly getLanguage: () => string | undefined;
33
+ readonly getLanguages: () => string[];
29
34
  readonly getUrlParams: () => {
30
35
  [key: string]: string;
31
36
  };
32
37
  readonly uuid: () => string;
38
+ readonly getProjectManifest: () => ProjectManifest;
39
+ readonly getAppManifest: () => ApplicationManifest | undefined;
33
40
  }
34
41
  export interface ICodenotchDialog {
35
42
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Codenotch.d.ts","sourceRoot":"","sources":["../../src/models/Codenotch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAEvE,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;CAC5B;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;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,IAAI,CAAC;CACrB"}
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;CACrC;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"}
@@ -0,0 +1,126 @@
1
+ import { JSONSchema7 } from "json-schema";
2
+ export declare class ProjectManifest {
3
+ projectName: string;
4
+ serviceName: string;
5
+ version: string;
6
+ index?: string;
7
+ packages: {
8
+ [packageSource: string]: string;
9
+ };
10
+ apis: ProjectManifestApi[];
11
+ languages?: string[];
12
+ dependencies?: (ProjectManifestDependency | string)[];
13
+ applications: ProjectManifestApplication[];
14
+ reactApplications: ProjectManifestReactApplication[] | undefined;
15
+ expressComponents: ProjectManifestExpressComponent[] | undefined;
16
+ scripts: ProjectManifestScript[] | undefined;
17
+ pdfs: ProjectManifestPdf[] | undefined;
18
+ emails: ProjectManifestEmail[] | undefined;
19
+ htmls: ProjectManifestHtml[] | undefined;
20
+ processes: ProjectManifestProcess[];
21
+ tableDataSources: ProjectManifestDatastore[];
22
+ documentDataSources: ProjectManifestDatastore[];
23
+ roles: ProjectManifestRole[];
24
+ postInstallationProcesses?: ProjectManifestPostInstallationProcess[];
25
+ constructor();
26
+ }
27
+ export declare class ProjectManifestPostInstallationProcess {
28
+ processName: string;
29
+ startEvent: string;
30
+ }
31
+ export declare class ProjectManifestDependency {
32
+ name: string;
33
+ version?: string;
34
+ }
35
+ export declare class ProjectManifestRole {
36
+ name: string;
37
+ description: string;
38
+ }
39
+ export declare class ProjectManifestDatastore {
40
+ name: string;
41
+ file: string;
42
+ ttlMinutes?: number;
43
+ constructor();
44
+ }
45
+ export declare class ProjectManifestProcess {
46
+ processName: string;
47
+ file: string;
48
+ startEvents: ProjectManifestProcessStartEvent[];
49
+ endEvent: JSONSchema7;
50
+ signals: ProjectManigestSignal[];
51
+ priority?: "immediate" | "high" | "medium" | "low";
52
+ minThreads?: number;
53
+ maxThreads?: number;
54
+ constructor();
55
+ }
56
+ export declare class ProjectManigestSignal {
57
+ signalId: string;
58
+ type: string;
59
+ }
60
+ export declare class ProjectManifestProcessStartEvent {
61
+ nodeId: string;
62
+ kind: string;
63
+ scope: string;
64
+ roles: string[];
65
+ input: JSONSchema7;
66
+ constructor();
67
+ }
68
+ export declare class ProjectManifestReactApplication {
69
+ applicationName: string;
70
+ file: string;
71
+ scope: string;
72
+ roles: string[];
73
+ constructor();
74
+ }
75
+ export declare class ProjectManifestApplication {
76
+ applicationName: string;
77
+ file: string;
78
+ scope: string;
79
+ roles: string[];
80
+ constructor();
81
+ }
82
+ export declare class ProjectManifestPdf {
83
+ name: string;
84
+ file: string;
85
+ constructor();
86
+ }
87
+ export declare class ProjectManifestEmail {
88
+ name: string;
89
+ file: string;
90
+ constructor();
91
+ }
92
+ export declare class ProjectManifestHtml {
93
+ name: string;
94
+ file: string;
95
+ constructor();
96
+ }
97
+ export declare class ProjectManifestExpressComponent {
98
+ componentName: string;
99
+ file: string;
100
+ constructor();
101
+ }
102
+ export declare class ProjectManifestScript {
103
+ file: string;
104
+ constructor();
105
+ }
106
+ export declare class ProjectManifestApplicationInsight {
107
+ key: string;
108
+ constructor();
109
+ }
110
+ export declare class ProjectManifestApi {
111
+ path: string;
112
+ method: string;
113
+ bpmn: string;
114
+ startNode: string;
115
+ accept: string;
116
+ priority?: "immediate" | "high" | "medium" | "low";
117
+ minThreads?: number;
118
+ maxThreads?: number;
119
+ constructor();
120
+ }
121
+ export declare class ProjectManifestParameter {
122
+ key: string;
123
+ value: string;
124
+ constructor();
125
+ }
126
+ //# sourceMappingURL=ProjectManifestModels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectManifestModels.d.ts","sourceRoot":"","sources":["../../src/models/ProjectManifestModels.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProjectManifestParameter = exports.ProjectManifestApi = exports.ProjectManifestApplicationInsight = exports.ProjectManifestScript = exports.ProjectManifestExpressComponent = exports.ProjectManifestHtml = exports.ProjectManifestEmail = exports.ProjectManifestPdf = exports.ProjectManifestApplication = exports.ProjectManifestReactApplication = exports.ProjectManifestProcessStartEvent = exports.ProjectManigestSignal = exports.ProjectManifestProcess = exports.ProjectManifestDatastore = exports.ProjectManifestRole = exports.ProjectManifestDependency = exports.ProjectManifestPostInstallationProcess = exports.ProjectManifest = void 0;
4
+ class ProjectManifest {
5
+ constructor() {
6
+ this.projectName = '';
7
+ this.serviceName = '';
8
+ this.version = '0.0.0';
9
+ this.packages = {};
10
+ this.apis = [];
11
+ this.applications = [];
12
+ this.expressComponents = [];
13
+ this.scripts = [];
14
+ this.pdfs = [];
15
+ this.emails = [];
16
+ this.htmls = [];
17
+ this.processes = [];
18
+ this.tableDataSources = [];
19
+ this.documentDataSources = [];
20
+ this.roles = [];
21
+ this.languages = [];
22
+ this.postInstallationProcesses = [];
23
+ }
24
+ }
25
+ exports.ProjectManifest = ProjectManifest;
26
+ class ProjectManifestPostInstallationProcess {
27
+ constructor() {
28
+ this.processName = '';
29
+ this.startEvent = '';
30
+ }
31
+ ;
32
+ ;
33
+ }
34
+ exports.ProjectManifestPostInstallationProcess = ProjectManifestPostInstallationProcess;
35
+ class ProjectManifestDependency {
36
+ constructor() {
37
+ this.name = '';
38
+ this.version = '';
39
+ //TODO more options ? optional dependency, auto install, ...
40
+ }
41
+ }
42
+ exports.ProjectManifestDependency = ProjectManifestDependency;
43
+ class ProjectManifestRole {
44
+ constructor() {
45
+ this.name = '';
46
+ this.description = '';
47
+ }
48
+ }
49
+ exports.ProjectManifestRole = ProjectManifestRole;
50
+ class ProjectManifestDatastore {
51
+ constructor() {
52
+ this.name = '';
53
+ this.file = '';
54
+ }
55
+ }
56
+ exports.ProjectManifestDatastore = ProjectManifestDatastore;
57
+ class ProjectManifestProcess {
58
+ constructor() {
59
+ this.processName = '';
60
+ this.file = '';
61
+ this.startEvents = [];
62
+ this.endEvent = {};
63
+ this.signals = [];
64
+ }
65
+ }
66
+ exports.ProjectManifestProcess = ProjectManifestProcess;
67
+ class ProjectManigestSignal {
68
+ constructor() {
69
+ this.signalId = '';
70
+ this.type = '';
71
+ }
72
+ }
73
+ exports.ProjectManigestSignal = ProjectManigestSignal;
74
+ class ProjectManifestProcessStartEvent {
75
+ constructor() {
76
+ this.nodeId = '';
77
+ this.kind = '';
78
+ this.scope = '';
79
+ this.roles = [];
80
+ this.input = {};
81
+ }
82
+ }
83
+ exports.ProjectManifestProcessStartEvent = ProjectManifestProcessStartEvent;
84
+ class ProjectManifestReactApplication {
85
+ constructor() {
86
+ this.applicationName = '';
87
+ this.file = '';
88
+ this.scope = '';
89
+ this.roles = [];
90
+ }
91
+ }
92
+ exports.ProjectManifestReactApplication = ProjectManifestReactApplication;
93
+ class ProjectManifestApplication {
94
+ constructor() {
95
+ this.applicationName = '';
96
+ this.file = '';
97
+ this.scope = '';
98
+ this.roles = [];
99
+ }
100
+ }
101
+ exports.ProjectManifestApplication = ProjectManifestApplication;
102
+ class ProjectManifestPdf {
103
+ constructor() {
104
+ this.name = '';
105
+ this.file = '';
106
+ }
107
+ }
108
+ exports.ProjectManifestPdf = ProjectManifestPdf;
109
+ class ProjectManifestEmail {
110
+ constructor() {
111
+ this.name = '';
112
+ this.file = '';
113
+ }
114
+ }
115
+ exports.ProjectManifestEmail = ProjectManifestEmail;
116
+ class ProjectManifestHtml {
117
+ constructor() {
118
+ this.name = '';
119
+ this.file = '';
120
+ }
121
+ }
122
+ exports.ProjectManifestHtml = ProjectManifestHtml;
123
+ class ProjectManifestExpressComponent {
124
+ constructor() {
125
+ this.componentName = '';
126
+ this.file = '';
127
+ }
128
+ }
129
+ exports.ProjectManifestExpressComponent = ProjectManifestExpressComponent;
130
+ class ProjectManifestScript {
131
+ constructor() {
132
+ this.file = '';
133
+ }
134
+ }
135
+ exports.ProjectManifestScript = ProjectManifestScript;
136
+ class ProjectManifestApplicationInsight {
137
+ constructor() {
138
+ this.key = '';
139
+ }
140
+ }
141
+ exports.ProjectManifestApplicationInsight = ProjectManifestApplicationInsight;
142
+ class ProjectManifestApi {
143
+ constructor() {
144
+ this.path = '';
145
+ this.method = '';
146
+ this.bpmn = '';
147
+ this.startNode = '';
148
+ this.accept = '';
149
+ }
150
+ }
151
+ exports.ProjectManifestApi = ProjectManifestApi;
152
+ class ProjectManifestParameter {
153
+ constructor() {
154
+ this.key = '';
155
+ this.value = '';
156
+ }
157
+ }
158
+ exports.ProjectManifestParameter = ProjectManifestParameter;
@@ -0,0 +1,5 @@
1
+ export default abstract class I18nUtils {
2
+ static compileAuml(auml: string): string;
3
+ private static injectI18n;
4
+ }
5
+ //# sourceMappingURL=I18nUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"I18nUtils.d.ts","sourceRoot":"","sources":["../../src/utils/I18nUtils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,SAAS;WAErB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAO/C,OAAO,CAAC,MAAM,CAAC,UAAU;CAqB5B"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const __1 = require("..");
4
+ class I18nUtils {
5
+ static compileAuml(auml) {
6
+ auml = this.injectI18n(auml);
7
+ return auml;
8
+ }
9
+ static injectI18n(auml) {
10
+ let i18n = (0, __1.useCodenotch)().env.i18n ?? {};
11
+ if (Object.keys(i18n).length === 0) {
12
+ // No i18n variables, return original auml
13
+ return auml;
14
+ }
15
+ // Obtain the root tag of the file
16
+ let match = auml.match(/<([^!\r\n\t\f\v> ]+)/);
17
+ if (!match) {
18
+ return auml;
19
+ }
20
+ let rootTag = match[1];
21
+ auml = auml.replace(`</${rootTag}>`, `<${rootTag}.I18n><![CDATA[${JSON.stringify(i18n)}]]></${rootTag}.I18n></${rootTag}>`);
22
+ return auml;
23
+ }
24
+ }
25
+ exports.default = I18nUtils;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codenotch-react",
3
- "version": "1.0.57",
3
+ "version": "1.0.59",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "author": "Codenotch SA",
@@ -24,6 +24,7 @@
24
24
  "@types/react": "^16.14.69",
25
25
  "@types/react-dom": "^16.9.25",
26
26
  "@types/uuid": "8.0.0",
27
+ "@types/json-schema": "^7.0.6",
27
28
  "react-dom": "^16.14.0",
28
29
  "typescript": "^5.9.3"
29
30
  },