@finos/legend-application 4.0.3 → 5.1.0

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 (145) hide show
  1. package/lib/application/LegendApplication.d.ts +9 -1
  2. package/lib/application/LegendApplication.d.ts.map +1 -1
  3. package/lib/application/LegendApplication.js +54 -1
  4. package/lib/application/LegendApplication.js.map +1 -1
  5. package/lib/components/VirtualAssistant.d.ts.map +1 -1
  6. package/lib/components/VirtualAssistant.js +91 -11
  7. package/lib/components/VirtualAssistant.js.map +1 -1
  8. package/lib/components/{BasicValueSpecificationEditor.d.ts → shared/BasicValueSpecificationEditor.d.ts} +2 -2
  9. package/lib/components/shared/BasicValueSpecificationEditor.d.ts.map +1 -0
  10. package/lib/components/{BasicValueSpecificationEditor.js → shared/BasicValueSpecificationEditor.js} +29 -20
  11. package/lib/components/shared/BasicValueSpecificationEditor.js.map +1 -0
  12. package/lib/components/{CustomDatePicker.d.ts → shared/CustomDatePicker.d.ts} +1 -1
  13. package/lib/components/shared/CustomDatePicker.d.ts.map +1 -0
  14. package/lib/components/{CustomDatePicker.js → shared/CustomDatePicker.js} +20 -20
  15. package/lib/components/shared/CustomDatePicker.js.map +1 -0
  16. package/lib/components/{DocumentationLink.d.ts → shared/DocumentationLink.d.ts} +0 -0
  17. package/lib/components/shared/DocumentationLink.d.ts.map +1 -0
  18. package/lib/components/{DocumentationLink.js → shared/DocumentationLink.js} +1 -1
  19. package/lib/components/shared/DocumentationLink.js.map +1 -0
  20. package/lib/components/{LambdaEditor.d.ts → shared/LambdaEditor.d.ts} +1 -1
  21. package/lib/components/shared/LambdaEditor.d.ts.map +1 -0
  22. package/lib/components/{LambdaEditor.js → shared/LambdaEditor.js} +3 -3
  23. package/lib/components/shared/LambdaEditor.js.map +1 -0
  24. package/lib/components/{LambdaParameterValuesEditor.d.ts → shared/LambdaParameterValuesEditor.d.ts} +1 -1
  25. package/lib/components/shared/LambdaParameterValuesEditor.d.ts.map +1 -0
  26. package/lib/components/{LambdaParameterValuesEditor.js → shared/LambdaParameterValuesEditor.js} +2 -2
  27. package/lib/components/shared/LambdaParameterValuesEditor.js.map +1 -0
  28. package/lib/components/shared/PackageableElementOptionRenderer.d.ts +21 -0
  29. package/lib/components/shared/PackageableElementOptionRenderer.d.ts.map +1 -0
  30. package/lib/components/shared/PackageableElementOptionRenderer.js +8 -0
  31. package/lib/components/shared/PackageableElementOptionRenderer.js.map +1 -0
  32. package/lib/components/{TextInputEditor.d.ts → shared/TextInputEditor.d.ts} +1 -1
  33. package/lib/components/shared/TextInputEditor.d.ts.map +1 -0
  34. package/lib/components/{TextInputEditor.js → shared/TextInputEditor.js} +2 -2
  35. package/lib/components/shared/TextInputEditor.js.map +1 -0
  36. package/lib/components/shared/execution-plan-viewer/ExecutionPlanViewer.d.ts +28 -0
  37. package/lib/components/shared/execution-plan-viewer/ExecutionPlanViewer.d.ts.map +1 -0
  38. package/lib/components/shared/execution-plan-viewer/ExecutionPlanViewer.js +182 -0
  39. package/lib/components/shared/execution-plan-viewer/ExecutionPlanViewer.js.map +1 -0
  40. package/lib/components/shared/execution-plan-viewer/SQLExecutionNodeViewer.d.ts +31 -0
  41. package/lib/components/shared/execution-plan-viewer/SQLExecutionNodeViewer.d.ts.map +1 -0
  42. package/lib/components/shared/execution-plan-viewer/SQLExecutionNodeViewer.js +32 -0
  43. package/lib/components/shared/execution-plan-viewer/SQLExecutionNodeViewer.js.map +1 -0
  44. package/lib/const.d.ts +0 -3
  45. package/lib/const.d.ts.map +1 -1
  46. package/lib/const.js +0 -3
  47. package/lib/const.js.map +1 -1
  48. package/lib/index.css +2 -2
  49. package/lib/index.css.map +1 -1
  50. package/lib/index.d.ts +12 -9
  51. package/lib/index.d.ts.map +1 -1
  52. package/lib/index.js +13 -9
  53. package/lib/index.js.map +1 -1
  54. package/lib/stores/ApplicationEvent.d.ts +4 -2
  55. package/lib/stores/ApplicationEvent.d.ts.map +1 -1
  56. package/lib/stores/ApplicationEvent.js +4 -2
  57. package/lib/stores/ApplicationEvent.js.map +1 -1
  58. package/lib/stores/ApplicationStore.d.ts.map +1 -1
  59. package/lib/stores/ApplicationStore.js +2 -1
  60. package/lib/stores/ApplicationStore.js.map +1 -1
  61. package/lib/stores/LegendApplicationAssistantService.d.ts +7 -2
  62. package/lib/stores/LegendApplicationAssistantService.d.ts.map +1 -1
  63. package/lib/stores/LegendApplicationAssistantService.js +22 -10
  64. package/lib/stores/LegendApplicationAssistantService.js.map +1 -1
  65. package/lib/stores/LegendApplicationConfig.d.ts +8 -5
  66. package/lib/stores/LegendApplicationConfig.d.ts.map +1 -1
  67. package/lib/stores/LegendApplicationConfig.js +15 -13
  68. package/lib/stores/LegendApplicationConfig.js.map +1 -1
  69. package/lib/stores/LegendApplicationDocumentationService.d.ts +34 -24
  70. package/lib/stores/LegendApplicationDocumentationService.d.ts.map +1 -1
  71. package/lib/stores/LegendApplicationDocumentationService.js +64 -60
  72. package/lib/stores/LegendApplicationDocumentationService.js.map +1 -1
  73. package/lib/stores/LegendApplicationPlugin.d.ts +14 -3
  74. package/lib/stores/LegendApplicationPlugin.d.ts.map +1 -1
  75. package/lib/stores/LegendApplicationPlugin.js.map +1 -1
  76. package/lib/stores/PureLanguageSupport.d.ts.map +1 -1
  77. package/lib/stores/PureLanguageSupport.js +8 -3
  78. package/lib/stores/PureLanguageSupport.js.map +1 -1
  79. package/lib/stores/shared/ExecutionPlanState.d.ts +62 -0
  80. package/lib/stores/shared/ExecutionPlanState.d.ts.map +1 -0
  81. package/lib/stores/shared/ExecutionPlanState.js +118 -0
  82. package/lib/stores/shared/ExecutionPlanState.js.map +1 -0
  83. package/lib/stores/{LambdaEditorState.d.ts → shared/LambdaEditorState.d.ts} +0 -0
  84. package/lib/stores/shared/LambdaEditorState.d.ts.map +1 -0
  85. package/lib/stores/{LambdaEditorState.js → shared/LambdaEditorState.js} +0 -0
  86. package/lib/stores/shared/LambdaEditorState.js.map +1 -0
  87. package/lib/stores/{LambdaParameterState.d.ts → shared/LambdaParameterState.d.ts} +1 -3
  88. package/lib/stores/shared/LambdaParameterState.d.ts.map +1 -0
  89. package/lib/stores/{LambdaParameterState.js → shared/LambdaParameterState.js} +3 -52
  90. package/lib/stores/shared/LambdaParameterState.js.map +1 -0
  91. package/lib/stores/{PackageableElementOption.d.ts → shared/PackageableElementOption.d.ts} +0 -0
  92. package/lib/stores/shared/PackageableElementOption.d.ts.map +1 -0
  93. package/lib/stores/{PackageableElementOption.js → shared/PackageableElementOption.js} +0 -0
  94. package/lib/stores/shared/PackageableElementOption.js.map +1 -0
  95. package/lib/stores/{ValueSpecificationModifierHelper.d.ts → shared/ValueSpecificationModifierHelper.d.ts} +0 -0
  96. package/lib/stores/shared/ValueSpecificationModifierHelper.d.ts.map +1 -0
  97. package/lib/stores/{ValueSpecificationModifierHelper.js → shared/ValueSpecificationModifierHelper.js} +0 -0
  98. package/lib/stores/shared/ValueSpecificationModifierHelper.js.map +1 -0
  99. package/package.json +13 -12
  100. package/src/application/LegendApplication.tsx +100 -4
  101. package/src/components/VirtualAssistant.tsx +106 -16
  102. package/src/components/{BasicValueSpecificationEditor.tsx → shared/BasicValueSpecificationEditor.tsx} +50 -19
  103. package/src/components/{CustomDatePicker.tsx → shared/CustomDatePicker.tsx} +44 -27
  104. package/src/components/{DocumentationLink.tsx → shared/DocumentationLink.tsx} +1 -1
  105. package/src/components/{LambdaEditor.tsx → shared/LambdaEditor.tsx} +4 -4
  106. package/src/components/{LambdaParameterValuesEditor.tsx → shared/LambdaParameterValuesEditor.tsx} +5 -3
  107. package/src/components/shared/PackageableElementOptionRenderer.tsx +40 -0
  108. package/src/components/{TextInputEditor.tsx → shared/TextInputEditor.tsx} +2 -2
  109. package/src/components/shared/execution-plan-viewer/ExecutionPlanViewer.tsx +550 -0
  110. package/src/components/shared/execution-plan-viewer/SQLExecutionNodeViewer.tsx +46 -0
  111. package/src/const.ts +0 -5
  112. package/src/index.ts +16 -13
  113. package/src/stores/ApplicationEvent.ts +4 -2
  114. package/src/stores/ApplicationStore.ts +3 -1
  115. package/src/stores/LegendApplicationAssistantService.ts +30 -16
  116. package/src/stores/LegendApplicationConfig.ts +28 -27
  117. package/src/stores/LegendApplicationDocumentationService.ts +128 -124
  118. package/src/stores/LegendApplicationPlugin.ts +17 -3
  119. package/src/stores/PureLanguageSupport.ts +8 -3
  120. package/src/stores/shared/ExecutionPlanState.ts +154 -0
  121. package/src/stores/{LambdaEditorState.ts → shared/LambdaEditorState.ts} +0 -0
  122. package/src/stores/{LambdaParameterState.ts → shared/LambdaParameterState.ts} +2 -100
  123. package/src/stores/{PackageableElementOption.ts → shared/PackageableElementOption.ts} +0 -0
  124. package/src/stores/{ValueSpecificationModifierHelper.ts → shared/ValueSpecificationModifierHelper.ts} +0 -0
  125. package/tsconfig.json +14 -10
  126. package/lib/components/BasicValueSpecificationEditor.d.ts.map +0 -1
  127. package/lib/components/BasicValueSpecificationEditor.js.map +0 -1
  128. package/lib/components/CustomDatePicker.d.ts.map +0 -1
  129. package/lib/components/CustomDatePicker.js.map +0 -1
  130. package/lib/components/DocumentationLink.d.ts.map +0 -1
  131. package/lib/components/DocumentationLink.js.map +0 -1
  132. package/lib/components/LambdaEditor.d.ts.map +0 -1
  133. package/lib/components/LambdaEditor.js.map +0 -1
  134. package/lib/components/LambdaParameterValuesEditor.d.ts.map +0 -1
  135. package/lib/components/LambdaParameterValuesEditor.js.map +0 -1
  136. package/lib/components/TextInputEditor.d.ts.map +0 -1
  137. package/lib/components/TextInputEditor.js.map +0 -1
  138. package/lib/stores/LambdaEditorState.d.ts.map +0 -1
  139. package/lib/stores/LambdaEditorState.js.map +0 -1
  140. package/lib/stores/LambdaParameterState.d.ts.map +0 -1
  141. package/lib/stores/LambdaParameterState.js.map +0 -1
  142. package/lib/stores/PackageableElementOption.d.ts.map +0 -1
  143. package/lib/stores/PackageableElementOption.js.map +0 -1
  144. package/lib/stores/ValueSpecificationModifierHelper.d.ts.map +0 -1
  145. package/lib/stores/ValueSpecificationModifierHelper.js.map +0 -1
@@ -17,6 +17,7 @@ import type { LegendApplicationConfig, LegendApplicationConfigurationData, Legen
17
17
  import { type AbstractPlugin, type AbstractPreset, LogEvent } from '@finos/legend-shared';
18
18
  import type { GraphPluginManager } from '@finos/legend-graph';
19
19
  import type { LegendApplicationPluginManager } from './LegendApplicationPluginManager.js';
20
+ import { type LegendApplicationDocumentationConfigEntry } from '../stores/LegendApplicationDocumentationService.js';
20
21
  export declare abstract class LegendApplicationLogger {
21
22
  abstract debug(event: LogEvent, ...data: unknown[]): void;
22
23
  abstract info(event: LogEvent, ...data: unknown[]): void;
@@ -30,6 +31,12 @@ export declare class LegendApplicationWebConsole extends LegendApplicationLogger
30
31
  error(event: LogEvent, ...data: unknown[]): void;
31
32
  }
32
33
  export declare const setupLegendApplicationUILibrary: (pluginManager: GraphPluginManager, logger: LegendApplicationLogger) => Promise<void>;
34
+ export interface LegendApplicationConfigurationInput<T extends LegendApplicationConfigurationData> {
35
+ baseUrl: string;
36
+ configData: T;
37
+ versionData: LegendApplicationVersionData;
38
+ docEntries?: Record<string, LegendApplicationDocumentationConfigEntry>;
39
+ }
33
40
  export declare abstract class LegendApplication {
34
41
  protected config: LegendApplicationConfig;
35
42
  protected logger: LegendApplicationLogger;
@@ -54,7 +61,8 @@ export declare abstract class LegendApplication {
54
61
  withPresets(presets: AbstractPreset[]): LegendApplication;
55
62
  withPlugins(plugins: AbstractPlugin[]): LegendApplication;
56
63
  fetchApplicationConfiguration(baseUrl: string): Promise<[LegendApplicationConfig, Record<PropertyKey, object>]>;
57
- protected abstract configureApplication(configData: LegendApplicationConfigurationData, versionData: LegendApplicationVersionData, baseUrl: string): Promise<LegendApplicationConfig>;
64
+ loadDocumentationRegistryData(config: LegendApplicationConfig): Promise<void>;
65
+ protected abstract configureApplication(input: LegendApplicationConfigurationInput<LegendApplicationConfigurationData>): Promise<LegendApplicationConfig>;
58
66
  protected abstract loadApplication(): Promise<void>;
59
67
  start(): Promise<void>;
60
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LegendApplication.d.ts","sourceRoot":"","sources":["../../src/application/LegendApplication.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LegendApplication.d.ts","sourceRoot":"","sources":["../../src/application/LegendApplication.tsx"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ import { assertErrorThrown, LogEvent, guaranteeNonEmptyString, assertNonNullable
20
20
  import { APPLICATION_EVENT } from '../stores/ApplicationEvent.js';
21
21
  import { configureComponents } from '@finos/legend-art';
22
22
  import { setupPureLanguageService } from '../stores/PureLanguageSupport.js';
23
+ import { collectKeyedDocumnetationEntriesFromConfig, } from '../stores/LegendApplicationDocumentationService.js';
23
24
  export class LegendApplicationLogger {
24
25
  }
25
26
  export class LegendApplicationWebConsole extends LegendApplicationLogger {
@@ -108,6 +109,7 @@ export class LegendApplication {
108
109
  }
109
110
  async fetchApplicationConfiguration(baseUrl) {
110
111
  const client = new NetworkClient();
112
+ // app config
111
113
  let configData;
112
114
  try {
113
115
  configData = await client.get(`${window.location.origin}${baseUrl}config.json`);
@@ -117,6 +119,7 @@ export class LegendApplication {
117
119
  this.logger.error(LogEvent.create(APPLICATION_EVENT.APPLICATION_CONFIGURATION_FAILURE), error);
118
120
  }
119
121
  assertNonNullable(configData, `Can't fetch Legend application configuration`);
122
+ // app version
120
123
  let versionData;
121
124
  try {
122
125
  versionData = await client.get(`${window.location.origin}${baseUrl}version.json`);
@@ -127,10 +130,56 @@ export class LegendApplication {
127
130
  }
128
131
  assertNonNullable(versionData, `Can't fetch Legend application version`);
129
132
  return [
130
- await this.configureApplication(configData, versionData, baseUrl),
133
+ await this.configureApplication({
134
+ configData,
135
+ versionData,
136
+ baseUrl,
137
+ }),
131
138
  (configData.extensions ?? {}),
132
139
  ];
133
140
  }
141
+ async loadDocumentationRegistryData(config) {
142
+ const entries = {};
143
+ await Promise.all([
144
+ ...config.documentationRegistryEntries,
145
+ ...this.pluginManager
146
+ .getApplicationPlugins()
147
+ .flatMap((plugin) => plugin.getExtraDocumentationRegistryEntries?.() ?? []),
148
+ ].map(async (entry) => {
149
+ try {
150
+ const client = new NetworkClient(entry.simple
151
+ ? {
152
+ /**
153
+ * NOTE: see the documentation for `simple` flag {@link LegendApplicationDocumentationRegistryEntry}
154
+ * here, basically, we expect to fetch just the JSON from an endpoint where `Access-Control-Allow-Origin", "*"` is set
155
+ * as such, we must not include the credential in our request
156
+ * See https://stackoverflow.com/questions/19743396/cors-cannot-use-wildcard-in-access-control-allow-origin-when-credentials-flag-i
157
+ */
158
+ options: {
159
+ credentials: 'omit',
160
+ },
161
+ }
162
+ : {});
163
+ const docData = await client.get(guaranteeNonEmptyString(entry.url, `Can't load documentation registry: 'url' field is missing or empty`));
164
+ assertNonNullable(docData.entries, `Can't load documentation registry data: 'entries' field is missing`);
165
+ Object.entries(docData.entries).forEach(([key, docEntry]) => {
166
+ // NOTE: entries will NOT override
167
+ if (!entries[key]) {
168
+ entries[key] = docEntry;
169
+ }
170
+ });
171
+ }
172
+ catch (error) {
173
+ assertErrorThrown(error);
174
+ this.logger.warn(LogEvent.create(APPLICATION_EVENT.APPLICATION_DOCUMENTATION_FETCH_FAILURE), error);
175
+ }
176
+ }));
177
+ // NOTE: config entries will override
178
+ config.keyedDocumentationEntries = [
179
+ ...collectKeyedDocumnetationEntriesFromConfig(entries),
180
+ ...config.keyedDocumentationEntries,
181
+ ];
182
+ }
134
183
  async start() {
135
184
  assertNonNullable(this._isConfigured, 'Legend application has not been configured properly. Make sure to run setup() before start()');
136
185
  try {
@@ -141,6 +190,10 @@ export class LegendApplication {
141
190
  this.pluginRegister?.(this.pluginManager, this.config);
142
191
  this.pluginManager.configure(extensionConfigData);
143
192
  this.pluginManager.install();
193
+ // Other setups
194
+ await Promise.all(
195
+ // NOTE: to be done in parallel to save time
196
+ [this.loadDocumentationRegistryData(config)]);
144
197
  await this.loadApplication();
145
198
  this.logger.info(LogEvent.create(APPLICATION_EVENT.APPLICATION_LOADED), 'Legend application loaded');
146
199
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LegendApplication.js","sourceRoot":"","sources":["../../src/application/LegendApplication.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LegendApplication.js","sourceRoot":"","sources":["../../src/application/LegendApplication.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualAssistant.d.ts","sourceRoot":"","sources":["../../src/components/VirtualAssistant.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;AA2cH,eAAO,MAAM,gBAAgB;;CA8H3B,CAAC"}
1
+ {"version":3,"file":"VirtualAssistant.d.ts","sourceRoot":"","sources":["../../src/components/VirtualAssistant.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;AAqiBH,eAAO,MAAM,gBAAgB;;CA8H3B,CAAC"}
@@ -14,15 +14,16 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- import { clsx, BasePopper, TimesIcon, SearchIcon, MapMarkerIcon, CloseIcon, ContextMenu, MenuContent, MenuContentItem, MarkdownTextViewer, ChevronDownIcon, ChevronRightIcon, BlankPanelContent, BeardIcon, SunglassesIcon, WizardHatIcon, FaceLaughWinkIcon, VerticalDragHandleThinIcon, CircleIcon, PanelLoadingIndicator, } from '@finos/legend-art';
17
+ import { clsx, TimesIcon, SearchIcon, MapMarkerIcon, CloseIcon, ContextMenu, MenuContent, MenuContentItem, MarkdownTextViewer, ChevronDownIcon, ChevronRightIcon, BlankPanelContent, BeardIcon, SunglassesIcon, WizardHatIcon, FaceLaughWinkIcon, VerticalDragHandleThinIcon, CircleIcon, PanelLoadingIndicator, BasePopover, FaceSadTearIcon, } from '@finos/legend-art';
18
18
  import { ContentType, debounce, downloadFileUsingDataURI, isString, uuid, } from '@finos/legend-shared';
19
19
  import { format } from 'date-fns';
20
20
  import { observer } from 'mobx-react-lite';
21
21
  import { useEffect, useMemo, useRef, useState } from 'react';
22
- import { DATE_TIME_FORMAT, TAB_SIZE } from '../const.js';
22
+ import { TAB_SIZE } from '../const.js';
23
23
  import { VIRTUAL_ASSISTANT_TAB, } from '../stores/LegendApplicationAssistantService.js';
24
24
  import { useApplicationStore } from './ApplicationStoreProvider.js';
25
25
  import Draggable from 'react-draggable';
26
+ import { DATE_TIME_FORMAT } from '@finos/legend-graph';
26
27
  const WIZARD_GREETING = `Bonjour, It's Pierre!`;
27
28
  const VirtualAssistantDocumentationEntryViewer = observer((props) => {
28
29
  const { entry } = props;
@@ -52,7 +53,7 @@ const VirtualAssistantContextualSupportPanel = observer(() => {
52
53
  classes: {
53
54
  root: 'virtual-assistant__context-menu',
54
55
  },
55
- }, content: _jsxs(MenuContent, { children: [_jsx(MenuContentItem, { onClick: copyContextIDToClipboard, children: "Copy Context ID" }), _jsx(MenuContentItem, { onClick: copyCurrentContextIDToClipboard, children: "Copy Current Context ID" }), _jsx(MenuContentItem, { onClick: copyContextStackToClipboard, children: "Copy Context Stack" })] }), children: [contextualEntry && (_jsxs("div", { className: "virtual-assistant__contextual-support__content", children: [contextualEntry.title && (_jsx("div", { className: "virtual-assistant__contextual-support__title", children: contextualEntry.title })), contextualEntry.content && (_jsx(_Fragment, { children: isString(contextualEntry.content) ? (_jsx("div", { className: "virtual-assistant__contextual-support__text", children: contextualEntry.content })) : (_jsx(MarkdownTextViewer, { className: "virtual-assistant__contextual-support__markdown-text", value: contextualEntry.content })) })), contextualEntry.related.length && (_jsxs("div", { className: "virtual-assistant__contextual-support__relevant-entries", children: [_jsxs("div", { className: "virtual-assistant__contextual-support__relevant-entries__title", children: ["Related entries (", contextualEntry.related.length, ")"] }), contextualEntry.related.map((entry) => (_jsx(VirtualAssistantDocumentationEntryViewer, { entry: entry }, entry.uuid)))] }))] })), !contextualEntry && (_jsx(BlankPanelContent, { children: _jsxs("div", { className: "virtual-assistant__contextual-support__placeholder", children: [_jsx(FaceLaughWinkIcon, { className: "virtual-assistant__contextual-support__placeholder__icon" }), _jsx("div", { className: "virtual-assistant__contextual-support__placeholder__message", children: "No contextual documentation found!" }), _jsx("div", { className: "virtual-assistant__contextual-support__placeholder__instruction", children: "Keep using the app, when contextual doc available, we will let you know!" })] }) }))] }));
56
+ }, content: _jsxs(MenuContent, { children: [_jsx(MenuContentItem, { onClick: copyContextIDToClipboard, children: "Copy Context ID" }), _jsx(MenuContentItem, { onClick: copyCurrentContextIDToClipboard, children: "Copy Current Context ID" }), _jsx(MenuContentItem, { onClick: copyContextStackToClipboard, children: "Copy Context Stack" })] }), children: [contextualEntry && (_jsxs("div", { className: "virtual-assistant__contextual-support__content", children: [contextualEntry.title && (_jsx("div", { className: "virtual-assistant__contextual-support__title", children: contextualEntry.title })), contextualEntry.content && (_jsx(_Fragment, { children: isString(contextualEntry.content) ? (_jsx("div", { className: "virtual-assistant__contextual-support__text", children: contextualEntry.content })) : (_jsx(MarkdownTextViewer, { className: "virtual-assistant__contextual-support__markdown-text", value: contextualEntry.content })) })), contextualEntry.related.length && (_jsxs("div", { className: "virtual-assistant__contextual-support__relevant-entries", children: [_jsxs("div", { className: "virtual-assistant__contextual-support__relevant-entries__title", children: ["Related entries (", contextualEntry.related.length, ")"] }), contextualEntry.related.map((entry) => (_jsx(VirtualAssistantDocumentationEntryViewer, { entry: entry }, entry.uuid)))] }))] })), !contextualEntry && (_jsx(BlankPanelContent, { children: _jsxs("div", { className: "virtual-assistant__panel__placeholder", children: [_jsx(FaceLaughWinkIcon, { className: "virtual-assistant__panel__placeholder__icon" }), _jsx("div", { className: "virtual-assistant__panel__placeholder__message", children: "No contextual documentation found!" }), _jsx("div", { className: "virtual-assistant__panel__placeholder__instruction", children: "Keep using the app, when contextual doc available, we will let you know!" })] }) }))] }));
56
57
  });
57
58
  const VirtualAssistantSearchPanel = observer(() => {
58
59
  const applicationStore = useApplicationStore();
@@ -75,20 +76,50 @@ const VirtualAssistantSearchPanel = observer(() => {
75
76
  const downloadDocRegistry = () => {
76
77
  downloadFileUsingDataURI(`documentation-registry_${format(new Date(Date.now()), DATE_TIME_FORMAT)}.json`, JSON.stringify(applicationStore.documentationService.publishDocRegistry(), undefined, TAB_SIZE), ContentType.APPLICATION_JSON);
77
78
  };
78
- const downloadContextualDocRegistry = () => {
79
- downloadFileUsingDataURI(`documentation-registry_${format(new Date(Date.now()), DATE_TIME_FORMAT)}.json`, JSON.stringify(applicationStore.documentationService.publishContextualDocRegistry(), undefined, TAB_SIZE), ContentType.APPLICATION_JSON);
79
+ const downloadContextualDocMap = () => {
80
+ downloadFileUsingDataURI(`documentation-registry_${format(new Date(Date.now()), DATE_TIME_FORMAT)}.json`, JSON.stringify(applicationStore.documentationService.publishContextualDocMap(), undefined, TAB_SIZE), ContentType.APPLICATION_JSON);
80
81
  };
81
82
  useEffect(() => {
82
83
  searchInputRef.current?.focus();
83
84
  }, []);
84
- return (_jsxs("div", { className: "virtual-assistant__search", children: [_jsxs("div", { className: "virtual-assistant__search__header", children: [_jsx("input", { ref: searchInputRef, className: clsx('virtual-assistant__search__input input--dark', {
85
+ return (_jsxs("div", { className: "virtual-assistant__search", children: [_jsxs("div", { className: "virtual-assistant__search__header", children: [_jsx("input", { ref: searchInputRef,
86
+ /**
87
+ * NOTE: In the scenario where another modal is opened at the same time the assistant panel
88
+ * is open, the focus will be stolen by the newly opened modal. In that case, we need
89
+ * to take back the focus. The trick here is to remount the whole panel (modal/popover)
90
+ * by refreshing the `key` prop of the panel. This will cause `mui` to recompute the
91
+ * focus-trap and allow the input field to be selectable again. Basically, we are stealing
92
+ * back the focus for the assistant.
93
+ *
94
+ * However, the caveat is that this will cause the component states, such as scroll positions,
95
+ * to be reset as such, we need to do this really sparingly. In fact, the only
96
+ * scenario where we need to do this is when a new modal is opened when the assistant panel
97
+ * is already opened. Basically, Other scenarios, such as when the assistant is opened after the modal
98
+ * is opened seem to pose no issue.
99
+ */
100
+ onClick: () => {
101
+ if (
102
+ // only when there are dialogs being opened
103
+ // NOTE: this seems rather hacky, but querying by role is the least
104
+ // vendor-dependent approach we can think of at the moment
105
+ document.querySelectorAll('[role="dialog"]').length &&
106
+ // only when the focus is not already with the input field
107
+ // this means the focus is being stolen from the assistant because
108
+ // the newly opened modal is opened more recently than the assistant
109
+ //
110
+ // once the focus has been gained by the assistant
111
+ // we will not need to do this anymore
112
+ searchInputRef.current !== document.activeElement) {
113
+ assistantService.refreshPanelRendering();
114
+ }
115
+ }, className: clsx('virtual-assistant__search__input input--dark', {
85
116
  'virtual-assistant__search__input--searching': searchText,
86
- }), onChange: onSearchTextChange, value: searchText, placeholder: "Ask me a question" }), !searchText ? (_jsx("div", { className: "virtual-assistant__search__input__search__icon", children: _jsx(SearchIcon, {}) })) : (_jsxs(_Fragment, { children: [_jsx("div", { className: "virtual-assistant__search__input__search__count", children: resultCount }), _jsx("button", { className: "virtual-assistant__search__input__clear-btn", tabIndex: -1, onClick: clearSearchText, title: "Clear", children: _jsx(TimesIcon, {}) })] }))] }), _jsxs("div", { className: "virtual-assistant__search__content", children: [_jsx(PanelLoadingIndicator, { isLoading: assistantService.searchState.isInProgress }), Boolean(results.length) && (_jsx("div", { className: "virtual-assistant__search__results", children: results.map((result) => (_jsx(VirtualAssistantDocumentationEntryViewer, { entry: result }, result.uuid))) })), searchText && !results.length && (_jsx(BlankPanelContent, { children: _jsx("div", { className: "virtual-assistant__search__results__placeholder", children: "no result" }) })), !searchText && !results.length && (_jsx(ContextMenu, { className: "virtual-assistant__character__container", menuProps: {
117
+ }), onChange: onSearchTextChange, value: searchText, placeholder: "Ask me a question" }), !searchText ? (_jsx("div", { className: "virtual-assistant__search__input__search__icon", children: _jsx(SearchIcon, {}) })) : (_jsxs(_Fragment, { children: [_jsx("div", { className: "virtual-assistant__search__input__search__count", children: resultCount }), _jsx("button", { className: "virtual-assistant__search__input__clear-btn", tabIndex: -1, onClick: clearSearchText, title: "Clear", children: _jsx(TimesIcon, {}) })] }))] }), _jsxs("div", { className: "virtual-assistant__search__content", children: [_jsx(PanelLoadingIndicator, { isLoading: assistantService.searchState.isInProgress }), Boolean(results.length) && (_jsx("div", { className: "virtual-assistant__search__results", children: results.map((result) => (_jsx(VirtualAssistantDocumentationEntryViewer, { entry: result }, result.uuid))) })), searchText && !results.length && (_jsx(BlankPanelContent, { children: _jsxs("div", { className: "virtual-assistant__panel__placeholder", children: [_jsx(FaceSadTearIcon, { className: "virtual-assistant__panel__placeholder__icon" }), _jsx("div", { className: "virtual-assistant__panel__placeholder__message", children: "No result..." })] }) })), !searchText && !results.length && (_jsx(ContextMenu, { className: "virtual-assistant__character__container", menuProps: {
87
118
  elevation: 7,
88
119
  classes: {
89
120
  root: 'virtual-assistant__context-menu',
90
121
  },
91
- }, content: _jsxs(MenuContent, { children: [_jsx(MenuContentItem, { onClick: downloadDocRegistry, children: "Download documentation registry" }), _jsx(MenuContentItem, { onClick: downloadContextualDocRegistry, children: "Download contextual documentation registry" })] }), children: _jsxs("div", { className: "virtual-assistant__character", children: [_jsxs("div", { className: "virtual-assistant__character__figure", children: [_jsx(WizardHatIcon, { className: "virtual-assistant__character__hat" }), _jsx(SunglassesIcon, { className: "virtual-assistant__character__glasses" }), _jsx(BeardIcon, { className: "virtual-assistant__character__beard" })] }), _jsx("div", { className: "virtual-assistant__character__greeting", children: WIZARD_GREETING }), _jsx("div", { className: "virtual-assistant__character__question", children: "How can I help today?" })] }) }))] })] }));
122
+ }, content: _jsxs(MenuContent, { children: [_jsx(MenuContentItem, { onClick: downloadDocRegistry, children: "Download documentation registry" }), _jsx(MenuContentItem, { onClick: downloadContextualDocMap, children: "Download contextual documentation mapping" })] }), children: _jsxs("div", { className: "virtual-assistant__character", children: [_jsxs("div", { className: "virtual-assistant__character__figure", children: [_jsx(WizardHatIcon, { className: "virtual-assistant__character__hat" }), _jsx(SunglassesIcon, { className: "virtual-assistant__character__glasses" }), _jsx(BeardIcon, { className: "virtual-assistant__character__beard" })] }), _jsx("div", { className: "virtual-assistant__character__greeting", children: WIZARD_GREETING }), _jsx("div", { className: "virtual-assistant__character__question", children: "How can I help today?" })] }) }))] })] }));
92
123
  });
93
124
  const VirtualAssistantPanel = observer((props) => {
94
125
  const { triggerElement } = props;
@@ -99,13 +130,62 @@ const VirtualAssistantPanel = observer((props) => {
99
130
  const selectSearch = () => assistantService.setSelectedTab(VIRTUAL_ASSISTANT_TAB.SEARCH);
100
131
  const selectContextualDoc = () => assistantService.setSelectedTab(VIRTUAL_ASSISTANT_TAB.CONTEXTUAL_SUPPORT);
101
132
  const closeAssistantPanel = () => assistantService.setIsOpen(false);
102
- return (_jsx(BasePopper, { open: assistantService.isOpen, className: "virtual-assistant__panel__container", anchorEl: triggerElement,
133
+ return (
134
+ /**
135
+ * The most appropriate component to use is `Popper`
136
+ * as it does not block click-away
137
+ * See https://mui.com/material-ui/react-popper/
138
+ *
139
+ * However, the caveat is that in the implementation of mui Popper
140
+ * focus trap is not supported. As such, we could end up in a situation
141
+ * where the assistant input fields will not be focusable
142
+ * when another modal is being opened, as that newly opened modal will
143
+ * **steal** the focus
144
+ *
145
+ * See https://github.com/finos/legend-studio/issues/1255
146
+ * See https://mui.com/material-ui/react-modal/#focus-trap
147
+ * See https://github.com/mui/material-ui/issues/17497
148
+ */
149
+ _jsx(BasePopover, { open: assistantService.isOpen, className: "virtual-assistant__panel__container", anchorEl: triggerElement,
150
+ // we need to get rid of the backdrop and the click-away trap
151
+ // to make popover behave like a popper
152
+ hideBackdrop: true, PaperProps: {
153
+ // we will cancel the effect of click-away trap using CSS
154
+ classes: { root: 'virtual-assistant__panel__container__root' },
155
+ },
156
+ // allow other modals to take the focus from the virtual assistant
157
+ disableEnforceFocus: true,
103
158
  // NOTE: make sure the assistant is always fully displayed (not cropped)
104
- placement: "auto-start", children: _jsxs("div", { className: "virtual-assistant__panel", children: [_jsxs("div", { className: "virtual-assistant__panel__header", children: [_jsxs("div", { className: "virtual-assistant__panel__header__tabs", children: [_jsx("div", { className: clsx('virtual-assistant__panel__header__tab', {
159
+ anchorOrigin: {
160
+ vertical: 'bottom',
161
+ horizontal: 'left',
162
+ }, transformOrigin: {
163
+ vertical: 'bottom',
164
+ horizontal: 'right',
165
+ }, children: _jsxs("div", { className: "virtual-assistant__panel",
166
+ // NOTE: here we block `tabbing` (to move focus). This is to counter the effect of
167
+ // `disableEnforceFocus={true}` set in the assistant panel popover
168
+ // this is the poor-man focus trap for the assistant to ensure
169
+ // that we don't leak focus tab down to other parts of the app
170
+ //
171
+ // Especially, due to the hack we do to compete for focus when another modal
172
+ // is opened, we need to do this to avoid leaking of focus to components
173
+ // beneath the modal via assistant
174
+ //
175
+ // setting `tabIndex={0}` is a hack to make this DOM node focusable
176
+ // and hence, we could trap the focus here using `onKeyDown`
177
+ // See https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex
178
+ tabIndex: 0, onKeyDown: (event) => {
179
+ if (event.key === 'Tab') {
180
+ event.preventDefault();
181
+ event.stopPropagation();
182
+ return;
183
+ }
184
+ }, children: [_jsxs("div", { className: "virtual-assistant__panel__header", children: [_jsxs("div", { className: "virtual-assistant__panel__header__tabs", children: [_jsx("div", { className: clsx('virtual-assistant__panel__header__tab', {
105
185
  'virtual-assistant__panel__header__tab--active': selectedTab === VIRTUAL_ASSISTANT_TAB.SEARCH,
106
186
  }), onClick: selectSearch, title: "Search", children: _jsx("div", { className: "virtual-assistant__panel__header__tab__content", children: _jsx(SearchIcon, {}) }) }), _jsx("div", { className: clsx('virtual-assistant__panel__header__tab', {
107
187
  'virtual-assistant__panel__header__tab--active': selectedTab === VIRTUAL_ASSISTANT_TAB.CONTEXTUAL_SUPPORT,
108
- }), onClick: selectContextualDoc, title: "Contextual Support", children: _jsxs("div", { className: "virtual-assistant__panel__header__tab__content", children: [_jsx(MapMarkerIcon, {}), currentContextualDocumentationEntry && (_jsx("div", { className: "virtual-assistant__panel__header__tab__indicator", title: "Contextual support available" }))] }) })] }), _jsx("div", { className: "virtual-assistant__panel__header__actions", children: _jsx("button", { className: "virtual-assistant__panel__header__action", tabIndex: -1, onClick: closeAssistantPanel, title: "Close panel", children: _jsx(CloseIcon, { className: "virtual-assistant__panel__icon__close" }) }) })] }), _jsxs("div", { className: "virtual-assistant__panel__content", children: [selectedTab === VIRTUAL_ASSISTANT_TAB.SEARCH && (_jsx(VirtualAssistantSearchPanel, {})), selectedTab === VIRTUAL_ASSISTANT_TAB.CONTEXTUAL_SUPPORT && (_jsx(VirtualAssistantContextualSupportPanel, {}))] })] }) }));
188
+ }), onClick: selectContextualDoc, title: "Contextual Support", children: _jsxs("div", { className: "virtual-assistant__panel__header__tab__content", children: [_jsx(MapMarkerIcon, {}), currentContextualDocumentationEntry && (_jsx("div", { className: "virtual-assistant__panel__header__tab__indicator", title: "Contextual support available" }))] }) })] }), _jsx("div", { className: "virtual-assistant__panel__header__actions", children: _jsx("button", { className: "virtual-assistant__panel__header__action", tabIndex: -1, onClick: closeAssistantPanel, title: "Close panel", children: _jsx(CloseIcon, { className: "virtual-assistant__panel__icon__close" }) }) })] }), _jsxs("div", { className: "virtual-assistant__panel__content", children: [selectedTab === VIRTUAL_ASSISTANT_TAB.SEARCH && (_jsx(VirtualAssistantSearchPanel, {})), selectedTab === VIRTUAL_ASSISTANT_TAB.CONTEXTUAL_SUPPORT && (_jsx(VirtualAssistantContextualSupportPanel, {}))] })] }) }, assistantService.panelRenderingKey));
109
189
  });
110
190
  export const VirtualAssistant = observer(() => {
111
191
  const [isDragging, setIsDragging] = useState(false);
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualAssistant.js","sourceRoot":"","sources":["../../src/components/VirtualAssistant.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VirtualAssistant.js","sourceRoot":"","sources":["../../src/components/VirtualAssistant.tsx"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ declare type TypeCheckOption = {
27
27
  match?: boolean;
28
28
  };
29
29
  /**
30
- * TODO we should pass in the props `setValueSpecification` and `resetValueSpecification`. Reset
30
+ * TODO we should pass in the props `resetValueSpecification`. Reset
31
31
  * should be part of this editor. Also through here we can call `observe_` accordingly.
32
32
  *
33
33
  * See https://github.com/finos/legend-studio/pull/1021
@@ -37,7 +37,7 @@ export declare const BasicValueSpecificationEditor: React.FC<{
37
37
  graph: PureModel;
38
38
  typeCheckOption: TypeCheckOption;
39
39
  className?: string | undefined;
40
- updateValue: (val: ValueSpecification) => void;
40
+ setValueSpecification: (val: ValueSpecification) => void;
41
41
  resetValue: () => void;
42
42
  }>;
43
43
  export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BasicValueSpecificationEditor.d.ts","sourceRoot":"","sources":["../../../src/components/shared/BasicValueSpecificationEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;AAeH,OAAO,EAEL,KAAK,IAAI,EACT,KAAK,kBAAkB,EACvB,KAAK,SAAS,EAgBf,MAAM,qBAAqB,CAAC;AAgB7B,aAAK,eAAe,GAAG;IACrB,YAAY,EAAE,IAAI,CAAC;IACnB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAsgBF;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,EAAE,KAAK,CAAC,EAAE,CAAC;IACnD,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,qBAAqB,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACzD,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,CA+HA,CAAC"}
@@ -20,7 +20,7 @@ import { guaranteeNonNullable, isNonNullable, returnUndefOnError, uniq, } from '
20
20
  import { observer } from 'mobx-react-lite';
21
21
  import CSVParser from 'papaparse';
22
22
  import { useEffect, useRef, useState } from 'react';
23
- import { instanceValue_changeValue, instanceValue_changeValues, } from '../stores/ValueSpecificationModifierHelper.js';
23
+ import { instanceValue_changeValue, instanceValue_changeValues, } from '../../stores/shared/ValueSpecificationModifierHelper.js';
24
24
  import { CustomDatePicker } from './CustomDatePicker.js';
25
25
  const ParameterInfoTooltip = (props) => {
26
26
  const { variable, children, placement } = props;
@@ -42,21 +42,27 @@ const VariableExpressionParameterEditor = observer((props) => {
42
42
  return (_jsxs("div", { className: clsx('value-spec-editor__parameter', className), children: [_jsx("div", { className: "value-spec-editor__parameter__icon", children: _jsx(DollarIcon, {}) }), _jsxs("div", { className: "value-spec-editor__parameter__label", children: [_jsx("div", { className: "value-spec-editor__parameter__text", children: varName }), _jsx(ParameterInfoTooltip, { variable: valueSpecification, children: _jsx("div", { className: "value-spec-editor__parameter__info", children: _jsx(InfoCircleIcon, {}) }) }), _jsx("button", { className: "value-spec-editor__parameter__reset-btn", title: "Reset", onClick: resetValue, children: _jsx(RefreshIcon, {}) })] })] }));
43
43
  });
44
44
  const StringPrimitiveInstanceValueEditor = observer((props) => {
45
- const { valueSpecification, className, resetValue } = props;
45
+ const { valueSpecification, className, resetValue, setValueSpecification } = props;
46
46
  const value = valueSpecification.values[0];
47
- const changeValue = (event) => instanceValue_changeValue(valueSpecification, event.target.value, 0);
47
+ const changeValue = (event) => {
48
+ instanceValue_changeValue(valueSpecification, event.target.value, 0);
49
+ setValueSpecification(valueSpecification);
50
+ };
48
51
  return (_jsxs("div", { className: clsx('value-spec-editor', className), children: [_jsx("input", { className: "panel__content__form__section__input value-spec-editor__input", spellCheck: false, value: value, placeholder: value === '' ? '(empty)' : undefined, onChange: changeValue }), _jsx("button", { className: "value-spec-editor__reset-btn", title: "Reset", onClick: resetValue, children: _jsx(RefreshIcon, {}) })] }));
49
52
  });
50
53
  const BooleanPrimitiveInstanceValueEditor = observer((props) => {
51
- const { valueSpecification, className, resetValue } = props;
54
+ const { valueSpecification, className, resetValue, setValueSpecification } = props;
52
55
  const value = valueSpecification.values[0];
53
- const toggleValue = () => instanceValue_changeValue(valueSpecification, !value, 0);
56
+ const toggleValue = () => {
57
+ instanceValue_changeValue(valueSpecification, !value, 0);
58
+ setValueSpecification(valueSpecification);
59
+ };
54
60
  return (_jsxs("div", { className: clsx('value-spec-editor', className), children: [_jsx("button", { className: clsx('value-spec-editor__toggler__btn', {
55
61
  'value-spec-editor__toggler__btn--toggled': value,
56
62
  }), onClick: toggleValue, children: value ? _jsx(CheckSquareIcon, {}) : _jsx(SquareIcon, {}) }), _jsx("button", { className: "value-spec-editor__reset-btn", title: "Reset", onClick: resetValue, children: _jsx(RefreshIcon, {}) })] }));
57
63
  });
58
64
  const NumberPrimitiveInstanceValueEditor = observer((props) => {
59
- const { valueSpecification, isInteger, className, resetValue } = props;
65
+ const { valueSpecification, isInteger, className, resetValue, setValueSpecification, } = props;
60
66
  const value = valueSpecification.values[0];
61
67
  const changeValue = (event) => {
62
68
  let inputVal = isInteger
@@ -64,11 +70,12 @@ const NumberPrimitiveInstanceValueEditor = observer((props) => {
64
70
  : parseFloat(event.target.value);
65
71
  inputVal = isNaN(inputVal) ? 0 : inputVal;
66
72
  instanceValue_changeValue(valueSpecification, inputVal, 0);
73
+ setValueSpecification(valueSpecification);
67
74
  };
68
75
  return (_jsxs("div", { className: clsx('value-spec-editor', className), children: [_jsx("input", { className: "panel__content__form__section__input value-spec-editor__input", spellCheck: false, type: "number", value: value, onChange: changeValue }), _jsx("button", { className: "value-spec-editor__reset-btn", title: "Reset", onClick: resetValue, children: _jsx(RefreshIcon, {}) })] }));
69
76
  });
70
77
  const EnumValueInstanceValueEditor = observer((props) => {
71
- const { valueSpecification, className, resetValue } = props;
78
+ const { valueSpecification, className, resetValue, setValueSpecification } = props;
72
79
  const enumValueRef = guaranteeNonNullable(valueSpecification.values[0]);
73
80
  const enumValue = enumValueRef.value;
74
81
  const options = enumValue._OWNER.values.map((value) => ({
@@ -77,6 +84,7 @@ const EnumValueInstanceValueEditor = observer((props) => {
77
84
  }));
78
85
  const changeValue = (val) => {
79
86
  instanceValue_changeValue(valueSpecification, EnumValueExplicitReference.create(val.value), 0);
87
+ setValueSpecification(valueSpecification);
80
88
  };
81
89
  return (_jsxs("div", { className: clsx('value-spec-editor', className), children: [_jsx(CustomSelectorInput, { className: "value-spec-editor__enum-selector", options: options, onChange: changeValue, value: { value: enumValue, label: enumValue.name }, darkMode: true }), _jsx("button", { className: "value-spec-editor__reset-btn", title: "Reset", onClick: resetValue, children: _jsx(RefreshIcon, {}) })] }));
82
90
  });
@@ -181,7 +189,7 @@ const setCollectionValue = (valueSpecification, graph, expectedType, value) => {
181
189
  };
182
190
  const COLLECTION_PREVIEW_CHAR_LIMIT = 50;
183
191
  const CollectionValueInstanceValueEditor = observer((props) => {
184
- const { valueSpecification, graph, expectedType, className, resetValue } = props;
192
+ const { valueSpecification, graph, expectedType, className, resetValue, setValueSpecification, } = props;
185
193
  const inputRef = useRef(null);
186
194
  const [text, setText] = useState(stringifyValue(valueSpecification.values));
187
195
  const [editable, setEditable] = useState(false);
@@ -198,6 +206,7 @@ const CollectionValueInstanceValueEditor = observer((props) => {
198
206
  setEditable(false);
199
207
  setCollectionValue(valueSpecification, graph, expectedType, text);
200
208
  setText(stringifyValue(valueSpecification.values));
209
+ setValueSpecification(valueSpecification);
201
210
  };
202
211
  const changeValue = (event) => setText(event.target.value);
203
212
  // focus the input box when edit is enabled
@@ -213,54 +222,54 @@ const CollectionValueInstanceValueEditor = observer((props) => {
213
222
  });
214
223
  const UnsupportedValueSpecificationEditor = () => (_jsx("div", { className: "value-spec-editor--unsupported", children: "unsupported" }));
215
224
  const DateInstanceValueEditor = observer((props) => {
216
- const { valueSpecification, updateValue, graph, typeCheckOption, resetValue, } = props;
217
- return (_jsxs("div", { className: "value-spec-editor", children: [_jsx(CustomDatePicker, { valueSpecification: valueSpecification, graph: graph, typeCheckOption: typeCheckOption, updateValue: updateValue }), _jsx("button", { className: "value-spec-editor__reset-btn", title: "Reset", onClick: resetValue, children: _jsx(RefreshIcon, {}) })] }));
225
+ const { valueSpecification, setValueSpecification, graph, typeCheckOption, resetValue, } = props;
226
+ return (_jsxs("div", { className: "value-spec-editor", children: [_jsx(CustomDatePicker, { valueSpecification: valueSpecification, graph: graph, typeCheckOption: typeCheckOption, setValueSpecification: setValueSpecification }), _jsx("button", { className: "value-spec-editor__reset-btn", title: "Reset", onClick: resetValue, children: _jsx(RefreshIcon, {}) })] }));
218
227
  });
219
228
  /**
220
- * TODO we should pass in the props `setValueSpecification` and `resetValueSpecification`. Reset
229
+ * TODO we should pass in the props `resetValueSpecification`. Reset
221
230
  * should be part of this editor. Also through here we can call `observe_` accordingly.
222
231
  *
223
232
  * See https://github.com/finos/legend-studio/pull/1021
224
233
  */
225
234
  export const BasicValueSpecificationEditor = (props) => {
226
- const { className, valueSpecification, graph, typeCheckOption, updateValue, resetValue, } = props;
235
+ const { className, valueSpecification, graph, typeCheckOption, setValueSpecification, resetValue, } = props;
227
236
  if (valueSpecification instanceof PrimitiveInstanceValue) {
228
237
  const _type = valueSpecification.genericType.value.rawType;
229
238
  switch (_type.path) {
230
239
  case PRIMITIVE_TYPE.STRING:
231
- return (_jsx(StringPrimitiveInstanceValueEditor, { valueSpecification: valueSpecification, className: className, resetValue: resetValue }));
240
+ return (_jsx(StringPrimitiveInstanceValueEditor, { valueSpecification: valueSpecification, setValueSpecification: setValueSpecification, className: className, resetValue: resetValue }));
232
241
  case PRIMITIVE_TYPE.BOOLEAN:
233
- return (_jsx(BooleanPrimitiveInstanceValueEditor, { valueSpecification: valueSpecification, className: className, resetValue: resetValue }));
242
+ return (_jsx(BooleanPrimitiveInstanceValueEditor, { valueSpecification: valueSpecification, setValueSpecification: setValueSpecification, className: className, resetValue: resetValue }));
234
243
  case PRIMITIVE_TYPE.NUMBER:
235
244
  case PRIMITIVE_TYPE.FLOAT:
236
245
  case PRIMITIVE_TYPE.DECIMAL:
237
246
  case PRIMITIVE_TYPE.INTEGER:
238
- return (_jsx(NumberPrimitiveInstanceValueEditor, { valueSpecification: valueSpecification, isInteger: _type.path === PRIMITIVE_TYPE.INTEGER, className: className, resetValue: resetValue }));
247
+ return (_jsx(NumberPrimitiveInstanceValueEditor, { valueSpecification: valueSpecification, isInteger: _type.path === PRIMITIVE_TYPE.INTEGER, setValueSpecification: setValueSpecification, className: className, resetValue: resetValue }));
239
248
  case PRIMITIVE_TYPE.DATE:
240
249
  case PRIMITIVE_TYPE.STRICTDATE:
241
250
  case PRIMITIVE_TYPE.DATETIME:
242
251
  case PRIMITIVE_TYPE.LATESTDATE:
243
- return (_jsx(DateInstanceValueEditor, { valueSpecification: valueSpecification, graph: graph, typeCheckOption: typeCheckOption, className: className, updateValue: updateValue, resetValue: resetValue }));
252
+ return (_jsx(DateInstanceValueEditor, { valueSpecification: valueSpecification, graph: graph, typeCheckOption: typeCheckOption, className: className, setValueSpecification: setValueSpecification, resetValue: resetValue }));
244
253
  default:
245
254
  return _jsx(UnsupportedValueSpecificationEditor, {});
246
255
  }
247
256
  }
248
257
  else if (valueSpecification instanceof EnumValueInstanceValue) {
249
- return (_jsx(EnumValueInstanceValueEditor, { valueSpecification: valueSpecification, className: className, resetValue: resetValue }));
258
+ return (_jsx(EnumValueInstanceValueEditor, { valueSpecification: valueSpecification, className: className, resetValue: resetValue, setValueSpecification: setValueSpecification }));
250
259
  }
251
260
  else if (valueSpecification instanceof CollectionInstanceValue &&
252
261
  valueSpecification.genericType) {
253
262
  // NOTE: since when we fill in the arguments, `[]` (or `nullish` value in Pure)
254
263
  // is used for parameters we don't handle, we should not attempt to support empty collection
255
264
  // without generic type here as that is equivalent to `[]`
256
- return (_jsx(CollectionValueInstanceValueEditor, { valueSpecification: valueSpecification, graph: graph, expectedType: typeCheckOption.expectedType, className: className, resetValue: resetValue }));
265
+ return (_jsx(CollectionValueInstanceValueEditor, { valueSpecification: valueSpecification, graph: graph, expectedType: typeCheckOption.expectedType, className: className, resetValue: resetValue, setValueSpecification: setValueSpecification }));
257
266
  }
258
267
  // property expression
259
268
  else if (valueSpecification instanceof VariableExpression) {
260
269
  return (_jsx(VariableExpressionParameterEditor, { valueSpecification: valueSpecification, className: className, resetValue: resetValue }));
261
270
  }
262
271
  else if (valueSpecification instanceof INTERNAL__PropagatedValue) {
263
- return (_jsx(BasicValueSpecificationEditor, { valueSpecification: valueSpecification.getValue(), graph: graph, typeCheckOption: typeCheckOption, updateValue: updateValue, resetValue: resetValue }));
272
+ return (_jsx(BasicValueSpecificationEditor, { valueSpecification: valueSpecification.getValue(), graph: graph, typeCheckOption: typeCheckOption, setValueSpecification: setValueSpecification, resetValue: resetValue }));
264
273
  }
265
274
  else if (valueSpecification instanceof SimpleFunctionExpression &&
266
275
  [
@@ -269,7 +278,7 @@ export const BasicValueSpecificationEditor = (props) => {
269
278
  PRIMITIVE_TYPE.DATETIME.toString(),
270
279
  PRIMITIVE_TYPE.LATESTDATE.toString(),
271
280
  ].includes(typeCheckOption.expectedType.path)) {
272
- return (_jsx(DateInstanceValueEditor, { valueSpecification: valueSpecification, graph: graph, typeCheckOption: typeCheckOption, className: className, updateValue: updateValue, resetValue: resetValue }));
281
+ return (_jsx(DateInstanceValueEditor, { valueSpecification: valueSpecification, graph: graph, typeCheckOption: typeCheckOption, className: className, setValueSpecification: setValueSpecification, resetValue: resetValue }));
273
282
  }
274
283
  return _jsx(UnsupportedValueSpecificationEditor, {});
275
284
  };