@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.
- package/lib/components/ApplicationComponentFrameworkProvider.d.ts +5 -0
- package/lib/components/ApplicationComponentFrameworkProvider.d.ts.map +1 -1
- package/lib/components/ApplicationComponentFrameworkProvider.js +29 -0
- package/lib/components/ApplicationComponentFrameworkProvider.js.map +1 -1
- package/lib/components/ApplicationFrameworkProvider.d.ts +1 -0
- package/lib/components/ApplicationFrameworkProvider.d.ts.map +1 -1
- package/lib/components/ApplicationFrameworkProvider.js +5 -2
- package/lib/components/ApplicationFrameworkProvider.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/package.json +4 -4
- package/package.json +7 -7
- package/src/components/ApplicationComponentFrameworkProvider.tsx +56 -0
- package/src/components/ApplicationFrameworkProvider.tsx +16 -3
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplicationFrameworkProvider.d.ts","sourceRoot":"","sources":["../../src/components/ApplicationFrameworkProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
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,
|
|
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
package/lib/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@finos/legend-application",
|
|
3
|
-
"version": "15.1.
|
|
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.
|
|
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.
|
|
77
|
+
"rimraf": "5.0.8",
|
|
78
78
|
"sass": "1.77.6",
|
|
79
|
-
"typescript": "5.5.
|
|
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.
|
|
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.
|
|
49
|
-
"@finos/legend-shared": "10.0.
|
|
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.
|
|
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.
|
|
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.
|
|
77
|
+
"rimraf": "5.0.8",
|
|
78
78
|
"sass": "1.77.6",
|
|
79
|
-
"typescript": "5.5.
|
|
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 {
|
|
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: {
|
|
25
|
-
|
|
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}
|