@finos/legend-application 16.0.1 → 16.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/lib/__lib__/LegendApplicationEvent.d.ts +1 -0
  2. package/lib/__lib__/LegendApplicationEvent.d.ts.map +1 -1
  3. package/lib/__lib__/LegendApplicationEvent.js +1 -0
  4. package/lib/__lib__/LegendApplicationEvent.js.map +1 -1
  5. package/lib/application/LegendApplication.d.ts +4 -1
  6. package/lib/application/LegendApplication.d.ts.map +1 -1
  7. package/lib/application/LegendApplication.js +5 -5
  8. package/lib/application/LegendApplication.js.map +1 -1
  9. package/lib/components/BrowserEnvironmentProvider.d.ts.map +1 -1
  10. package/lib/components/BrowserEnvironmentProvider.js +9 -6
  11. package/lib/components/BrowserEnvironmentProvider.js.map +1 -1
  12. package/lib/components/__test-utils__/BrowserEnvironmentTestUtils.d.ts +1 -4
  13. package/lib/components/__test-utils__/BrowserEnvironmentTestUtils.d.ts.map +1 -1
  14. package/lib/components/__test-utils__/BrowserEnvironmentTestUtils.js +22 -9
  15. package/lib/components/__test-utils__/BrowserEnvironmentTestUtils.js.map +1 -1
  16. package/lib/index.css +1 -1
  17. package/lib/package.json +7 -8
  18. package/lib/stores/LegendApplicationPlugin.d.ts +1 -1
  19. package/lib/stores/LegendApplicationPlugin.d.ts.map +1 -1
  20. package/lib/stores/navigation/BrowserNavigator.d.ts +6 -11
  21. package/lib/stores/navigation/BrowserNavigator.d.ts.map +1 -1
  22. package/lib/stores/navigation/BrowserNavigator.js +19 -10
  23. package/lib/stores/navigation/BrowserNavigator.js.map +1 -1
  24. package/lib/stores/platform/BrowserPlatform.d.ts +3 -2
  25. package/lib/stores/platform/BrowserPlatform.d.ts.map +1 -1
  26. package/lib/stores/platform/BrowserPlatform.js +1 -1
  27. package/lib/stores/platform/BrowserPlatform.js.map +1 -1
  28. package/package.json +10 -11
  29. package/src/__lib__/LegendApplicationEvent.ts +1 -0
  30. package/src/application/LegendApplication.ts +7 -7
  31. package/src/components/BrowserEnvironmentProvider.tsx +14 -7
  32. package/src/components/__test-utils__/BrowserEnvironmentTestUtils.tsx +27 -12
  33. package/src/stores/LegendApplicationPlugin.ts +1 -1
  34. package/src/stores/navigation/BrowserNavigator.ts +22 -22
  35. package/src/stores/platform/BrowserPlatform.ts +3 -3
@@ -33,6 +33,7 @@ export declare enum APPLICATION_EVENT {
33
33
  COMMAND_CENTER_REGISTRATION__FAILURE = "application.command.registration.failure",
34
34
  APPLICATION_CONTEXT__ACCESS = "application.context.access",
35
35
  APPLICATION_USAGE__INTERRUPT = "application.usage.interrupt",
36
+ NAVIGATION_BLOCKED = "application.usage.navigation-blocked",
36
37
  APPLICATION_TELEMETRY_EVENT__FAILURE = "application.telemetry-event.failure",
37
38
  DEBUG = "development.debug"
38
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LegendApplicationEvent.d.ts","sourceRoot":"","sources":["../../src/__lib__/LegendApplicationEvent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,oBAAY,iBAAiB;IAC3B,0BAA0B,8BAA8B;IAExD,yBAAyB,6BAA6B;IACtD,yBAAyB,6BAA6B;IAEtD,kCAAkC,oCAAoC;IACtE,kCAAkC,sCAAsC;IAExE,4BAA4B,4CAA4C;IAExE,4BAA4B,4CAA4C;IACxE,wBAAwB,wCAAwC;IAChE,wCAAwC,wDAAwD;IAEhG,mCAAmC,qEAAqE;IACxG,6CAA6C,6DAA6D;IAE1G,6CAA6C,kEAAkE;IAE/G,wCAAwC,+DAA+D;IAEvG,oCAAoC,oDAAoD;IACxF,uBAAuB,yCAAyC;IAEhE,0BAA0B,2CAA2C;IAErE,oCAAoC,6CAA6C;IAEjF,2BAA2B,+BAA+B;IAE1D,4BAA4B,gCAAgC;IAE5D,oCAAoC,wCAAwC;IAE5E,KAAK,sBAAsB;CAC5B"}
1
+ {"version":3,"file":"LegendApplicationEvent.d.ts","sourceRoot":"","sources":["../../src/__lib__/LegendApplicationEvent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,oBAAY,iBAAiB;IAC3B,0BAA0B,8BAA8B;IAExD,yBAAyB,6BAA6B;IACtD,yBAAyB,6BAA6B;IAEtD,kCAAkC,oCAAoC;IACtE,kCAAkC,sCAAsC;IAExE,4BAA4B,4CAA4C;IAExE,4BAA4B,4CAA4C;IACxE,wBAAwB,wCAAwC;IAChE,wCAAwC,wDAAwD;IAEhG,mCAAmC,qEAAqE;IACxG,6CAA6C,6DAA6D;IAE1G,6CAA6C,kEAAkE;IAE/G,wCAAwC,+DAA+D;IAEvG,oCAAoC,oDAAoD;IACxF,uBAAuB,yCAAyC;IAEhE,0BAA0B,2CAA2C;IAErE,oCAAoC,6CAA6C;IAEjF,2BAA2B,+BAA+B;IAE1D,4BAA4B,gCAAgC;IAC5D,kBAAkB,yCAAyC;IAE3D,oCAAoC,wCAAwC;IAE5E,KAAK,sBAAsB;CAC5B"}
@@ -34,6 +34,7 @@ export var APPLICATION_EVENT;
34
34
  APPLICATION_EVENT["COMMAND_CENTER_REGISTRATION__FAILURE"] = "application.command.registration.failure";
35
35
  APPLICATION_EVENT["APPLICATION_CONTEXT__ACCESS"] = "application.context.access";
36
36
  APPLICATION_EVENT["APPLICATION_USAGE__INTERRUPT"] = "application.usage.interrupt";
37
+ APPLICATION_EVENT["NAVIGATION_BLOCKED"] = "application.usage.navigation-blocked";
37
38
  APPLICATION_EVENT["APPLICATION_TELEMETRY_EVENT__FAILURE"] = "application.telemetry-event.failure";
38
39
  APPLICATION_EVENT["DEBUG"] = "development.debug";
39
40
  })(APPLICATION_EVENT || (APPLICATION_EVENT = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"LegendApplicationEvent.js","sourceRoot":"","sources":["../../src/__lib__/LegendApplicationEvent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAN,IAAY,iBAoCX;AApCD,WAAY,iBAAiB;IAC3B,6EAAwD,CAAA;IAExD,2EAAsD,CAAA;IACtD,2EAAsD,CAAA;IAEtD,2FAAsE,CAAA;IACtE,6FAAwE,CAAA;IAExE,6FAAwE,CAAA;IAExE,6FAAwE,CAAA;IACxE,qFAAgE,CAAA;IAChE,qHAAgG,CAAA;IAEhG,6HAAwG,CAAA;IACxG,+HAA0G,CAAA;IAE1G,oIAA+G,CAAA;IAE/G,4HAAuG,CAAA;IAEvG,6GAAwF,CAAA;IACxF,qFAAgE,CAAA;IAEhE,0FAAqE,CAAA;IAErE,sGAAiF,CAAA;IAEjF,+EAA0D,CAAA;IAE1D,iFAA4D,CAAA;IAE5D,iGAA4E,CAAA;IAE5E,gDAA2B,CAAA;AAC7B,CAAC,EApCW,iBAAiB,KAAjB,iBAAiB,QAoC5B"}
1
+ {"version":3,"file":"LegendApplicationEvent.js","sourceRoot":"","sources":["../../src/__lib__/LegendApplicationEvent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAN,IAAY,iBAqCX;AArCD,WAAY,iBAAiB;IAC3B,6EAAwD,CAAA;IAExD,2EAAsD,CAAA;IACtD,2EAAsD,CAAA;IAEtD,2FAAsE,CAAA;IACtE,6FAAwE,CAAA;IAExE,6FAAwE,CAAA;IAExE,6FAAwE,CAAA;IACxE,qFAAgE,CAAA;IAChE,qHAAgG,CAAA;IAEhG,6HAAwG,CAAA;IACxG,+HAA0G,CAAA;IAE1G,oIAA+G,CAAA;IAE/G,4HAAuG,CAAA;IAEvG,6GAAwF,CAAA;IACxF,qFAAgE,CAAA;IAEhE,0FAAqE,CAAA;IAErE,sGAAiF,CAAA;IAEjF,+EAA0D,CAAA;IAE1D,iFAA4D,CAAA;IAC5D,gFAA2D,CAAA;IAE3D,iGAA4E,CAAA;IAE5E,gDAA2B,CAAA;AAC7B,CAAC,EArCW,iBAAiB,KAAjB,iBAAiB,QAqC5B"}
@@ -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(baseUrl: string): Promise<[LegendApplicationConfig, ExtensionsConfigurationData]>;
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":"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,CACjC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,CAAC,uBAAuB,EAAE,2BAA2B,CAAC,CAAC;IA8C5D,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"}
1
+ {"version":3,"file":"LegendApplication.d.ts","sourceRoot":"","sources":["../../src/application/LegendApplication.ts"],"names":[],"mappings":"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"}
@@ -90,12 +90,12 @@ export class LegendApplication {
90
90
  store.releaseNotesService.configure(this.releaseNotes);
91
91
  }
92
92
  }
93
- async fetchApplicationConfiguration(baseUrl) {
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}${baseUrl}config.json`);
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}${baseUrl}version.json`);
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: baseUrl,
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(this.baseAddress);
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;AA0BH,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAAC;IAChD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB,CAIA,CAAC"}
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 { useHistory } from 'react-router';
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
- const BrowserPlatformProvider = ({ children }) => {
23
+ import { stripTrailingSlash } from '../stores/navigation/BrowserNavigator.js';
24
+ const BrowserPlatformProvider = ({ children, baseUrl }) => {
25
25
  const applicationStore = useApplicationStore();
26
- const historyAPI = useHistory(); // TODO: this is a temporary hack until we upgrade react-router
27
- const platform = useLocalObservable(() => new BrowserPlatform(applicationStore, { historyAPI }));
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,EAAgB,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,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;AAEpE,MAAM,uBAAuB,GAExB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACpB,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;IAC/C,MAAM,UAAU,GAAG,UAAU,EAAa,CAAC,CAAC,+DAA+D;IAC3G,MAAM,QAAQ,GAAG,kBAAkB,CACjC,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,gBAAgB,EAAE,EAAE,UAAU,EAAE,CAAC,CAC5D,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,OAAO,YAC9B,KAAC,uBAAuB,cAAE,QAAQ,GAA2B,GAC/C,CACjB,CAAC"}
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
- historyAPI?: History | undefined;
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;AAEH,OAAO,EAAE,mBAAmB,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAG5D,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAE3E,OAAO,EAAE,KAAK,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAItF,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B,eAAO,MAAM,gCAAgC,EAAE,KAAK,CAAC,EAAE,CAAC;IACtD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAClC,CAcA,CAAC;AAEF,eAAO,MAAM,kCAAkC,qBAC3B,6BAA6B,kBAC/B;IACd,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,KACA,eAUF,CAAC"}
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
- export { createMemoryHistory };
26
- export const TEST__BrowserEnvironmentProvider = ({ children, historyAPI }) => {
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 history = historyAPI ?? createMemoryHistory();
29
- const platform = useLocalObservable(() => new BrowserPlatform(applicationStore, { historyAPI: history }));
30
- return (_jsx(Router, { history: history, children: _jsx(ApplicationPlatformContext.Provider, { value: platform, children: children }) }));
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 BrowserPlatform(applicationStore, {
35
- historyAPI: customization?.historyAPI ?? createMemoryHistory(),
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,mBAAmB,EAAgB,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,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;AAEvD,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B,MAAM,CAAC,MAAM,gCAAgC,GAGxC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;IAChC,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,UAAU,IAAI,mBAAmB,EAAE,CAAC;IACpD,MAAM,QAAQ,GAAG,kBAAkB,CACjC,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,gBAAgB,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CACrE,CAAC;IAEF,OAAO,CACL,KAAC,MAAM,IAAC,OAAO,EAAE,OAAO,YACtB,KAAC,0BAA0B,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,YACjD,QAAQ,GAC2B,GAC/B,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAChD,gBAA+C,EAC/C,aAGC,EACgB,EAAE;IACnB,MAAM,KAAK,GACT,aAAa,EAAE,IAAI;QACnB,IAAI,eAAe,CAAC,gBAAgB,EAAE;YACpC,UAAU,EAAE,aAAa,EAAE,UAAU,IAAI,mBAAmB,EAAE;SAC/D,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"}
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
@@ -1,4 +1,4 @@
1
- /** @license @finos/legend-application v16.0.1
1
+ /** @license @finos/legend-application v16.0.3
2
2
  * Copyright (c) 2020-present, Goldman Sachs
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
package/lib/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-application",
3
- "version": "16.0.1",
3
+ "version": "16.0.3",
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.9",
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": "5.3.4",
61
- "react-router-dom": "5.3.4",
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": "8.57.1",
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.3",
79
- "typescript": "5.6.2"
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: React.FC | React.ReactElement;
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,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC;CACzC,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"}
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, Switch, Redirect, matchPath, generatePath, useParams } from 'react-router';
17
+ import { Route, Routes, matchRoutes, generatePath, useParams, type NavigateFunction } from 'react-router';
19
18
  export { BrowserRouter } from 'react-router-dom';
20
- export { Route, Switch, Redirect, useParams, matchPath, generatePath };
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 historyAPI;
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(historyApiClient: History);
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;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAUvC,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,gCAAgC,EACrC,KAAK,cAAc,EAEpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,EACL,MAAM,EACN,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,SAAS,EAEV,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;AACvE,eAAO,MAAM,iBAAiB,QAAO,cAGpC,CAAC;AACF;;;;GAIG;AAEH,MAAM,MAAM,mCAAmC,GAAG,GAAG,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,YAAa,MAAM,KAAG,MACS,CAAC;AAExE,qBAAa,gBAAiB,YAAW,oBAAoB;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,8BAA8B,CAAS;IAC/C,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,qBAAqB,CAS3B;IAEF,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACxD,+BAA+B,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;gBAE/C,gBAAgB,EAAE,OAAO;IAWrC,OAAO,KAAK,MAAM,GAKjB;IAED,YAAY,CACV,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAAE,GACjD,IAAI;IAkBP,MAAM,CAAC,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAAE,GAAG,IAAI;IAkBhE,WAAW,CACT,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAAE,GACjD,IAAI;IAkBP,YAAY,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAI9C,eAAe,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM;IAOrD,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAIzD,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAI7C,SAAS,IAAI,IAAI;IAIjB,qBAAqB,CAAC,OAAO,CAAC,EAAE;QAC9B,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACnC,GAAG,iBAAiB;IAOrB,iBAAiB,IAAI,iBAAiB;IAItC,kBAAkB,IAAI,kBAAkB;IAIxC,4BAA4B,CAC1B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,gCAAgC,CAAC,KACvD,CAAC;IAWN,gCAAgC,CAC9B,GAAG,EAAE,MAAM,GACV,gCAAgC;IAInC,cAAc,IAAI,cAAc;IAIhC,eAAe,CACb,aAAa,EAAE,CAAC,MAAM,OAAO,CAAC,EAAE,EAChC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,EACvD,+BAA+B,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,GACzD,IAAI;IAuBP,iBAAiB,IAAI,IAAI;IAQzB,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAED,uCAAuC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAa3D"}
1
+ {"version":3,"file":"BrowserNavigator.d.ts","sourceRoot":"","sources":["../../../src/stores/navigation/BrowserNavigator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAWH,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,gCAAgC,EACrC,KAAK,cAAc,EAEpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,EACL,MAAM,EACN,WAAW,EACX,YAAY,EACZ,SAAS,EAET,KAAK,gBAAgB,EACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;AAC/D,eAAO,MAAM,iBAAiB,QAAO,cAGpC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,YAAa,MAAM,KAAG,MACS,CAAC;AAExE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMtD;AAED,qBAAa,gBAAiB,YAAW,oBAAoB;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,8BAA8B,CAAS;IAC/C,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,qBAAqB,CAU3B;IAEF,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACxD,+BAA+B,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;gBAE/C,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM;IAYvD,OAAO,KAAK,MAAM,GAKjB;IAED,YAAY,CACV,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAAE,GACjD,IAAI;IAkBP,MAAM,CAAC,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAAE,GAAG,IAAI;IAkBhE,WAAW,CACT,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAAE,GACjD,IAAI;IAkBP,YAAY,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAI9C,eAAe,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM;IAIrD,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAIzD,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAI7C,SAAS,IAAI,IAAI;IAIjB,qBAAqB,CAAC,OAAO,CAAC,EAAE;QAC9B,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACnC,GAAG,iBAAiB;IAOrB,iBAAiB,IAAI,iBAAiB;IAItC,kBAAkB,IAAI,kBAAkB;IAIxC,4BAA4B,CAC1B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,gCAAgC,CAAC,KACvD,CAAC;IAWN,gCAAgC,CAC9B,GAAG,EAAE,MAAM,GACV,gCAAgC;IAInC,cAAc,IAAI,cAAc;IAIhC,eAAe,CACb,aAAa,EAAE,CAAC,MAAM,OAAO,CAAC,EAAE,EAChC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,EACvD,+BAA+B,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,GACzD,IAAI;IAuBP,iBAAiB,IAAI,IAAI;IAQzB,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAED,uCAAuC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAa3D"}
@@ -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, Switch, Redirect, matchPath, generatePath, useParams, useLocation, } from 'react-router';
19
+ import { Route, Routes, matchRoutes, generatePath, useParams, useLocation, } from 'react-router';
20
20
  export { BrowserRouter } from 'react-router-dom';
21
- export { Route, Switch, Redirect, useParams, matchPath, generatePath };
21
+ export { Route, Routes, useParams, matchRoutes, generatePath };
22
22
  export const useNavigationZone = () => {
23
- const location = useLocation(); // TODO: this is a temporary hack until we upgrade react-router
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
- historyAPI;
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(historyApiClient) {
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.historyAPI = historyApiClient;
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 (this.window.location.origin +
113
- this.historyAPI.createHref({ pathname: location }));
122
+ return this.window.location.origin + this.baseUrl + location;
114
123
  }
115
124
  updateCurrentLocation(location) {
116
- this.historyAPI.push(location);
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.historyAPI.location.pathname;
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":"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"}
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
- historyAPI: History;
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,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,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;AAG5E,qBAAa,eAAgB,SAAQ,mBAAmB;IACtD,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAGnC,gBAAgB,EAAE,6BAA6B,EAC/C,MAAM,EAAE;QAAE,UAAU,EAAE,OAAO,CAAA;KAAE;IAMjC,YAAY,IAAI,oBAAoB;IAIrB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAe3C"}
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.historyAPI);
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;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EAAE,8BAA8B,EAAE,MAAM,8CAA8C,CAAC;AAE9F,MAAM,OAAO,eAAgB,SAAQ,mBAAmB;IAC7C,SAAS,CAAmB;IAErC,YACE,gBAA+C,EAC/C,MAA+B;QAE/B,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3D,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"}
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.1",
3
+ "version": "16.0.3",
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.60",
49
- "@finos/legend-shared": "10.0.56",
50
- "@types/react": "18.3.9",
48
+ "@finos/legend-art": "7.1.62",
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": "5.3.4",
61
- "react-router-dom": "5.3.4",
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.23",
70
+ "@finos/legend-dev-utils": "2.1.25",
72
71
  "@jest/globals": "29.7.0",
73
72
  "cross-env": "7.0.3",
74
- "eslint": "8.57.1",
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.3",
79
- "typescript": "5.6.2"
77
+ "sass": "1.79.4",
78
+ "typescript": "5.6.3"
80
79
  },
81
80
  "peerDependencies": {
82
81
  "react": "^18.0.0"
@@ -46,6 +46,7 @@ export enum APPLICATION_EVENT {
46
46
  APPLICATION_CONTEXT__ACCESS = 'application.context.access',
47
47
 
48
48
  APPLICATION_USAGE__INTERRUPT = 'application.usage.interrupt',
49
+ NAVIGATION_BLOCKED = 'application.usage.navigation-blocked',
49
50
 
50
51
  APPLICATION_TELEMETRY_EVENT__FAILURE = 'application.telemetry-event.failure',
51
52
 
@@ -184,16 +184,16 @@ export abstract class LegendApplication {
184
184
  }
185
185
  }
186
186
 
187
- async fetchApplicationConfiguration(
188
- baseUrl: string,
189
- ): Promise<[LegendApplicationConfig, ExtensionsConfigurationData]> {
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}${baseUrl}config.json`,
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}${baseUrl}version.json`,
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: baseUrl,
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(this.baseAddress);
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 { useHistory } from 'react-router';
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
- }> = ({ children }) => {
27
+ baseUrl: string;
28
+ }> = ({ children, baseUrl }) => {
28
29
  const applicationStore = useApplicationStore();
29
- const historyAPI = useHistory() as History; // TODO: this is a temporary hack until we upgrade react-router
30
+ const navigate = useNavigate();
30
31
  const platform = useLocalObservable(
31
- () => new BrowserPlatform(applicationStore, { historyAPI }),
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>{children}</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
- export { createMemoryHistory };
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
- historyAPI?: History | undefined;
31
- }> = ({ children, historyAPI }) => {
42
+ initialEntries: string[];
43
+ }> = ({ children, initialEntries }) => {
32
44
  const applicationStore = useApplicationStore();
33
- const history = historyAPI ?? createMemoryHistory();
34
45
  const platform = useLocalObservable(
35
- () => new BrowserPlatform(applicationStore, { historyAPI: history }),
46
+ () =>
47
+ new TEST__BrowserPlatorm(applicationStore, {
48
+ navigate: () => {},
49
+ baseUrl: TEST__APPLICATION_BASE_URL,
50
+ }),
36
51
  );
37
52
 
38
53
  return (
39
- <Router history={history}>
54
+ <MemoryRouter initialEntries={initialEntries}>
40
55
  <ApplicationPlatformContext.Provider value={platform}>
41
56
  {children}
42
57
  </ApplicationPlatformContext.Provider>
43
- </Router>
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 BrowserPlatform(applicationStore, {
57
- historyAPI: customization?.historyAPI ?? createMemoryHistory(),
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: React.FC | React.ReactElement;
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
- Switch,
38
- Redirect,
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, Switch, Redirect, useParams, matchPath, generatePath };
45
+ export { Route, Routes, useParams, matchRoutes, generatePath };
47
46
  export const useNavigationZone = (): NavigationZone => {
48
- const location = useLocation() as { hash: string }; // TODO: this is a temporary hack until we upgrade react-router
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 historyAPI: History;
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(historyApiClient: History) {
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.historyAPI = historyApiClient;
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.historyAPI.push(location);
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.historyAPI.location.pathname;
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: { historyAPI: History },
29
+ config: { navigate: NavigateFunction; baseUrl: string },
30
30
  ) {
31
31
  super(applicationStore);
32
- this.navigator = new BrowserNavigator(config.historyAPI);
32
+ this.navigator = new BrowserNavigator(config.navigate, config.baseUrl);
33
33
  }
34
34
 
35
35
  getNavigator(): ApplicationNavigator {