@finos/legend-application-studio 27.1.0 → 27.1.1

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 (93) hide show
  1. package/lib/__lib__/LegendStudioEvent.d.ts +1 -0
  2. package/lib/__lib__/LegendStudioEvent.d.ts.map +1 -1
  3. package/lib/__lib__/LegendStudioEvent.js +1 -0
  4. package/lib/__lib__/LegendStudioEvent.js.map +1 -1
  5. package/lib/components/editor/editor-group/data-editor/EmbeddedDataEditor.d.ts.map +1 -1
  6. package/lib/components/editor/editor-group/data-editor/EmbeddedDataEditor.js +5 -4
  7. package/lib/components/editor/editor-group/data-editor/EmbeddedDataEditor.js.map +1 -1
  8. package/lib/components/editor/editor-group/data-editor/RelationalCSVDataEditor.d.ts.map +1 -1
  9. package/lib/components/editor/editor-group/data-editor/RelationalCSVDataEditor.js +62 -12
  10. package/lib/components/editor/editor-group/data-editor/RelationalCSVDataEditor.js.map +1 -1
  11. package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.d.ts +1 -1
  12. package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.d.ts.map +1 -1
  13. package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.js +101 -137
  14. package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.js.map +1 -1
  15. package/lib/components/editor/editor-group/testable/TestableSharedComponents.d.ts +11 -0
  16. package/lib/components/editor/editor-group/testable/TestableSharedComponents.d.ts.map +1 -1
  17. package/lib/components/editor/editor-group/testable/TestableSharedComponents.js +27 -2
  18. package/lib/components/editor/editor-group/testable/TestableSharedComponents.js.map +1 -1
  19. package/lib/index.css +2 -2
  20. package/lib/index.css.map +1 -1
  21. package/lib/package.json +1 -1
  22. package/lib/stores/editor/NewElementState.d.ts.map +1 -1
  23. package/lib/stores/editor/NewElementState.js.map +1 -1
  24. package/lib/stores/editor/editor-state/element-editor-state/data/DataEditorState.d.ts +2 -2
  25. package/lib/stores/editor/editor-state/element-editor-state/data/DataEditorState.d.ts.map +1 -1
  26. package/lib/stores/editor/editor-state/element-editor-state/data/DataEditorState.js +2 -2
  27. package/lib/stores/editor/editor-state/element-editor-state/data/DataEditorState.js.map +1 -1
  28. package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.d.ts +14 -19
  29. package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.d.ts.map +1 -1
  30. package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.js +30 -65
  31. package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.js.map +1 -1
  32. package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.d.ts +56 -78
  33. package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.d.ts.map +1 -1
  34. package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.js +285 -384
  35. package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.js.map +1 -1
  36. package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestingHelper.d.ts +23 -0
  37. package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestingHelper.d.ts.map +1 -0
  38. package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestingHelper.js +129 -0
  39. package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestingHelper.js.map +1 -0
  40. package/lib/stores/editor/editor-state/element-editor-state/service/ServiceEditorState.d.ts.map +1 -1
  41. package/lib/stores/editor/editor-state/element-editor-state/service/ServiceEditorState.js +2 -2
  42. package/lib/stores/editor/editor-state/element-editor-state/service/ServiceEditorState.js.map +1 -1
  43. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.d.ts +1 -0
  44. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.d.ts.map +1 -1
  45. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.js +12 -2
  46. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.js.map +1 -1
  47. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.d.ts.map +1 -1
  48. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.js +15 -8
  49. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.js.map +1 -1
  50. package/lib/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.d.ts +7 -4
  51. package/lib/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.d.ts.map +1 -1
  52. package/lib/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.js +53 -10
  53. package/lib/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.js.map +1 -1
  54. package/lib/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.d.ts +2 -1
  55. package/lib/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.d.ts.map +1 -1
  56. package/lib/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.js +20 -16
  57. package/lib/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.js.map +1 -1
  58. package/lib/stores/editor/sidebar-state/testable/GlobalTestRunnerState.d.ts +1 -1
  59. package/lib/stores/editor/sidebar-state/testable/GlobalTestRunnerState.d.ts.map +1 -1
  60. package/lib/stores/editor/sidebar-state/testable/GlobalTestRunnerState.js +3 -0
  61. package/lib/stores/editor/sidebar-state/testable/GlobalTestRunnerState.js.map +1 -1
  62. package/lib/stores/editor/utils/MockDataUtils.d.ts.map +1 -1
  63. package/lib/stores/editor/utils/MockDataUtils.js +3 -0
  64. package/lib/stores/editor/utils/MockDataUtils.js.map +1 -1
  65. package/lib/stores/editor/utils/TestableUtils.d.ts +11 -1
  66. package/lib/stores/editor/utils/TestableUtils.d.ts.map +1 -1
  67. package/lib/stores/editor/utils/TestableUtils.js +50 -1
  68. package/lib/stores/editor/utils/TestableUtils.js.map +1 -1
  69. package/lib/stores/graph-modifier/DSL_Mapping_GraphModifierHelper.d.ts +5 -4
  70. package/lib/stores/graph-modifier/DSL_Mapping_GraphModifierHelper.d.ts.map +1 -1
  71. package/lib/stores/graph-modifier/DSL_Mapping_GraphModifierHelper.js +4 -1
  72. package/lib/stores/graph-modifier/DSL_Mapping_GraphModifierHelper.js.map +1 -1
  73. package/package.json +6 -6
  74. package/src/__lib__/LegendStudioEvent.ts +1 -1
  75. package/src/components/editor/editor-group/data-editor/EmbeddedDataEditor.tsx +34 -37
  76. package/src/components/editor/editor-group/data-editor/RelationalCSVDataEditor.tsx +134 -31
  77. package/src/components/editor/editor-group/mapping-editor/MappingTestableEditor.tsx +296 -414
  78. package/src/components/editor/editor-group/testable/TestableSharedComponents.tsx +88 -3
  79. package/src/stores/editor/NewElementState.ts +0 -1
  80. package/src/stores/editor/editor-state/element-editor-state/data/DataEditorState.ts +7 -1
  81. package/src/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.ts +48 -77
  82. package/src/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.ts +407 -617
  83. package/src/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestingHelper.ts +243 -0
  84. package/src/stores/editor/editor-state/element-editor-state/service/ServiceEditorState.ts +6 -2
  85. package/src/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.ts +18 -1
  86. package/src/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.ts +20 -12
  87. package/src/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.ts +76 -18
  88. package/src/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.ts +29 -24
  89. package/src/stores/editor/sidebar-state/testable/GlobalTestRunnerState.ts +4 -1
  90. package/src/stores/editor/utils/MockDataUtils.ts +2 -0
  91. package/src/stores/editor/utils/TestableUtils.ts +73 -0
  92. package/src/stores/graph-modifier/DSL_Mapping_GraphModifierHelper.ts +15 -12
  93. package/tsconfig.json +1 -0
@@ -18,6 +18,7 @@ import {
18
18
  clsx,
19
19
  CompareIcon,
20
20
  ContextMenu,
21
+ CustomSelectorInput,
21
22
  Dialog,
22
23
  MenuContent,
23
24
  MenuContentItem,
@@ -34,7 +35,7 @@ import {
34
35
  RefreshIcon,
35
36
  WrenchIcon,
36
37
  } from '@finos/legend-art';
37
- import { TestError } from '@finos/legend-graph';
38
+ import { type DataElement, TestError } from '@finos/legend-graph';
38
39
  import {
39
40
  prettyCONSTName,
40
41
  tryToFormatLosslessJSONString,
@@ -61,6 +62,86 @@ import {
61
62
  import { forwardRef, useState } from 'react';
62
63
  import type { TestableTestEditorState } from '../../../../stores/editor/editor-state/element-editor-state/testable/TestableEditorState.js';
63
64
  import { getTestableResultIcon } from '../../side-bar/testable/GlobalTestRunner.js';
65
+ import type { EditorStore } from '../../../../stores/editor/EditorStore.js';
66
+ import {
67
+ buildElementOption,
68
+ getPackageableElementOptionFormatter,
69
+ } from '@finos/legend-lego/graph-editor';
70
+
71
+ export const SharedDataElementModal = observer(
72
+ (props: {
73
+ filterBy?: (val: DataElement) => boolean;
74
+ handler: (val: DataElement) => void;
75
+ editorStore: EditorStore;
76
+ isReadOnly: boolean;
77
+ close: () => void;
78
+ }) => {
79
+ const { filterBy, isReadOnly, close, editorStore, handler } = props;
80
+ const dataElements =
81
+ editorStore.graphManagerState.graph.dataElements.filter((e) =>
82
+ filterBy ? filterBy(e) : true,
83
+ );
84
+ const [dataElement, setDataElement] = useState(dataElements[0]);
85
+ const dataElementOptions =
86
+ editorStore.graphManagerState.usableDataElements.map(buildElementOption);
87
+ const selectedDataElement = dataElement
88
+ ? buildElementOption(dataElement)
89
+ : null;
90
+ const onDataElementChange = (val: {
91
+ label: string;
92
+ value?: DataElement;
93
+ }): void => {
94
+ if (val.value !== selectedDataElement?.value && val.value) {
95
+ setDataElement(val.value);
96
+ }
97
+ };
98
+ const change = (): void => {
99
+ if (dataElement) {
100
+ handler(dataElement);
101
+ }
102
+ close();
103
+ };
104
+ return (
105
+ <Dialog
106
+ open={true}
107
+ onClose={close}
108
+ classes={{ container: 'search-modal__container' }}
109
+ PaperProps={{ classes: { root: 'search-modal__inner-container' } }}
110
+ >
111
+ <Modal darkMode={true} className="service-test-data-modal">
112
+ <ModalBody>
113
+ <div className="panel__content__form__section">
114
+ <div className="panel__content__form__section__header__label">
115
+ Data Element
116
+ </div>
117
+ <div className="explorer__new-element-modal__driver">
118
+ <CustomSelectorInput
119
+ className="panel__content__form__section__dropdown data-element-reference-editor__value__dropdown"
120
+ disabled={false}
121
+ options={dataElementOptions}
122
+ onChange={onDataElementChange}
123
+ formatOptionLabel={getPackageableElementOptionFormatter({})}
124
+ value={selectedDataElement}
125
+ darkMode={true}
126
+ />
127
+ </div>
128
+ </div>
129
+ </ModalBody>
130
+ <ModalFooter>
131
+ <ModalFooterButton
132
+ className="database-builder__action--btn"
133
+ disabled={isReadOnly}
134
+ onClick={change}
135
+ title="Change to use Data Element"
136
+ >
137
+ Change
138
+ </ModalFooterButton>
139
+ </ModalFooter>
140
+ </Modal>
141
+ </Dialog>
142
+ );
143
+ },
144
+ );
64
145
 
65
146
  export const RenameModal = observer(
66
147
  (props: {
@@ -438,6 +519,10 @@ export const TestAssertionEditor = observer(
438
519
  const { testAssertionState } = props;
439
520
  const selectedTab = testAssertionState.selectedTab;
440
521
  const isReadOnly = testAssertionState.testState.isReadOnly;
522
+ const isDisabled =
523
+ isReadOnly ||
524
+ !testAssertionState.assertionState.supportsGeneratingAssertion ||
525
+ testAssertionState.generatingExpectedAction.isInProgress;
441
526
  const changeTab = (val: TEST_ASSERTION_TAB): void =>
442
527
  testAssertionState.setSelectedTab(val);
443
528
  const renderContent = (state: TestAssertionState): React.ReactNode => {
@@ -484,7 +569,7 @@ export const TestAssertionEditor = observer(
484
569
  className="panel__header__action service-execution-editor__test-data__generate-btn"
485
570
  onClick={generate}
486
571
  title="Generate expected result if possible"
487
- disabled={isReadOnly}
572
+ disabled={isDisabled}
488
573
  tabIndex={-1}
489
574
  >
490
575
  <div className="service-execution-editor__test-data__generate-btn__label">
@@ -497,7 +582,7 @@ export const TestAssertionEditor = observer(
497
582
  </div>
498
583
  </div>
499
584
  <div className="testable-test-assertion-editor__content">
500
- {selectedTab === TEST_ASSERTION_TAB.SETUP && (
585
+ {selectedTab === TEST_ASSERTION_TAB.EXPECTED && (
501
586
  <div className="testable-test-assertion-editor__setup">
502
587
  {renderContent(testAssertionState.assertionState)}
503
588
  </div>
@@ -619,7 +619,6 @@ export class NewDataElementDriver extends NewElementDriver<DataElement> {
619
619
  createElement(name: string): DataElement {
620
620
  const embeddedDataOption = guaranteeNonNullable(this.embeddedDataOption);
621
621
  const dataElement = new DataElement(name);
622
-
623
622
  const data = createEmbeddedData(embeddedDataOption.value, this.editorStore);
624
623
  dataElement_setEmbeddedData(
625
624
  dataElement,
@@ -26,6 +26,7 @@ import { ElementEditorState } from '../ElementEditorState.js';
26
26
  import {
27
27
  type EmbeddedDataState,
28
28
  buildEmbeddedDataEditorState,
29
+ type EmbeddedDataStateOption,
29
30
  } from './EmbeddedDataState.js';
30
31
 
31
32
  export enum DATA_TAB_TYPE {
@@ -45,12 +46,17 @@ export class EmbeddedDataEditorState {
45
46
  readonly embeddedData: EmbeddedData;
46
47
  readonly embeddedDataState: EmbeddedDataState;
47
48
 
48
- constructor(editorStore: EditorStore, embeddedData: EmbeddedData) {
49
+ constructor(
50
+ editorStore: EditorStore,
51
+ embeddedData: EmbeddedData,
52
+ options?: EmbeddedDataStateOption,
53
+ ) {
49
54
  this.editorStore = editorStore;
50
55
  this.embeddedData = embeddedData;
51
56
  this.embeddedDataState = buildEmbeddedDataEditorState(
52
57
  embeddedData,
53
58
  editorStore,
59
+ options,
54
60
  );
55
61
  }
56
62
  }
@@ -17,11 +17,12 @@ import {
17
17
  type EmbeddedData,
18
18
  type ModelData,
19
19
  type DataElement,
20
+ RelationalCSVData,
21
+ type Database,
22
+ type RelationalCSVDataTable,
20
23
  DataElementReference,
21
24
  ExternalFormatData,
22
25
  ModelStoreData,
23
- RelationalCSVData,
24
- RelationalCSVDataTable,
25
26
  ModelEmbeddedData,
26
27
  } from '@finos/legend-graph';
27
28
  import {
@@ -40,8 +41,6 @@ import {
40
41
  externalFormatData_setData,
41
42
  relationalData_addTable,
42
43
  relationalData_deleteData,
43
- relationalData_setTableName,
44
- relationalData_setTableSchemaName,
45
44
  relationalData_setTableValues,
46
45
  } from '../../../../graph-modifier/DSL_Data_GraphModifierHelper.js';
47
46
  import { EmbeddedDataType } from '../../ExternalFormatState.js';
@@ -168,15 +167,26 @@ export class UnsupportedModelDataState extends ModelDataState {}
168
167
  export class ModelStoreDataState extends EmbeddedDataState {
169
168
  override embeddedData: ModelStoreData;
170
169
  modelDataStates: ModelDataState[] = [];
170
+ hideClass = false;
171
171
 
172
- constructor(editorStore: EditorStore, embeddedData: ModelStoreData) {
172
+ constructor(
173
+ editorStore: EditorStore,
174
+ embeddedData: ModelStoreData,
175
+ hideClass?: boolean,
176
+ ) {
173
177
  super(editorStore, embeddedData);
178
+ makeObservable(this, {
179
+ hideClass: observable,
180
+ modelDataStates: observable,
181
+ buildStates: action,
182
+ });
174
183
  this.embeddedData = embeddedData;
175
184
  this.modelDataStates = this.buildStates();
185
+ this.hideClass = Boolean(hideClass);
176
186
  }
177
187
 
178
188
  label(): string {
179
- return 'ModelStore Data';
189
+ return 'Model Store Data';
180
190
  }
181
191
 
182
192
  buildStates(): ModelDataState[] {
@@ -209,72 +219,15 @@ export class RelationalCSVDataTableState {
209
219
  }
210
220
  }
211
221
 
212
- export class IdentifierTableState {
213
- table: RelationalCSVDataTable | undefined;
214
- dataState: RelationalCSVDataState;
215
- schemaName = '';
216
- tableName = '';
217
-
218
- constructor(dataState: RelationalCSVDataState) {
219
- this.dataState = dataState;
220
- makeObservable(this, {
221
- dataState: observable,
222
- schemaName: observable,
223
- tableName: observable,
224
- table: observable,
225
- setTableName: action,
226
- setSchemaName: action,
227
- setTable: action,
228
- handleSubmit: action,
229
- });
230
- }
231
-
232
- setTable(table: RelationalCSVDataTable | undefined): void {
233
- this.table = table;
234
- if (table) {
235
- this.tableName = table.table;
236
- this.schemaName = table.schema;
237
- }
238
- }
239
-
240
- setTableName(val: string): void {
241
- this.tableName = val;
242
- }
243
-
244
- setSchemaName(val: string): void {
245
- this.schemaName = val;
246
- }
247
-
248
- get isEditingDisabled(): boolean {
249
- if (!(this.tableName && this.schemaName)) {
250
- return true;
251
- }
252
- return Boolean(
253
- this.dataState.embeddedData.tables.find(
254
- (t) =>
255
- `${t.table}.${t.schema}` === `${this.tableName}.${this.schemaName}`,
256
- ),
257
- );
258
- }
259
-
260
- handleSubmit(): void {
261
- const table = this.table ?? new RelationalCSVDataTable();
262
- relationalData_setTableSchemaName(table, this.schemaName);
263
- relationalData_setTableName(table, this.tableName);
264
- if (!this.table) {
265
- table.values = '';
266
- relationalData_addTable(this.dataState.embeddedData, table);
267
- this.dataState.changeSelectedTable(table);
268
- }
269
- }
270
- }
271
-
272
222
  export class RelationalCSVDataState extends EmbeddedDataState {
273
223
  override embeddedData: RelationalCSVData;
274
- showTableIdentifierModal = false;
275
- tableIdentifierState: IdentifierTableState;
276
224
  selectedTable: RelationalCSVDataTableState | undefined;
277
225
  showImportCSVModal = false;
226
+ database: Database | undefined;
227
+
228
+ //
229
+ showTableIdentifierModal = false;
230
+ tableToEdit: RelationalCSVDataTable | undefined;
278
231
 
279
232
  constructor(editorStore: EditorStore, embeddedData: RelationalCSVData) {
280
233
  super(editorStore, embeddedData);
@@ -282,10 +235,11 @@ export class RelationalCSVDataState extends EmbeddedDataState {
282
235
  selectedTable: observable,
283
236
  showTableIdentifierModal: observable,
284
237
  deleteTable: observable,
285
- tableIdentifierState: observable,
286
238
  showImportCSVModal: observable,
239
+ database: observable,
287
240
  resetSelectedTable: action,
288
241
  changeSelectedTable: action,
242
+ setDatabase: action,
289
243
  closeModal: action,
290
244
  openIdentifierModal: action,
291
245
  setShowImportCsvModal: action,
@@ -293,7 +247,6 @@ export class RelationalCSVDataState extends EmbeddedDataState {
293
247
  importCSV: action,
294
248
  });
295
249
  this.embeddedData = embeddedData;
296
- this.tableIdentifierState = new IdentifierTableState(this);
297
250
  this.resetSelectedTable();
298
251
  }
299
252
 
@@ -301,9 +254,13 @@ export class RelationalCSVDataState extends EmbeddedDataState {
301
254
  this.showImportCSVModal = val;
302
255
  }
303
256
 
257
+ setDatabase(val: Database | undefined): void {
258
+ this.database = val;
259
+ }
260
+
304
261
  openIdentifierModal(renameTable?: RelationalCSVDataTable | undefined): void {
305
262
  this.showTableIdentifierModal = true;
306
- this.tableIdentifierState.setTable(renameTable);
263
+ this.tableToEdit = renameTable;
307
264
  }
308
265
 
309
266
  closeCSVModal(): void {
@@ -311,9 +268,8 @@ export class RelationalCSVDataState extends EmbeddedDataState {
311
268
  }
312
269
 
313
270
  closeModal(): void {
314
- this.tableIdentifierState.setSchemaName('');
315
- this.tableIdentifierState.setTableName('');
316
271
  this.showTableIdentifierModal = false;
272
+ this.tableToEdit = undefined;
317
273
  }
318
274
 
319
275
  importCSV(val: string): void {
@@ -351,14 +307,23 @@ export class RelationalCSVDataState extends EmbeddedDataState {
351
307
  return 'Relational Data';
352
308
  }
353
309
  }
310
+ export interface EmbeddedDataStateOption {
311
+ hideSource?: boolean;
312
+ }
354
313
 
355
314
  export class DataElementReferenceState extends EmbeddedDataState {
356
315
  override embeddedData: DataElementReference;
357
316
  embeddedDataValueState: EmbeddedDataState;
317
+ options?: EmbeddedDataStateOption | undefined;
358
318
 
359
- constructor(editorStore: EditorStore, embeddedData: DataElementReference) {
319
+ constructor(
320
+ editorStore: EditorStore,
321
+ embeddedData: DataElementReference,
322
+ options?: EmbeddedDataStateOption,
323
+ ) {
360
324
  super(editorStore, embeddedData);
361
325
  this.embeddedData = embeddedData;
326
+ this.options = options;
362
327
  this.embeddedDataValueState = this.buildValueState();
363
328
  }
364
329
 
@@ -375,10 +340,11 @@ export class DataElementReferenceState extends EmbeddedDataState {
375
340
  this.embeddedDataValueState = this.buildValueState();
376
341
  }
377
342
 
378
- buildValueState(): EmbeddedDataState {
343
+ buildValueState(options?: EmbeddedDataStateOption): EmbeddedDataState {
379
344
  return buildEmbeddedDataEditorState(
380
345
  this.embeddedData.dataElement.value.data,
381
346
  this.editorStore,
347
+ this.options,
382
348
  );
383
349
  }
384
350
  }
@@ -392,16 +358,21 @@ export class UnsupportedDataState extends EmbeddedDataState {
392
358
  export function buildEmbeddedDataEditorState(
393
359
  _embeddedData: EmbeddedData,
394
360
  editorStore: EditorStore,
361
+ options?: EmbeddedDataStateOption,
395
362
  ): EmbeddedDataState {
396
363
  const embeddedData = _embeddedData;
397
364
  if (embeddedData instanceof ExternalFormatData) {
398
365
  return new ExternalFormatDataState(editorStore, embeddedData);
399
366
  } else if (embeddedData instanceof ModelStoreData) {
400
- return new ModelStoreDataState(editorStore, embeddedData);
367
+ return new ModelStoreDataState(
368
+ editorStore,
369
+ embeddedData,
370
+ options?.hideSource,
371
+ );
401
372
  } else if (embeddedData instanceof RelationalCSVData) {
402
373
  return new RelationalCSVDataState(editorStore, embeddedData);
403
374
  } else if (embeddedData instanceof DataElementReference) {
404
- return new DataElementReferenceState(editorStore, embeddedData);
375
+ return new DataElementReferenceState(editorStore, embeddedData, options);
405
376
  } else {
406
377
  const extraEmbeddedDataEditorStateBuilders = editorStore.pluginManager
407
378
  .getApplicationPlugins()