@finos/legend-application 3.0.3 → 4.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 +2 -2
- package/lib/application/LegendApplication.d.ts.map +1 -1
- package/lib/application/LegendApplication.js +4 -4
- package/lib/application/LegendApplication.js.map +1 -1
- package/lib/application/LegendApplicationPluginManager.d.ts +3 -3
- package/lib/application/LegendApplicationPluginManager.d.ts.map +1 -1
- package/lib/components/ActionAlert.d.ts +1 -0
- package/lib/components/ActionAlert.d.ts.map +1 -1
- package/lib/components/ActionAlert.js +2 -2
- package/lib/components/ActionAlert.js.map +1 -1
- package/lib/components/ApplicationStoreProvider.d.ts +3 -3
- package/lib/components/ApplicationStoreProvider.d.ts.map +1 -1
- package/lib/components/ApplicationStoreProvider.js +2 -2
- package/lib/components/ApplicationStoreProvider.js.map +1 -1
- package/lib/components/ApplicationStoreProviderTestUtils.d.ts +5 -5
- package/lib/components/ApplicationStoreProviderTestUtils.d.ts.map +1 -1
- package/lib/components/ApplicationStoreProviderTestUtils.js +5 -4
- package/lib/components/ApplicationStoreProviderTestUtils.js.map +1 -1
- package/lib/components/ApplicationTestID.js +1 -1
- package/lib/components/ApplicationTestID.js.map +1 -1
- package/lib/components/BasicValueSpecificationEditor.d.ts +44 -0
- package/lib/components/BasicValueSpecificationEditor.d.ts.map +1 -0
- package/lib/components/BasicValueSpecificationEditor.js +276 -0
- package/lib/components/BasicValueSpecificationEditor.js.map +1 -0
- package/lib/components/BlockingAlert.d.ts +1 -0
- package/lib/components/BlockingAlert.d.ts.map +1 -1
- package/lib/components/BlockingAlert.js +1 -1
- package/lib/components/BlockingAlert.js.map +1 -1
- package/lib/components/CustomDatePicker.d.ts +38 -0
- package/lib/components/CustomDatePicker.d.ts.map +1 -0
- package/lib/components/CustomDatePicker.js +592 -0
- package/lib/components/CustomDatePicker.js.map +1 -0
- package/lib/components/DocumentationLink.d.ts +1 -1
- package/lib/components/DocumentationLink.js +2 -2
- package/lib/components/DocumentationLink.js.map +1 -1
- package/lib/components/LambdaEditor.d.ts +2 -1
- package/lib/components/LambdaEditor.d.ts.map +1 -1
- package/lib/components/LambdaEditor.js +3 -3
- package/lib/components/LambdaEditor.js.map +1 -1
- package/lib/components/LambdaParameterValuesEditor.d.ts +25 -0
- package/lib/components/LambdaParameterValuesEditor.d.ts.map +1 -0
- package/lib/components/LambdaParameterValuesEditor.js +52 -0
- package/lib/components/LambdaParameterValuesEditor.js.map +1 -0
- package/lib/components/LegendApplicationComponentFrameworkProvider.d.ts +1 -1
- package/lib/components/LegendApplicationComponentFrameworkProvider.js +3 -3
- package/lib/components/LegendApplicationComponentFrameworkProvider.js.map +1 -1
- package/lib/components/LegendApplicationNavigationContextServiceUtils.d.ts +32 -0
- package/lib/components/LegendApplicationNavigationContextServiceUtils.d.ts.map +1 -0
- package/lib/components/LegendApplicationNavigationContextServiceUtils.js +57 -0
- package/lib/components/LegendApplicationNavigationContextServiceUtils.js.map +1 -0
- package/lib/components/NotificationManager.d.ts +1 -0
- package/lib/components/NotificationManager.d.ts.map +1 -1
- package/lib/components/NotificationManager.js +2 -2
- package/lib/components/NotificationManager.js.map +1 -1
- package/lib/components/TextInputEditor.d.ts +2 -2
- package/lib/components/TextInputEditor.d.ts.map +1 -1
- package/lib/components/TextInputEditor.js +2 -2
- package/lib/components/TextInputEditor.js.map +1 -1
- package/lib/components/{AppHeader.d.ts → VirtualAssistant.d.ts} +5 -5
- package/lib/components/VirtualAssistant.d.ts.map +1 -0
- package/lib/components/VirtualAssistant.js +171 -0
- package/lib/components/VirtualAssistant.js.map +1 -0
- package/lib/components/WebApplicationNavigatorProvider.d.ts +2 -2
- package/lib/components/WebApplicationNavigatorProvider.d.ts.map +1 -1
- package/lib/components/WebApplicationNavigatorProvider.js +1 -1
- package/lib/components/WebApplicationNavigatorProvider.js.map +1 -1
- package/lib/components/WebApplicationNavigatorProviderTestUtils.d.ts +2 -2
- package/lib/components/WebApplicationNavigatorProviderTestUtils.d.ts.map +1 -1
- package/lib/components/WebApplicationNavigatorProviderTestUtils.js +3 -2
- package/lib/components/WebApplicationNavigatorProviderTestUtils.js.map +1 -1
- package/lib/const.js +2 -2
- package/lib/const.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/index.d.ts +30 -22
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +32 -22
- package/lib/index.js.map +1 -1
- package/lib/stores/ApplicationEvent.d.ts +9 -7
- package/lib/stores/ApplicationEvent.d.ts.map +1 -1
- package/lib/stores/ApplicationEvent.js +10 -8
- package/lib/stores/ApplicationEvent.js.map +1 -1
- package/lib/stores/ApplicationStore.d.ts +15 -9
- package/lib/stores/ApplicationStore.d.ts.map +1 -1
- package/lib/stores/ApplicationStore.js +26 -21
- package/lib/stores/ApplicationStore.js.map +1 -1
- package/lib/stores/ApplicationStoreTestUtils.d.ts +3 -3
- package/lib/stores/ApplicationStoreTestUtils.d.ts.map +1 -1
- package/lib/stores/ApplicationStoreTestUtils.js +2 -2
- package/lib/stores/ApplicationStoreTestUtils.js.map +1 -1
- package/lib/stores/ApplicationTelemetry.d.ts +1 -1
- package/lib/stores/ApplicationTelemetry.d.ts.map +1 -1
- package/lib/stores/ApplicationTelemetry.js +2 -2
- package/lib/stores/ApplicationTelemetry.js.map +1 -1
- package/lib/stores/CJS__Fuse.cjs +35 -0
- package/lib/stores/CJS__Fuse.cjs.map +1 -0
- package/lib/stores/CJS__Fuse.d.cts +28 -0
- package/lib/stores/CJS__Fuse.d.cts.map +1 -0
- package/lib/stores/LambdaParameterState.d.ts +59 -0
- package/lib/stores/LambdaParameterState.d.ts.map +1 -0
- package/lib/stores/LambdaParameterState.js +184 -0
- package/lib/stores/LambdaParameterState.js.map +1 -0
- package/lib/stores/LegendApplicationAssistantService.d.ts +63 -0
- package/lib/stores/LegendApplicationAssistantService.d.ts.map +1 -0
- package/lib/stores/LegendApplicationAssistantService.js +167 -0
- package/lib/stores/LegendApplicationAssistantService.js.map +1 -0
- package/lib/stores/LegendApplicationConfig.d.ts +5 -4
- package/lib/stores/LegendApplicationConfig.d.ts.map +1 -1
- package/lib/stores/LegendApplicationConfig.js +8 -3
- package/lib/stores/LegendApplicationConfig.js.map +1 -1
- package/lib/stores/LegendApplicationDocumentationService.d.ts +70 -0
- package/lib/stores/LegendApplicationDocumentationService.d.ts.map +1 -0
- package/lib/stores/LegendApplicationDocumentationService.js +152 -0
- package/lib/stores/LegendApplicationDocumentationService.js.map +1 -0
- package/lib/stores/LegendApplicationEventService.d.ts +22 -0
- package/lib/stores/LegendApplicationEventService.d.ts.map +1 -0
- package/lib/stores/LegendApplicationEventService.js +25 -0
- package/lib/stores/LegendApplicationEventService.js.map +1 -0
- package/lib/stores/LegendApplicationNavigationContextService.d.ts +74 -0
- package/lib/stores/LegendApplicationNavigationContextService.d.ts.map +1 -0
- package/lib/stores/LegendApplicationNavigationContextService.js +118 -0
- package/lib/stores/LegendApplicationNavigationContextService.js.map +1 -0
- package/lib/stores/LegendApplicationPlugin.d.ts +6 -2
- package/lib/stores/LegendApplicationPlugin.d.ts.map +1 -1
- package/lib/stores/LegendApplicationPlugin.js.map +1 -1
- package/lib/stores/PureLanguageSupport.d.ts.map +1 -1
- package/lib/stores/PureLanguageSupport.js +8 -2
- package/lib/stores/PureLanguageSupport.js.map +1 -1
- package/lib/stores/ValueSpecificationModifierHelper.d.ts +27 -0
- package/lib/stores/ValueSpecificationModifierHelper.d.ts.map +1 -0
- package/lib/stores/ValueSpecificationModifierHelper.js +49 -0
- package/lib/stores/ValueSpecificationModifierHelper.js.map +1 -0
- package/package.json +24 -18
- package/src/application/LegendApplication.tsx +6 -6
- package/src/application/LegendApplicationPluginManager.tsx +3 -3
- package/src/components/ActionAlert.tsx +2 -2
- package/src/components/ApplicationStoreProvider.tsx +4 -4
- package/src/components/ApplicationStoreProviderTestUtils.tsx +7 -6
- package/src/components/BasicValueSpecificationEditor.tsx +703 -0
- package/src/components/BlockingAlert.tsx +1 -1
- package/src/components/CustomDatePicker.tsx +1235 -0
- package/src/components/DocumentationLink.tsx +2 -2
- package/src/components/LambdaEditor.tsx +4 -4
- package/src/components/LambdaParameterValuesEditor.tsx +114 -0
- package/src/components/LegendApplicationComponentFrameworkProvider.tsx +3 -3
- package/src/components/LegendApplicationNavigationContextServiceUtils.tsx +63 -0
- package/src/components/NotificationManager.tsx +2 -2
- package/src/components/TextInputEditor.tsx +2 -2
- package/src/components/VirtualAssistant.tsx +600 -0
- package/src/components/WebApplicationNavigatorProvider.tsx +1 -1
- package/src/components/WebApplicationNavigatorProviderTestUtils.tsx +3 -2
- package/src/index.ts +39 -28
- package/src/stores/ApplicationEvent.ts +11 -7
- package/src/stores/ApplicationStore.ts +29 -27
- package/src/stores/ApplicationStoreTestUtils.ts +4 -4
- package/src/stores/ApplicationTelemetry.ts +2 -2
- package/src/stores/CJS__Fuse.cts +28 -0
- package/src/stores/LambdaParameterState.ts +314 -0
- package/src/stores/LegendApplicationAssistantService.ts +218 -0
- package/src/stores/LegendApplicationConfig.ts +20 -6
- package/src/stores/LegendApplicationDocumentationService.ts +276 -0
- package/src/stores/LegendApplicationEventService.ts +32 -0
- package/src/stores/LegendApplicationNavigationContextService.ts +131 -0
- package/src/stores/LegendApplicationPlugin.ts +10 -2
- package/src/stores/PureLanguageSupport.ts +8 -2
- package/src/stores/ValueSpecificationModifierHelper.ts +104 -0
- package/tsconfig.json +18 -12
- package/lib/components/AppHeader.d.ts.map +0 -1
- package/lib/components/AppHeader.js +0 -26
- package/lib/components/AppHeader.js.map +0 -1
- package/lib/stores/LegendApplicationDocumentationRegistry.d.ts +0 -36
- package/lib/stores/LegendApplicationDocumentationRegistry.d.ts.map +0 -1
- package/lib/stores/LegendApplicationDocumentationRegistry.js +0 -47
- package/lib/stores/LegendApplicationDocumentationRegistry.js.map +0 -1
- package/src/components/AppHeader.tsx +0 -49
- package/src/stores/LegendApplicationDocumentationRegistry.ts +0 -81
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { SerializationFactory, LogEvent, uniq, guaranteeNonNullable, } from '@finos/legend-shared';
|
|
17
|
+
import { createModelSchema, custom, list, optional, primitive, } from 'serializr';
|
|
18
|
+
import { APPLICATION_EVENT } from './ApplicationEvent.js';
|
|
19
|
+
export class LegendApplicationDocumentationEntry {
|
|
20
|
+
_documentationKey;
|
|
21
|
+
markdownText;
|
|
22
|
+
title;
|
|
23
|
+
text;
|
|
24
|
+
url;
|
|
25
|
+
static serialization = new SerializationFactory(createModelSchema(LegendApplicationDocumentationEntry, {
|
|
26
|
+
markdownText: custom((val) => val, (val) => (val.value ? val : undefined)),
|
|
27
|
+
title: optional(primitive()),
|
|
28
|
+
text: optional(primitive()),
|
|
29
|
+
url: optional(primitive()),
|
|
30
|
+
}));
|
|
31
|
+
static create(json, documentationKey) {
|
|
32
|
+
const entry = LegendApplicationDocumentationEntry.serialization.fromJson(json);
|
|
33
|
+
entry._documentationKey =
|
|
34
|
+
documentationKey;
|
|
35
|
+
return entry;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export class LegendApplicationContextualDocumentationEntry {
|
|
39
|
+
_context;
|
|
40
|
+
markdownText;
|
|
41
|
+
title;
|
|
42
|
+
text;
|
|
43
|
+
url;
|
|
44
|
+
related = [];
|
|
45
|
+
static serialization = new SerializationFactory(createModelSchema(LegendApplicationContextualDocumentationEntry, {
|
|
46
|
+
markdownText: custom((val) => val, (val) => (val.value ? val : undefined)),
|
|
47
|
+
title: optional(primitive()),
|
|
48
|
+
text: optional(primitive()),
|
|
49
|
+
url: optional(primitive()),
|
|
50
|
+
related: list(primitive()),
|
|
51
|
+
}));
|
|
52
|
+
static create(json, context) {
|
|
53
|
+
const entry = LegendApplicationContextualDocumentationEntry.serialization.fromJson(json);
|
|
54
|
+
entry._context = context;
|
|
55
|
+
return entry;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
export const collectKeyedContextualDocumentationEntriesFromConfig = (rawEntries) => Object.entries(rawEntries).map((entry) => ({
|
|
59
|
+
key: entry[0],
|
|
60
|
+
content: LegendApplicationContextualDocumentationEntry.create(entry[1], entry[0]),
|
|
61
|
+
}));
|
|
62
|
+
export const collectKeyedDocumnetationEntriesFromConfig = (rawEntries) => Object.entries(rawEntries).map((entry) => ({
|
|
63
|
+
key: entry[0],
|
|
64
|
+
content: LegendApplicationDocumentationEntry.create(entry[1], entry[0]),
|
|
65
|
+
}));
|
|
66
|
+
export class LegendApplicationDocumentationService {
|
|
67
|
+
url;
|
|
68
|
+
docRegistry = new Map();
|
|
69
|
+
contextualDocRegistry = new Map();
|
|
70
|
+
constructor(applicationStore) {
|
|
71
|
+
applicationStore.pluginManager
|
|
72
|
+
.getApplicationPlugins()
|
|
73
|
+
.flatMap((plugin) => plugin.getExtraKeyedDocumentationEntries?.() ?? [])
|
|
74
|
+
.forEach((entry) => {
|
|
75
|
+
// Entries specified natively will not override each other. This is to prevent entries from extensions
|
|
76
|
+
// overriding entries from core.
|
|
77
|
+
if (this.hasDocEntry(entry.key)) {
|
|
78
|
+
applicationStore.log.warn(LogEvent.create(APPLICATION_EVENT.APPLICATION_DOCUMTENTION_LOAD_SKIPPED), entry.key);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
this.docRegistry.set(entry.key, entry.content);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
// entries from config will override entries specified natively
|
|
85
|
+
applicationStore.config.keyedDocumentationEntries.forEach((entry) => this.docRegistry.set(entry.key, entry.content));
|
|
86
|
+
// Contextual Documentation
|
|
87
|
+
applicationStore.pluginManager
|
|
88
|
+
.getApplicationPlugins()
|
|
89
|
+
.flatMap((plugin) => plugin.getExtraKeyedContextualDocumentationEntries?.() ?? [])
|
|
90
|
+
.forEach((entry) => {
|
|
91
|
+
// Entries specified natively will not override each other. This is to prevent entries from extensions
|
|
92
|
+
// overriding entries from core. However, we will merge the list of related doc entries. This allows
|
|
93
|
+
// extensions to broaden related doc entries for certain contexts
|
|
94
|
+
if (this.hasContextualDocEntry(entry.key)) {
|
|
95
|
+
applicationStore.log.warn(LogEvent.create(APPLICATION_EVENT.APPLICATION_CONTEXTUAL_DOCUMTENTION_LOAD_SKIPPED), entry.key);
|
|
96
|
+
const existingEntry = guaranteeNonNullable(this.getContextualDocEntry(entry.key));
|
|
97
|
+
existingEntry.related = uniq([
|
|
98
|
+
...existingEntry.related,
|
|
99
|
+
...entry.content.related,
|
|
100
|
+
]);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
this.contextualDocRegistry.set(entry.key, entry.content);
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
// entries from config will override entries specified natively
|
|
107
|
+
// however, we will keep merging related doc entries list
|
|
108
|
+
applicationStore.config.keyedContextualDocumentationEntries.forEach((entry) => {
|
|
109
|
+
const existingEntry = this.getContextualDocEntry(entry.key);
|
|
110
|
+
if (existingEntry) {
|
|
111
|
+
entry.content.related = uniq([
|
|
112
|
+
...existingEntry.related,
|
|
113
|
+
...entry.content.related,
|
|
114
|
+
]);
|
|
115
|
+
}
|
|
116
|
+
this.contextualDocRegistry.set(entry.key, entry.content);
|
|
117
|
+
});
|
|
118
|
+
this.url = applicationStore.config.documentationUrl;
|
|
119
|
+
}
|
|
120
|
+
getDocEntry(key) {
|
|
121
|
+
return this.docRegistry.get(key);
|
|
122
|
+
}
|
|
123
|
+
hasDocEntry(key) {
|
|
124
|
+
return this.docRegistry.has(key);
|
|
125
|
+
}
|
|
126
|
+
getContextualDocEntry(key) {
|
|
127
|
+
return this.contextualDocRegistry.get(key);
|
|
128
|
+
}
|
|
129
|
+
hasContextualDocEntry(key) {
|
|
130
|
+
return this.contextualDocRegistry.has(key);
|
|
131
|
+
}
|
|
132
|
+
getAllDocEntries() {
|
|
133
|
+
return Array.from(this.docRegistry.values());
|
|
134
|
+
}
|
|
135
|
+
publishDocRegistry() {
|
|
136
|
+
const result = {};
|
|
137
|
+
this.docRegistry.forEach((value, key) => {
|
|
138
|
+
result[key] =
|
|
139
|
+
LegendApplicationDocumentationEntry.serialization.toJson(value);
|
|
140
|
+
});
|
|
141
|
+
return result;
|
|
142
|
+
}
|
|
143
|
+
publishContextualDocRegistry() {
|
|
144
|
+
const result = {};
|
|
145
|
+
this.contextualDocRegistry.forEach((value, key) => {
|
|
146
|
+
result[key] =
|
|
147
|
+
LegendApplicationContextualDocumentationEntry.serialization.toJson(value);
|
|
148
|
+
});
|
|
149
|
+
return result;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=LegendApplicationDocumentationService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LegendApplicationDocumentationService.js","sourceRoot":"","sources":["../../src/stores/LegendApplicationDocumentationService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import type { NotificationEventData, EventNotifierPlugin } from '@finos/legend-shared';
|
|
17
|
+
export declare class LegendApplicationEventService {
|
|
18
|
+
private notifierPlugins;
|
|
19
|
+
registerEventNotifierPlugins(plugins: EventNotifierPlugin[]): void;
|
|
20
|
+
notify(event: string, data: NotificationEventData): void;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=LegendApplicationEventService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LegendApplicationEventService.d.ts","sourceRoot":"","sources":["../../src/stores/LegendApplicationEventService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAE9B,qBAAa,6BAA6B;IACxC,OAAO,CAAC,eAAe,CAA6B;IAEpD,4BAA4B,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,IAAI;IAIlE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,GAAG,IAAI;CAGzD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export class LegendApplicationEventService {
|
|
17
|
+
notifierPlugins = [];
|
|
18
|
+
registerEventNotifierPlugins(plugins) {
|
|
19
|
+
this.notifierPlugins = plugins;
|
|
20
|
+
}
|
|
21
|
+
notify(event, data) {
|
|
22
|
+
this.notifierPlugins.forEach((plugin) => plugin.notify(event, data));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=LegendApplicationEventService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LegendApplicationEventService.js","sourceRoot":"","sources":["../../src/stores/LegendApplicationEventService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,MAAM,OAAO,6BAA6B;IAChC,eAAe,GAA0B,EAAE,CAAC;IAEpD,4BAA4B,CAAC,OAA8B;QACzD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,IAA2B;QAC/C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC;CACF"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Context data refers to the area of the application that the user is
|
|
18
|
+
* currently navigating.
|
|
19
|
+
*
|
|
20
|
+
* NOTE: note that this is navigation-driven, do not associate places
|
|
21
|
+
* which present in the app screen that is not a direct consequence
|
|
22
|
+
* of user's navigation. e.g. the status bar is not a good area to
|
|
23
|
+
* be considered a context, the editor screen is because it means
|
|
24
|
+
* the user must have navigated to the editor screen from somewhere,
|
|
25
|
+
* for instance, the setup page.
|
|
26
|
+
*/
|
|
27
|
+
export declare class ApplicationNavigationContextData {
|
|
28
|
+
value: string;
|
|
29
|
+
/**
|
|
30
|
+
* There are 2 types of context data: `standard` and `transient`
|
|
31
|
+
* 1. standard context data represents an application context layer that
|
|
32
|
+
* would be pushed to the stack and the context will be popped as we leave
|
|
33
|
+
* the application, in other words, the context will be properly cleaned up
|
|
34
|
+
* e.g. when we go in an editor, we will push context data to the stack and
|
|
35
|
+
* pop it when we leave that editor
|
|
36
|
+
* 2. transient context does not guarantee to be cleaned up properly, this
|
|
37
|
+
* corresponds to application areas whose presense is transient and not stable:
|
|
38
|
+
* such as those triggered by on-flight events, whose exit-state is hard to capture
|
|
39
|
+
* e.g. user focuses on an input
|
|
40
|
+
*
|
|
41
|
+
* NOTE: transient context must not be mistakened as event, even in the example of
|
|
42
|
+
* user focusing on an input, that's an area of the application that we might want
|
|
43
|
+
* to get record of in terms of context. Events like a notification pop up, failure
|
|
44
|
+
* of some long-running processes are not considered application contexts
|
|
45
|
+
*/
|
|
46
|
+
isTransient: boolean;
|
|
47
|
+
private constructor();
|
|
48
|
+
static create(value: string): ApplicationNavigationContextData;
|
|
49
|
+
static createTransient(value: string): ApplicationNavigationContextData;
|
|
50
|
+
}
|
|
51
|
+
export declare class LegendApplicationNavigationContextService {
|
|
52
|
+
contextStack: ApplicationNavigationContextData[];
|
|
53
|
+
constructor();
|
|
54
|
+
get currentContext(): ApplicationNavigationContextData | undefined;
|
|
55
|
+
/**
|
|
56
|
+
* Add the context to the stack.
|
|
57
|
+
*
|
|
58
|
+
* If the context is already if the context is already part of the stack
|
|
59
|
+
* we will throw an error. This is to make sure we context is unique in the stack
|
|
60
|
+
* and we do proper context stack cleanups on navigation.
|
|
61
|
+
*/
|
|
62
|
+
push(context: ApplicationNavigationContextData): void;
|
|
63
|
+
/**
|
|
64
|
+
* Remove the context from the stack.
|
|
65
|
+
*
|
|
66
|
+
* NOTE: we will check from bottom of the stack up, for the specified context,
|
|
67
|
+
* if it's found in the context stack, we will pop until the specified context.
|
|
68
|
+
* This is to allow popping deeper context layers from very high up in the application
|
|
69
|
+
* context stack, e.g. removing a context of an element editor when leaving the editor
|
|
70
|
+
* to go to setup page.
|
|
71
|
+
*/
|
|
72
|
+
pop(context: ApplicationNavigationContextData): void;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=LegendApplicationNavigationContextService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LegendApplicationNavigationContextService.d.ts","sourceRoot":"","sources":["../../src/stores/LegendApplicationNavigationContextService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH;;;;;;;;;;GAUG;AACH,qBAAa,gCAAgC;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;;;;;;;;;;OAgBG;IACH,WAAW,UAAS;IAEpB,OAAO;IAKP,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,gCAAgC;IAI9D,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,gCAAgC;CAGxE;AAED,qBAAa,yCAAyC;IACpD,YAAY,EAAE,gCAAgC,EAAE,CAAM;;IAWtD,IAAI,cAAc,IAAI,gCAAgC,GAAG,SAAS,CAIjE;IAED;;;;;;OAMG;IACH,IAAI,CAAC,OAAO,EAAE,gCAAgC,GAAG,IAAI;IAcrD;;;;;;;;OAQG;IACH,GAAG,CAAC,OAAO,EAAE,gCAAgC,GAAG,IAAI;CAiBrD"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { IllegalStateError } from '@finos/legend-shared';
|
|
17
|
+
import { action, computed, makeObservable, observable } from 'mobx';
|
|
18
|
+
/**
|
|
19
|
+
* Context data refers to the area of the application that the user is
|
|
20
|
+
* currently navigating.
|
|
21
|
+
*
|
|
22
|
+
* NOTE: note that this is navigation-driven, do not associate places
|
|
23
|
+
* which present in the app screen that is not a direct consequence
|
|
24
|
+
* of user's navigation. e.g. the status bar is not a good area to
|
|
25
|
+
* be considered a context, the editor screen is because it means
|
|
26
|
+
* the user must have navigated to the editor screen from somewhere,
|
|
27
|
+
* for instance, the setup page.
|
|
28
|
+
*/
|
|
29
|
+
export class ApplicationNavigationContextData {
|
|
30
|
+
value;
|
|
31
|
+
/**
|
|
32
|
+
* There are 2 types of context data: `standard` and `transient`
|
|
33
|
+
* 1. standard context data represents an application context layer that
|
|
34
|
+
* would be pushed to the stack and the context will be popped as we leave
|
|
35
|
+
* the application, in other words, the context will be properly cleaned up
|
|
36
|
+
* e.g. when we go in an editor, we will push context data to the stack and
|
|
37
|
+
* pop it when we leave that editor
|
|
38
|
+
* 2. transient context does not guarantee to be cleaned up properly, this
|
|
39
|
+
* corresponds to application areas whose presense is transient and not stable:
|
|
40
|
+
* such as those triggered by on-flight events, whose exit-state is hard to capture
|
|
41
|
+
* e.g. user focuses on an input
|
|
42
|
+
*
|
|
43
|
+
* NOTE: transient context must not be mistakened as event, even in the example of
|
|
44
|
+
* user focusing on an input, that's an area of the application that we might want
|
|
45
|
+
* to get record of in terms of context. Events like a notification pop up, failure
|
|
46
|
+
* of some long-running processes are not considered application contexts
|
|
47
|
+
*/
|
|
48
|
+
isTransient = false;
|
|
49
|
+
constructor(value, isTransient) {
|
|
50
|
+
this.value = value;
|
|
51
|
+
this.isTransient = isTransient;
|
|
52
|
+
}
|
|
53
|
+
static create(value) {
|
|
54
|
+
return new ApplicationNavigationContextData(value, false);
|
|
55
|
+
}
|
|
56
|
+
static createTransient(value) {
|
|
57
|
+
return new ApplicationNavigationContextData(value, true);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
export class LegendApplicationNavigationContextService {
|
|
61
|
+
contextStack = [];
|
|
62
|
+
constructor() {
|
|
63
|
+
makeObservable(this, {
|
|
64
|
+
contextStack: observable,
|
|
65
|
+
currentContext: computed,
|
|
66
|
+
push: action,
|
|
67
|
+
pop: action,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
get currentContext() {
|
|
71
|
+
return this.contextStack.length
|
|
72
|
+
? this.contextStack[this.contextStack.length - 1]
|
|
73
|
+
: undefined;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Add the context to the stack.
|
|
77
|
+
*
|
|
78
|
+
* If the context is already if the context is already part of the stack
|
|
79
|
+
* we will throw an error. This is to make sure we context is unique in the stack
|
|
80
|
+
* and we do proper context stack cleanups on navigation.
|
|
81
|
+
*/
|
|
82
|
+
push(context) {
|
|
83
|
+
// first, filter out all transient contexts, so we can be sure that
|
|
84
|
+
// all of the remaining contexts are standard and they should be cleaned up properly
|
|
85
|
+
// this makes our duplication meaningful
|
|
86
|
+
const newContextStack = this.contextStack.filter((ctx) => !ctx.isTransient);
|
|
87
|
+
if (newContextStack.find((ctx) => ctx.value === context.value)) {
|
|
88
|
+
throw new IllegalStateError(`Found multiple context '${context.value}' in application navigation context stack`);
|
|
89
|
+
}
|
|
90
|
+
newContextStack.push(context);
|
|
91
|
+
this.contextStack = newContextStack;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Remove the context from the stack.
|
|
95
|
+
*
|
|
96
|
+
* NOTE: we will check from bottom of the stack up, for the specified context,
|
|
97
|
+
* if it's found in the context stack, we will pop until the specified context.
|
|
98
|
+
* This is to allow popping deeper context layers from very high up in the application
|
|
99
|
+
* context stack, e.g. removing a context of an element editor when leaving the editor
|
|
100
|
+
* to go to setup page.
|
|
101
|
+
*/
|
|
102
|
+
pop(context) {
|
|
103
|
+
const existingCtx = this.contextStack.find((ctx) => ctx.value === context.value);
|
|
104
|
+
if (!existingCtx) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
// NOTE: since we should not have any duplicated contexts
|
|
108
|
+
// it's safe to search from bottom to top of the stack
|
|
109
|
+
const idx = this.contextStack.indexOf(existingCtx);
|
|
110
|
+
if (idx !== -1) {
|
|
111
|
+
this.contextStack = this.contextStack
|
|
112
|
+
.slice(0, idx)
|
|
113
|
+
// remove all transient contexts
|
|
114
|
+
.filter((ctx) => !ctx.isTransient);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=LegendApplicationNavigationContextService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LegendApplicationNavigationContextService.js","sourceRoot":"","sources":["../../src/stores/LegendApplicationNavigationContextService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAEpE;;;;;;;;;;GAUG;AACH,MAAM,OAAO,gCAAgC;IAC3C,KAAK,CAAS;IACd;;;;;;;;;;;;;;;;OAgBG;IACH,WAAW,GAAG,KAAK,CAAC;IAEpB,YAAoB,KAAa,EAAE,WAAoB;QACrD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,KAAa;QACzB,OAAO,IAAI,gCAAgC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,KAAa;QAClC,OAAO,IAAI,gCAAgC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;CACF;AAED,MAAM,OAAO,yCAAyC;IACpD,YAAY,GAAuC,EAAE,CAAC;IAEtD;QACE,cAAc,CAAC,IAAI,EAAE;YACnB,YAAY,EAAE,UAAU;YACxB,cAAc,EAAE,QAAQ;YACxB,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,MAAM;SACZ,CAAC,CAAC;IACL,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;YACjD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,IAAI,CAAC,OAAyC;QAC5C,mEAAmE;QACnE,oFAAoF;QACpF,wCAAwC;QACxC,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5E,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC,EAAE;YAC9D,MAAM,IAAI,iBAAiB,CACzB,2BAA2B,OAAO,CAAC,KAAK,2CAA2C,CACpF,CAAC;SACH;QACD,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC;IACtC,CAAC;IAED;;;;;;;;OAQG;IACH,GAAG,CAAC,OAAyC;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CACxC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,CACrC,CAAC;QACF,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO;SACR;QACD,yDAAyD;QACzD,sDAAsD;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;YACd,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY;iBAClC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gBACd,gCAAgC;iBAC/B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;SACtC;IACH,CAAC;CACF"}
|
|
@@ -14,11 +14,15 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { AbstractPlugin } from '@finos/legend-shared';
|
|
17
|
-
import type { LegendApplicationKeyedDocumentationEntry } from './
|
|
17
|
+
import type { LegendApplicationKeyedContextualDocumentationEntry, LegendApplicationKeyedDocumentationEntry } from './LegendApplicationDocumentationService.js';
|
|
18
18
|
export declare abstract class LegendApplicationPlugin extends AbstractPlugin {
|
|
19
19
|
/**
|
|
20
|
-
* Get the list of keyed documentation entries to be
|
|
20
|
+
* Get the list of keyed documentation entries to be registered with documentation service.
|
|
21
21
|
*/
|
|
22
22
|
getExtraKeyedDocumentationEntries?(): LegendApplicationKeyedDocumentationEntry[];
|
|
23
|
+
/**
|
|
24
|
+
* Get the list of keyed contextual documentation entries to be registered with documentation service.
|
|
25
|
+
*/
|
|
26
|
+
getExtraKeyedContextualDocumentationEntries?(): LegendApplicationKeyedContextualDocumentationEntry[];
|
|
23
27
|
}
|
|
24
28
|
//# sourceMappingURL=LegendApplicationPlugin.d.ts.map
|
|
@@ -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,
|
|
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,EACV,kDAAkD,EAClD,wCAAwC,EACzC,MAAM,4CAA4C,CAAC;AAEpD,8BAAsB,uBAAwB,SAAQ,cAAc;IAClE;;OAEG;IACH,iCAAiC,CAAC,IAAI,wCAAwC,EAAE;IAEhF;;OAEG;IACH,2CAA2C,CAAC,IAAI,kDAAkD,EAAE;CACrG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendApplicationPlugin.js","sourceRoot":"","sources":["../../src/stores/LegendApplicationPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"LegendApplicationPlugin.js","sourceRoot":"","sources":["../../src/stores/LegendApplicationPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAMtD,MAAM,OAAgB,uBAAwB,SAAQ,cAAc;CAUnE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PureLanguageSupport.d.ts","sourceRoot":"","sources":["../../src/stores/PureLanguageSupport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"PureLanguageSupport.d.ts","sourceRoot":"","sources":["../../src/stores/PureLanguageSupport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,qBAAqB,CAAC;AAsU7B,eAAO,MAAM,wBAAwB,kBACpB,kBAAkB,KAChC,IAmBF,CAAC"}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
/* eslint-disable prefer-named-capture-group */
|
|
17
17
|
import { PARSER_SECTION_MARKER, PURE_ELEMENT_NAME, PURE_CONNECTION_NAME, PURE_PARSER, } from '@finos/legend-graph';
|
|
18
18
|
import { editor as monacoEditorAPI, languages as monacoLanguagesAPI, } from 'monaco-editor';
|
|
19
|
-
import { EDITOR_LANGUAGE, EDITOR_THEME } from '../const';
|
|
19
|
+
import { EDITOR_LANGUAGE, EDITOR_THEME } from '../const.js';
|
|
20
20
|
const theme = {
|
|
21
21
|
base: 'vs-dark',
|
|
22
22
|
inherit: true,
|
|
@@ -73,6 +73,12 @@ const configuration = {
|
|
|
73
73
|
*
|
|
74
74
|
* The way SQL monarch definition is organized is good and worth learning from
|
|
75
75
|
* See https://github.com/microsoft/monaco-languages/blob/master/src/sql/sql.ts
|
|
76
|
+
*
|
|
77
|
+
* NOTE: using `monarch` only allows fairly very basic syntax-highlighting
|
|
78
|
+
* to actually do full AST analysis, we might need something more serious like
|
|
79
|
+
* using TextMate grammar which is used by VSCode itself
|
|
80
|
+
* See https://github.com/microsoft/monaco-editor#faq
|
|
81
|
+
* See https://code.visualstudio.com/api/language-extensions/syntax-highlight-guide
|
|
76
82
|
*/
|
|
77
83
|
const generateLanguageMonarch = (extraKeywords, extraParsers) =>
|
|
78
84
|
// TODO: complete syntax-highlighter for core features like constraint, derived properties, etc.
|
|
@@ -162,7 +168,7 @@ const generateLanguageMonarch = (extraKeywords, extraParsers) =>
|
|
|
162
168
|
PURE_PARSER.FLATDATA,
|
|
163
169
|
PURE_PARSER.RELATIONAL,
|
|
164
170
|
PURE_PARSER.GENERATION_SPECIFICATION,
|
|
165
|
-
PURE_PARSER.
|
|
171
|
+
PURE_PARSER.FILE_GENERATION_SPECIFICATION,
|
|
166
172
|
PURE_PARSER.DATA,
|
|
167
173
|
]
|
|
168
174
|
.concat(extraParsers)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PureLanguageSupport.js","sourceRoot":"","sources":["../../src/stores/PureLanguageSupport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,+CAA+C;AAC/C,OAAO,EAEL,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,MAAM,IAAI,eAAe,EACzB,SAAS,IAAI,kBAAkB,GAChC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"PureLanguageSupport.js","sourceRoot":"","sources":["../../src/stores/PureLanguageSupport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { type GenericType, type Type, type Multiplicity, type FunctionExpression, type ValueSpecification, type ObserverContext, type VariableExpression, type InstanceValue, type GraphFetchTree, type AbstractPropertyExpression } from '@finos/legend-graph';
|
|
17
|
+
export declare const genericType_setRawType: (genericType: GenericType, type: Type) => void;
|
|
18
|
+
export declare const multiplicity_setLowerBound: (_m: Multiplicity, val: number) => void;
|
|
19
|
+
export declare const multiplicity_setUpperBound: (_m: Multiplicity, val: number | undefined) => void;
|
|
20
|
+
export declare const functionExpression_setParametersValues: (functionExpression: FunctionExpression, val: ValueSpecification[], context: ObserverContext) => void;
|
|
21
|
+
export declare const variableExpression_setName: (v: VariableExpression, val: string) => void;
|
|
22
|
+
export declare const instanceValue_changeValue: (instanceValue: InstanceValue, val: unknown, idx: number) => void;
|
|
23
|
+
export declare const instanceValue_changeValues: (instanceValue: InstanceValue, val: unknown[]) => void;
|
|
24
|
+
export declare const graphFetchTree_addSubTree: (tree: GraphFetchTree, val: GraphFetchTree) => void;
|
|
25
|
+
export declare const graphFetchTree_removeSubTree: (tree: GraphFetchTree, val: GraphFetchTree) => void;
|
|
26
|
+
export declare const propertyExpression_setParametersValue: (propertyExpression: AbstractPropertyExpression, idx: number, val: ValueSpecification, context: ObserverContext) => void;
|
|
27
|
+
//# sourceMappingURL=ValueSpecificationModifierHelper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ValueSpecificationModifierHelper.d.ts","sourceRoot":"","sources":["../../src/stores/ValueSpecificationModifierHelper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,IAAI,EACT,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,0BAA0B,EAEhC,MAAM,qBAAqB,CAAC;AAI7B,eAAO,MAAM,sBAAsB,gBACnB,WAAW,QAAQ,IAAI,KAAG,IAGzC,CAAC;AAEF,eAAO,MAAM,0BAA0B,OAChC,YAAY,OAAO,MAAM,KAAG,IAGlC,CAAC;AACF,eAAO,MAAM,0BAA0B,OAChC,YAAY,OAAO,MAAM,GAAG,SAAS,KAAG,IAG9C,CAAC;AAEF,eAAO,MAAM,sCAAsC,uBAE3B,kBAAkB,OACjC,kBAAkB,EAAE,WAChB,eAAe,KACvB,IAKJ,CAAC;AAEF,eAAO,MAAM,0BAA0B,MACjC,kBAAkB,OAAO,MAAM,KAAG,IAGvC,CAAC;AAEF,eAAO,MAAM,yBAAyB,kBACpB,aAAa,OAAO,OAAO,OAAO,MAAM,SAGzD,CAAC;AAEF,eAAO,MAAM,0BAA0B,kBACrB,aAAa,OAAO,OAAO,EAAE,SAG9C,CAAC;AAEF,eAAO,MAAM,yBAAyB,SAC7B,cAAc,OAAO,cAAc,KAAG,IAG9C,CAAC;AAEF,eAAO,MAAM,4BAA4B,SAChC,cAAc,OAAO,cAAc,KAAG,IAG9C,CAAC;AAEF,eAAO,MAAM,qCAAqC,uBAE1B,0BAA0B,OACzC,MAAM,OACN,kBAAkB,WACd,eAAe,KACvB,IAMJ,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { observe_ValueSpecification, } from '@finos/legend-graph';
|
|
17
|
+
import { addUniqueEntry, deleteEntry } from '@finos/legend-shared';
|
|
18
|
+
import { action } from 'mobx';
|
|
19
|
+
export const genericType_setRawType = action((genericType, type) => {
|
|
20
|
+
genericType.rawType = type;
|
|
21
|
+
});
|
|
22
|
+
export const multiplicity_setLowerBound = action((_m, val) => {
|
|
23
|
+
_m.lowerBound = val;
|
|
24
|
+
});
|
|
25
|
+
export const multiplicity_setUpperBound = action((_m, val) => {
|
|
26
|
+
_m.upperBound = val;
|
|
27
|
+
});
|
|
28
|
+
export const functionExpression_setParametersValues = action((functionExpression, val, context) => {
|
|
29
|
+
functionExpression.parametersValues = val.map((v) => observe_ValueSpecification(v, context));
|
|
30
|
+
});
|
|
31
|
+
export const variableExpression_setName = action((v, val) => {
|
|
32
|
+
v.name = val;
|
|
33
|
+
});
|
|
34
|
+
export const instanceValue_changeValue = action((instanceValue, val, idx) => {
|
|
35
|
+
instanceValue.values[idx] = val;
|
|
36
|
+
});
|
|
37
|
+
export const instanceValue_changeValues = action((instanceValue, val) => {
|
|
38
|
+
instanceValue.values = val;
|
|
39
|
+
});
|
|
40
|
+
export const graphFetchTree_addSubTree = action((tree, val) => {
|
|
41
|
+
addUniqueEntry(tree.subTrees, val);
|
|
42
|
+
});
|
|
43
|
+
export const graphFetchTree_removeSubTree = action((tree, val) => {
|
|
44
|
+
deleteEntry(tree.subTrees, val);
|
|
45
|
+
});
|
|
46
|
+
export const propertyExpression_setParametersValue = action((propertyExpression, idx, val, context) => {
|
|
47
|
+
propertyExpression.parametersValues[idx] = observe_ValueSpecification(val, context);
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=ValueSpecificationModifierHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ValueSpecificationModifierHelper.js","sourceRoot":"","sources":["../../src/stores/ValueSpecificationModifierHelper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAWL,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAC1C,CAAC,WAAwB,EAAE,IAAU,EAAQ,EAAE;IAC7C,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;AAC7B,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAC9C,CAAC,EAAgB,EAAE,GAAW,EAAQ,EAAE;IACtC,EAAE,CAAC,UAAU,GAAG,GAAG,CAAC;AACtB,CAAC,CACF,CAAC;AACF,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAC9C,CAAC,EAAgB,EAAE,GAAuB,EAAQ,EAAE;IAClD,EAAE,CAAC,UAAU,GAAG,GAAG,CAAC;AACtB,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,sCAAsC,GAAG,MAAM,CAC1D,CACE,kBAAsC,EACtC,GAAyB,EACzB,OAAwB,EAClB,EAAE;IACR,kBAAkB,CAAC,gBAAgB,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAClD,0BAA0B,CAAC,CAAC,EAAE,OAAO,CAAC,CACvC,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAC9C,CAAC,CAAqB,EAAE,GAAW,EAAQ,EAAE;IAC3C,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;AACf,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAC7C,CAAC,aAA4B,EAAE,GAAY,EAAE,GAAW,EAAE,EAAE;IAC1D,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAClC,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAC9C,CAAC,aAA4B,EAAE,GAAc,EAAE,EAAE;IAC/C,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC;AAC7B,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAC7C,CAAC,IAAoB,EAAE,GAAmB,EAAQ,EAAE;IAClD,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AACrC,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAChD,CAAC,IAAoB,EAAE,GAAmB,EAAQ,EAAE;IAClD,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAClC,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qCAAqC,GAAG,MAAM,CACzD,CACE,kBAA8C,EAC9C,GAAW,EACX,GAAuB,EACvB,OAAwB,EAClB,EAAE;IACR,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,0BAA0B,CACnE,GAAG,EACH,OAAO,CACR,CAAC;AACJ,CAAC,CACF,CAAC"}
|