@finos/legend-application 15.1.13 → 15.1.14

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.
@@ -35,4 +35,9 @@ export declare const ApplicationComponentFrameworkProvider: ((props: {
35
35
  }) => import("react/jsx-runtime").JSX.Element) & {
36
36
  displayName: string;
37
37
  };
38
+ export declare const SimpleApplicationComponentFrameworkProvider: ((props: {
39
+ children: React.ReactNode;
40
+ }) => import("react/jsx-runtime").JSX.Element) & {
41
+ displayName: string;
42
+ };
38
43
  //# sourceMappingURL=ApplicationComponentFrameworkProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationComponentFrameworkProvider.d.ts","sourceRoot":"","sources":["../../src/components/ApplicationComponentFrameworkProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAiBH,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AA4DnF;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,UAC9B,aAAa,oBACF,6BAA6B,KAC9C,IAIF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAE7D,CAAC;AAEF,eAAO,MAAM,qCAAqC,WACxC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE;;CAqGtC,CAAC"}
1
+ {"version":3,"file":"ApplicationComponentFrameworkProvider.d.ts","sourceRoot":"","sources":["../../src/components/ApplicationComponentFrameworkProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAiBH,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AA4DnF;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,UAC9B,aAAa,oBACF,6BAA6B,KAC9C,IAIF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAE7D,CAAC;AAEF,eAAO,MAAM,qCAAqC,WACxC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE;;CAqGtC,CAAC;AAEF,eAAO,MAAM,2CAA2C,WAC9C;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE;;CAqDtC,CAAC"}
@@ -148,4 +148,33 @@ export const ApplicationComponentFrameworkProvider = observer((props) => {
148
148
  // Disable global context menu so that only places in the app that supports context-menu will be effective
149
149
  onContextMenu: disableContextMenu, children: [_jsx(BackdropContainer, { elementId: APPLICATION_COMPONENT_ELEMENT_ID.BACKDROP_CONTAINER }), children] }) })] }));
150
150
  });
151
+ export const SimpleApplicationComponentFrameworkProvider = observer((props) => {
152
+ const { children } = props;
153
+ const applicationStore = useApplicationStore();
154
+ const disableContextMenu = (event) => {
155
+ event.stopPropagation();
156
+ event.preventDefault();
157
+ };
158
+ const keyBindingMap = buildHotkeysConfiguration(applicationStore.keyboardShortcutsService.commandKeyMap, (keyCombination, event) => {
159
+ // prevent default from potentially clashing key combinations with platform native keyboard shortcuts
160
+ // NOTE: Though tempting since it's a good way to simplify and potentially avoid conflicts,
161
+ // we should not call `preventDefault()` because if we have any hotkey sequence which is too short,
162
+ // such as `r`, `a` - we risk blocking some very common interaction, i.e. user typing, or even
163
+ // constructing longer key combinations
164
+ if (PLATFORM_NATIVE_KEYBOARD_SHORTCUTS.includes(keyCombination)) {
165
+ event.preventDefault();
166
+ }
167
+ applicationStore.keyboardShortcutsService.dispatch(keyCombination);
168
+ });
169
+ useEffect(() => {
170
+ const onKeyEvent = createKeybindingsHandler(keyBindingMap);
171
+ document.addEventListener('keydown', onKeyEvent);
172
+ return () => {
173
+ document.removeEventListener('keydown', onKeyEvent);
174
+ };
175
+ }, [keyBindingMap]);
176
+ return (_jsx(LegendStyleProvider, { children: _jsx(DndProvider, { backend: HTML5Backend, children: _jsxs("div", { className: "app__container", "data-elementid": APPLICATION_COMPONENT_ELEMENT_ID.TOP_LEVEL_CONTAINER,
177
+ // Disable global context menu so that only places in the app that supports context-menu will be effective
178
+ onContextMenu: disableContextMenu, children: [_jsx(BackdropContainer, { elementId: APPLICATION_COMPONENT_ELEMENT_ID.BACKDROP_CONTAINER }), children] }) }) }));
179
+ });
151
180
  //# sourceMappingURL=ApplicationComponentFrameworkProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationComponentFrameworkProvider.js","sourceRoot":"","sources":["../../src/components/ApplicationComponentFrameworkProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApplicationComponentFrameworkProvider.js","sourceRoot":"","sources":["../../src/components/ApplicationComponentFrameworkProvider.tsx"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@
15
15
  */
16
16
  export declare const ApplicationFrameworkProvider: ((props: {
17
17
  children: React.ReactNode;
18
+ simple?: boolean | undefined;
18
19
  }) => React.ReactElement) & {
19
20
  displayName: string;
20
21
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationFrameworkProvider.d.ts","sourceRoot":"","sources":["../../src/components/ApplicationFrameworkProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,eAAO,MAAM,4BAA4B,WAC/B;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,KAAG,KAAK,CAAC,YAAY;;CAuB3D,CAAC"}
1
+ {"version":3,"file":"ApplicationFrameworkProvider.d.ts","sourceRoot":"","sources":["../../src/components/ApplicationFrameworkProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAWH,eAAO,MAAM,4BAA4B,WAC/B;IACN,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9B,KAAG,KAAK,CAAC,YAAY;;CA8BvB,CAAC"}
@@ -16,11 +16,11 @@ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
16
16
  */
17
17
  import { useEffect } from 'react';
18
18
  import { observer } from 'mobx-react-lite';
19
- import { ApplicationComponentFrameworkProvider } from './ApplicationComponentFrameworkProvider.js';
19
+ import { ApplicationComponentFrameworkProvider, SimpleApplicationComponentFrameworkProvider, } from './ApplicationComponentFrameworkProvider.js';
20
20
  import { useApplicationStore } from './ApplicationStoreProvider.js';
21
21
  import { useApplicationPlatform } from './ApplicationPlatformProvider.js';
22
22
  export const ApplicationFrameworkProvider = observer((props) => {
23
- const { children } = props;
23
+ const { children, simple } = props;
24
24
  const platform = useApplicationPlatform();
25
25
  const applicationStore = useApplicationStore();
26
26
  useEffect(() => {
@@ -34,6 +34,9 @@ export const ApplicationFrameworkProvider = observer((props) => {
34
34
  // TODO: would be great if we can have <React.StrictMode> here but since Mobx React is not ready for
35
35
  // concurrency yet, we would have to wait
36
36
  // See https://github.com/mobxjs/mobx/issues/2526
37
+ if (simple) {
38
+ return (_jsx(SimpleApplicationComponentFrameworkProvider, { children: children }));
39
+ }
37
40
  return (_jsx(ApplicationComponentFrameworkProvider, { children: children }));
38
41
  });
39
42
  //# sourceMappingURL=ApplicationFrameworkProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationFrameworkProvider.js","sourceRoot":"","sources":["../../src/components/ApplicationFrameworkProvider.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,qCAAqC,EAAE,MAAM,4CAA4C,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,MAAM,CAAC,MAAM,4BAA4B,GAAG,QAAQ,CAClD,CAAC,KAAoC,EAAsB,EAAE;IAC3D,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC3B,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;IAE/C,SAAS,CAAC,GAAG,EAAE;QACb,gBAAgB;aACb,UAAU,CAAC,QAAQ,CAAC;aACpB,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IACjD,CAAC,EAAE,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEjC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;QAC7C,OAAO,mBAAK,CAAC;IACf,CAAC;IACD,oGAAoG;IACpG,yCAAyC;IACzC,iDAAiD;IACjD,OAAO,CACL,KAAC,qCAAqC,cACnC,QAAQ,GAC6B,CACzC,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"ApplicationFrameworkProvider.js","sourceRoot":"","sources":["../../src/components/ApplicationFrameworkProvider.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,qCAAqC,EACrC,2CAA2C,GAC5C,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,MAAM,CAAC,MAAM,4BAA4B,GAAG,QAAQ,CAClD,CAAC,KAGA,EAAsB,EAAE;IACvB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACnC,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;IAE/C,SAAS,CAAC,GAAG,EAAE;QACb,gBAAgB;aACb,UAAU,CAAC,QAAQ,CAAC;aACpB,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IACjD,CAAC,EAAE,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEjC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;QAC7C,OAAO,mBAAK,CAAC;IACf,CAAC;IACD,oGAAoG;IACpG,yCAAyC;IACzC,iDAAiD;IACjD,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CACL,KAAC,2CAA2C,cACzC,QAAQ,GACmC,CAC/C,CAAC;IACJ,CAAC;IACD,OAAO,CACL,KAAC,qCAAqC,cACnC,QAAQ,GAC6B,CACzC,CAAC;AACJ,CAAC,CACF,CAAC"}
package/lib/index.css CHANGED
@@ -1,4 +1,4 @@
1
- /** @license @finos/legend-application v15.1.13
1
+ /** @license @finos/legend-application v15.1.14
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": "15.1.13",
3
+ "version": "15.1.14",
4
4
  "description": "Legend application core",
5
5
  "keywords": [
6
6
  "legend",
@@ -51,7 +51,7 @@
51
51
  "@types/react-dom": "18.3.0",
52
52
  "@types/react-router-dom": "5.3.3",
53
53
  "history": "5.3.0",
54
- "mobx": "6.12.5",
54
+ "mobx": "6.13.0",
55
55
  "mobx-react-lite": "4.0.7",
56
56
  "react": "18.3.1",
57
57
  "react-dnd": "16.0.1",
@@ -74,9 +74,9 @@
74
74
  "eslint": "8.57.0",
75
75
  "jest": "29.7.0",
76
76
  "npm-run-all": "4.1.5",
77
- "rimraf": "5.0.7",
77
+ "rimraf": "5.0.8",
78
78
  "sass": "1.77.6",
79
- "typescript": "5.5.2"
79
+ "typescript": "5.5.3"
80
80
  },
81
81
  "peerDependencies": {
82
82
  "react": "^18.0.0"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-application",
3
- "version": "15.1.13",
3
+ "version": "15.1.14",
4
4
  "description": "Legend application core",
5
5
  "keywords": [
6
6
  "legend",
@@ -45,13 +45,13 @@
45
45
  "test:watch": "jest --watch"
46
46
  },
47
47
  "dependencies": {
48
- "@finos/legend-art": "7.1.41",
49
- "@finos/legend-shared": "10.0.43",
48
+ "@finos/legend-art": "7.1.42",
49
+ "@finos/legend-shared": "10.0.44",
50
50
  "@types/react": "18.3.3",
51
51
  "@types/react-dom": "18.3.0",
52
52
  "@types/react-router-dom": "5.3.3",
53
53
  "history": "5.3.0",
54
- "mobx": "6.12.5",
54
+ "mobx": "6.13.0",
55
55
  "mobx-react-lite": "4.0.7",
56
56
  "react": "18.3.1",
57
57
  "react-dnd": "16.0.1",
@@ -68,15 +68,15 @@
68
68
  "xterm-addon-webgl": "0.16.0"
69
69
  },
70
70
  "devDependencies": {
71
- "@finos/legend-dev-utils": "2.1.11",
71
+ "@finos/legend-dev-utils": "2.1.12",
72
72
  "@jest/globals": "29.7.0",
73
73
  "cross-env": "7.0.3",
74
74
  "eslint": "8.57.0",
75
75
  "jest": "29.7.0",
76
76
  "npm-run-all": "4.1.5",
77
- "rimraf": "5.0.7",
77
+ "rimraf": "5.0.8",
78
78
  "sass": "1.77.6",
79
- "typescript": "5.5.2"
79
+ "typescript": "5.5.3"
80
80
  },
81
81
  "peerDependencies": {
82
82
  "react": "^18.0.0"
@@ -217,3 +217,59 @@ export const ApplicationComponentFrameworkProvider = observer(
217
217
  );
218
218
  },
219
219
  );
220
+
221
+ export const SimpleApplicationComponentFrameworkProvider = observer(
222
+ (props: { children: React.ReactNode }) => {
223
+ const { children } = props;
224
+ const applicationStore = useApplicationStore();
225
+ const disableContextMenu: React.MouseEventHandler = (event) => {
226
+ event.stopPropagation();
227
+ event.preventDefault();
228
+ };
229
+
230
+ const keyBindingMap = buildHotkeysConfiguration(
231
+ applicationStore.keyboardShortcutsService.commandKeyMap,
232
+ (keyCombination: string, event: KeyboardEvent) => {
233
+ // prevent default from potentially clashing key combinations with platform native keyboard shortcuts
234
+ // NOTE: Though tempting since it's a good way to simplify and potentially avoid conflicts,
235
+ // we should not call `preventDefault()` because if we have any hotkey sequence which is too short,
236
+ // such as `r`, `a` - we risk blocking some very common interaction, i.e. user typing, or even
237
+ // constructing longer key combinations
238
+ if (PLATFORM_NATIVE_KEYBOARD_SHORTCUTS.includes(keyCombination)) {
239
+ event.preventDefault();
240
+ }
241
+ applicationStore.keyboardShortcutsService.dispatch(keyCombination);
242
+ },
243
+ );
244
+
245
+ useEffect(() => {
246
+ const onKeyEvent = createKeybindingsHandler(keyBindingMap);
247
+ document.addEventListener('keydown', onKeyEvent);
248
+ return () => {
249
+ document.removeEventListener('keydown', onKeyEvent);
250
+ };
251
+ }, [keyBindingMap]);
252
+
253
+ return (
254
+ <LegendStyleProvider>
255
+ <DndProvider backend={HTML5Backend}>
256
+ <div
257
+ className="app__container"
258
+ // NOTE: this `id` is used to quickly identify this DOM node so we could manually
259
+ // dispatch keyboard event here in order to be captured by our global hotkeys matchers
260
+ data-elementid={
261
+ APPLICATION_COMPONENT_ELEMENT_ID.TOP_LEVEL_CONTAINER
262
+ }
263
+ // Disable global context menu so that only places in the app that supports context-menu will be effective
264
+ onContextMenu={disableContextMenu}
265
+ >
266
+ <BackdropContainer
267
+ elementId={APPLICATION_COMPONENT_ELEMENT_ID.BACKDROP_CONTAINER}
268
+ />
269
+ {children}
270
+ </div>
271
+ </DndProvider>
272
+ </LegendStyleProvider>
273
+ );
274
+ },
275
+ );
@@ -16,13 +16,19 @@
16
16
 
17
17
  import { useEffect } from 'react';
18
18
  import { observer } from 'mobx-react-lite';
19
- import { ApplicationComponentFrameworkProvider } from './ApplicationComponentFrameworkProvider.js';
19
+ import {
20
+ ApplicationComponentFrameworkProvider,
21
+ SimpleApplicationComponentFrameworkProvider,
22
+ } from './ApplicationComponentFrameworkProvider.js';
20
23
  import { useApplicationStore } from './ApplicationStoreProvider.js';
21
24
  import { useApplicationPlatform } from './ApplicationPlatformProvider.js';
22
25
 
23
26
  export const ApplicationFrameworkProvider = observer(
24
- (props: { children: React.ReactNode }): React.ReactElement => {
25
- const { children } = props;
27
+ (props: {
28
+ children: React.ReactNode;
29
+ simple?: boolean | undefined;
30
+ }): React.ReactElement => {
31
+ const { children, simple } = props;
26
32
  const platform = useApplicationPlatform();
27
33
  const applicationStore = useApplicationStore();
28
34
 
@@ -38,6 +44,13 @@ export const ApplicationFrameworkProvider = observer(
38
44
  // TODO: would be great if we can have <React.StrictMode> here but since Mobx React is not ready for
39
45
  // concurrency yet, we would have to wait
40
46
  // See https://github.com/mobxjs/mobx/issues/2526
47
+ if (simple) {
48
+ return (
49
+ <SimpleApplicationComponentFrameworkProvider>
50
+ {children}
51
+ </SimpleApplicationComponentFrameworkProvider>
52
+ );
53
+ }
41
54
  return (
42
55
  <ApplicationComponentFrameworkProvider>
43
56
  {children}