@finos/legend-extension-dsl-data-quality 2.1.34 → 2.1.35

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 (109) hide show
  1. package/lib/components/DSL_DataQuality_LegendStudioApplicationPlugin.d.ts.map +1 -1
  2. package/lib/components/DSL_DataQuality_LegendStudioApplicationPlugin.js +45 -13
  3. package/lib/components/DSL_DataQuality_LegendStudioApplicationPlugin.js.map +1 -1
  4. package/lib/components/DataQualityCustomSelector.d.ts +16 -1
  5. package/lib/components/DataQualityCustomSelector.d.ts.map +1 -1
  6. package/lib/components/DataQualityCustomSelector.js +29 -4
  7. package/lib/components/DataQualityCustomSelector.js.map +1 -1
  8. package/lib/components/DataQualityRelationComparisonEditor.d.ts +19 -0
  9. package/lib/components/DataQualityRelationComparisonEditor.d.ts.map +1 -0
  10. package/lib/components/DataQualityRelationComparisonEditor.js +239 -0
  11. package/lib/components/DataQualityRelationComparisonEditor.js.map +1 -0
  12. package/lib/components/DataQualityRelationGridResult.d.ts +3 -0
  13. package/lib/components/DataQualityRelationGridResult.d.ts.map +1 -1
  14. package/lib/components/DataQualityRelationGridResult.js +1 -1
  15. package/lib/components/DataQualityRelationGridResult.js.map +1 -1
  16. package/lib/components/DataQualityRelationLambdaGUIDataTypeHandlers.d.ts +0 -10
  17. package/lib/components/DataQualityRelationLambdaGUIDataTypeHandlers.d.ts.map +1 -1
  18. package/lib/components/DataQualityRelationLambdaGUIDataTypeHandlers.js +11 -24
  19. package/lib/components/DataQualityRelationLambdaGUIDataTypeHandlers.js.map +1 -1
  20. package/lib/components/DataQualityRelationLambdaGUIValidationEditor.d.ts.map +1 -1
  21. package/lib/components/DataQualityRelationLambdaGUIValidationEditor.js +6 -4
  22. package/lib/components/DataQualityRelationLambdaGUIValidationEditor.js.map +1 -1
  23. package/lib/components/states/DataQualityRelationComparisonConfigurationState.d.ts +111 -0
  24. package/lib/components/states/DataQualityRelationComparisonConfigurationState.d.ts.map +1 -0
  25. package/lib/components/states/DataQualityRelationComparisonConfigurationState.js +495 -0
  26. package/lib/components/states/DataQualityRelationComparisonConfigurationState.js.map +1 -0
  27. package/lib/data-quality-custom-selector.css +2 -2
  28. package/lib/data-quality-custom-selector.css.map +1 -1
  29. package/lib/graph/metamodel/DSL_DataQuality_HashUtils.d.ts +3 -1
  30. package/lib/graph/metamodel/DSL_DataQuality_HashUtils.d.ts.map +1 -1
  31. package/lib/graph/metamodel/DSL_DataQuality_HashUtils.js +2 -0
  32. package/lib/graph/metamodel/DSL_DataQuality_HashUtils.js.map +1 -1
  33. package/lib/graph/metamodel/DSL_DataQuality_PureGraphPlugin.d.ts.map +1 -1
  34. package/lib/graph/metamodel/DSL_DataQuality_PureGraphPlugin.js +2 -1
  35. package/lib/graph/metamodel/DSL_DataQuality_PureGraphPlugin.js.map +1 -1
  36. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.d.ts +35 -0
  37. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.d.ts.map +1 -1
  38. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.js +37 -0
  39. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.js.map +1 -1
  40. package/lib/graph-manager/DSL_DataQuality_GraphManagerHelper.d.ts +2 -1
  41. package/lib/graph-manager/DSL_DataQuality_GraphManagerHelper.d.ts.map +1 -1
  42. package/lib/graph-manager/DSL_DataQuality_GraphManagerHelper.js +2 -1
  43. package/lib/graph-manager/DSL_DataQuality_GraphManagerHelper.js.map +1 -1
  44. package/lib/graph-manager/DSL_DataQuality_GraphModifierHelper.d.ts +7 -1
  45. package/lib/graph-manager/DSL_DataQuality_GraphModifierHelper.d.ts.map +1 -1
  46. package/lib/graph-manager/DSL_DataQuality_GraphModifierHelper.js +18 -0
  47. package/lib/graph-manager/DSL_DataQuality_GraphModifierHelper.js.map +1 -1
  48. package/lib/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.d.ts.map +1 -1
  49. package/lib/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.js +5 -2
  50. package/lib/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.js.map +1 -1
  51. package/lib/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.d.ts +3 -1
  52. package/lib/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.d.ts.map +1 -1
  53. package/lib/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.js +28 -1
  54. package/lib/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.js.map +1 -1
  55. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.d.ts +4 -1
  56. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.d.ts.map +1 -1
  57. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.js.map +1 -1
  58. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.d.ts.map +1 -1
  59. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.js +33 -5
  60. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.js.map +1 -1
  61. package/lib/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.d.ts +26 -2
  62. package/lib/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.d.ts.map +1 -1
  63. package/lib/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.js +107 -3
  64. package/lib/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.js.map +1 -1
  65. package/lib/graph-manager/protocol/pure/v1/V1_DataQualityValidationConfiguration.d.ts +19 -0
  66. package/lib/graph-manager/protocol/pure/v1/V1_DataQualityValidationConfiguration.d.ts.map +1 -1
  67. package/lib/graph-manager/protocol/pure/v1/V1_DataQualityValidationConfiguration.js +37 -0
  68. package/lib/graph-manager/protocol/pure/v1/V1_DataQualityValidationConfiguration.js.map +1 -1
  69. package/lib/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationBuilderHelper.d.ts +2 -1
  70. package/lib/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationBuilderHelper.d.ts.map +1 -1
  71. package/lib/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationBuilderHelper.js +26 -3
  72. package/lib/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationBuilderHelper.js.map +1 -1
  73. package/lib/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationTransformer.d.ts +3 -2
  74. package/lib/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationTransformer.d.ts.map +1 -1
  75. package/lib/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationTransformer.js +29 -2
  76. package/lib/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationTransformer.js.map +1 -1
  77. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.d.ts +4 -1
  78. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.d.ts.map +1 -1
  79. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.js +37 -2
  80. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.js.map +1 -1
  81. package/lib/index.css +2 -2
  82. package/lib/index.css.map +1 -1
  83. package/lib/package.json +1 -1
  84. package/package.json +7 -7
  85. package/src/components/DSL_DataQuality_LegendStudioApplicationPlugin.tsx +64 -12
  86. package/src/components/DataQualityCustomSelector.tsx +111 -6
  87. package/src/components/DataQualityRelationComparisonEditor.tsx +795 -0
  88. package/src/components/DataQualityRelationGridResult.tsx +1 -1
  89. package/src/components/DataQualityRelationLambdaGUIDataTypeHandlers.tsx +9 -87
  90. package/src/components/DataQualityRelationLambdaGUIValidationEditor.tsx +16 -6
  91. package/src/components/states/DataQualityRelationComparisonConfigurationState.ts +747 -0
  92. package/src/graph/metamodel/DSL_DataQuality_HashUtils.ts +2 -0
  93. package/src/graph/metamodel/DSL_DataQuality_PureGraphPlugin.ts +2 -0
  94. package/src/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.ts +66 -0
  95. package/src/graph-manager/DSL_DataQuality_GraphManagerHelper.ts +13 -0
  96. package/src/graph-manager/DSL_DataQuality_GraphModifierHelper.ts +57 -0
  97. package/src/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.ts +8 -0
  98. package/src/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.ts +42 -0
  99. package/src/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.ts +16 -0
  100. package/src/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.ts +65 -0
  101. package/src/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.ts +171 -1
  102. package/src/graph-manager/protocol/pure/v1/V1_DataQualityValidationConfiguration.ts +49 -0
  103. package/src/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationBuilderHelper.ts +39 -0
  104. package/src/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationTransformer.ts +50 -0
  105. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.ts +71 -0
  106. package/style/_data-quality-relation-comparison-editor.scss +361 -0
  107. package/style/data-quality-custom-selector.scss +23 -0
  108. package/style/index.scss +74 -0
  109. package/tsconfig.json +2 -0
@@ -68,7 +68,7 @@ export const getRowDataFromExecutionResult = (
68
68
  return rowData;
69
69
  };
70
70
 
71
- const DataQualityResultCellRenderer = observer(
71
+ export const DataQualityResultCellRenderer = observer(
72
72
  (params: IRelationValidationRendererParamsWithGridType) => {
73
73
  const cellValue = params.value as DataQualityRelationResultCellDataType;
74
74
 
@@ -14,11 +14,8 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { CustomSelectorInput, BaseMenuItem, Checkbox } from '@finos/legend-art';
18
- import { type ReactNode, type MouseEvent } from 'react';
19
17
  import { DataQualityCustomSelector } from './DataQualityCustomSelector.js';
20
18
  import type { ColumnOption } from './states/LambdaEditorWithGUIState.js';
21
- import type { ColSpecArray, ColSpecArrayInstance } from '@finos/legend-graph';
22
19
 
23
20
  type Option = { value: string; label: string };
24
21
 
@@ -37,15 +34,6 @@ interface FunctionSelectProps {
37
34
  options?: Option[];
38
35
  }
39
36
 
40
- interface RenderColumnsProps {
41
- columns: ColSpecArrayInstance;
42
- onChange: (value: string[]) => void;
43
- options: ColumnOption[];
44
- placeholder?: string;
45
- darkMode: boolean;
46
- disabled: boolean;
47
- }
48
-
49
37
  export const RenderColumn = (props: RenderColumnProps) => {
50
38
  const { column, onChange, options, ...rest } = props;
51
39
 
@@ -56,81 +44,11 @@ export const RenderColumn = (props: RenderColumnProps) => {
56
44
  placeholder="Select column"
57
45
  renderLabel={({ label }) => label}
58
46
  options={options}
59
- onChange={onChange}
60
- />
61
- );
62
- };
63
-
64
- export const RenderColumns = (props: RenderColumnsProps) => {
65
- const {
66
- columns = [],
67
- onChange,
68
- options = [],
69
- placeholder,
70
- darkMode,
71
- disabled,
72
- ...rest
73
- } = props;
74
-
75
- const CustomOption = ({
76
- children,
77
- ...optionProps
78
- }: {
79
- children: ReactNode;
80
- data: Option;
81
- isSelected: boolean;
82
- isFocused: boolean;
83
- selectOption: (option: Option) => void;
84
- }) => {
85
- const { data, isSelected, selectOption } = optionProps;
86
-
87
- const handleClick = (event: unknown) => {
88
- (event as MouseEvent).preventDefault();
89
- selectOption(data);
90
- };
91
-
92
- return (
93
- <BaseMenuItem
94
- onClick={handleClick}
95
- className="data-quality-validation-gui-editor__column-list-item"
96
- dense={true}
97
- >
98
- <Checkbox size="small" checked={isSelected} onClick={handleClick} />
99
- <div>{children}</div>
100
- </BaseMenuItem>
101
- );
102
- };
103
-
104
- return (
105
- <CustomSelectorInput
106
- {...rest}
107
- value={options.filter(({ value: v }) =>
108
- (columns.values as ColSpecArray[])[0]?.colSpecs.find(
109
- (col) => col.name === v,
110
- ),
111
- )}
112
- placeholder={placeholder ?? 'Select columns'}
113
- isMulti={true}
114
- options={options}
115
- hideSelectedOptions={false}
116
- closeMenuOnSelect={false}
117
- components={{
118
- Option: CustomOption,
119
- MultiValueContainer: ({ children }) => {
120
- return (
121
- <div className="data-quality-validation-gui-editor__column-list-item">
122
- {children}
123
- </div>
124
- );
125
- },
126
- MultiValueLabel: ({ children }) => children,
127
- MultiValueRemove: () => null,
47
+ onChange={(val) => {
48
+ if (val !== undefined) {
49
+ onChange(val);
50
+ }
128
51
  }}
129
- onChange={(values: Option[]) =>
130
- onChange(values.map((change) => change.value))
131
- }
132
- darkMode={darkMode}
133
- disabled={disabled}
134
52
  />
135
53
  );
136
54
  };
@@ -144,7 +62,11 @@ export const FunctionSelectionHandler = (props: FunctionSelectProps) => {
144
62
  value={options.find((opt) => opt.value === value)}
145
63
  options={options}
146
64
  renderLabel={({ label }) => label}
147
- onChange={(change) => onChange(change.value)}
65
+ onChange={(change) => {
66
+ if (change !== undefined) {
67
+ onChange(change.value);
68
+ }
69
+ }}
148
70
  placeholder="Select operation"
149
71
  />
150
72
  );
@@ -15,8 +15,9 @@
15
15
  */
16
16
 
17
17
  import { observer } from 'mobx-react-lite';
18
+ import { useMemo } from 'react';
18
19
  import type { DataQualityRelationValidationState } from './states/DataQualityRelationValidationState.js';
19
- import { RenderColumns } from './DataQualityRelationLambdaGUIDataTypeHandlers.js';
20
+ import { DataQualityMultiCustomSelector } from './DataQualityCustomSelector.js';
20
21
  import {
21
22
  ColSpec,
22
23
  ColSpecArray,
@@ -48,6 +49,15 @@ export const DataQualityRelationLambdaGUIValidationEditor = observer(
48
49
  }
49
50
 
50
51
  const { assertion, otherFunction } = dataQualityValidationLambdaFormState;
52
+ const selectedColumns = useMemo(
53
+ () =>
54
+ columnOptions.filter(({ value }) =>
55
+ assertion.parameters.columns.values[0]?.colSpecs.some(
56
+ (col) => col.name === value,
57
+ ),
58
+ ),
59
+ [assertion.parameters.columns.values, columnOptions],
60
+ );
51
61
 
52
62
  return (
53
63
  <div
@@ -82,11 +92,12 @@ export const DataQualityRelationLambdaGUIValidationEditor = observer(
82
92
  <div className="data-quality-uml-element-editor__lambda__label data-quality-validation-gui-editor__function--assert-helper--description">
83
93
  Columns to persist
84
94
  </div>
85
- <RenderColumns
86
- columns={assertion.parameters.columns}
87
- onChange={(values: string[]) => {
95
+ <DataQualityMultiCustomSelector
96
+ value={selectedColumns}
97
+ options={columnOptions}
98
+ onChange={(values) => {
88
99
  const colSpecArray = new ColSpecArray();
89
- colSpecArray.colSpecs = values.map((value) => {
100
+ colSpecArray.colSpecs = values.map(({ value }) => {
90
101
  const colSpecValue = new ColSpec();
91
102
  colSpecValue.name = value;
92
103
  return colSpecValue;
@@ -100,7 +111,6 @@ export const DataQualityRelationLambdaGUIValidationEditor = observer(
100
111
  assertion.parameters.columns = colSpecArrayInstance;
101
112
  validationState.debouncedHandleValidationFormChange();
102
113
  }}
103
- options={columnOptions}
104
114
  placeholder="Select Columns"
105
115
  disabled={disabled}
106
116
  darkMode={darkMode}