@finos/legend-extension-dsl-data-space 10.4.252 → 10.4.253

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 (94) hide show
  1. package/lib/__lib__/DSL_DataSpace_LegendApplicationCommand.js +8 -8
  2. package/lib/__lib__/DSL_DataSpace_LegendApplicationCommand.js.map +1 -1
  3. package/lib/components/DSL_DataSpace_LegendApplicationPlugin.js +2 -2
  4. package/lib/components/DSL_DataSpace_LegendApplicationPlugin.js.map +1 -1
  5. package/lib/components/DataSpaceDataAccess.d.ts.map +1 -1
  6. package/lib/components/DataSpaceDataAccess.js +6 -2
  7. package/lib/components/DataSpaceDataAccess.js.map +1 -1
  8. package/lib/components/DataSpaceDescription.d.ts.map +1 -1
  9. package/lib/components/DataSpaceDescription.js +6 -2
  10. package/lib/components/DataSpaceDescription.js.map +1 -1
  11. package/lib/components/DataSpaceInfoPanel.js +1 -1
  12. package/lib/components/DataSpaceInfoPanel.js.map +1 -1
  13. package/lib/components/DataSpaceQuickStart.d.ts.map +1 -1
  14. package/lib/components/DataSpaceQuickStart.js +16 -7
  15. package/lib/components/DataSpaceQuickStart.js.map +1 -1
  16. package/lib/components/DataSpaceViewer.js +2 -2
  17. package/lib/components/DataSpaceViewer.js.map +1 -1
  18. package/lib/components/DataSpaceWiki.d.ts.map +1 -1
  19. package/lib/components/DataSpaceWiki.js +2 -2
  20. package/lib/components/DataSpaceWiki.js.map +1 -1
  21. package/lib/components/query-builder/DataSpaceAdvancedSearchModal.js +2 -2
  22. package/lib/components/query-builder/DataSpaceAdvancedSearchModal.js.map +1 -1
  23. package/lib/components/query-builder/DataSpaceQueryBuilder.js +3 -3
  24. package/lib/components/query-builder/DataSpaceQueryBuilder.js.map +1 -1
  25. package/lib/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.d.ts +2 -1
  26. package/lib/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.d.ts.map +1 -1
  27. package/lib/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.js +2 -0
  28. package/lib/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.js.map +1 -1
  29. package/lib/graph-manager/action/changeDetection/DSL_DataSpace_ObserverHelper.d.ts +2 -0
  30. package/lib/graph-manager/action/changeDetection/DSL_DataSpace_ObserverHelper.d.ts.map +1 -1
  31. package/lib/graph-manager/action/changeDetection/DSL_DataSpace_ObserverHelper.js +12 -0
  32. package/lib/graph-manager/action/changeDetection/DSL_DataSpace_ObserverHelper.js.map +1 -1
  33. package/lib/graph-manager/index.d.ts +1 -1
  34. package/lib/graph-manager/index.d.ts.map +1 -1
  35. package/lib/graph-manager/index.js +1 -1
  36. package/lib/graph-manager/index.js.map +1 -1
  37. package/lib/graph-manager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.d.ts.map +1 -1
  38. package/lib/graph-manager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.js +27 -11
  39. package/lib/graph-manager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.js.map +1 -1
  40. package/lib/graph-manager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.js +8 -8
  41. package/lib/graph-manager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.js.map +1 -1
  42. package/lib/graph-manager/protocol/pure/v1/engine/analytics/V1_DataSpaceAnalysis.js +2 -2
  43. package/lib/graph-manager/protocol/pure/v1/engine/analytics/V1_DataSpaceAnalysis.js.map +1 -1
  44. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.d.ts +2 -1
  45. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.d.ts.map +1 -1
  46. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.js +2 -0
  47. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.js.map +1 -1
  48. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataSpace_ProtocolHelper.d.ts.map +1 -1
  49. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataSpace_ProtocolHelper.js +7 -2
  50. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataSpace_ProtocolHelper.js.map +1 -1
  51. package/lib/index.css +2 -2
  52. package/lib/index.css.map +1 -1
  53. package/lib/package.json +1 -1
  54. package/lib/stores/DataSpaceLayoutState.d.ts +9 -0
  55. package/lib/stores/DataSpaceLayoutState.d.ts.map +1 -1
  56. package/lib/stores/DataSpaceLayoutState.js +36 -0
  57. package/lib/stores/DataSpaceLayoutState.js.map +1 -1
  58. package/lib/stores/DataSpaceModelsDocumentationState.d.ts.map +1 -1
  59. package/lib/stores/DataSpaceModelsDocumentationState.js +3 -1
  60. package/lib/stores/DataSpaceModelsDocumentationState.js.map +1 -1
  61. package/lib/stores/DataSpaceViewerDiagramViewerState.d.ts.map +1 -1
  62. package/lib/stores/DataSpaceViewerDiagramViewerState.js +4 -1
  63. package/lib/stores/DataSpaceViewerDiagramViewerState.js.map +1 -1
  64. package/lib/stores/DataSpaceViewerExecutableState.d.ts.map +1 -1
  65. package/lib/stores/DataSpaceViewerExecutableState.js +2 -1
  66. package/lib/stores/DataSpaceViewerExecutableState.js.map +1 -1
  67. package/lib/stores/query-builder/DataSpaceQueryBuilderState.d.ts +2 -1
  68. package/lib/stores/query-builder/DataSpaceQueryBuilderState.d.ts.map +1 -1
  69. package/lib/stores/query-builder/DataSpaceQueryBuilderState.js +12 -1
  70. package/lib/stores/query-builder/DataSpaceQueryBuilderState.js.map +1 -1
  71. package/package.json +8 -8
  72. package/src/__lib__/DSL_DataSpace_LegendApplicationCommand.ts +8 -8
  73. package/src/components/DSL_DataSpace_LegendApplicationPlugin.tsx +2 -2
  74. package/src/components/DataSpaceDataAccess.tsx +42 -11
  75. package/src/components/DataSpaceDescription.tsx +40 -14
  76. package/src/components/DataSpaceInfoPanel.tsx +4 -4
  77. package/src/components/DataSpaceQuickStart.tsx +73 -15
  78. package/src/components/DataSpaceViewer.tsx +2 -2
  79. package/src/components/DataSpaceWiki.tsx +0 -2
  80. package/src/components/query-builder/DataSpaceAdvancedSearchModal.tsx +4 -4
  81. package/src/components/query-builder/DataSpaceQueryBuilder.tsx +5 -5
  82. package/src/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.ts +3 -0
  83. package/src/graph-manager/action/changeDetection/DSL_DataSpace_ObserverHelper.ts +17 -0
  84. package/src/graph-manager/index.ts +1 -0
  85. package/src/graph-manager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.ts +34 -10
  86. package/src/graph-manager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.ts +8 -8
  87. package/src/graph-manager/protocol/pure/v1/engine/analytics/V1_DataSpaceAnalysis.ts +2 -2
  88. package/src/graph-manager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.ts +3 -0
  89. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataSpace_ProtocolHelper.ts +20 -0
  90. package/src/stores/DataSpaceLayoutState.ts +41 -0
  91. package/src/stores/DataSpaceModelsDocumentationState.ts +7 -1
  92. package/src/stores/DataSpaceViewerDiagramViewerState.ts +5 -1
  93. package/src/stores/DataSpaceViewerExecutableState.ts +2 -0
  94. package/src/stores/query-builder/DataSpaceQueryBuilderState.ts +20 -0
@@ -22,6 +22,7 @@ import {
22
22
  type V1_PackageableElementVisitor,
23
23
  type V1_StereotypePtr,
24
24
  type V1_TaggedValue,
25
+ type V1_DataProductOperationalMetadata,
25
26
  V1_PackageableElement,
26
27
  type V1_DataElementReference,
27
28
  } from '@finos/legend-graph';
@@ -196,6 +197,7 @@ export class V1_DataSpace extends V1_PackageableElement implements Hashable {
196
197
  executables?: V1_DataSpaceExecutable[] | undefined;
197
198
  diagrams?: V1_DataSpaceDiagram[] | undefined;
198
199
  supportInfo?: V1_DataSpaceSupportInfo | undefined;
200
+ operationalMetadata?: V1_DataProductOperationalMetadata | undefined;
199
201
 
200
202
  override get hashCode(): string {
201
203
  return hashArray([
@@ -210,6 +212,7 @@ export class V1_DataSpace extends V1_PackageableElement implements Hashable {
210
212
  hashArray(this.executables ?? []),
211
213
  hashArray(this.diagrams ?? []),
212
214
  this.supportInfo ?? '',
215
+ this.operationalMetadata ?? '',
213
216
  ]);
214
217
  }
215
218
 
@@ -32,12 +32,15 @@ import {
32
32
  V1_PackageableElementPointer,
33
33
  V1_rawLambdaModelSchema,
34
34
  V1_dataElementReferenceModelSchema,
35
+ V1_DataProductOperationalMetadata,
35
36
  } from '@finos/legend-graph';
36
37
  import {
37
38
  type PlainObject,
38
39
  UnsupportedOperationError,
39
40
  usingConstantValueSchema,
40
41
  usingModelSchema,
42
+ optionalCustom,
43
+ optionalCustomList,
41
44
  optionalCustomListWithSchema,
42
45
  customListWithSchema,
43
46
  isString,
@@ -218,6 +221,20 @@ const V1_dataSpaceDiagramModelSchema = createModelSchema(V1_DataSpaceDiagram, {
218
221
  title: primitive(),
219
222
  });
220
223
 
224
+ const V1_dataSpaceOperationalMetadataModelSchema = createModelSchema(
225
+ V1_DataProductOperationalMetadata,
226
+ {
227
+ coverageRegions: optionalCustomList(
228
+ (val) => (val as string).toLowerCase(),
229
+ (val) => (val as unknown as string).toUpperCase(),
230
+ ),
231
+ updateFrequency: optionalCustom(
232
+ (val) => (val as string).toLowerCase(),
233
+ (val) => (val as string).toUpperCase(),
234
+ ),
235
+ },
236
+ );
237
+
221
238
  const V1_dataSpaceModelSchema = createModelSchema(V1_DataSpace, {
222
239
  _type: usingConstantValueSchema(V1_DATA_SPACE_ELEMENT_PROTOCOL_TYPE),
223
240
  defaultExecutionContext: optional(primitive()),
@@ -237,6 +254,9 @@ const V1_dataSpaceModelSchema = createModelSchema(V1_DataSpace, {
237
254
  V1_packageableElementPointerModelSchema,
238
255
  ),
239
256
  name: primitive(),
257
+ operationalMetadata: optional(
258
+ usingModelSchema(V1_dataSpaceOperationalMetadataModelSchema),
259
+ ),
240
260
  package: primitive(),
241
261
  stereotypes: customListWithSchema(V1_stereotypePtrModelSchema, {
242
262
  INTERNAL__forceReturnEmptyInTest: true,
@@ -41,6 +41,45 @@ type DataSpacePageNavigationCommand = {
41
41
  anchor: string;
42
42
  };
43
43
 
44
+ export class CollapseState {
45
+ private readonly collapsedKeys = new Set<string>();
46
+
47
+ constructor() {
48
+ makeObservable<CollapseState, 'collapsedKeys'>(this, {
49
+ collapsedKeys: observable,
50
+ toggleSectionCollapse: action,
51
+ toggleAllSectionsCollapse: action,
52
+ });
53
+ }
54
+
55
+ isSectionCollapsed(key: string): boolean {
56
+ return this.collapsedKeys.has(key);
57
+ }
58
+
59
+ toggleSectionCollapse(key: string): void {
60
+ if (this.collapsedKeys.has(key)) {
61
+ this.collapsedKeys.delete(key);
62
+ } else {
63
+ this.collapsedKeys.add(key);
64
+ }
65
+ }
66
+
67
+ areAllSectionsCollapsed(keys: string[]): boolean {
68
+ return keys.length > 0 && keys.every((key) => this.collapsedKeys.has(key));
69
+ }
70
+
71
+ toggleAllSectionsCollapse(keys: string[]): void {
72
+ const shouldCollapse = !this.areAllSectionsCollapsed(keys);
73
+ keys.forEach((key) => {
74
+ if (shouldCollapse) {
75
+ this.collapsedKeys.add(key);
76
+ } else {
77
+ this.collapsedKeys.delete(key);
78
+ }
79
+ });
80
+ }
81
+ }
82
+
44
83
  export class DataSpaceLayoutState {
45
84
  readonly dataSpaceViewerState: DataSpaceViewerState;
46
85
 
@@ -56,6 +95,8 @@ export class DataSpaceLayoutState {
56
95
  private wikiPageVisibleAnchors: string[] = [];
57
96
  private wikiPageScrollIntersectionObserver?: IntersectionObserver | undefined;
58
97
 
98
+ readonly sectionCollapseState = new CollapseState();
99
+
59
100
  constructor(dataSpaceViewerState: DataSpaceViewerState) {
60
101
  makeObservable<
61
102
  DataSpaceLayoutState,
@@ -27,7 +27,13 @@ export class DataSpaceViewerModelsDocumentationState
27
27
  readonly dataSpaceViewerState: DataSpaceViewerState;
28
28
 
29
29
  constructor(dataSpaceViewerState: DataSpaceViewerState) {
30
- super(dataSpaceViewerState.dataSpaceAnalysisResult.elementDocs);
30
+ super(
31
+ dataSpaceViewerState.applicationStore,
32
+ dataSpaceViewerState.dataSpaceAnalysisResult.elementDocs,
33
+ {
34
+ collapseState: dataSpaceViewerState.layoutState.sectionCollapseState,
35
+ },
36
+ );
31
37
 
32
38
  this.dataSpaceViewerState = dataSpaceViewerState;
33
39
  }
@@ -28,8 +28,12 @@ export class DataSpaceViewerDiagramViewerState
28
28
 
29
29
  constructor(dataSpaceViewerState: DataSpaceViewerState) {
30
30
  super(
31
+ dataSpaceViewerState.applicationStore,
31
32
  dataSpaceViewerState.dataSpaceAnalysisResult.diagrams,
32
- dataSpaceViewerState.queryClass,
33
+ {
34
+ queryClass: dataSpaceViewerState.queryClass,
35
+ collapseState: dataSpaceViewerState.layoutState.sectionCollapseState,
36
+ },
33
37
  );
34
38
  this.dataSpaceViewerState = dataSpaceViewerState;
35
39
  }
@@ -32,6 +32,7 @@ import {
32
32
  import type { DataSpaceViewerState } from './DataSpaceViewerState.js';
33
33
  import { action, flow, makeObservable, observable } from 'mobx';
34
34
  import {
35
+ extractAnnotatedElementDocumentation,
35
36
  RelationType,
36
37
  TDSExecutionResult,
37
38
  type ExecutionResultWithMetadata,
@@ -212,6 +213,7 @@ export class DataSpaceExecutableRelationResultState {
212
213
  id: uuid(),
213
214
  name: col.name,
214
215
  type: col.genericType.value.rawType.name,
216
+ documentation: extractAnnotatedElementDocumentation(col),
215
217
  }));
216
218
  }
217
219
  }
@@ -23,6 +23,8 @@ import {
23
23
  type QueryBuilderExtraFunctionAnalysisInfo,
24
24
  QUERY_BUILDER_LAMBDA_WRITER_MODE,
25
25
  type ExtraOptionsConfig,
26
+ QueryBuilderEmbeddedFromExecutionContextState,
27
+ type QueryBuilderExecutionContextState,
26
28
  } from '@finos/legend-query-builder';
27
29
  import {
28
30
  type Class,
@@ -69,6 +71,7 @@ import type {
69
71
  } from '@finos/legend-storage';
70
72
  import { buildDataSpaceExecutableAnalysisResultFromExecutable } from '../../graph-manager/action/analytics/DataSpaceAnalysisHelper.js';
71
73
  import { compareLabelFn } from '@finos/legend-art';
74
+ import { resolveExecutionContextMapping } from '../../graph-manager/DSL_DataSpace_GraphManagerHelper.js';
72
75
 
73
76
  const matchesDataElement = (
74
77
  _class: Class,
@@ -367,6 +370,23 @@ export class DataSpaceQueryBuilderState extends QueryBuilderState {
367
370
  return this.buildQueryLambdaWithoutExecutionContext();
368
371
  }
369
372
 
373
+ override setExecutionContextState(
374
+ val: QueryBuilderExecutionContextState,
375
+ ): void {
376
+ if (
377
+ val instanceof QueryBuilderEmbeddedFromExecutionContextState &&
378
+ val.mapping === undefined
379
+ ) {
380
+ const resolvedMapping = resolveExecutionContextMapping(
381
+ this.executionContext,
382
+ );
383
+ if (resolvedMapping) {
384
+ val.setMapping(resolvedMapping);
385
+ }
386
+ }
387
+ super.setExecutionContextState(val);
388
+ }
389
+
370
390
  override buildExecutionContextExpression(
371
391
  lambdaFunction: LambdaFunction,
372
392
  ): LambdaFunction {