@codenotch/codenotch.react 1.0.82 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,4 @@
1
+ import type { ReactNode } from "react";
1
2
  import { ProjectManifest, IAppManifest } from "@codenotch/codenotch.core";
2
3
  import { ICodenotchSignal, IDisposable } from "./Misc";
3
4
 
@@ -134,7 +135,11 @@ export interface IProcessResult<T = any> {
134
135
  }
135
136
 
136
137
  /**
137
- * The Codenotch client API, obtained by calling `useCodenotch()`.
138
+ * The Codenotch client API.
139
+ *
140
+ * Obtained with the `useCodenotch()` hook in function components, through the
141
+ * `cn` prop injected by `withCodenotch()` in class components, or with the
142
+ * plain `getCodenotch()` function anywhere else (handlers, modules, services).
138
143
  *
139
144
  * It is the bridge between a React app and the Codenotch runtime: it starts
140
145
  * server-side BPMN processes, runs CNQL queries, translates i18n keys,
@@ -223,7 +228,7 @@ export interface ICodenotchApi {
223
228
  * </div>
224
229
  * );
225
230
  */
226
- readonly showDialog: (node: JSX.Element) => ICodenotchDialog;
231
+ readonly showDialog: (node: ReactNode) => ICodenotchDialog;
227
232
 
228
233
  /**
229
234
  * Fetch the text content of a file of the deployed Codenotch project.
@@ -273,6 +278,20 @@ export interface ICodenotchApi {
273
278
  readonly getAppManifest: () => IAppManifest | undefined;
274
279
  }
275
280
 
281
+ /**
282
+ * Props injected by the `withCodenotch()` higher-order component.
283
+ * Extend it in the props of a class component wrapped by `withCodenotch`.
284
+ *
285
+ * @example
286
+ * interface Props extends WithCodenotchProps { userId: string }
287
+ * class TodoList extends React.Component<Props> { ... }
288
+ * export default withCodenotch(TodoList);
289
+ */
290
+ export interface WithCodenotchProps {
291
+ /** The Codenotch client API; refreshed (new reference) whenever the environment changes. */
292
+ cn: ICodenotchApi;
293
+ }
294
+
276
295
  /**
277
296
  * Handle on a dialog opened with {@link ICodenotchApi.showDialog}.
278
297
  */
@@ -1,46 +0,0 @@
1
- import React from "react";
2
- import { SpaRenderStatus } from '@echino/echino.ui.framework/components/SpaBuilder/common/ISpaRenderProps';
3
- import type { ICodenotchEnv } from "../models/Codenotch";
4
- interface IAumlProps {
5
- /** The AUML (XML) application description to render. */
6
- value: string;
7
- /** When `true`, logs compilation and token-refresh details to the console. */
8
- verbose?: boolean;
9
- /** Codenotch environment; provides the i18n dictionaries injected into the AUML and the theme. */
10
- env?: ICodenotchEnv;
11
- }
12
- interface IAumlState {
13
- loaded: boolean;
14
- inspectorEnabled: boolean;
15
- }
16
- /**
17
- * Renders a legacy AUML (XML) application description inside a React app.
18
- *
19
- * Compiles the AUML with the environment's i18n variables, renders it through
20
- * the Echino SPA renderer, shows a loading overlay until completed, and keeps
21
- * the user's access token refreshed in the background.
22
- *
23
- * Relies on globals injected by the Codenotch runtime hosting page
24
- * (`serviceName`, `tenant`, `user`, `languages`, `appManifest`…) — it is not
25
- * usable outside a Codenotch-served application.
26
- */
27
- export declare class Auml extends React.Component<IAumlProps, IAumlState> {
28
- _refreshTokenTimer: NodeJS.Timeout | undefined;
29
- constructor(props: IAumlProps);
30
- componentDidMount(): void;
31
- registerRefreshToken(): void;
32
- componentWillUnmount(): void;
33
- progress(s: SpaRenderStatus): void;
34
- retrieveInputs(): {
35
- [k: string]: string;
36
- };
37
- getTimeToTokenExpiration(): number | null;
38
- getTimeToNewTokenExpiration(expirationDateTime: string): number;
39
- msToTime(ms: number): string;
40
- parseJwt(token: string): any;
41
- render(): React.JSX.Element;
42
- renderLoadingContent(): React.JSX.Element;
43
- refreshExpiredToken(): Promise<void>;
44
- }
45
- export {};
46
- //# sourceMappingURL=Auml.d.ts.map
@@ -1 +0,0 @@
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;AAE3G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASzD,UAAU,UAAU;IAChB,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kGAAkG;IAClG,GAAG,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,UAAU,UAAU;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;GAUG;AACH,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;IAoDN,oBAAoB;IAkBd,mBAAmB;CAoC5B"}
@@ -1,208 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Auml = void 0;
7
- const react_1 = __importDefault(require("react"));
8
- const SpaRenderWithBrowserRouter_1 = require("@echino/echino.ui.framework/components/SpaBuilder/SpaRender/SpaRenderWithBrowserRouter");
9
- const I18nUtils_1 = __importDefault(require("../utils/I18nUtils"));
10
- /**
11
- * Renders a legacy AUML (XML) application description inside a React app.
12
- *
13
- * Compiles the AUML with the environment's i18n variables, renders it through
14
- * the Echino SPA renderer, shows a loading overlay until completed, and keeps
15
- * the user's access token refreshed in the background.
16
- *
17
- * Relies on globals injected by the Codenotch runtime hosting page
18
- * (`serviceName`, `tenant`, `user`, `languages`, `appManifest`…) — it is not
19
- * usable outside a Codenotch-served application.
20
- */
21
- class Auml extends react_1.default.Component {
22
- constructor(props) {
23
- super(props);
24
- this.state = {
25
- loaded: false,
26
- inspectorEnabled: false
27
- };
28
- if (typeof user === 'undefined') {
29
- let globalObject = typeof window !== 'undefined' ? window : globalThis;
30
- globalObject['user'] = null; // Make sure user is defined
31
- }
32
- }
33
- componentDidMount() {
34
- this.registerRefreshToken();
35
- }
36
- registerRefreshToken() {
37
- try {
38
- // Setup a method to refresh our access token when it expires
39
- if (this._refreshTokenTimer) {
40
- clearTimeout(this._refreshTokenTimer);
41
- }
42
- if (user === null) {
43
- if (this.props.verbose === true) {
44
- console.log("No user found, will not refresh the token");
45
- }
46
- return;
47
- }
48
- let timeToExpireMs = this.getTimeToTokenExpiration();
49
- if (timeToExpireMs === null) {
50
- if (this.props.verbose === true) {
51
- console.log("No identity token found, attempting refreshing the token in 5 minutes");
52
- }
53
- this._refreshTokenTimer = setTimeout(() => this.refreshExpiredToken(), 5 * 60 * 1000);
54
- return;
55
- }
56
- if (timeToExpireMs <= 0) {
57
- // Refresh it immediatelty
58
- this.refreshExpiredToken();
59
- }
60
- else {
61
- this._refreshTokenTimer = setTimeout(() => this.refreshExpiredToken(), timeToExpireMs);
62
- }
63
- }
64
- catch (err) {
65
- console.warn("Could not setup token refresh timer: " + err);
66
- }
67
- }
68
- componentWillUnmount() {
69
- // Cleanup the refresh of the token
70
- if (this._refreshTokenTimer) {
71
- clearTimeout(this._refreshTokenTimer);
72
- }
73
- }
74
- progress(s) {
75
- //console.log('progessStatus ', s);
76
- if (s === 'completed') {
77
- this.setState({ loaded: true });
78
- }
79
- }
80
- // Get input from the query parameters in the url
81
- retrieveInputs() {
82
- return Object.fromEntries(new URLSearchParams(window.location.search).entries());
83
- }
84
- getTimeToTokenExpiration() {
85
- // The identity token is the only one we have access here on the client
86
- // We use it to know when the access token (which we can't read) will expire
87
- let identityToken = null;
88
- let identityTokenKey = `${tenant.name}IdToken=`;
89
- let cookies = document.cookie.split(';');
90
- for (let c of cookies) {
91
- if (c.trim().startsWith(identityTokenKey)) {
92
- identityToken = c.trim().slice(identityTokenKey.length);
93
- break;
94
- }
95
- }
96
- if (identityToken === null) {
97
- return null; // token not found
98
- }
99
- let identityTokenParsed = this.parseJwt(identityToken);
100
- let expires = identityTokenParsed.exp; // Timestamp in second since Unix epoch
101
- let timeToExpiresMs = expires * 1000 - new Date().getTime();
102
- let timeToExpireStr = this.msToTime(timeToExpiresMs);
103
- if (this.props.verbose === true) {
104
- console.log(`Token will expire at ${new Date(expires * 1000).toISOString()} (in ${timeToExpireStr}), setting up a timer to refresh it`);
105
- }
106
- // Refresh it a bit before the expiration (5 min)
107
- timeToExpiresMs -= 5 * 60 * 1000;
108
- return timeToExpiresMs;
109
- }
110
- getTimeToNewTokenExpiration(expirationDateTime) {
111
- let timeToExpiresMs = new Date(expirationDateTime).getTime() - new Date().getTime();
112
- // Refresh it a bit before the expiration (5 min)
113
- timeToExpiresMs -= 5 * 60 * 1000;
114
- return timeToExpiresMs;
115
- }
116
- msToTime(ms) {
117
- let seconds = Math.floor((ms / 1000) % 60), minutes = Math.floor((ms / (1000 * 60)) % 60), hours = Math.floor((ms / (1000 * 60 * 60)) % 24);
118
- let timeString = seconds + " seconds";
119
- if (minutes > 0) {
120
- timeString = minutes + " minutes " + timeString;
121
- }
122
- if (hours > 0) {
123
- timeString = hours + " hours " + timeString;
124
- }
125
- return timeString;
126
- }
127
- parseJwt(token) {
128
- var base64Url = token.split('.')[1];
129
- var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
130
- var jsonPayload = decodeURIComponent(window.atob(base64).split('').map(function (c) {
131
- return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
132
- }).join(''));
133
- return JSON.parse(jsonPayload);
134
- }
135
- render() {
136
- let inputs = this.retrieveInputs();
137
- let theme = this.props.env?.theme === "dark";
138
- let aumlManifest = null;
139
- try {
140
- let appManifestObj = JSON.parse(appManifest);
141
- aumlManifest = appManifestObj.auml;
142
- }
143
- catch { }
144
- let auml = this.props.value;
145
- if (this.props.env) {
146
- try {
147
- auml = I18nUtils_1.default.compileAuml(auml, this.props.env);
148
- if (this.props.verbose === true) {
149
- console.log("Compiled AUML with i18n variables: ", auml);
150
- console.log("i18n variables: ", this.props.env.i18n);
151
- }
152
- }
153
- catch (err) {
154
- console.error("Error compiling AUML with i18n variables: " + err);
155
- }
156
- }
157
- return react_1.default.createElement("div", { className: "app" },
158
- 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: [] }),
159
- !this.state.loaded &&
160
- react_1.default.createElement("div", { className: `app-loading ${this.props.env?.theme ?? 'light'}` },
161
- this.renderLoadingContent(),
162
- react_1.default.createElement("i", { className: "fas fa-circle-notch fa-spin" })));
163
- }
164
- renderLoadingContent() {
165
- try {
166
- //@ts-ignore
167
- let tenant = global.tenant;
168
- if (tenant.logoUrl) {
169
- return react_1.default.createElement("img", { src: tenant.logoUrl, alt: tenant.displayName });
170
- }
171
- else {
172
- return react_1.default.createElement("div", { className: 'app-loading-title' }, tenant.displayName);
173
- }
174
- }
175
- catch (e) {
176
- console.warn("Could not load tenant information: " + e);
177
- return react_1.default.createElement("div", { className: 'app-loading-title' }, "Loading...");
178
- }
179
- }
180
- async refreshExpiredToken() {
181
- console.log("Token will expire soon, requesting a new one...");
182
- // Using the refresh token we ask for a new access token using /portal/login/refresh
183
- // If the refresh token has also expired, we will be redirected to the login page
184
- let redirectUrl = window.location.href; // Where to send us back in case we need to be redirected to the login page
185
- let url = `${tenant.clusterUrl}/portal/login/refresh?redirectUrl=${encodeURIComponent(redirectUrl)}`;
186
- let response = await fetch(url); // For this request to work, we need to have a refresh token in the cookies
187
- if (response.ok) {
188
- // Setup next refresh
189
- let timeToExpireMs;
190
- try {
191
- let newTokenExpiration = await response.text();
192
- timeToExpireMs = this.getTimeToNewTokenExpiration(newTokenExpiration);
193
- }
194
- catch {
195
- timeToExpireMs = 2 * 60 * 60 * 1000; // refresh in 2 hours
196
- }
197
- console.log(`Refresh request ok, next refresh in ${this.msToTime(timeToExpireMs)}`);
198
- this._refreshTokenTimer = setTimeout(() => this.refreshExpiredToken(), timeToExpireMs);
199
- }
200
- else {
201
- let content = await response.text();
202
- console.error("Could not refresh the token", content);
203
- console.log("Retrying refreshing the token in 5 minutes...");
204
- this._refreshTokenTimer = setTimeout(() => this.refreshExpiredToken(), 5 * 60 * 1000);
205
- }
206
- }
207
- }
208
- exports.Auml = Auml;
@@ -1,46 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,126 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProjectManifestModels.d.ts","sourceRoot":"","sources":["../../src/models/ProjectManifestModels.ts"],"names":[],"mappings":"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"}
@@ -1,158 +0,0 @@
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;
@@ -1,7 +0,0 @@
1
- import { ICodenotchEnv } from "..";
2
- export default abstract class I18nUtils {
3
- static compileAuml(auml: string, env: ICodenotchEnv): string;
4
- private static revertI18n;
5
- private static injectI18n;
6
- }
7
- //# sourceMappingURL=I18nUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"I18nUtils.d.ts","sourceRoot":"","sources":["../../src/utils/I18nUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,aAAa,EAAgB,MAAM,IAAI,CAAC;AAEhE,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;IAkBzB,OAAO,CAAC,MAAM,CAAC,UAAU;CAsB5B"}