@finos/legend-application-studio 28.18.80 → 28.18.82

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 (64) hide show
  1. package/lib/components/editor/editor-group/GenerationSpecificationEditor.d.ts.map +1 -1
  2. package/lib/components/editor/editor-group/GenerationSpecificationEditor.js +2 -3
  3. package/lib/components/editor/editor-group/GenerationSpecificationEditor.js.map +1 -1
  4. package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.d.ts.map +1 -1
  5. package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.js +2 -2
  6. package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.js.map +1 -1
  7. package/lib/components/editor/panel-group/SQLPlaygroundPanel.d.ts.map +1 -1
  8. package/lib/components/editor/panel-group/SQLPlaygroundPanel.js +4 -4
  9. package/lib/components/editor/panel-group/SQLPlaygroundPanel.js.map +1 -1
  10. package/lib/index.css +2 -2
  11. package/lib/index.css.map +1 -1
  12. package/lib/package.json +5 -5
  13. package/lib/stores/editor/EditorGraphState.d.ts.map +1 -1
  14. package/lib/stores/editor/EditorGraphState.js +2 -20
  15. package/lib/stores/editor/EditorGraphState.js.map +1 -1
  16. package/lib/stores/editor/EditorTabManagerState.d.ts +17 -1
  17. package/lib/stores/editor/EditorTabManagerState.d.ts.map +1 -1
  18. package/lib/stores/editor/EditorTabManagerState.js +54 -12
  19. package/lib/stores/editor/EditorTabManagerState.js.map +1 -1
  20. package/lib/stores/editor/GraphEditFormModeState.d.ts.map +1 -1
  21. package/lib/stores/editor/GraphEditFormModeState.js +5 -25
  22. package/lib/stores/editor/GraphEditFormModeState.js.map +1 -1
  23. package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.d.ts.map +1 -1
  24. package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.js +4 -4
  25. package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.js.map +1 -1
  26. package/lib/stores/editor/editor-state/element-editor-state/service/ServiceRegistrationState.d.ts.map +1 -1
  27. package/lib/stores/editor/editor-state/element-editor-state/service/ServiceRegistrationState.js +2 -2
  28. package/lib/stores/editor/editor-state/element-editor-state/service/ServiceRegistrationState.js.map +1 -1
  29. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.d.ts.map +1 -1
  30. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.js +3 -3
  31. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.js.map +1 -1
  32. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.d.ts.map +1 -1
  33. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.js +2 -2
  34. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.js.map +1 -1
  35. package/lib/stores/editor/editor-state/end-to-end-workflow-state/QueryConnectionEndToEndWorkflowEditorState.d.ts.map +1 -1
  36. package/lib/stores/editor/editor-state/end-to-end-workflow-state/QueryConnectionEndToEndWorkflowEditorState.js +7 -7
  37. package/lib/stores/editor/editor-state/end-to-end-workflow-state/QueryConnectionEndToEndWorkflowEditorState.js.map +1 -1
  38. package/lib/stores/editor/panel-group/SQLPlaygroundPanelState.js +2 -2
  39. package/lib/stores/editor/panel-group/SQLPlaygroundPanelState.js.map +1 -1
  40. package/lib/stores/editor/sidebar-state/ProjectOverviewState.d.ts.map +1 -1
  41. package/lib/stores/editor/sidebar-state/ProjectOverviewState.js +3 -3
  42. package/lib/stores/editor/sidebar-state/ProjectOverviewState.js.map +1 -1
  43. package/lib/stores/editor/sidebar-state/WorkspaceUpdaterState.d.ts.map +1 -1
  44. package/lib/stores/editor/sidebar-state/WorkspaceUpdaterState.js +3 -3
  45. package/lib/stores/editor/sidebar-state/WorkspaceUpdaterState.js.map +1 -1
  46. package/lib/stores/editor/utils/TestableUtils.d.ts.map +1 -1
  47. package/lib/stores/editor/utils/TestableUtils.js +2 -2
  48. package/lib/stores/editor/utils/TestableUtils.js.map +1 -1
  49. package/package.json +18 -18
  50. package/src/components/editor/editor-group/GenerationSpecificationEditor.tsx +2 -3
  51. package/src/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.tsx +1 -4
  52. package/src/components/editor/panel-group/SQLPlaygroundPanel.tsx +5 -6
  53. package/src/stores/editor/EditorGraphState.ts +2 -27
  54. package/src/stores/editor/EditorTabManagerState.ts +73 -22
  55. package/src/stores/editor/GraphEditFormModeState.ts +5 -32
  56. package/src/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.ts +4 -8
  57. package/src/stores/editor/editor-state/element-editor-state/service/ServiceRegistrationState.ts +1 -2
  58. package/src/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.ts +2 -3
  59. package/src/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.ts +1 -4
  60. package/src/stores/editor/editor-state/end-to-end-workflow-state/QueryConnectionEndToEndWorkflowEditorState.ts +7 -12
  61. package/src/stores/editor/panel-group/SQLPlaygroundPanelState.ts +2 -2
  62. package/src/stores/editor/sidebar-state/ProjectOverviewState.ts +3 -4
  63. package/src/stores/editor/sidebar-state/WorkspaceUpdaterState.ts +3 -4
  64. package/src/stores/editor/utils/TestableUtils.ts +1 -4
@@ -1 +1 @@
1
- {"version":3,"file":"TestableUtils.js","sourceRoot":"","sources":["../../../../src/stores/editor/utils/TestableUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TestableUtils.js","sourceRoot":"","sources":["../../../../src/stores/editor/utils/TestableUtils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-application-studio",
3
- "version": "28.18.80",
3
+ "version": "28.18.82",
4
4
  "description": "Legend Studio application core",
5
5
  "keywords": [
6
6
  "legend",
@@ -45,22 +45,22 @@
45
45
  "test:watch": "jest --watch"
46
46
  },
47
47
  "dependencies": {
48
- "@finos/legend-application": "16.0.19",
49
- "@finos/legend-art": "7.1.76",
50
- "@finos/legend-code-editor": "2.0.34",
51
- "@finos/legend-data-cube": "0.0.41",
52
- "@finos/legend-graph": "32.0.2",
53
- "@finos/legend-lego": "2.0.37",
54
- "@finos/legend-query-builder": "4.15.39",
55
- "@finos/legend-server-depot": "6.0.76",
56
- "@finos/legend-server-sdlc": "5.3.44",
57
- "@finos/legend-server-showcase": "0.2.40",
58
- "@finos/legend-shared": "10.0.67",
59
- "@finos/legend-storage": "3.0.118",
48
+ "@finos/legend-application": "16.0.20",
49
+ "@finos/legend-art": "7.1.77",
50
+ "@finos/legend-code-editor": "2.0.35",
51
+ "@finos/legend-data-cube": "0.0.42",
52
+ "@finos/legend-graph": "32.0.3",
53
+ "@finos/legend-lego": "2.0.38",
54
+ "@finos/legend-query-builder": "4.15.40",
55
+ "@finos/legend-server-depot": "6.0.77",
56
+ "@finos/legend-server-sdlc": "5.3.45",
57
+ "@finos/legend-server-showcase": "0.2.41",
58
+ "@finos/legend-shared": "11.0.0",
59
+ "@finos/legend-storage": "3.0.119",
60
60
  "@testing-library/dom": "10.4.0",
61
61
  "@testing-library/react": "16.1.0",
62
- "@types/react": "19.0.4",
63
- "@types/react-dom": "19.0.2",
62
+ "@types/react": "19.0.7",
63
+ "@types/react-dom": "19.0.3",
64
64
  "fast-xml-parser": "4.5.1",
65
65
  "mobx": "6.13.5",
66
66
  "mobx-react-lite": "4.1.0",
@@ -74,14 +74,14 @@
74
74
  "yaml": "2.7.0"
75
75
  },
76
76
  "devDependencies": {
77
- "@finos/legend-dev-utils": "2.1.35",
77
+ "@finos/legend-dev-utils": "2.1.36",
78
78
  "@jest/globals": "29.7.0",
79
79
  "cross-env": "7.0.3",
80
- "eslint": "9.17.0",
80
+ "eslint": "9.18.0",
81
81
  "jest": "29.7.0",
82
82
  "npm-run-all": "4.1.5",
83
83
  "rimraf": "6.0.1",
84
- "sass": "1.83.1",
84
+ "sass": "1.83.4",
85
85
  "typescript": "5.7.3"
86
86
  },
87
87
  "peerDependencies": {
@@ -53,7 +53,6 @@ import {
53
53
  type ElementDragSource,
54
54
  type FileGenerationSourceDropTarget,
55
55
  } from '../../../stores/editor/utils/DnDUtils.js';
56
- import { getNullableFirstEntry } from '@finos/legend-shared';
57
56
  import type { DSL_Generation_LegendStudioApplicationPlugin_Extension } from '../../../stores/extensions/DSL_Generation_LegendStudioApplicationPlugin_Extension.js';
58
57
  import { flowResult } from 'mobx';
59
58
  import { useEditorStore } from '../EditorStoreProvider.js';
@@ -261,7 +260,7 @@ const ModelGenerationSpecifications = observer(
261
260
  const modelGenerationElementOptions =
262
261
  modelGenerationElementsInGraph.map(buildElementOption);
263
262
  const addModelGeneration = (): void => {
264
- const option = getNullableFirstEntry(modelGenerationElementOptions);
263
+ const option = modelGenerationElementOptions[0];
265
264
  if (option) {
266
265
  specState.addGenerationTreeNode(
267
266
  new GenerationTreeNode(
@@ -427,7 +426,7 @@ const FileGenerationSpecifications = observer(
427
426
  .filter((f) => !fileGenerations.includes(f))
428
427
  .map(buildElementOption);
429
428
  const addFileGeneration = (): void => {
430
- const option = getNullableFirstEntry(fileGenerationsOptions);
429
+ const option = fileGenerationsOptions[0];
431
430
  if (option) {
432
431
  generationSpecification_addFileGeneration(generationSpec, option.value);
433
432
  }
@@ -72,7 +72,6 @@ import {
72
72
  import { buildElementOption } from '@finos/legend-lego/graph-editor';
73
73
  import {
74
74
  filterByType,
75
- getNullableFirstEntry,
76
75
  guaranteeNonNullable,
77
76
  prettyCONSTName,
78
77
  } from '@finos/legend-shared';
@@ -488,9 +487,7 @@ export const ConnectionTestDataEditor = observer(
488
487
  const generateTestDataWithSeedData = (): void => {
489
488
  connectionTestDataState.setUseSeedDataInputModal(true);
490
489
  connectionTestDataState.setNewTableIdentifierState([]);
491
- const table = getNullableFirstEntry(
492
- connectionTestDataState.getAvailableTables(),
493
- );
490
+ const table = connectionTestDataState.getAvailableTables()[0];
494
491
  if (table) {
495
492
  connectionTestDataState.addNewTableIdentifierState(table);
496
493
  }
@@ -75,9 +75,8 @@ import {
75
75
  type DataGridMenuItemDef,
76
76
  } from '@finos/legend-lego/data-grid';
77
77
  import {
78
- getNonNullableEntry,
79
- getNullableEntry,
80
- getNullableLastEntry,
78
+ at,
79
+ last,
81
80
  isNonNullable,
82
81
  isNumber,
83
82
  isString,
@@ -304,7 +303,7 @@ const PlaygroundSQLCodeEditor = observer(() => {
304
303
  const lines = currentValue.split('\n');
305
304
  const position = playgroundState.sqlEditor.getPosition() ?? {
306
305
  lineNumber: lines.length,
307
- column: getNullableLastEntry(lines)?.length ?? 0,
306
+ column: last(lines)?.length ?? 0,
308
307
  };
309
308
  playgroundState.sqlEditor.executeEdits('', [
310
309
  {
@@ -361,7 +360,7 @@ const parseExecutionResultData = (
361
360
  ): { rowData: Record<string, string>[]; columns: string[] } | undefined => {
362
361
  const lines = data.split('\n').filter((line) => line.trim().length);
363
362
  if (lines.length) {
364
- const columns = parseCSVString(getNonNullableEntry(lines, 0)) ?? [];
363
+ const columns = parseCSVString(at(lines, 0)) ?? [];
365
364
  const rowData = lines
366
365
  .slice(1)
367
366
  .map((item) => {
@@ -371,7 +370,7 @@ const parseExecutionResultData = (
371
370
  }
372
371
  const row: Record<string, string> = {};
373
372
  columns.forEach((column, idx) => {
374
- row[column] = getNullableEntry(rowItems, idx) ?? '';
373
+ row[column] = rowItems[idx] ?? '';
375
374
  });
376
375
  return row;
377
376
  })
@@ -95,9 +95,7 @@ import { CONFIGURATION_EDITOR_TAB } from './editor-state/project-configuration-e
95
95
  import { PACKAGEABLE_ELEMENT_TYPE } from './utils/ModelClassifierUtils.js';
96
96
  import { LEGEND_STUDIO_APP_EVENT } from '../../__lib__/LegendStudioEvent.js';
97
97
  import { LEGEND_STUDIO_SETTING_KEY } from '../../__lib__/LegendStudioSetting.js';
98
- import type { TabState } from '@finos/legend-lego/application';
99
98
  import { LegendStudioTelemetryHelper } from '../../__lib__/LegendStudioTelemetryHelper.js';
100
- import { ArtifactGenerationViewerState } from './editor-state/ArtifactGenerationViewerState.js';
101
99
 
102
100
  export enum GraphBuilderStatus {
103
101
  SUCCEEDED = 'SUCCEEDED',
@@ -643,26 +641,7 @@ export class EditorGraphState {
643
641
  );
644
642
  this.isUpdatingApplication = true;
645
643
  try {
646
- /**
647
- * Backup and editor states info before resetting
648
- */
649
- const openedTabEditorPaths: string[] = [];
650
- this.editorStore.tabManagerState.tabs.forEach((state: TabState) => {
651
- if (state instanceof ElementEditorState) {
652
- openedTabEditorPaths.push(state.elementPath);
653
- }
654
- });
655
- const currentTab = this.editorStore.tabManagerState.currentTab;
656
- const currentTabState =
657
- currentTab instanceof ElementEditorState ||
658
- currentTab instanceof ArtifactGenerationViewerState
659
- ? undefined
660
- : currentTab;
661
- const currentTabElementPath =
662
- currentTab instanceof ElementEditorState
663
- ? currentTab.elementPath
664
- : undefined;
665
- this.editorStore.tabManagerState.closeAllTabs();
644
+ this.editorStore.tabManagerState.cacheAndClose({ cacheGeneration: true });
666
645
 
667
646
  yield flowResult(
668
647
  this.editorStore.graphManagerState.graph.generationModel.dispose(),
@@ -676,11 +655,7 @@ export class EditorGraphState {
676
655
  this.editorStore.graphManagerState.generationsBuildState,
677
656
  );
678
657
  this.editorStore.explorerTreeState.reprocess();
679
- this.editorStore.tabManagerState.recoverTabs(
680
- openedTabEditorPaths,
681
- currentTabState,
682
- currentTabElementPath,
683
- );
658
+ this.editorStore.tabManagerState.recoverTabs();
684
659
  } catch (error) {
685
660
  assertErrorThrown(error);
686
661
  this.editorStore.applicationStore.logService.error(
@@ -42,7 +42,7 @@ import {
42
42
  isNonNullable,
43
43
  UnsupportedOperationError,
44
44
  } from '@finos/legend-shared';
45
- import { makeObservable, action } from 'mobx';
45
+ import { makeObservable, action, observable } from 'mobx';
46
46
  import type { EditorState } from './editor-state/EditorState.js';
47
47
  import { ClassEditorState } from './editor-state/element-editor-state/ClassEditorState.js';
48
48
  import { PackageableConnectionEditorState } from './editor-state/element-editor-state/connection/ConnectionEditorState.js';
@@ -59,23 +59,34 @@ import { GenerationSpecificationEditorState } from './editor-state/GenerationSpe
59
59
  import { UnsupportedElementEditorState } from './editor-state/UnsupportedElementEditorState.js';
60
60
  import type { EditorStore } from './EditorStore.js';
61
61
  import type { DSL_LegendStudioApplicationPlugin_Extension } from '../LegendStudioApplicationPlugin.js';
62
- import { TabManagerState } from '@finos/legend-lego/application';
62
+ import { TabManagerState, type TabState } from '@finos/legend-lego/application';
63
63
  import { INTERNAL__UnknownFunctionActivatorEdtiorState } from './editor-state/element-editor-state/function-activator/INTERNAL__UnknownFunctionActivatorEditorState.js';
64
64
  import { SnowflakeAppFunctionActivatorEdtiorState } from './editor-state/element-editor-state/function-activator/SnowflakeAppFunctionActivatorEditorState.js';
65
65
  import { HostedServiceFunctionActivatorEditorState } from './editor-state/element-editor-state/function-activator/HostedServiceFunctionActivatorEditorState.js';
66
+ import { ArtifactGenerationViewerState } from './editor-state/ArtifactGenerationViewerState.js';
66
67
 
67
68
  export class EditorTabManagerState extends TabManagerState {
68
69
  readonly editorStore: EditorStore;
69
70
 
70
71
  declare currentTab?: EditorState | undefined;
71
72
  declare tabs: EditorState[];
73
+ cachedTabs:
74
+ | {
75
+ openedTabEditorPaths: string[];
76
+ currentTabState: EditorState | undefined;
77
+ currentTabElementPath: string | undefined;
78
+ }
79
+ | undefined;
72
80
 
73
81
  constructor(editorStore: EditorStore) {
74
82
  super();
75
83
 
76
84
  makeObservable(this, {
77
85
  refreshCurrentEntityDiffViewer: action,
86
+ cachedTabs: observable,
78
87
  recoverTabs: action,
88
+ clearTabCache: action,
89
+ cacheAndClose: action,
79
90
  });
80
91
 
81
92
  this.editorStore = editorStore;
@@ -85,6 +96,44 @@ export class EditorTabManagerState extends TabManagerState {
85
96
  return 'editor.tab-manager.tab';
86
97
  }
87
98
 
99
+ /**
100
+ * Here we store the element paths of the
101
+ * elements editors as element paths don't refer to the actual graph. We can find the element
102
+ * from the new graph that is built by using element path and can reprocess the element editor states.
103
+ * The other kind of editors we reprocess are file generation editors, we store them as is as they don't
104
+ * hold any reference to the actual graph.
105
+ */
106
+ cacheAndClose(options?: { cacheGeneration?: boolean }): void {
107
+ const openedTabPaths: string[] = [];
108
+ this.tabs.forEach((state: TabState) => {
109
+ if (state instanceof ElementEditorState) {
110
+ openedTabPaths.push(state.elementPath);
111
+ }
112
+ });
113
+ // Only stores editor state for file generation editors as they don't hold any references to the
114
+ // actual graph.
115
+ const currentTabState =
116
+ this.currentTab instanceof ElementEditorState ||
117
+ (options?.cacheGeneration &&
118
+ this.currentTab instanceof ArtifactGenerationViewerState)
119
+ ? undefined
120
+ : this.currentTab;
121
+ const currentTabElementPath =
122
+ this.currentTab instanceof ElementEditorState
123
+ ? this.currentTab.elementPath
124
+ : undefined;
125
+ this.cachedTabs = {
126
+ openedTabEditorPaths: openedTabPaths,
127
+ currentTabState,
128
+ currentTabElementPath,
129
+ };
130
+ this.closeAllTabs();
131
+ }
132
+
133
+ clearTabCache(): void {
134
+ this.cachedTabs = undefined;
135
+ }
136
+
88
137
  getCurrentEditorState<T extends EditorState>(clazz: Clazz<T>): T {
89
138
  return guaranteeType(
90
139
  this.currentTab,
@@ -182,26 +231,28 @@ export class EditorTabManagerState extends TabManagerState {
182
231
  *
183
232
  * See https://github.com/finos/legend-studio/issues/1713
184
233
  */
185
- recoverTabs = (
186
- openedTabEditorPaths: string[],
187
- currentTabState: EditorState | undefined,
188
- currentTabElementPath: string | undefined,
189
- ): void => {
190
- this.tabs = openedTabEditorPaths
191
- .map((editorPath) => {
192
- const correspondingElement =
193
- this.editorStore.graphManagerState.graph.getNullableElement(
194
- editorPath,
195
- );
196
- if (correspondingElement) {
197
- return this.createElementEditorState(correspondingElement);
198
- }
199
- return undefined;
200
- })
201
- .filter(isNonNullable);
202
- this.setCurrentTab(
203
- this.findCurrentTab(currentTabState, currentTabElementPath),
204
- );
234
+ recoverTabs = (): void => {
235
+ if (this.cachedTabs) {
236
+ this.tabs = this.cachedTabs.openedTabEditorPaths
237
+ .map((editorPath) => {
238
+ const correspondingElement =
239
+ this.editorStore.graphManagerState.graph.getNullableElement(
240
+ editorPath,
241
+ );
242
+ if (correspondingElement) {
243
+ return this.createElementEditorState(correspondingElement);
244
+ }
245
+ return undefined;
246
+ })
247
+ .filter(isNonNullable);
248
+ this.setCurrentTab(
249
+ this.findCurrentTab(
250
+ this.cachedTabs.currentTabState,
251
+ this.cachedTabs.currentTabElementPath,
252
+ ),
253
+ );
254
+ this.clearTabCache();
255
+ }
205
256
  };
206
257
 
207
258
  findCurrentTab = (
@@ -55,7 +55,6 @@ import { ElementEditorState } from './editor-state/element-editor-state/ElementE
55
55
  import { LegendStudioTelemetryHelper } from '../../__lib__/LegendStudioTelemetryHelper.js';
56
56
  import { GraphEditorMode } from './GraphEditorMode.js';
57
57
  import { GlobalBulkServiceRegistrationState } from './sidebar-state/BulkServiceRegistrationState.js';
58
- import type { TabState } from '@finos/legend-lego/application';
59
58
 
60
59
  export class GraphEditFormModeState extends GraphEditorMode {
61
60
  *initialize(): GeneratorFn<void> {
@@ -273,31 +272,6 @@ export class GraphEditFormModeState extends GraphEditorMode {
273
272
  this.editorStore.graphState.rebuildDependencies(newGraph),
274
273
  );
275
274
 
276
- /**
277
- * Backup and editor states info before resetting. Here we store the element paths of the
278
- * elements editors as element paths don't refer to the actual graph. We can find the element
279
- * from the new graph that is built by using element path and can reprocess the element editor states.
280
- * The other kind of editors we reprocess are file generation editors, we store them as is as they don't
281
- * hold any reference to the actual graph.
282
- */
283
- const openedTabPaths: string[] = [];
284
- this.editorStore.tabManagerState.tabs.forEach((state: TabState) => {
285
- if (state instanceof ElementEditorState) {
286
- openedTabPaths.push(state.elementPath);
287
- }
288
- });
289
- // Only stores editor state for file generation editors as they don't hold any references to the
290
- // actual graph.
291
- const currentTabState =
292
- this.editorStore.tabManagerState.currentTab instanceof
293
- ElementEditorState
294
- ? undefined
295
- : this.editorStore.tabManagerState.currentTab;
296
- const currentTabElementPath =
297
- this.editorStore.tabManagerState.currentTab instanceof
298
- ElementEditorState
299
- ? this.editorStore.tabManagerState.currentTab.elementPath
300
- : undefined;
301
275
  /**
302
276
  * We remove the current editor state so that we no longer let React displays the element that belongs to the old graph
303
277
  * NOTE: this causes an UI flash, but this is in many way, acceptable since the user probably should know that we are
@@ -307,7 +281,9 @@ export class GraphEditFormModeState extends GraphEditorMode {
307
281
  * e.g. if the current editor is a class, we stub the class, create a new class editor state around it and copy over
308
282
  * navigation information, etc.
309
283
  */
310
- this.editorStore.tabManagerState.closeAllTabs();
284
+ if (this.editorStore.tabManagerState.tabs.length) {
285
+ this.editorStore.tabManagerState.cacheAndClose();
286
+ }
311
287
 
312
288
  this.editorStore.changeDetectionState.stop(); // stop change detection before disposing hash
313
289
 
@@ -360,11 +336,7 @@ export class GraphEditFormModeState extends GraphEditorMode {
360
336
  * Re-build the editor states which were opened before from the information we have stored before
361
337
  * creating the new graph
362
338
  */
363
- this.editorStore.tabManagerState.recoverTabs(
364
- openedTabPaths,
365
- currentTabState,
366
- currentTabElementPath,
367
- );
339
+ this.editorStore.tabManagerState.recoverTabs();
368
340
 
369
341
  this.editorStore.applicationStore.logService.info(
370
342
  LogEvent.create(GRAPH_MANAGER_EVENT.UPDATE_AND_REBUILD_GRAPH__SUCCESS),
@@ -578,6 +550,7 @@ export class GraphEditFormModeState extends GraphEditorMode {
578
550
 
579
551
  *onLeave(): GeneratorFn<void> {
580
552
  this.editorStore.sqlPlaygroundState.setConnection(undefined);
553
+ this.editorStore.tabManagerState.cacheAndClose();
581
554
  }
582
555
 
583
556
  *cleanupBeforeEntering(fallbackOptions?: {
@@ -26,7 +26,7 @@ import {
26
26
  isNonNullable,
27
27
  filterByType,
28
28
  ActionState,
29
- getNonNullableEntry,
29
+ at,
30
30
  guaranteeType,
31
31
  assertNonEmptyString,
32
32
  assertTrue,
@@ -638,7 +638,7 @@ export class DatabaseSchemaExplorerState {
638
638
  entities,
639
639
  ActionState.create(),
640
640
  );
641
- return getNonNullableEntry(
641
+ return at(
642
642
  graph.ownDatabases,
643
643
  0,
644
644
  'Expected one database to be generated from input',
@@ -801,11 +801,7 @@ export class DatabaseSchemaExplorerState {
801
801
  (yield this.editorStore.graphManagerState.graphManager.buildDatabase(
802
802
  databaseBuilderInput,
803
803
  )) as Entity[];
804
- return getNonNullableEntry(
805
- entities,
806
- 0,
807
- 'Expected a database to be generated',
808
- );
804
+ return at(entities, 0, 'Expected a database to be generated');
809
805
  } finally {
810
806
  this.isGeneratingDatabase = false;
811
807
  }
@@ -820,7 +816,7 @@ export class DatabaseSchemaExplorerState {
820
816
  [(yield flowResult(this.generateDatabase())) as Entity],
821
817
  ActionState.create(),
822
818
  )) as Entity[];
823
- const database = getNonNullableEntry(
819
+ const database = at(
824
820
  graph.ownDatabases,
825
821
  0,
826
822
  'Expected one database to be generated from input',
@@ -26,7 +26,6 @@ import {
26
26
  assertNonEmptyString,
27
27
  guaranteeNonNullable,
28
28
  UnsupportedOperationError,
29
- getNullableFirstEntry,
30
29
  assertTrue,
31
30
  URL_SEPARATOR,
32
31
  filterByType,
@@ -227,7 +226,7 @@ export class ServiceConfigState {
227
226
  }
228
227
 
229
228
  initialize(): void {
230
- this.serviceEnv = getNullableFirstEntry(this.registrationOptions)?.env;
229
+ this.serviceEnv = this.registrationOptions[0]?.env;
231
230
  this.serviceExecutionMode = this.executionModes[0];
232
231
  this.updateVersion();
233
232
  }
@@ -62,7 +62,6 @@ import {
62
62
  filterByType,
63
63
  guaranteeNonNullable,
64
64
  returnUndefOnError,
65
- getNullableFirstEntry,
66
65
  assertType,
67
66
  assertTrue,
68
67
  uuid,
@@ -907,7 +906,7 @@ export class ServiceTestDataState {
907
906
  this.testData = testData;
908
907
  this.testSuiteState = testSuiteState;
909
908
  this.editorStore = testSuiteState.editorStore;
910
- const connectionData = getNullableFirstEntry(testData.connectionsTestData);
909
+ const connectionData = testData.connectionsTestData[0];
911
910
  if (connectionData) {
912
911
  this.selectedDataState = new ConnectionTestDataState(
913
912
  this,
@@ -941,7 +940,7 @@ export class ServiceTestDataState {
941
940
  deleteConnectionTestData(val: ConnectionTestData): void {
942
941
  deleteEntry(this.testData.connectionsTestData, val);
943
942
  if (this.selectedDataState?.connectionData === val) {
944
- const data = getNullableFirstEntry(this.testData.connectionsTestData);
943
+ const data = this.testData.connectionsTestData[0];
945
944
  this.selectedDataState = data
946
945
  ? new ConnectionTestDataState(this, data)
947
946
  : undefined;
@@ -39,7 +39,6 @@ import {
39
39
  deleteEntry,
40
40
  isNonNullable,
41
41
  generateEnumerableNameFromToken,
42
- getNullableFirstEntry,
43
42
  guaranteeNonNullable,
44
43
  returnUndefOnError,
45
44
  } from '@finos/legend-shared';
@@ -343,9 +342,7 @@ export class ServiceTestableState {
343
342
  }
344
343
 
345
344
  initSuites(): void {
346
- const serviceSuite = getNullableFirstEntry(
347
- this.serviceEditorState.service.tests,
348
- );
345
+ const serviceSuite = this.serviceEditorState.service.tests[0];
349
346
  if (serviceSuite instanceof ServiceTestSuite) {
350
347
  this.selectedSuiteState = new ServiceTestSuiteState(serviceSuite, this);
351
348
  } else {
@@ -21,7 +21,7 @@ import {
21
21
  LogEvent,
22
22
  assertErrorThrown,
23
23
  ActionState,
24
- getNonNullableEntry,
24
+ at,
25
25
  } from '@finos/legend-shared';
26
26
  import {
27
27
  END_TO_END_WORKFLOWS,
@@ -182,7 +182,7 @@ export class QueryConnectionConfirmationAndGrammarEditorStepperState extends Con
182
182
  .queryToConnectionWorkflowEditorState,
183
183
  );
184
184
  const theClass = getMappingCompatibleClasses(
185
- getNonNullableEntry(this.workflowEditorState.workflowGraph.mappings, 0),
185
+ at(this.workflowEditorState.workflowGraph.mappings, 0),
186
186
  this.workflowEditorState.workflowGraph.classes,
187
187
  )[0];
188
188
  if (theClass) {
@@ -194,16 +194,13 @@ export class QueryConnectionConfirmationAndGrammarEditorStepperState extends Con
194
194
  config,
195
195
  );
196
196
  queryBuilderState.class = theClass;
197
- queryBuilderState.executionContextState.mapping = getNonNullableEntry(
197
+ queryBuilderState.executionContextState.mapping = at(
198
198
  this.workflowEditorState.workflowGraph.mappings,
199
199
  0,
200
200
  );
201
201
  queryBuilderState.executionContextState.runtimeValue = new RuntimePointer(
202
202
  PackageableElementExplicitReference.create(
203
- getNonNullableEntry(
204
- this.workflowEditorState.workflowGraph.runtimes,
205
- 0,
206
- ),
203
+ at(this.workflowEditorState.workflowGraph.runtimes, 0),
207
204
  ),
208
205
  );
209
206
  yield flowResult(
@@ -280,7 +277,7 @@ export class DatabaseModelBuilderStepperState extends ConnectionToQueryStepperSt
280
277
  this.workflowEditorState.packageableRuntime.runtimeValue,
281
278
  [
282
279
  PackageableElementExplicitReference.create(
283
- getNonNullableEntry(newGraph.mappings, 0),
280
+ at(newGraph.mappings, 0),
284
281
  ),
285
282
  ],
286
283
  );
@@ -293,9 +290,7 @@ export class DatabaseModelBuilderStepperState extends ConnectionToQueryStepperSt
293
290
  runtime.runtimeValue = new EngineRuntime();
294
291
  runtime_addMapping(
295
292
  runtime.runtimeValue,
296
- PackageableElementExplicitReference.create(
297
- getNonNullableEntry(newGraph.mappings, 0),
298
- ),
293
+ PackageableElementExplicitReference.create(at(newGraph.mappings, 0)),
299
294
  );
300
295
  runtime_addIdentifiedConnection(
301
296
  runtime.runtimeValue,
@@ -427,7 +422,7 @@ export class DatabaseGrammarEditorStepperState extends ConnectionToQueryStepperS
427
422
  }
428
423
  // databaseBuilderWizardState.schemaExplorerState.database needs to be updated
429
424
  databaseBuilderStepperState.databaseBuilderWizardState.schemaExplorerState.database =
430
- getNonNullableEntry(newGraph.databases, 0);
425
+ at(newGraph.databases, 0);
431
426
  this.workflowEditorState.workflowGraph = newGraph;
432
427
  // start building packageableConnection based on database and adding it to current graph
433
428
  const packageableConnection = new PackageableConnection(
@@ -18,7 +18,7 @@ import {
18
18
  type GeneratorFn,
19
19
  assertErrorThrown,
20
20
  LogEvent,
21
- getNullableLastEntry,
21
+ last,
22
22
  ActionState,
23
23
  } from '@finos/legend-shared';
24
24
  import { observable, makeObservable, flow, flowResult, action } from 'mobx';
@@ -118,7 +118,7 @@ export class SQLPlaygroundPanelState implements CommandRegistrar {
118
118
  const lines = this.sqlText.split('\n');
119
119
  moveCursorToPosition(val, {
120
120
  lineNumber: lines.length,
121
- column: getNullableLastEntry(lines)?.length ?? 0,
121
+ column: last(lines)?.length ?? 0,
122
122
  });
123
123
  }
124
124
  }