@finos/legend-application-studio 28.21.31 → 28.21.33

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 (86) hide show
  1. package/lib/__lib__/LegendStudioApplicationNavigationContext.d.ts +2 -1
  2. package/lib/__lib__/LegendStudioApplicationNavigationContext.d.ts.map +1 -1
  3. package/lib/__lib__/LegendStudioApplicationNavigationContext.js +1 -0
  4. package/lib/__lib__/LegendStudioApplicationNavigationContext.js.map +1 -1
  5. package/lib/components/ElementIconUtils.d.ts.map +1 -1
  6. package/lib/components/ElementIconUtils.js +2 -0
  7. package/lib/components/ElementIconUtils.js.map +1 -1
  8. package/lib/components/editor/availability-editor.css +1 -0
  9. package/lib/components/editor/availability-editor.css.map +1 -0
  10. package/lib/components/editor/editor-group/EditorGroup.d.ts.map +1 -1
  11. package/lib/components/editor/editor-group/EditorGroup.js +5 -0
  12. package/lib/components/editor/editor-group/EditorGroup.js.map +1 -1
  13. package/lib/components/editor/editor-group/availability/AvailabilityEditor.d.ts +19 -0
  14. package/lib/components/editor/editor-group/availability/AvailabilityEditor.d.ts.map +1 -0
  15. package/lib/components/editor/editor-group/availability/AvailabilityEditor.js +50 -0
  16. package/lib/components/editor/editor-group/availability/AvailabilityEditor.js.map +1 -0
  17. package/lib/components/editor/editor-group/availability/testable/AvailabilityTestableEditor.d.ts +22 -0
  18. package/lib/components/editor/editor-group/availability/testable/AvailabilityTestableEditor.d.ts.map +1 -0
  19. package/lib/components/editor/editor-group/availability/testable/AvailabilityTestableEditor.js +205 -0
  20. package/lib/components/editor/editor-group/availability/testable/AvailabilityTestableEditor.js.map +1 -0
  21. package/lib/components/editor/editor-group/dataProduct/DataProductEditor.d.ts +1 -12
  22. package/lib/components/editor/editor-group/dataProduct/DataProductEditor.d.ts.map +1 -1
  23. package/lib/components/editor/editor-group/dataProduct/DataProductEditor.js +3 -86
  24. package/lib/components/editor/editor-group/dataProduct/DataProductEditor.js.map +1 -1
  25. package/lib/components/editor/editor-group/testable/TestableSharedComponents.d.ts +5 -0
  26. package/lib/components/editor/editor-group/testable/TestableSharedComponents.d.ts.map +1 -1
  27. package/lib/components/editor/editor-group/testable/TestableSharedComponents.js +1 -1
  28. package/lib/components/editor/editor-group/testable/TestableSharedComponents.js.map +1 -1
  29. package/lib/components/editor/panel-group/DevToolPanel.d.ts.map +1 -1
  30. package/lib/components/editor/panel-group/DevToolPanel.js +27 -24
  31. package/lib/components/editor/panel-group/DevToolPanel.js.map +1 -1
  32. package/lib/components/extensions/Core_LegendStudioApplicationPlugin.d.ts.map +1 -1
  33. package/lib/components/extensions/Core_LegendStudioApplicationPlugin.js +1 -0
  34. package/lib/components/extensions/Core_LegendStudioApplicationPlugin.js.map +1 -1
  35. package/lib/index.css +2 -2
  36. package/lib/index.css.map +1 -1
  37. package/lib/package.json +1 -1
  38. package/lib/stores/editor/EditorGraphState.d.ts.map +1 -1
  39. package/lib/stores/editor/EditorGraphState.js +4 -1
  40. package/lib/stores/editor/EditorGraphState.js.map +1 -1
  41. package/lib/stores/editor/EditorTabManagerState.d.ts.map +1 -1
  42. package/lib/stores/editor/EditorTabManagerState.js +5 -1
  43. package/lib/stores/editor/EditorTabManagerState.js.map +1 -1
  44. package/lib/stores/editor/editor-state/element-editor-state/availability/AvailabilityEditorState.d.ts +32 -0
  45. package/lib/stores/editor/editor-state/element-editor-state/availability/AvailabilityEditorState.d.ts.map +1 -0
  46. package/lib/stores/editor/editor-state/element-editor-state/availability/AvailabilityEditorState.js +46 -0
  47. package/lib/stores/editor/editor-state/element-editor-state/availability/AvailabilityEditorState.js.map +1 -0
  48. package/lib/stores/editor/editor-state/element-editor-state/availability/testable/AvailabilityTestableState.d.ts +111 -0
  49. package/lib/stores/editor/editor-state/element-editor-state/availability/testable/AvailabilityTestableState.d.ts.map +1 -0
  50. package/lib/stores/editor/editor-state/element-editor-state/availability/testable/AvailabilityTestableState.js +425 -0
  51. package/lib/stores/editor/editor-state/element-editor-state/availability/testable/AvailabilityTestableState.js.map +1 -0
  52. package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.d.ts +3 -0
  53. package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.d.ts.map +1 -1
  54. package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.js +8 -2
  55. package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.js.map +1 -1
  56. package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.d.ts +1 -22
  57. package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.d.ts.map +1 -1
  58. package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.js +3 -109
  59. package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.js.map +1 -1
  60. package/lib/stores/editor/utils/ModelClassifierUtils.d.ts +2 -1
  61. package/lib/stores/editor/utils/ModelClassifierUtils.d.ts.map +1 -1
  62. package/lib/stores/editor/utils/ModelClassifierUtils.js +1 -0
  63. package/lib/stores/editor/utils/ModelClassifierUtils.js.map +1 -1
  64. package/lib/stores/graph-modifier/DSL_DataProduct_GraphModifierHelper.d.ts +1 -8
  65. package/lib/stores/graph-modifier/DSL_DataProduct_GraphModifierHelper.d.ts.map +1 -1
  66. package/lib/stores/graph-modifier/DSL_DataProduct_GraphModifierHelper.js +0 -21
  67. package/lib/stores/graph-modifier/DSL_DataProduct_GraphModifierHelper.js.map +1 -1
  68. package/package.json +12 -12
  69. package/src/__lib__/LegendStudioApplicationNavigationContext.ts +1 -0
  70. package/src/components/ElementIconUtils.tsx +2 -0
  71. package/src/components/editor/editor-group/EditorGroup.tsx +4 -0
  72. package/src/components/editor/editor-group/availability/AvailabilityEditor.tsx +114 -0
  73. package/src/components/editor/editor-group/availability/testable/AvailabilityTestableEditor.tsx +829 -0
  74. package/src/components/editor/editor-group/dataProduct/DataProductEditor.tsx +0 -282
  75. package/src/components/editor/editor-group/testable/TestableSharedComponents.tsx +1 -1
  76. package/src/components/editor/panel-group/DevToolPanel.tsx +61 -60
  77. package/src/components/extensions/Core_LegendStudioApplicationPlugin.tsx +1 -0
  78. package/src/stores/editor/EditorGraphState.ts +3 -0
  79. package/src/stores/editor/EditorTabManagerState.ts +4 -0
  80. package/src/stores/editor/editor-state/element-editor-state/availability/AvailabilityEditorState.ts +56 -0
  81. package/src/stores/editor/editor-state/element-editor-state/availability/testable/AvailabilityTestableState.ts +631 -0
  82. package/src/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.ts +13 -3
  83. package/src/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.ts +1 -162
  84. package/src/stores/editor/utils/ModelClassifierUtils.ts +1 -0
  85. package/src/stores/graph-modifier/DSL_DataProduct_GraphModifierHelper.ts +0 -44
  86. package/tsconfig.json +4 -0
@@ -18,7 +18,6 @@ import {
18
18
  type AppDirNode,
19
19
  type ArtifactGenerationExtensionResult,
20
20
  type BatchLambdasRelationTypeResult,
21
- type DataProductElement,
22
21
  type IngestDefinition,
23
22
  type Mapping,
24
23
  type PackageableElement,
@@ -33,15 +32,10 @@ import {
33
32
  AccessPoint,
34
33
  AccessPointGroup,
35
34
  AppDirOwner,
36
- Association,
37
- Class,
38
35
  CodeCompletionResult,
39
36
  DataElement,
40
37
  DataElementReference,
41
38
  DataProduct,
42
- DataProductDiagram,
43
- DataProductElementScope,
44
- Enumeration,
45
39
  Expertise,
46
40
  getStereotype,
47
41
  GRAPH_MANAGER_EVENT,
@@ -50,11 +44,8 @@ import {
50
44
  LakehouseTargetEnv,
51
45
  LAMBDA_PIPE,
52
46
  ModelAccessPointGroup,
53
- observe_DataProductDiagram,
54
- observe_DataProductElementScope,
55
47
  observe_RelationElement,
56
48
  observe_RelationElementsData,
57
- Package,
58
49
  PackageableElementExplicitReference,
59
50
  ParserError,
60
51
  RelationElement,
@@ -97,11 +88,6 @@ import {
97
88
  dataProduct_deleteAccessPointGroup,
98
89
  dataProduct_setSupportInfoIfAbsent,
99
90
  dataProduct_swapAccessPointGroups,
100
- modelAccessPointGroup_addDiagram,
101
- modelAccessPointGroup_addElement,
102
- modelAccessPointGroup_removeDiagram,
103
- modelAccessPointGroup_removeElement,
104
- modelAccessPointGroup_setElementExclude,
105
91
  modelAccessPointGroup_setMapping,
106
92
  supportInfo_addExpertise,
107
93
  } from '../../../../graph-modifier/DSL_DataProduct_GraphModifierHelper.js';
@@ -116,9 +102,7 @@ import type {
116
102
  AdhocDataProductDeployResponse,
117
103
  LakehouseIngestionManager,
118
104
  } from '@finos/legend-server-lakehouse';
119
- import { Diagram } from '@finos/legend-extension-dsl-diagram';
120
105
  import { LegendStudioTelemetryHelper } from '../../../../../__lib__/LegendStudioTelemetryHelper.js';
121
- import { onGeneratingDiagramFromMapping } from '../mapping/MappingEditorState.js';
122
106
 
123
107
  export enum DATA_PRODUCT_TAB {
124
108
  HOME = 'Home',
@@ -764,16 +748,11 @@ export class AccessPointGroupState {
764
748
  export class ModelAccessPointGroupState extends AccessPointGroupState {
765
749
  declare value: ModelAccessPointGroup;
766
750
  readonly editorState: DataProductEditorState;
767
- showNewModal = false;
768
751
 
769
752
  constructor(val: ModelAccessPointGroup, editorState: DataProductEditorState) {
770
753
  super(val, editorState);
771
754
  this.value = val;
772
755
  this.editorState = editorState;
773
-
774
- makeObservable(this, {
775
- generateDiagramFromMapping: flow,
776
- });
777
756
  }
778
757
 
779
758
  override hasErrors(): boolean {
@@ -781,8 +760,7 @@ export class ModelAccessPointGroupState extends AccessPointGroupState {
781
760
  this.value.id === '' ||
782
761
  !this.value.description ||
783
762
  !this.value.title ||
784
- this.value.mapping.value.path === '' ||
785
- this.value.diagrams.length === 0
763
+ this.value.mapping.value.path === ''
786
764
  );
787
765
  }
788
766
 
@@ -792,145 +770,6 @@ export class ModelAccessPointGroupState extends AccessPointGroupState {
792
770
  PackageableElementExplicitReference.create(mapping),
793
771
  );
794
772
  }
795
-
796
- getCompatibleDiagramOptions(): {
797
- label: string;
798
- value: PackageableElement;
799
- }[] {
800
- const currentDiagrams = this.value.diagrams.map(
801
- (diagram) => diagram.diagram,
802
- );
803
-
804
- return this.state.editorStore.graphManagerState.graph.allOwnElements
805
- .filter((element): element is Diagram => element instanceof Diagram)
806
- .filter((diagram) => !currentDiagrams.includes(diagram))
807
- .map((diagram) => ({
808
- label: diagram.path,
809
- value: diagram,
810
- }));
811
- }
812
-
813
- collectFeaturedClasses = (
814
- element: PackageableElement,
815
- excludedPaths: string[],
816
- elements: Set<Class>,
817
- ): void => {
818
- if (excludedPaths.includes(element.path)) {
819
- return;
820
- }
821
- if (element instanceof Class) {
822
- elements.add(element);
823
- } else if (element instanceof Package) {
824
- this.collectClassesFromPackage(element, excludedPaths, elements);
825
- }
826
- };
827
-
828
- collectClassesFromPackage = (
829
- element: Package,
830
- excludedPaths: string[],
831
- elements: Set<Class>,
832
- ): void => {
833
- element.children.forEach((child) => {
834
- if (excludedPaths.includes(child.path)) {
835
- return;
836
- }
837
- if (child instanceof Class) {
838
- elements.add(child);
839
- } else if (child instanceof Package) {
840
- this.collectClassesFromPackage(child, excludedPaths, elements);
841
- }
842
- });
843
- };
844
-
845
- addDiagram = (option: { label: string; value: PackageableElement }): void => {
846
- const diagramValue = option.value;
847
- const newDiagram = observe_DataProductDiagram(new DataProductDiagram());
848
- newDiagram.title = diagramValue.name;
849
- newDiagram.diagram = diagramValue;
850
- modelAccessPointGroup_addDiagram(this.value, newDiagram);
851
- };
852
-
853
- handleRemoveDiagram = (diagram: DataProductDiagram): void => {
854
- modelAccessPointGroup_removeDiagram(this.value, diagram);
855
- };
856
-
857
- *generateDiagramFromMapping(): GeneratorFn<void> {
858
- const mapping = this.value.mapping.value;
859
- if (mapping.path === '') {
860
- return;
861
- }
862
- let featuredClasses: Class[] | undefined = undefined;
863
- if (this.value.featuredElements.length > 0) {
864
- const includes = this.value.featuredElements
865
- .filter((el) => el.exclude === undefined || el.exclude === false)
866
- .map((el) => el.element.value);
867
- const excludedPaths = this.value.featuredElements
868
- .filter((el) => el.exclude !== undefined && el.exclude === true)
869
- .map((el) => el.element.value.path);
870
- const elements = new Set<Class>();
871
- includes.forEach((element) => {
872
- this.collectFeaturedClasses(element, excludedPaths, elements);
873
- });
874
- featuredClasses = Array.from(elements);
875
- }
876
- const diagram = (yield flowResult(
877
- onGeneratingDiagramFromMapping(
878
- mapping,
879
- this.state.editorStore,
880
- featuredClasses,
881
- ),
882
- )) as Diagram | undefined;
883
- if (diagram) {
884
- const newDiagram = observe_DataProductDiagram(new DataProductDiagram());
885
- newDiagram.title = diagram.name;
886
- newDiagram.diagram = diagram;
887
- modelAccessPointGroup_addDiagram(this.value, newDiagram);
888
- }
889
- }
890
-
891
- addFeaturedElement(element: DataProductElement): void {
892
- const elementPointer = observe_DataProductElementScope(
893
- new DataProductElementScope(),
894
- );
895
- elementPointer.element =
896
- PackageableElementExplicitReference.create(element);
897
- modelAccessPointGroup_addElement(this.value, elementPointer);
898
- }
899
-
900
- removeFeaturedElement(element: DataProductElementScope): void {
901
- modelAccessPointGroup_removeElement(this.value, element);
902
- }
903
-
904
- excludeFeaturedElement(
905
- element: DataProductElementScope,
906
- value: boolean,
907
- ): void {
908
- modelAccessPointGroup_setElementExclude(element, value);
909
- }
910
-
911
- isValidDataProductElement(
912
- element: PackageableElement,
913
- ): element is DataProductElement {
914
- return (
915
- element instanceof Package ||
916
- element instanceof Class ||
917
- element instanceof Enumeration ||
918
- element instanceof Association
919
- );
920
- }
921
-
922
- getFeaturedElementOptions(): { label: string; value: DataProductElement }[] {
923
- const currentElements = this.value.featuredElements.map(
924
- (elementPointer) => elementPointer.element.value,
925
- );
926
- return this.state.editorStore.graphManagerState.graph.allOwnElements
927
- .filter((element) => this.isValidDataProductElement(element))
928
- .filter((element) => !currentElements.includes(element))
929
- .map((element) => ({
930
- label: element.path,
931
- value: element,
932
- }));
933
- }
934
773
  }
935
774
 
936
775
  const createEditorInitialConfiguration = (): EditorInitialConfiguration => {
@@ -80,6 +80,7 @@ export enum PACKAGEABLE_ELEMENT_TYPE {
80
80
  TEMPORARY__LOCAL_CONNECTION = 'LOCAL_CONNECTION',
81
81
  INTERNAL__UnknownElement = 'UNKNOWN',
82
82
  INGEST_DEFINITION = 'INGEST_DEFINITION',
83
+ AVAILABILITY = 'AVAILABILITY',
83
84
  }
84
85
 
85
86
  export enum PACKAGEABLE_ELEMENT_GROUP_BY_CATEGORY {
@@ -32,8 +32,6 @@ import {
32
32
  type PackageableElementReference,
33
33
  type Mapping,
34
34
  type ModelAccessPointGroup,
35
- type DataProductDiagram,
36
- type DataProductElementScope,
37
35
  observe_APG,
38
36
  type DataProductType,
39
37
  type ExternalDataProductType,
@@ -113,48 +111,6 @@ export const modelAccessPointGroup_setMapping = action(
113
111
  },
114
112
  );
115
113
 
116
- export const modelAccessPointGroup_addElement = action(
117
- (group: ModelAccessPointGroup, element: DataProductElementScope): void => {
118
- addUniqueEntry(group.featuredElements, element);
119
- },
120
- );
121
-
122
- export const modelAccessPointGroup_removeElement = action(
123
- (group: ModelAccessPointGroup, element: DataProductElementScope): void => {
124
- deleteEntry(group.featuredElements, element);
125
- },
126
- );
127
-
128
- export const modelAccessPointGroup_setElementExclude = action(
129
- (element: DataProductElementScope, exclude: boolean): void => {
130
- element.exclude = exclude;
131
- },
132
- );
133
-
134
- export const modelAccessPointGroup_addDiagram = action(
135
- (group: ModelAccessPointGroup, diagram: DataProductDiagram): void => {
136
- addUniqueEntry(group.diagrams, diagram);
137
- },
138
- );
139
-
140
- export const modelAccessPointGroup_removeDiagram = action(
141
- (group: ModelAccessPointGroup, diagram: DataProductDiagram): void => {
142
- deleteEntry(group.diagrams, diagram);
143
- },
144
- );
145
-
146
- export const dataProductDiagram_setTitle = action(
147
- (diagram: DataProductDiagram, title: string): void => {
148
- diagram.title = title;
149
- },
150
- );
151
-
152
- export const dataProductDiagram_setDescription = action(
153
- (diagram: DataProductDiagram, desc: string | undefined): void => {
154
- diagram.description = desc;
155
- },
156
- );
157
-
158
114
  export const runtimeInfo_setId = action(
159
115
  (runtimeInfo: DataProductRuntimeInfo, id: string): void => {
160
116
  runtimeInfo.id = id;
package/tsconfig.json CHANGED
@@ -125,6 +125,8 @@
125
125
  "./src/stores/editor/editor-state/element-editor-state/RuntimeEditorState.ts",
126
126
  "./src/stores/editor/editor-state/element-editor-state/ToDelete_FunctionActivatorBuilderState.ts",
127
127
  "./src/stores/editor/editor-state/element-editor-state/UMLEditorState.ts",
128
+ "./src/stores/editor/editor-state/element-editor-state/availability/AvailabilityEditorState.ts",
129
+ "./src/stores/editor/editor-state/element-editor-state/availability/testable/AvailabilityTestableState.ts",
128
130
  "./src/stores/editor/editor-state/element-editor-state/connection/ConnectionEditorState.ts",
129
131
  "./src/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.ts",
130
132
  "./src/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderWizardState.ts",
@@ -256,6 +258,8 @@
256
258
  "./src/components/editor/editor-group/UnsupportedElementEditor.tsx",
257
259
  "./src/components/editor/editor-group/accessor/AccessorQueryBuilder.tsx",
258
260
  "./src/components/editor/editor-group/accessor/AccessorQueryBuilderHelper.tsx",
261
+ "./src/components/editor/editor-group/availability/AvailabilityEditor.tsx",
262
+ "./src/components/editor/editor-group/availability/testable/AvailabilityTestableEditor.tsx",
259
263
  "./src/components/editor/editor-group/connection-editor/ConnectionEditor.tsx",
260
264
  "./src/components/editor/editor-group/connection-editor/DatabaseBuilderWizard.tsx",
261
265
  "./src/components/editor/editor-group/connection-editor/DatabaseEditorHelper.tsx",