@finos/legend-application 16.0.0 → 16.0.2
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/lib/application/LegendApplication.d.ts +4 -1
- package/lib/application/LegendApplication.d.ts.map +1 -1
- package/lib/application/LegendApplication.js +5 -5
- package/lib/application/LegendApplication.js.map +1 -1
- package/lib/components/BrowserEnvironmentProvider.d.ts.map +1 -1
- package/lib/components/BrowserEnvironmentProvider.js +9 -6
- package/lib/components/BrowserEnvironmentProvider.js.map +1 -1
- package/lib/components/__test-utils__/BrowserEnvironmentTestUtils.d.ts +1 -4
- package/lib/components/__test-utils__/BrowserEnvironmentTestUtils.d.ts.map +1 -1
- package/lib/components/__test-utils__/BrowserEnvironmentTestUtils.js +22 -9
- package/lib/components/__test-utils__/BrowserEnvironmentTestUtils.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/package.json +7 -8
- package/lib/stores/LegendApplicationPlugin.d.ts +1 -1
- package/lib/stores/LegendApplicationPlugin.d.ts.map +1 -1
- package/lib/stores/navigation/BrowserNavigator.d.ts +6 -11
- package/lib/stores/navigation/BrowserNavigator.d.ts.map +1 -1
- package/lib/stores/navigation/BrowserNavigator.js +19 -10
- package/lib/stores/navigation/BrowserNavigator.js.map +1 -1
- package/lib/stores/platform/BrowserPlatform.d.ts +3 -2
- package/lib/stores/platform/BrowserPlatform.d.ts.map +1 -1
- package/lib/stores/platform/BrowserPlatform.js +1 -1
- package/lib/stores/platform/BrowserPlatform.js.map +1 -1
- package/package.json +10 -11
- package/src/application/LegendApplication.ts +7 -7
- package/src/components/BrowserEnvironmentProvider.tsx +14 -7
- package/src/components/__test-utils__/BrowserEnvironmentTestUtils.tsx +27 -12
- package/src/stores/LegendApplicationPlugin.ts +1 -1
- package/src/stores/navigation/BrowserNavigator.ts +22 -22
- package/src/stores/platform/BrowserPlatform.ts +3 -3
|
@@ -67,7 +67,10 @@ export declare abstract class LegendApplication {
|
|
|
67
67
|
withDownloadHelper(path?: string | undefined): LegendApplication;
|
|
68
68
|
withReleaseNotes(releaseNotes: VersionReleaseNotes[]): LegendApplication;
|
|
69
69
|
setupApplicationStore(store: GenericLegendApplicationStore): void;
|
|
70
|
-
fetchApplicationConfiguration(
|
|
70
|
+
fetchApplicationConfiguration(): Promise<[
|
|
71
|
+
LegendApplicationConfig,
|
|
72
|
+
ExtensionsConfigurationData
|
|
73
|
+
]>;
|
|
71
74
|
loadDocumentationRegistryData(config: LegendApplicationConfig): Promise<void>;
|
|
72
75
|
protected abstract configureApplication(input: LegendApplicationConfigurationInput<LegendApplicationConfigurationData>): Promise<LegendApplicationConfig>;
|
|
73
76
|
protected abstract loadApplication(applicationStore: ApplicationStore<LegendApplicationConfig, LegendApplicationPluginManager<LegendApplicationPlugin>>): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendApplication.d.ts","sourceRoot":"","sources":["../../src/application/LegendApplication.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"LegendApplication.d.ts","sourceRoot":"","sources":["../../src/application/LegendApplication.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,kCAAkC,EAClC,4BAA4B,EAC7B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,cAAc,EAEnB,QAAQ,EAKR,KAAK,2BAA2B,EAEjC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAC1F,OAAO,EAEL,KAAK,sBAAsB,EAG5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EACL,gBAAgB,EAChB,KAAK,6BAA6B,EACnC,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,8BAAsB,uBAAuB;IAC3C,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IACzD,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IACxD,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IACxD,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAC1D;AAED,qBAAa,2BAA4B,SAAQ,uBAAuB;IACtE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAQhD,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAQ/C,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAQ/C,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAOjD;AAED,MAAM,WAAW,mCAAmC,CAClD,CAAC,SAAS,kCAAkC;IAE5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,CAAC,CAAC;IACd,WAAW,EAAE,4BAA4B,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;CACrD;AAED,8BAAsB,iBAAiB;IACrC,SAAS,CAAC,MAAM,EAAG,uBAAuB,CAAC;IAC3C,SAAS,CAAC,MAAM,EAAG,uBAAuB,CAAC;IAE3C,SAAS,CAAC,aAAa,EAAE,8BAA8B,CAAC,uBAAuB,CAAC,CAAC;IACjF,SAAS,CAAC,WAAW,EAAE,cAAc,EAAE,CAAM;IAC7C,SAAS,CAAC,WAAW,EAAE,cAAc,EAAE,CAAM;IAE7C,SAAS,CAAC,WAAW,EAAG,MAAM,CAAC;IAC/B,SAAS,CAAC,cAAc,CAAC,EACrB,CAAC,CACC,aAAa,EAAE,8BAA8B,CAAC,uBAAuB,CAAC,EACtE,MAAM,EAAE,uBAAuB,KAC5B,IAAI,CAAC,GACV,SAAS,CAAC;IACd,SAAS,CAAC,aAAa,UAAS;IAEhC,SAAS,CAAC,+BAA+B,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9D,SAAS,CAAC,cAAc,UAAS;IAEjC,SAAS,CAAC,YAAY,EAAE,mBAAmB,EAAE,GAAG,SAAS,CAAC;IAE1D,SAAS,aACP,aAAa,EAAE,8BAA8B,CAAC,uBAAuB,CAAC;IAMxE,KAAK,CAAC,OAAO,EAAE;QACb,0DAA0D;QAC1D,WAAW,EAAE,MAAM,CAAC;QACpB;;;WAGG;QACH,cAAc,CAAC,EAAE,CACf,aAAa,EAAE,8BAA8B,CAAC,uBAAuB,CAAC,EACtE,MAAM,EAAE,uBAAuB,KAC5B,IAAI,CAAC;KACX,GAAG,iBAAiB;IAUrB,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,iBAAiB;IAKvE,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,iBAAiB;IAKvE,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,iBAAiB;IAKzD,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,iBAAiB;IAKzD,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,iBAAiB;IAMhE,gBAAgB,CAAC,YAAY,EAAE,mBAAmB,EAAE,GAAG,iBAAiB;IAKxE,qBAAqB,CAAC,KAAK,EAAE,6BAA6B,GAAG,IAAI;IAM3D,6BAA6B,IAAI,OAAO,CAC5C;QAAC,uBAAuB;QAAE,2BAA2B;KAAC,CACvD;IA8CK,6BAA6B,CACjC,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,IAAI,CAAC;IAmEhB,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CACrC,KAAK,EAAE,mCAAmC,CAAC,kCAAkC,CAAC,GAC7E,OAAO,CAAC,uBAAuB,CAAC;IAEnC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAChC,gBAAgB,EAAE,gBAAgB,CAChC,uBAAuB,EACvB,8BAA8B,CAAC,uBAAuB,CAAC,CACxD,GACA,OAAO,CAAC,IAAI,CAAC;IAEV,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CA0D7B;AAED,eAAO,MAAM,mCAAmC,4BAA4B,CAAC;AAG7E,eAAO,MAAM,yBAAyB,QAAO,OAY5C,CAAC"}
|
|
@@ -90,12 +90,12 @@ export class LegendApplication {
|
|
|
90
90
|
store.releaseNotesService.configure(this.releaseNotes);
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
|
-
async fetchApplicationConfiguration(
|
|
93
|
+
async fetchApplicationConfiguration() {
|
|
94
94
|
const client = new NetworkClient();
|
|
95
95
|
// app config
|
|
96
96
|
let configData;
|
|
97
97
|
try {
|
|
98
|
-
configData = await client.get(`${window.location.origin}${
|
|
98
|
+
configData = await client.get(`${window.location.origin}${this.baseAddress}config.json`);
|
|
99
99
|
}
|
|
100
100
|
catch (error) {
|
|
101
101
|
assertErrorThrown(error);
|
|
@@ -105,7 +105,7 @@ export class LegendApplication {
|
|
|
105
105
|
// app version
|
|
106
106
|
let versionData;
|
|
107
107
|
try {
|
|
108
|
-
versionData = await client.get(`${window.location.origin}${
|
|
108
|
+
versionData = await client.get(`${window.location.origin}${this.baseAddress}version.json`);
|
|
109
109
|
}
|
|
110
110
|
catch (error) {
|
|
111
111
|
assertErrorThrown(error);
|
|
@@ -116,7 +116,7 @@ export class LegendApplication {
|
|
|
116
116
|
await this.configureApplication({
|
|
117
117
|
configData,
|
|
118
118
|
versionData,
|
|
119
|
-
baseAddress:
|
|
119
|
+
baseAddress: this.baseAddress,
|
|
120
120
|
}),
|
|
121
121
|
configData.extensions ?? {},
|
|
122
122
|
];
|
|
@@ -170,7 +170,7 @@ export class LegendApplication {
|
|
|
170
170
|
assertNonNullable(this._isConfigured, 'Legend application has not been configured properly. Make sure to run setup() before start()');
|
|
171
171
|
try {
|
|
172
172
|
// fetch application config
|
|
173
|
-
const [config, extensionConfigData] = await this.fetchApplicationConfiguration(
|
|
173
|
+
const [config, extensionConfigData] = await this.fetchApplicationConfiguration();
|
|
174
174
|
this.config = config;
|
|
175
175
|
// setup plugins
|
|
176
176
|
this.pluginRegister?.(this.pluginManager, this.config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendApplication.js","sourceRoot":"","sources":["../../src/application/LegendApplication.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"LegendApplication.js","sourceRoot":"","sources":["../../src/application/LegendApplication.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserEnvironmentProvider.d.ts","sourceRoot":"","sources":["../../src/components/BrowserEnvironmentProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"BrowserEnvironmentProvider.d.ts","sourceRoot":"","sources":["../../src/components/BrowserEnvironmentProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA+BH,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAAC;IAChD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB,CAMA,CAAC"}
|
|
@@ -14,18 +14,21 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import {} from 'history';
|
|
18
17
|
import { useLocalObservable } from 'mobx-react-lite';
|
|
19
|
-
import {
|
|
18
|
+
import { useNavigate } from 'react-router';
|
|
20
19
|
import { BrowserRouter } from 'react-router-dom';
|
|
21
20
|
import { BrowserPlatform } from '../stores/platform/BrowserPlatform.js';
|
|
22
21
|
import { ApplicationPlatformContext } from './ApplicationPlatformProvider.js';
|
|
23
22
|
import { useApplicationStore } from './ApplicationStoreProvider.js';
|
|
24
|
-
|
|
23
|
+
import { stripTrailingSlash } from '../stores/navigation/BrowserNavigator.js';
|
|
24
|
+
const BrowserPlatformProvider = ({ children, baseUrl }) => {
|
|
25
25
|
const applicationStore = useApplicationStore();
|
|
26
|
-
const
|
|
27
|
-
const platform = useLocalObservable(() => new BrowserPlatform(applicationStore, {
|
|
26
|
+
const navigate = useNavigate();
|
|
27
|
+
const platform = useLocalObservable(() => new BrowserPlatform(applicationStore, {
|
|
28
|
+
navigate,
|
|
29
|
+
baseUrl: stripTrailingSlash(baseUrl),
|
|
30
|
+
}));
|
|
28
31
|
return (_jsx(ApplicationPlatformContext.Provider, { value: platform, children: children }));
|
|
29
32
|
};
|
|
30
|
-
export const BrowserEnvironmentProvider = ({ children, baseUrl }) => (_jsx(BrowserRouter, { basename: baseUrl, children: _jsx(BrowserPlatformProvider, { children: children }) }));
|
|
33
|
+
export const BrowserEnvironmentProvider = ({ children, baseUrl }) => (_jsx(BrowserRouter, { basename: stripTrailingSlash(baseUrl), children: _jsx(BrowserPlatformProvider, { baseUrl: baseUrl, children: children }) }));
|
|
31
34
|
//# sourceMappingURL=BrowserEnvironmentProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserEnvironmentProvider.js","sourceRoot":"","sources":["../../src/components/BrowserEnvironmentProvider.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"BrowserEnvironmentProvider.js","sourceRoot":"","sources":["../../src/components/BrowserEnvironmentProvider.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAE9E,MAAM,uBAAuB,GAGxB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;IAC7B,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,kBAAkB,CACjC,GAAG,EAAE,CACH,IAAI,eAAe,CAAC,gBAAgB,EAAE;QACpC,QAAQ;QACR,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC;KACrC,CAAC,CACL,CAAC;IAEF,OAAO,CACL,KAAC,0BAA0B,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,YACjD,QAAQ,GAC2B,CACvC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAGlC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAC9B,KAAC,aAAa,IAAC,QAAQ,EAAE,kBAAkB,CAAC,OAAO,CAAC,YAClD,KAAC,uBAAuB,IAAC,OAAO,EAAE,OAAO,YACtC,QAAQ,GACe,GACZ,CACjB,CAAC"}
|
|
@@ -13,16 +13,13 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { createMemoryHistory, type History } from 'history';
|
|
17
16
|
import { BrowserPlatform } from '../../stores/platform/BrowserPlatform.js';
|
|
18
17
|
import { type GenericLegendApplicationStore } from '../../stores/ApplicationStore.js';
|
|
19
|
-
export { createMemoryHistory };
|
|
20
18
|
export declare const TEST__BrowserEnvironmentProvider: React.FC<{
|
|
21
19
|
children: React.ReactNode;
|
|
22
|
-
|
|
20
|
+
initialEntries: string[];
|
|
23
21
|
}>;
|
|
24
22
|
export declare const TEST__provideMockedBrowserPlatform: (applicationStore: GenericLegendApplicationStore, customization?: {
|
|
25
23
|
mock?: BrowserPlatform;
|
|
26
|
-
historyAPI?: History;
|
|
27
24
|
}) => BrowserPlatform;
|
|
28
25
|
//# sourceMappingURL=BrowserEnvironmentTestUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserEnvironmentTestUtils.d.ts","sourceRoot":"","sources":["../../../src/components/__test-utils__/BrowserEnvironmentTestUtils.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"BrowserEnvironmentTestUtils.d.ts","sourceRoot":"","sources":["../../../src/components/__test-utils__/BrowserEnvironmentTestUtils.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAE3E,OAAO,EAAE,KAAK,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAoBtF,eAAO,MAAM,gCAAgC,EAAE,KAAK,CAAC,EAAE,CAAC;IACtD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAiBA,CAAC;AAEF,eAAO,MAAM,kCAAkC,qBAC3B,6BAA6B,kBAC/B;IACd,IAAI,CAAC,EAAE,eAAe,CAAC;CACxB,KACA,eAWF,CAAC"}
|
|
@@ -14,25 +14,38 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import { createMemoryHistory } from 'history';
|
|
18
17
|
import { useLocalObservable } from 'mobx-react-lite';
|
|
19
|
-
import { Router } from 'react-router';
|
|
20
18
|
import { BrowserPlatform } from '../../stores/platform/BrowserPlatform.js';
|
|
21
19
|
import { ApplicationPlatformContext } from '../ApplicationPlatformProvider.js';
|
|
22
20
|
import {} from '../../stores/ApplicationStore.js';
|
|
23
21
|
import { useApplicationStore } from '../ApplicationStoreProvider.js';
|
|
24
22
|
import { createMock } from '@finos/legend-shared/test';
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
import { MemoryRouter } from 'react-router';
|
|
24
|
+
import { BrowserNavigator } from '../../browser.js';
|
|
25
|
+
const TEST__APPLICATION_BASE_URL = '/test';
|
|
26
|
+
class TEST__BrowserNavigator extends BrowserNavigator {
|
|
27
|
+
getCurrentLocation() {
|
|
28
|
+
return TEST__APPLICATION_BASE_URL;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
class TEST__BrowserPlatorm extends BrowserPlatform {
|
|
32
|
+
getNavigator() {
|
|
33
|
+
return new TEST__BrowserNavigator(() => { }, TEST__APPLICATION_BASE_URL);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export const TEST__BrowserEnvironmentProvider = ({ children, initialEntries }) => {
|
|
27
37
|
const applicationStore = useApplicationStore();
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
38
|
+
const platform = useLocalObservable(() => new TEST__BrowserPlatorm(applicationStore, {
|
|
39
|
+
navigate: () => { },
|
|
40
|
+
baseUrl: TEST__APPLICATION_BASE_URL,
|
|
41
|
+
}));
|
|
42
|
+
return (_jsx(MemoryRouter, { initialEntries: initialEntries, children: _jsx(ApplicationPlatformContext.Provider, { value: platform, children: children }) }));
|
|
31
43
|
};
|
|
32
44
|
export const TEST__provideMockedBrowserPlatform = (applicationStore, customization) => {
|
|
33
45
|
const value = customization?.mock ??
|
|
34
|
-
new
|
|
35
|
-
|
|
46
|
+
new TEST__BrowserPlatorm(applicationStore, {
|
|
47
|
+
navigate: () => { },
|
|
48
|
+
baseUrl: TEST__APPLICATION_BASE_URL,
|
|
36
49
|
});
|
|
37
50
|
const MOCK__BrowserPlatform = require('../ApplicationPlatformProvider.js'); // eslint-disable-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-require-imports
|
|
38
51
|
MOCK__BrowserPlatform.useApplicationPlatform = createMock();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserEnvironmentTestUtils.js","sourceRoot":"","sources":["../../../src/components/__test-utils__/BrowserEnvironmentTestUtils.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"BrowserEnvironmentTestUtils.js","sourceRoot":"","sources":["../../../src/components/__test-utils__/BrowserEnvironmentTestUtils.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAsC,MAAM,kCAAkC,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,0BAA0B,GAAG,OAAO,CAAC;AAE3C,MAAM,sBAAuB,SAAQ,gBAAgB;IAC1C,kBAAkB;QACzB,OAAO,0BAA0B,CAAC;IACpC,CAAC;CACF;AAED,MAAM,oBAAqB,SAAQ,eAAe;IACvC,YAAY;QACnB,OAAO,IAAI,sBAAsB,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE,0BAA0B,CAAC,CAAC;IAC1E,CAAC;CACF;AAED,MAAM,CAAC,MAAM,gCAAgC,GAGxC,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE;IACpC,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAG,kBAAkB,CACjC,GAAG,EAAE,CACH,IAAI,oBAAoB,CAAC,gBAAgB,EAAE;QACzC,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;QAClB,OAAO,EAAE,0BAA0B;KACpC,CAAC,CACL,CAAC;IAEF,OAAO,CACL,KAAC,YAAY,IAAC,cAAc,EAAE,cAAc,YAC1C,KAAC,0BAA0B,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,YACjD,QAAQ,GAC2B,GACzB,CAChB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAChD,gBAA+C,EAC/C,aAEC,EACgB,EAAE;IACnB,MAAM,KAAK,GACT,aAAa,EAAE,IAAI;QACnB,IAAI,oBAAoB,CAAC,gBAAgB,EAAE;YACzC,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;YAClB,OAAO,EAAE,0BAA0B;SACpC,CAAC,CAAC;IACL,MAAM,qBAAqB,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC,CAAC,qGAAqG;IACjL,qBAAqB,CAAC,sBAAsB,GAAG,UAAU,EAAE,CAAC;IAC5D,qBAAqB,CAAC,sBAAsB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACpE,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
|
package/lib/index.css
CHANGED
package/lib/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@finos/legend-application",
|
|
3
|
-
"version": "16.0.
|
|
3
|
+
"version": "16.0.2",
|
|
4
4
|
"description": "Legend application core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"legend",
|
|
@@ -47,18 +47,17 @@
|
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@finos/legend-art": "workspace:*",
|
|
49
49
|
"@finos/legend-shared": "workspace:*",
|
|
50
|
-
"@types/react": "18.3.
|
|
50
|
+
"@types/react": "18.3.11",
|
|
51
51
|
"@types/react-dom": "18.3.0",
|
|
52
52
|
"@types/react-router-dom": "5.3.3",
|
|
53
|
-
"history": "5.3.0",
|
|
54
53
|
"mobx": "6.13.3",
|
|
55
54
|
"mobx-react-lite": "4.0.7",
|
|
56
55
|
"react": "18.3.1",
|
|
57
56
|
"react-dnd": "16.0.1",
|
|
58
57
|
"react-dnd-html5-backend": "16.0.1",
|
|
59
58
|
"react-dom": "18.3.1",
|
|
60
|
-
"react-router": "
|
|
61
|
-
"react-router-dom": "
|
|
59
|
+
"react-router": "6.26.2",
|
|
60
|
+
"react-router-dom": "6.26.2",
|
|
62
61
|
"serializr": "3.0.2",
|
|
63
62
|
"xterm": "5.3.0",
|
|
64
63
|
"xterm-addon-fit": "0.8.0",
|
|
@@ -71,12 +70,12 @@
|
|
|
71
70
|
"@finos/legend-dev-utils": "workspace:*",
|
|
72
71
|
"@jest/globals": "29.7.0",
|
|
73
72
|
"cross-env": "7.0.3",
|
|
74
|
-
"eslint": "
|
|
73
|
+
"eslint": "9.12.0",
|
|
75
74
|
"jest": "29.7.0",
|
|
76
75
|
"npm-run-all": "4.1.5",
|
|
77
76
|
"rimraf": "6.0.1",
|
|
78
|
-
"sass": "1.79.
|
|
79
|
-
"typescript": "5.6.
|
|
77
|
+
"sass": "1.79.4",
|
|
78
|
+
"typescript": "5.6.3"
|
|
80
79
|
},
|
|
81
80
|
"peerDependencies": {
|
|
82
81
|
"react": "^18.0.0"
|
|
@@ -24,7 +24,7 @@ export type LegendApplicationSetup = (applicationStore: GenericLegendApplication
|
|
|
24
24
|
export type ApplicationPageEntry = {
|
|
25
25
|
key: string;
|
|
26
26
|
addressPatterns: string[];
|
|
27
|
-
renderer:
|
|
27
|
+
renderer: () => React.ReactNode;
|
|
28
28
|
};
|
|
29
29
|
export type VirtualAssistantViewConfiguration = {
|
|
30
30
|
key: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendApplicationPlugin.d.ts","sourceRoot":"","sources":["../../src/stores/LegendApplicationPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EACV,4BAA4B,EAC5B,0BAA0B,EAC1B,uBAAuB,EACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EACV,yBAAyB,EACzB,6BAA6B,EAC9B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,gCAAgC,GAAG,CAC7C,gBAAgB,EAAE,6BAA6B,KAC5C,yBAAyB,GAAG,SAAS,CAAC;AAE3C,MAAM,MAAM,sBAAsB,GAAG,CACnC,gBAAgB,EAAE,6BAA6B,KAC5C,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"LegendApplicationPlugin.d.ts","sourceRoot":"","sources":["../../src/stores/LegendApplicationPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EACV,4BAA4B,EAC5B,0BAA0B,EAC1B,uBAAuB,EACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EACV,yBAAyB,EACzB,6BAA6B,EAC9B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,gCAAgC,GAAG,CAC7C,gBAAgB,EAAE,6BAA6B,KAC5C,yBAAyB,GAAG,SAAS,CAAC;AAE3C,MAAM,MAAM,sBAAsB,GAAG,CACnC,gBAAgB,EAAE,6BAA6B,KAC5C,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACnC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,EAAE,MAAM,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;CAC7C,CAAC;AAEF,8BAAsB,uBAAwB,SAAQ,cAAc;IAClE;;;;;;OAMG;IACH,yCAAyC,CAAC,IAAI,gCAAgC,EAAE;IAEhF;;;;;;OAMG;IACH,yBAAyB,CAAC,IAAI,sBAAsB,EAAE;IAEtD;;OAEG;IACH,8BAA8B,CAAC,IAAI,oBAAoB,EAAE;IAEzD;;OAEG;IACH,iCAAiC,CAAC,IAAI,uBAAuB,EAAE;IAE/D;;;OAGG;IACH,oCAAoC,CAAC,IAAI,0BAA0B,EAAE;IAErE;;OAEG;IACH,iCAAiC,CAAC,IAAI,uBAAuB,EAAE;IAE/D;;;;OAIG;IACH,iCAAiC,CAAC,IAAI,MAAM,EAAE;IAE9C;;OAEG;IACH,sCAAsC,CAAC,IAAI,4BAA4B,EAAE;IAEzE;;;OAGG;IACH,gDAAgD,CAAC,IAAI,MAAM,EAAE;IAE7D;;OAEG;IACH,mBAAmB,CAAC,IAAI,UAAU,EAAE;IAEpC;;OAEG;IACH,mCAAmC,CAAC,IAAI,yBAAyB,EAAE;IAEnE;;OAEG;IACH,0CAA0C,CAAC,IAAI,iCAAiC,EAAE;CACnF"}
|
|
@@ -13,32 +13,27 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import type { History } from 'history';
|
|
17
16
|
import { type NavigationAddress, type NavigationLocation, type ApplicationNavigator, type NavigationLocationParameterValue, type NavigationZone } from './NavigationService.js';
|
|
18
|
-
import { Route,
|
|
17
|
+
import { Route, Routes, matchRoutes, generatePath, useParams, type NavigateFunction } from 'react-router';
|
|
19
18
|
export { BrowserRouter } from 'react-router-dom';
|
|
20
|
-
export { Route,
|
|
19
|
+
export { Route, Routes, useParams, matchRoutes, generatePath };
|
|
21
20
|
export declare const useNavigationZone: () => NavigationZone;
|
|
22
|
-
/**
|
|
23
|
-
* This clashes between react-router (older version) and React typings, so this is the workaround
|
|
24
|
-
* We will remove this when we move forward with our react-router upgrade
|
|
25
|
-
* See https://github.com/finos/legend-studio/issues/688
|
|
26
|
-
*/
|
|
27
|
-
export type TEMPORARY__ReactRouterComponentType = any;
|
|
28
21
|
/**
|
|
29
22
|
* Prefix URL patterns coming from extensions with `/extensions/`
|
|
30
23
|
* to avoid potential conflicts with main routes.
|
|
31
24
|
*/
|
|
32
25
|
export declare const generateExtensionUrlPattern: (pattern: string) => string;
|
|
26
|
+
export declare function stripTrailingSlash(url: string): string;
|
|
33
27
|
export declare class BrowserNavigator implements ApplicationNavigator {
|
|
34
|
-
private readonly
|
|
28
|
+
private readonly navigate;
|
|
29
|
+
private readonly baseUrl;
|
|
35
30
|
private _isNavigationBlocked;
|
|
36
31
|
private _forceBypassNavigationBlocking;
|
|
37
32
|
private _blockCheckers;
|
|
38
33
|
private _beforeUnloadListener;
|
|
39
34
|
onBlock?: ((onProceed: () => void) => void) | undefined;
|
|
40
35
|
onNativePlatformNavigationBlock?: (() => void) | undefined;
|
|
41
|
-
constructor(
|
|
36
|
+
constructor(navigate: NavigateFunction, baseUrl: string);
|
|
42
37
|
private get window();
|
|
43
38
|
goToLocation(location: NavigationLocation, options?: {
|
|
44
39
|
ignoreBlocking?: boolean | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserNavigator.d.ts","sourceRoot":"","sources":["../../../src/stores/navigation/BrowserNavigator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"BrowserNavigator.d.ts","sourceRoot":"","sources":["../../../src/stores/navigation/BrowserNavigator.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
import { addQueryParametersToUrl, getQueryParameterValue, getQueryParameters, guaranteeNonNullable, sanitizeURL, stringifyQueryParams, } from '@finos/legend-shared';
|
|
17
17
|
import { action, computed, makeObservable, observable } from 'mobx';
|
|
18
18
|
import { NAVIGATION_ZONE_PREFIX, } from './NavigationService.js';
|
|
19
|
-
import { Route,
|
|
19
|
+
import { Route, Routes, matchRoutes, generatePath, useParams, useLocation, } from 'react-router';
|
|
20
20
|
export { BrowserRouter } from 'react-router-dom';
|
|
21
|
-
export { Route,
|
|
21
|
+
export { Route, Routes, useParams, matchRoutes, generatePath };
|
|
22
22
|
export const useNavigationZone = () => {
|
|
23
|
-
const location = useLocation();
|
|
23
|
+
const location = useLocation();
|
|
24
24
|
return location.hash.substring(NAVIGATION_ZONE_PREFIX.length);
|
|
25
25
|
};
|
|
26
26
|
/**
|
|
@@ -28,8 +28,16 @@ export const useNavigationZone = () => {
|
|
|
28
28
|
* to avoid potential conflicts with main routes.
|
|
29
29
|
*/
|
|
30
30
|
export const generateExtensionUrlPattern = (pattern) => `/extensions/${pattern}`.replace(/^\/extensions\/\//, '/extensions/');
|
|
31
|
+
export function stripTrailingSlash(url) {
|
|
32
|
+
let _url = url;
|
|
33
|
+
while (_url.endsWith('/')) {
|
|
34
|
+
_url = _url.slice(0, -1);
|
|
35
|
+
}
|
|
36
|
+
return _url;
|
|
37
|
+
}
|
|
31
38
|
export class BrowserNavigator {
|
|
32
|
-
|
|
39
|
+
navigate;
|
|
40
|
+
baseUrl;
|
|
33
41
|
_isNavigationBlocked = false;
|
|
34
42
|
_forceBypassNavigationBlocking = false;
|
|
35
43
|
_blockCheckers = [];
|
|
@@ -41,18 +49,20 @@ export class BrowserNavigator {
|
|
|
41
49
|
// NOTE: there is no way to customize the alert message for now since Chrome removed support for it due to security concerns
|
|
42
50
|
// See https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload#Browser_compatibility
|
|
43
51
|
event.returnValue = '';
|
|
52
|
+
event.preventDefault();
|
|
44
53
|
}
|
|
45
54
|
};
|
|
46
55
|
onBlock;
|
|
47
56
|
onNativePlatformNavigationBlock;
|
|
48
|
-
constructor(
|
|
57
|
+
constructor(navigate, baseUrl) {
|
|
49
58
|
makeObservable(this, {
|
|
50
59
|
_isNavigationBlocked: observable,
|
|
51
60
|
isNavigationBlocked: computed,
|
|
52
61
|
blockNavigation: action,
|
|
53
62
|
unblockNavigation: action,
|
|
54
63
|
});
|
|
55
|
-
this.
|
|
64
|
+
this.navigate = navigate;
|
|
65
|
+
this.baseUrl = baseUrl;
|
|
56
66
|
}
|
|
57
67
|
get window() {
|
|
58
68
|
return guaranteeNonNullable(window, `Window object is not available in non-web environment`);
|
|
@@ -109,11 +119,10 @@ export class BrowserNavigator {
|
|
|
109
119
|
this.window.open(address, '_blank');
|
|
110
120
|
}
|
|
111
121
|
generateAddress(location) {
|
|
112
|
-
return
|
|
113
|
-
this.historyAPI.createHref({ pathname: location }));
|
|
122
|
+
return this.window.location.origin + this.baseUrl + location;
|
|
114
123
|
}
|
|
115
124
|
updateCurrentLocation(location) {
|
|
116
|
-
this.
|
|
125
|
+
this.navigate(location);
|
|
117
126
|
}
|
|
118
127
|
updateCurrentZone(zone) {
|
|
119
128
|
this.window.location.hash = NAVIGATION_ZONE_PREFIX + zone;
|
|
@@ -131,7 +140,7 @@ export class BrowserNavigator {
|
|
|
131
140
|
return this.window.location.href;
|
|
132
141
|
}
|
|
133
142
|
getCurrentLocation() {
|
|
134
|
-
return this.
|
|
143
|
+
return this.window.location.pathname.substring(this.baseUrl.length);
|
|
135
144
|
}
|
|
136
145
|
getCurrentLocationParameters() {
|
|
137
146
|
const result = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserNavigator.js","sourceRoot":"","sources":["../../../src/stores/navigation/BrowserNavigator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"BrowserNavigator.js","sourceRoot":"","sources":["../../../src/stores/navigation/BrowserNavigator.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,15 +13,16 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import type { History } from 'history';
|
|
17
16
|
import { BrowserNavigator } from '../navigation/BrowserNavigator.js';
|
|
18
17
|
import { ApplicationPlatform } from './ApplicationPlatform.js';
|
|
19
18
|
import type { ApplicationNavigator } from '../navigation/NavigationService.js';
|
|
20
19
|
import type { GenericLegendApplicationStore } from '../ApplicationStore.js';
|
|
20
|
+
import type { NavigateFunction } from 'react-router';
|
|
21
21
|
export declare class BrowserPlatform extends ApplicationPlatform {
|
|
22
22
|
readonly navigator: BrowserNavigator;
|
|
23
23
|
constructor(applicationStore: GenericLegendApplicationStore, config: {
|
|
24
|
-
|
|
24
|
+
navigate: NavigateFunction;
|
|
25
|
+
baseUrl: string;
|
|
25
26
|
});
|
|
26
27
|
getNavigator(): ApplicationNavigator;
|
|
27
28
|
initialize(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserPlatform.d.ts","sourceRoot":"","sources":["../../../src/stores/platform/BrowserPlatform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"BrowserPlatform.d.ts","sourceRoot":"","sources":["../../../src/stores/platform/BrowserPlatform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AAE5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,qBAAa,eAAgB,SAAQ,mBAAmB;IACtD,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAGnC,gBAAgB,EAAE,6BAA6B,EAC/C,MAAM,EAAE;QAAE,QAAQ,EAAE,gBAAgB,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAMzD,YAAY,IAAI,oBAAoB;IAIrB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAe3C"}
|
|
@@ -20,7 +20,7 @@ export class BrowserPlatform extends ApplicationPlatform {
|
|
|
20
20
|
navigator;
|
|
21
21
|
constructor(applicationStore, config) {
|
|
22
22
|
super(applicationStore);
|
|
23
|
-
this.navigator = new BrowserNavigator(config.
|
|
23
|
+
this.navigator = new BrowserNavigator(config.navigate, config.baseUrl);
|
|
24
24
|
}
|
|
25
25
|
getNavigator() {
|
|
26
26
|
return this.navigator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserPlatform.js","sourceRoot":"","sources":["../../../src/stores/platform/BrowserPlatform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"BrowserPlatform.js","sourceRoot":"","sources":["../../../src/stores/platform/BrowserPlatform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EAAE,8BAA8B,EAAE,MAAM,8CAA8C,CAAC;AAG9F,MAAM,OAAO,eAAgB,SAAQ,mBAAmB;IAC7C,SAAS,CAAmB;IAErC,YACE,gBAA+C,EAC/C,MAAuD;QAEvD,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACzE,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEQ,KAAK,CAAC,UAAU;QACvB,0BAA0B;QAC1B,gEAAgE;QAChE,mFAAmF;QACnF,MAAM,iBAAiB,GACrB,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,SAAS,CAAC,gCAAgC,CAChF,8BAA8B,CAAC,mBAAmB,CACnD,CAAC;QACJ,IAAI,iBAAiB,EAAE,CAAC;YACtB,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;YACrE,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,SAAS,CAAC,uCAAuC,CACvF,8BAA8B,CAAC,mBAAmB,CACnD,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@finos/legend-application",
|
|
3
|
-
"version": "16.0.
|
|
3
|
+
"version": "16.0.2",
|
|
4
4
|
"description": "Legend application core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"legend",
|
|
@@ -45,20 +45,19 @@
|
|
|
45
45
|
"test:watch": "jest --watch"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@finos/legend-art": "7.1.
|
|
49
|
-
"@finos/legend-shared": "10.0.
|
|
50
|
-
"@types/react": "18.3.
|
|
48
|
+
"@finos/legend-art": "7.1.61",
|
|
49
|
+
"@finos/legend-shared": "10.0.57",
|
|
50
|
+
"@types/react": "18.3.11",
|
|
51
51
|
"@types/react-dom": "18.3.0",
|
|
52
52
|
"@types/react-router-dom": "5.3.3",
|
|
53
|
-
"history": "5.3.0",
|
|
54
53
|
"mobx": "6.13.3",
|
|
55
54
|
"mobx-react-lite": "4.0.7",
|
|
56
55
|
"react": "18.3.1",
|
|
57
56
|
"react-dnd": "16.0.1",
|
|
58
57
|
"react-dnd-html5-backend": "16.0.1",
|
|
59
58
|
"react-dom": "18.3.1",
|
|
60
|
-
"react-router": "
|
|
61
|
-
"react-router-dom": "
|
|
59
|
+
"react-router": "6.26.2",
|
|
60
|
+
"react-router-dom": "6.26.2",
|
|
62
61
|
"serializr": "3.0.2",
|
|
63
62
|
"xterm": "5.3.0",
|
|
64
63
|
"xterm-addon-fit": "0.8.0",
|
|
@@ -68,15 +67,15 @@
|
|
|
68
67
|
"xterm-addon-webgl": "0.16.0"
|
|
69
68
|
},
|
|
70
69
|
"devDependencies": {
|
|
71
|
-
"@finos/legend-dev-utils": "2.1.
|
|
70
|
+
"@finos/legend-dev-utils": "2.1.24",
|
|
72
71
|
"@jest/globals": "29.7.0",
|
|
73
72
|
"cross-env": "7.0.3",
|
|
74
|
-
"eslint": "
|
|
73
|
+
"eslint": "9.12.0",
|
|
75
74
|
"jest": "29.7.0",
|
|
76
75
|
"npm-run-all": "4.1.5",
|
|
77
76
|
"rimraf": "6.0.1",
|
|
78
|
-
"sass": "1.79.
|
|
79
|
-
"typescript": "5.6.
|
|
77
|
+
"sass": "1.79.4",
|
|
78
|
+
"typescript": "5.6.3"
|
|
80
79
|
},
|
|
81
80
|
"peerDependencies": {
|
|
82
81
|
"react": "^18.0.0"
|
|
@@ -184,16 +184,16 @@ export abstract class LegendApplication {
|
|
|
184
184
|
}
|
|
185
185
|
}
|
|
186
186
|
|
|
187
|
-
async fetchApplicationConfiguration(
|
|
188
|
-
|
|
189
|
-
|
|
187
|
+
async fetchApplicationConfiguration(): Promise<
|
|
188
|
+
[LegendApplicationConfig, ExtensionsConfigurationData]
|
|
189
|
+
> {
|
|
190
190
|
const client = new NetworkClient();
|
|
191
191
|
|
|
192
192
|
// app config
|
|
193
193
|
let configData: LegendApplicationConfigurationData | undefined;
|
|
194
194
|
try {
|
|
195
195
|
configData = await client.get<LegendApplicationConfigurationData>(
|
|
196
|
-
`${window.location.origin}${
|
|
196
|
+
`${window.location.origin}${this.baseAddress}config.json`,
|
|
197
197
|
);
|
|
198
198
|
} catch (error) {
|
|
199
199
|
assertErrorThrown(error);
|
|
@@ -211,7 +211,7 @@ export abstract class LegendApplication {
|
|
|
211
211
|
let versionData;
|
|
212
212
|
try {
|
|
213
213
|
versionData = await client.get<LegendApplicationVersionData>(
|
|
214
|
-
`${window.location.origin}${
|
|
214
|
+
`${window.location.origin}${this.baseAddress}version.json`,
|
|
215
215
|
);
|
|
216
216
|
} catch (error) {
|
|
217
217
|
assertErrorThrown(error);
|
|
@@ -226,7 +226,7 @@ export abstract class LegendApplication {
|
|
|
226
226
|
await this.configureApplication({
|
|
227
227
|
configData,
|
|
228
228
|
versionData,
|
|
229
|
-
baseAddress:
|
|
229
|
+
baseAddress: this.baseAddress,
|
|
230
230
|
}),
|
|
231
231
|
configData.extensions ?? {},
|
|
232
232
|
];
|
|
@@ -320,7 +320,7 @@ export abstract class LegendApplication {
|
|
|
320
320
|
try {
|
|
321
321
|
// fetch application config
|
|
322
322
|
const [config, extensionConfigData] =
|
|
323
|
-
await this.fetchApplicationConfiguration(
|
|
323
|
+
await this.fetchApplicationConfiguration();
|
|
324
324
|
this.config = config;
|
|
325
325
|
|
|
326
326
|
// setup plugins
|
|
@@ -14,21 +14,26 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { type History } from 'history';
|
|
18
17
|
import { useLocalObservable } from 'mobx-react-lite';
|
|
19
|
-
import {
|
|
18
|
+
import { useNavigate } from 'react-router';
|
|
20
19
|
import { BrowserRouter } from 'react-router-dom';
|
|
21
20
|
import { BrowserPlatform } from '../stores/platform/BrowserPlatform.js';
|
|
22
21
|
import { ApplicationPlatformContext } from './ApplicationPlatformProvider.js';
|
|
23
22
|
import { useApplicationStore } from './ApplicationStoreProvider.js';
|
|
23
|
+
import { stripTrailingSlash } from '../stores/navigation/BrowserNavigator.js';
|
|
24
24
|
|
|
25
25
|
const BrowserPlatformProvider: React.FC<{
|
|
26
26
|
children: React.ReactNode;
|
|
27
|
-
|
|
27
|
+
baseUrl: string;
|
|
28
|
+
}> = ({ children, baseUrl }) => {
|
|
28
29
|
const applicationStore = useApplicationStore();
|
|
29
|
-
const
|
|
30
|
+
const navigate = useNavigate();
|
|
30
31
|
const platform = useLocalObservable(
|
|
31
|
-
() =>
|
|
32
|
+
() =>
|
|
33
|
+
new BrowserPlatform(applicationStore, {
|
|
34
|
+
navigate,
|
|
35
|
+
baseUrl: stripTrailingSlash(baseUrl),
|
|
36
|
+
}),
|
|
32
37
|
);
|
|
33
38
|
|
|
34
39
|
return (
|
|
@@ -42,7 +47,9 @@ export const BrowserEnvironmentProvider: React.FC<{
|
|
|
42
47
|
children: React.ReactNode;
|
|
43
48
|
baseUrl: string;
|
|
44
49
|
}> = ({ children, baseUrl }) => (
|
|
45
|
-
<BrowserRouter basename={baseUrl}>
|
|
46
|
-
<BrowserPlatformProvider
|
|
50
|
+
<BrowserRouter basename={stripTrailingSlash(baseUrl)}>
|
|
51
|
+
<BrowserPlatformProvider baseUrl={baseUrl}>
|
|
52
|
+
{children}
|
|
53
|
+
</BrowserPlatformProvider>
|
|
47
54
|
</BrowserRouter>
|
|
48
55
|
);
|
|
@@ -14,33 +14,48 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { createMemoryHistory, type History } from 'history';
|
|
18
17
|
import { useLocalObservable } from 'mobx-react-lite';
|
|
19
|
-
import { Router } from 'react-router';
|
|
20
18
|
import { BrowserPlatform } from '../../stores/platform/BrowserPlatform.js';
|
|
21
19
|
import { ApplicationPlatformContext } from '../ApplicationPlatformProvider.js';
|
|
22
20
|
import { type GenericLegendApplicationStore } from '../../stores/ApplicationStore.js';
|
|
23
21
|
import { useApplicationStore } from '../ApplicationStoreProvider.js';
|
|
24
22
|
import { createMock } from '@finos/legend-shared/test';
|
|
23
|
+
import { MemoryRouter } from 'react-router';
|
|
24
|
+
import { BrowserNavigator } from '../../browser.js';
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
const TEST__APPLICATION_BASE_URL = '/test';
|
|
27
|
+
|
|
28
|
+
class TEST__BrowserNavigator extends BrowserNavigator {
|
|
29
|
+
override getCurrentLocation(): string {
|
|
30
|
+
return TEST__APPLICATION_BASE_URL;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
class TEST__BrowserPlatorm extends BrowserPlatform {
|
|
35
|
+
override getNavigator(): TEST__BrowserNavigator {
|
|
36
|
+
return new TEST__BrowserNavigator(() => {}, TEST__APPLICATION_BASE_URL);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
27
39
|
|
|
28
40
|
export const TEST__BrowserEnvironmentProvider: React.FC<{
|
|
29
41
|
children: React.ReactNode;
|
|
30
|
-
|
|
31
|
-
}> = ({ children,
|
|
42
|
+
initialEntries: string[];
|
|
43
|
+
}> = ({ children, initialEntries }) => {
|
|
32
44
|
const applicationStore = useApplicationStore();
|
|
33
|
-
const history = historyAPI ?? createMemoryHistory();
|
|
34
45
|
const platform = useLocalObservable(
|
|
35
|
-
() =>
|
|
46
|
+
() =>
|
|
47
|
+
new TEST__BrowserPlatorm(applicationStore, {
|
|
48
|
+
navigate: () => {},
|
|
49
|
+
baseUrl: TEST__APPLICATION_BASE_URL,
|
|
50
|
+
}),
|
|
36
51
|
);
|
|
37
52
|
|
|
38
53
|
return (
|
|
39
|
-
<
|
|
54
|
+
<MemoryRouter initialEntries={initialEntries}>
|
|
40
55
|
<ApplicationPlatformContext.Provider value={platform}>
|
|
41
56
|
{children}
|
|
42
57
|
</ApplicationPlatformContext.Provider>
|
|
43
|
-
</
|
|
58
|
+
</MemoryRouter>
|
|
44
59
|
);
|
|
45
60
|
};
|
|
46
61
|
|
|
@@ -48,13 +63,13 @@ export const TEST__provideMockedBrowserPlatform = (
|
|
|
48
63
|
applicationStore: GenericLegendApplicationStore,
|
|
49
64
|
customization?: {
|
|
50
65
|
mock?: BrowserPlatform;
|
|
51
|
-
historyAPI?: History;
|
|
52
66
|
},
|
|
53
67
|
): BrowserPlatform => {
|
|
54
68
|
const value =
|
|
55
69
|
customization?.mock ??
|
|
56
|
-
new
|
|
57
|
-
|
|
70
|
+
new TEST__BrowserPlatorm(applicationStore, {
|
|
71
|
+
navigate: () => {},
|
|
72
|
+
baseUrl: TEST__APPLICATION_BASE_URL,
|
|
58
73
|
});
|
|
59
74
|
const MOCK__BrowserPlatform = require('../ApplicationPlatformProvider.js'); // eslint-disable-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-require-imports
|
|
60
75
|
MOCK__BrowserPlatform.useApplicationPlatform = createMock();
|
|
@@ -39,7 +39,7 @@ export type LegendApplicationSetup = (
|
|
|
39
39
|
export type ApplicationPageEntry = {
|
|
40
40
|
key: string;
|
|
41
41
|
addressPatterns: string[];
|
|
42
|
-
renderer:
|
|
42
|
+
renderer: () => React.ReactNode;
|
|
43
43
|
};
|
|
44
44
|
|
|
45
45
|
export type VirtualAssistantViewConfiguration = {
|
|
@@ -14,7 +14,6 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import type { History } from 'history';
|
|
18
17
|
import {
|
|
19
18
|
addQueryParametersToUrl,
|
|
20
19
|
getQueryParameterValue,
|
|
@@ -34,27 +33,20 @@ import {
|
|
|
34
33
|
} from './NavigationService.js';
|
|
35
34
|
import {
|
|
36
35
|
Route,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
matchPath,
|
|
36
|
+
Routes,
|
|
37
|
+
matchRoutes,
|
|
40
38
|
generatePath,
|
|
41
39
|
useParams,
|
|
42
40
|
useLocation,
|
|
41
|
+
type NavigateFunction,
|
|
43
42
|
} from 'react-router';
|
|
44
43
|
|
|
45
44
|
export { BrowserRouter } from 'react-router-dom';
|
|
46
|
-
export { Route,
|
|
45
|
+
export { Route, Routes, useParams, matchRoutes, generatePath };
|
|
47
46
|
export const useNavigationZone = (): NavigationZone => {
|
|
48
|
-
const location = useLocation()
|
|
47
|
+
const location = useLocation();
|
|
49
48
|
return location.hash.substring(NAVIGATION_ZONE_PREFIX.length);
|
|
50
49
|
};
|
|
51
|
-
/**
|
|
52
|
-
* This clashes between react-router (older version) and React typings, so this is the workaround
|
|
53
|
-
* We will remove this when we move forward with our react-router upgrade
|
|
54
|
-
* See https://github.com/finos/legend-studio/issues/688
|
|
55
|
-
*/
|
|
56
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
57
|
-
export type TEMPORARY__ReactRouterComponentType = any;
|
|
58
50
|
|
|
59
51
|
/**
|
|
60
52
|
* Prefix URL patterns coming from extensions with `/extensions/`
|
|
@@ -63,8 +55,17 @@ export type TEMPORARY__ReactRouterComponentType = any;
|
|
|
63
55
|
export const generateExtensionUrlPattern = (pattern: string): string =>
|
|
64
56
|
`/extensions/${pattern}`.replace(/^\/extensions\/\//, '/extensions/');
|
|
65
57
|
|
|
58
|
+
export function stripTrailingSlash(url: string): string {
|
|
59
|
+
let _url = url;
|
|
60
|
+
while (_url.endsWith('/')) {
|
|
61
|
+
_url = _url.slice(0, -1);
|
|
62
|
+
}
|
|
63
|
+
return _url;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
66
|
export class BrowserNavigator implements ApplicationNavigator {
|
|
67
|
-
private readonly
|
|
67
|
+
private readonly navigate: NavigateFunction;
|
|
68
|
+
private readonly baseUrl: string;
|
|
68
69
|
private _isNavigationBlocked = false;
|
|
69
70
|
private _forceBypassNavigationBlocking = false;
|
|
70
71
|
private _blockCheckers: (() => boolean)[] = [];
|
|
@@ -76,13 +77,14 @@ export class BrowserNavigator implements ApplicationNavigator {
|
|
|
76
77
|
// NOTE: there is no way to customize the alert message for now since Chrome removed support for it due to security concerns
|
|
77
78
|
// See https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload#Browser_compatibility
|
|
78
79
|
event.returnValue = '';
|
|
80
|
+
event.preventDefault();
|
|
79
81
|
}
|
|
80
82
|
};
|
|
81
83
|
|
|
82
84
|
onBlock?: ((onProceed: () => void) => void) | undefined;
|
|
83
85
|
onNativePlatformNavigationBlock?: (() => void) | undefined;
|
|
84
86
|
|
|
85
|
-
constructor(
|
|
87
|
+
constructor(navigate: NavigateFunction, baseUrl: string) {
|
|
86
88
|
makeObservable<BrowserNavigator, '_isNavigationBlocked'>(this, {
|
|
87
89
|
_isNavigationBlocked: observable,
|
|
88
90
|
isNavigationBlocked: computed,
|
|
@@ -90,7 +92,8 @@ export class BrowserNavigator implements ApplicationNavigator {
|
|
|
90
92
|
unblockNavigation: action,
|
|
91
93
|
});
|
|
92
94
|
|
|
93
|
-
this.
|
|
95
|
+
this.navigate = navigate;
|
|
96
|
+
this.baseUrl = baseUrl;
|
|
94
97
|
}
|
|
95
98
|
|
|
96
99
|
private get window(): Window {
|
|
@@ -165,14 +168,11 @@ export class BrowserNavigator implements ApplicationNavigator {
|
|
|
165
168
|
}
|
|
166
169
|
|
|
167
170
|
generateAddress(location: NavigationLocation): string {
|
|
168
|
-
return
|
|
169
|
-
this.window.location.origin +
|
|
170
|
-
this.historyAPI.createHref({ pathname: location })
|
|
171
|
-
);
|
|
171
|
+
return this.window.location.origin + this.baseUrl + location;
|
|
172
172
|
}
|
|
173
173
|
|
|
174
174
|
updateCurrentLocation(location: NavigationLocation): void {
|
|
175
|
-
this.
|
|
175
|
+
this.navigate(location);
|
|
176
176
|
}
|
|
177
177
|
|
|
178
178
|
updateCurrentZone(zone: NavigationZone): void {
|
|
@@ -197,7 +197,7 @@ export class BrowserNavigator implements ApplicationNavigator {
|
|
|
197
197
|
}
|
|
198
198
|
|
|
199
199
|
getCurrentLocation(): NavigationLocation {
|
|
200
|
-
return this.
|
|
200
|
+
return this.window.location.pathname.substring(this.baseUrl.length);
|
|
201
201
|
}
|
|
202
202
|
|
|
203
203
|
getCurrentLocationParameters<
|
|
@@ -14,22 +14,22 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import type { History } from 'history';
|
|
18
17
|
import { BrowserNavigator } from '../navigation/BrowserNavigator.js';
|
|
19
18
|
import { ApplicationPlatform } from './ApplicationPlatform.js';
|
|
20
19
|
import type { ApplicationNavigator } from '../navigation/NavigationService.js';
|
|
21
20
|
import type { GenericLegendApplicationStore } from '../ApplicationStore.js';
|
|
22
21
|
import { LEGEND_APPLICATION_PARAM_TOKEN } from '../../__lib__/LegendApplicationNavigation.js';
|
|
22
|
+
import type { NavigateFunction } from 'react-router';
|
|
23
23
|
|
|
24
24
|
export class BrowserPlatform extends ApplicationPlatform {
|
|
25
25
|
readonly navigator: BrowserNavigator;
|
|
26
26
|
|
|
27
27
|
constructor(
|
|
28
28
|
applicationStore: GenericLegendApplicationStore,
|
|
29
|
-
config: {
|
|
29
|
+
config: { navigate: NavigateFunction; baseUrl: string },
|
|
30
30
|
) {
|
|
31
31
|
super(applicationStore);
|
|
32
|
-
this.navigator = new BrowserNavigator(config.
|
|
32
|
+
this.navigator = new BrowserNavigator(config.navigate, config.baseUrl);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
getNavigator(): ApplicationNavigator {
|