@finos/legend-application-studio 28.18.69 → 28.18.70
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.
- package/lib/__lib__/LegendStudioDocumentation.d.ts +0 -1
- package/lib/__lib__/LegendStudioDocumentation.d.ts.map +1 -1
- package/lib/__lib__/LegendStudioDocumentation.js +0 -2
- package/lib/__lib__/LegendStudioDocumentation.js.map +1 -1
- package/lib/components/editor/editor-group/EditorGroup.d.ts.map +1 -1
- package/lib/components/editor/editor-group/EditorGroup.js +2 -5
- package/lib/components/editor/editor-group/EditorGroup.js.map +1 -1
- package/lib/components/editor/editor-group/GenerationSpecificationEditor.js +4 -4
- package/lib/components/editor/editor-group/GenerationSpecificationEditor.js.map +1 -1
- package/lib/components/editor/editor-group/GrammarTextEditor.js +5 -5
- package/lib/components/editor/editor-group/GrammarTextEditor.js.map +1 -1
- package/lib/components/editor/editor-group/RuntimeEditor.js +6 -6
- package/lib/components/editor/editor-group/RuntimeEditor.js.map +1 -1
- package/lib/components/editor/editor-group/data-editor/DataElementEditor.js +3 -3
- package/lib/components/editor/editor-group/data-editor/DataElementEditor.js.map +1 -1
- package/lib/components/editor/editor-group/diff-editor/EntityChangeConflictEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/diff-editor/EntityChangeConflictEditor.js +1 -1
- package/lib/components/editor/editor-group/diff-editor/EntityChangeConflictEditor.js.map +1 -1
- package/lib/components/editor/editor-group/element-generation-editor/FileGenerationEditor.js +2 -2
- package/lib/components/editor/editor-group/element-generation-editor/FileGenerationEditor.js.map +1 -1
- package/lib/components/editor/editor-group/external-format-editor/DSL_ExternalFormat_BindingElementEditor.js +2 -2
- package/lib/components/editor/editor-group/external-format-editor/DSL_ExternalFormat_BindingElementEditor.js.map +1 -1
- package/lib/components/editor/editor-group/function-activator/FunctionEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/function-activator/FunctionEditor.js +14 -7
- package/lib/components/editor/editor-group/function-activator/FunctionEditor.js.map +1 -1
- package/lib/components/editor/editor-group/function-activator/HostedServiceFunctionActivatorEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/function-activator/HostedServiceFunctionActivatorEditor.js +10 -5
- package/lib/components/editor/editor-group/function-activator/HostedServiceFunctionActivatorEditor.js.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/EnumerationMappingEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/EnumerationMappingEditor.js +6 -4
- package/lib/components/editor/editor-group/mapping-editor/EnumerationMappingEditor.js.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/FlatDataPropertyMappingEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/FlatDataPropertyMappingEditor.js +12 -8
- package/lib/components/editor/editor-group/mapping-editor/FlatDataPropertyMappingEditor.js.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/FlatDataRecordTypeTree.d.ts.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/FlatDataRecordTypeTree.js +6 -5
- package/lib/components/editor/editor-group/mapping-editor/FlatDataRecordTypeTree.js.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/InstanceSetImplementationEditor.js +2 -2
- package/lib/components/editor/editor-group/mapping-editor/InstanceSetImplementationEditor.js.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/MappingExecutionBuilder.d.ts.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/MappingExecutionBuilder.js +4 -4
- package/lib/components/editor/editor-group/mapping-editor/MappingExecutionBuilder.js.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/MappingExplorer.d.ts.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/MappingExplorer.js +12 -8
- package/lib/components/editor/editor-group/mapping-editor/MappingExplorer.js.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/MappingTestsExplorer.js +2 -2
- package/lib/components/editor/editor-group/mapping-editor/MappingTestsExplorer.js.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/OperationSetImplementationEditor.js +2 -2
- package/lib/components/editor/editor-group/mapping-editor/OperationSetImplementationEditor.js.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/PurePropertyMappingEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/PurePropertyMappingEditor.js +17 -11
- package/lib/components/editor/editor-group/mapping-editor/PurePropertyMappingEditor.js.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/TypeTree.d.ts.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/TypeTree.js +5 -3
- package/lib/components/editor/editor-group/mapping-editor/TypeTree.js.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/legacy/DEPRECATED__MappingTestEditor.js +2 -2
- package/lib/components/editor/editor-group/mapping-editor/legacy/DEPRECATED__MappingTestEditor.js.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/relational/RelationalPropertyMappingEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/relational/RelationalPropertyMappingEditor.js +17 -11
- package/lib/components/editor/editor-group/mapping-editor/relational/RelationalPropertyMappingEditor.js.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/relational/TableOrViewSourceTree.d.ts.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/relational/TableOrViewSourceTree.js +5 -3
- package/lib/components/editor/editor-group/mapping-editor/relational/TableOrViewSourceTree.js.map +1 -1
- package/lib/components/editor/editor-group/project-configuration-editor/ProjectDependencyEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/project-configuration-editor/ProjectDependencyEditor.js +1 -2
- package/lib/components/editor/editor-group/project-configuration-editor/ProjectDependencyEditor.js.map +1 -1
- package/lib/components/editor/editor-group/service-editor/ServiceExecutionEditor.js +2 -2
- package/lib/components/editor/editor-group/service-editor/ServiceExecutionEditor.js.map +1 -1
- package/lib/components/editor/editor-group/service-editor/ServiceExecutionQueryEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/service-editor/ServiceExecutionQueryEditor.js +0 -1
- package/lib/components/editor/editor-group/service-editor/ServiceExecutionQueryEditor.js.map +1 -1
- package/lib/components/editor/editor-group/uml-editor/AssociationEditor.js +3 -3
- package/lib/components/editor/editor-group/uml-editor/AssociationEditor.js.map +1 -1
- package/lib/components/editor/editor-group/uml-editor/ClassEditor.js +10 -10
- package/lib/components/editor/editor-group/uml-editor/ClassEditor.js.map +1 -1
- package/lib/components/editor/editor-group/uml-editor/EnumerationEditor.js +6 -6
- package/lib/components/editor/editor-group/uml-editor/EnumerationEditor.js.map +1 -1
- package/lib/components/editor/editor-group/uml-editor/PropertyEditor.js +3 -3
- package/lib/components/editor/editor-group/uml-editor/PropertyEditor.js.map +1 -1
- package/lib/components/editor/panel-group/SQLPlaygroundPanel.d.ts.map +1 -1
- package/lib/components/editor/panel-group/SQLPlaygroundPanel.js +4 -2
- package/lib/components/editor/panel-group/SQLPlaygroundPanel.js.map +1 -1
- package/lib/components/editor/side-bar/CreateNewElementModal.d.ts.map +1 -1
- package/lib/components/editor/side-bar/CreateNewElementModal.js +2 -4
- package/lib/components/editor/side-bar/CreateNewElementModal.js.map +1 -1
- package/lib/components/editor/side-bar/Explorer.d.ts.map +1 -1
- package/lib/components/editor/side-bar/Explorer.js +4 -2
- package/lib/components/editor/side-bar/Explorer.js.map +1 -1
- package/lib/components/editor/side-bar/LocalChanges.d.ts.map +1 -1
- package/lib/components/editor/side-bar/LocalChanges.js +3 -8
- package/lib/components/editor/side-bar/LocalChanges.js.map +1 -1
- package/lib/components/editor/side-bar/WorkspaceReview.d.ts.map +1 -1
- package/lib/components/editor/side-bar/WorkspaceReview.js +1 -4
- package/lib/components/editor/side-bar/WorkspaceReview.js.map +1 -1
- package/lib/components/editor/side-bar/WorkspaceSyncConflictResolver.d.ts.map +1 -1
- package/lib/components/editor/side-bar/WorkspaceSyncConflictResolver.js +3 -8
- package/lib/components/editor/side-bar/WorkspaceSyncConflictResolver.js.map +1 -1
- package/lib/components/editor/side-bar/WorkspaceUpdateConflictResolver.d.ts.map +1 -1
- package/lib/components/editor/side-bar/WorkspaceUpdateConflictResolver.js +3 -8
- package/lib/components/editor/side-bar/WorkspaceUpdateConflictResolver.js.map +1 -1
- package/lib/components/editor/side-bar/WorkspaceUpdater.d.ts.map +1 -1
- package/lib/components/editor/side-bar/WorkspaceUpdater.js +2 -4
- package/lib/components/editor/side-bar/WorkspaceUpdater.js.map +1 -1
- package/lib/components/editor/side-bar/end-to-end-workflow/EndToEndWorkflows.js.map +1 -1
- package/lib/components/editor/side-bar/testable/GlobalTestRunner.js +1 -1
- package/lib/components/editor/side-bar/testable/GlobalTestRunner.js.map +1 -1
- package/lib/components/project-reviewer/ProjectReviewSideBar.d.ts.map +1 -1
- package/lib/components/project-reviewer/ProjectReviewSideBar.js +1 -4
- package/lib/components/project-reviewer/ProjectReviewSideBar.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/package.json +12 -12
- package/lib/stores/editor/editor-state/GraphGenerationState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/GraphGenerationState.js +1 -2
- package/lib/stores/editor/editor-state/GraphGenerationState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.js +3 -6
- package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.js.map +1 -1
- package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.js +1 -3
- package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.js.map +1 -1
- package/lib/stores/editor/sidebar-state/WorkflowManagerState.d.ts.map +1 -1
- package/lib/stores/editor/sidebar-state/WorkflowManagerState.js +1 -3
- package/lib/stores/editor/sidebar-state/WorkflowManagerState.js.map +1 -1
- package/lib/stores/editor/utils/FileSystemTreeUtils.d.ts.map +1 -1
- package/lib/stores/editor/utils/FileSystemTreeUtils.js +1 -2
- package/lib/stores/editor/utils/FileSystemTreeUtils.js.map +1 -1
- package/package.json +24 -24
- package/src/__lib__/LegendStudioDocumentation.ts +0 -3
- package/src/components/editor/editor-group/EditorGroup.tsx +4 -5
- package/src/components/editor/editor-group/GenerationSpecificationEditor.tsx +4 -4
- package/src/components/editor/editor-group/GrammarTextEditor.tsx +5 -5
- package/src/components/editor/editor-group/RuntimeEditor.tsx +6 -6
- package/src/components/editor/editor-group/data-editor/DataElementEditor.tsx +4 -4
- package/src/components/editor/editor-group/diff-editor/EntityChangeConflictEditor.tsx +2 -1
- package/src/components/editor/editor-group/element-generation-editor/FileGenerationEditor.tsx +2 -2
- package/src/components/editor/editor-group/external-format-editor/DSL_ExternalFormat_BindingElementEditor.tsx +2 -2
- package/src/components/editor/editor-group/function-activator/FunctionEditor.tsx +16 -7
- package/src/components/editor/editor-group/function-activator/HostedServiceFunctionActivatorEditor.tsx +12 -5
- package/src/components/editor/editor-group/mapping-editor/EnumerationMappingEditor.tsx +6 -4
- package/src/components/editor/editor-group/mapping-editor/FlatDataPropertyMappingEditor.tsx +21 -11
- package/src/components/editor/editor-group/mapping-editor/FlatDataRecordTypeTree.tsx +6 -5
- package/src/components/editor/editor-group/mapping-editor/InstanceSetImplementationEditor.tsx +2 -2
- package/src/components/editor/editor-group/mapping-editor/MappingExecutionBuilder.tsx +7 -4
- package/src/components/editor/editor-group/mapping-editor/MappingExplorer.tsx +14 -8
- package/src/components/editor/editor-group/mapping-editor/MappingTestsExplorer.tsx +2 -2
- package/src/components/editor/editor-group/mapping-editor/OperationSetImplementationEditor.tsx +2 -2
- package/src/components/editor/editor-group/mapping-editor/PurePropertyMappingEditor.tsx +23 -15
- package/src/components/editor/editor-group/mapping-editor/TypeTree.tsx +6 -3
- package/src/components/editor/editor-group/mapping-editor/legacy/DEPRECATED__MappingTestEditor.tsx +2 -2
- package/src/components/editor/editor-group/mapping-editor/relational/RelationalPropertyMappingEditor.tsx +21 -14
- package/src/components/editor/editor-group/mapping-editor/relational/TableOrViewSourceTree.tsx +6 -3
- package/src/components/editor/editor-group/project-configuration-editor/ProjectDependencyEditor.tsx +1 -2
- package/src/components/editor/editor-group/service-editor/ServiceExecutionEditor.tsx +2 -2
- package/src/components/editor/editor-group/service-editor/ServiceExecutionQueryEditor.tsx +0 -1
- package/src/components/editor/editor-group/uml-editor/AssociationEditor.tsx +4 -4
- package/src/components/editor/editor-group/uml-editor/ClassEditor.tsx +10 -10
- package/src/components/editor/editor-group/uml-editor/EnumerationEditor.tsx +8 -8
- package/src/components/editor/editor-group/uml-editor/PropertyEditor.tsx +4 -4
- package/src/components/editor/panel-group/SQLPlaygroundPanel.tsx +7 -8
- package/src/components/editor/side-bar/CreateNewElementModal.tsx +2 -4
- package/src/components/editor/side-bar/Explorer.tsx +5 -2
- package/src/components/editor/side-bar/LocalChanges.tsx +10 -15
- package/src/components/editor/side-bar/WorkspaceReview.tsx +8 -11
- package/src/components/editor/side-bar/WorkspaceSyncConflictResolver.tsx +10 -15
- package/src/components/editor/side-bar/WorkspaceUpdateConflictResolver.tsx +10 -15
- package/src/components/editor/side-bar/WorkspaceUpdater.tsx +2 -4
- package/src/components/editor/side-bar/end-to-end-workflow/EndToEndWorkflows.tsx +1 -1
- package/src/components/editor/side-bar/testable/GlobalTestRunner.tsx +1 -1
- package/src/components/project-reviewer/ProjectReviewSideBar.tsx +8 -11
- package/src/stores/editor/editor-state/GraphGenerationState.ts +1 -2
- package/src/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.ts +5 -6
- package/src/stores/editor/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.ts +3 -3
- package/src/stores/editor/sidebar-state/WorkflowManagerState.ts +3 -5
- package/src/stores/editor/utils/FileSystemTreeUtils.ts +1 -2
@@ -14,7 +14,7 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
|
17
|
-
import { useCallback } from 'react';
|
17
|
+
import { useCallback, useRef } from 'react';
|
18
18
|
import { observer } from 'mobx-react-lite';
|
19
19
|
import {
|
20
20
|
type FlatDataPropertyMappingTransformDropTarget,
|
@@ -55,7 +55,7 @@ import { InlineLambdaEditor } from '@finos/legend-query-builder';
|
|
55
55
|
const SimplePropertyMappingEditor = observer(
|
56
56
|
(props: {
|
57
57
|
propertyMappingState: FlatDataPropertyMappingState;
|
58
|
-
|
58
|
+
dropConnector?: ConnectDropTarget | undefined;
|
59
59
|
dragItem?: FlatDataPropertyMappingTransformDropTarget | undefined;
|
60
60
|
transformProps: {
|
61
61
|
disableTransform: boolean;
|
@@ -63,7 +63,10 @@ const SimplePropertyMappingEditor = observer(
|
|
63
63
|
};
|
64
64
|
isReadOnly: boolean;
|
65
65
|
}) => {
|
66
|
-
const { propertyMappingState,
|
66
|
+
const { propertyMappingState, dropConnector, dragItem, transformProps } =
|
67
|
+
props;
|
68
|
+
const ref = useRef<HTMLDivElement>(null);
|
69
|
+
dropConnector?.(ref);
|
67
70
|
const propertyMapping = propertyMappingState.propertyMapping;
|
68
71
|
const expectedType =
|
69
72
|
propertyMapping.property.value.genericType.value.rawType;
|
@@ -82,7 +85,7 @@ const SimplePropertyMappingEditor = observer(
|
|
82
85
|
|
83
86
|
return (
|
84
87
|
<div className="property-mapping-editor__entry__container">
|
85
|
-
<div ref={
|
88
|
+
<div ref={ref} className="property-mapping-editor__entry">
|
86
89
|
<InlineLambdaEditor
|
87
90
|
className={clsx({ 'lambda-editor--dnd-match': canDrop })}
|
88
91
|
disabled={transformProps.disableTransform}
|
@@ -101,7 +104,7 @@ const SimplePropertyMappingEditor = observer(
|
|
101
104
|
const EnumerationPropertyMappingEditor = observer(
|
102
105
|
(props: {
|
103
106
|
propertyMappingState: FlatDataPropertyMappingState;
|
104
|
-
|
107
|
+
dropConnector?: ConnectDropTarget | undefined;
|
105
108
|
dragItem?: FlatDataPropertyMappingTransformDropTarget | undefined;
|
106
109
|
transformProps: {
|
107
110
|
disableTransform: boolean;
|
@@ -109,8 +112,15 @@ const EnumerationPropertyMappingEditor = observer(
|
|
109
112
|
};
|
110
113
|
isReadOnly: boolean;
|
111
114
|
}) => {
|
112
|
-
const {
|
113
|
-
|
115
|
+
const {
|
116
|
+
propertyMappingState,
|
117
|
+
dropConnector,
|
118
|
+
dragItem,
|
119
|
+
transformProps,
|
120
|
+
isReadOnly,
|
121
|
+
} = props;
|
122
|
+
const ref = useRef<HTMLDivElement>(null);
|
123
|
+
dropConnector?.(ref);
|
114
124
|
const editorStore = useEditorStore();
|
115
125
|
const mappingEditorState =
|
116
126
|
editorStore.tabManagerState.getCurrentEditorState(MappingEditorState);
|
@@ -186,7 +196,7 @@ const EnumerationPropertyMappingEditor = observer(
|
|
186
196
|
|
187
197
|
return (
|
188
198
|
<div className="property-mapping-editor__entry__container">
|
189
|
-
<div ref={
|
199
|
+
<div ref={ref} className="property-mapping-editor__entry">
|
190
200
|
<div className="property-mapping-editor__entry__enumeration-mapping-selector">
|
191
201
|
<CustomSelectorInput
|
192
202
|
disabled={options.length <= 1 || isReadOnly}
|
@@ -262,7 +272,7 @@ export const FlatDataPropertyMappingEditor = observer(
|
|
262
272
|
},
|
263
273
|
[disableEditingTransform, flatDataPropertyMappingState],
|
264
274
|
);
|
265
|
-
const [{ dragItem },
|
275
|
+
const [{ dragItem }, dropConnector] = useDrop<
|
266
276
|
FlatDataColumnDragSource,
|
267
277
|
void,
|
268
278
|
{ dragItem: FlatDataColumnDragSource | undefined }
|
@@ -294,7 +304,7 @@ export const FlatDataPropertyMappingEditor = observer(
|
|
294
304
|
return (
|
295
305
|
<SimplePropertyMappingEditor
|
296
306
|
propertyMappingState={flatDataPropertyMappingState}
|
297
|
-
|
307
|
+
dropConnector={dropConnector}
|
298
308
|
dragItem={dragItem}
|
299
309
|
transformProps={transformProps}
|
300
310
|
isReadOnly={isReadOnly}
|
@@ -304,7 +314,7 @@ export const FlatDataPropertyMappingEditor = observer(
|
|
304
314
|
return (
|
305
315
|
<EnumerationPropertyMappingEditor
|
306
316
|
propertyMappingState={flatDataPropertyMappingState}
|
307
|
-
|
317
|
+
dropConnector={dropConnector}
|
308
318
|
dragItem={dragItem}
|
309
319
|
transformProps={transformProps}
|
310
320
|
isReadOnly={isReadOnly}
|
@@ -14,7 +14,7 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
|
17
|
-
import { useState, useEffect } from 'react';
|
17
|
+
import { useState, useEffect, useRef } from 'react';
|
18
18
|
import { useDrag } from 'react-dnd';
|
19
19
|
import {
|
20
20
|
type TreeNodeContainerProps,
|
@@ -55,8 +55,7 @@ const getRecordTypeTreeData = (
|
|
55
55
|
const rootIds: string[] = [];
|
56
56
|
const nodes = new Map<string, FlatDataRecordTypeTreeNodeData>();
|
57
57
|
recordType.fields
|
58
|
-
.
|
59
|
-
.sort((a, b) => a.label.toString().localeCompare(b.label.toString()))
|
58
|
+
.toSorted((a, b) => a.label.toString().localeCompare(b.label.toString()))
|
60
59
|
.forEach((field) => {
|
61
60
|
const recordTypeTreeNodeData = getRecordTypeTreeNodeData(
|
62
61
|
field,
|
@@ -76,22 +75,24 @@ const RecordFieldTreeNodeContainer: React.FC<
|
|
76
75
|
> = (props) => {
|
77
76
|
const { node, level, stepPaddingInRem, onNodeSelect, innerProps } = props;
|
78
77
|
const { selectedType } = innerProps;
|
79
|
-
const [,
|
78
|
+
const [, dragConnector] = useDrag(
|
80
79
|
() => ({
|
81
80
|
type: CORE_DND_TYPE.TYPE_TREE_PRIMITIVE,
|
82
81
|
item: new FlatDataColumnDragSource(node),
|
83
82
|
}),
|
84
83
|
[node],
|
85
84
|
);
|
85
|
+
const ref = useRef<HTMLDivElement>(null);
|
86
|
+
dragConnector(ref);
|
86
87
|
const nodeTypeIcon = <PURE_PrimitiveTypeIcon />;
|
87
88
|
const selectNode = (): void => onNodeSelect?.(node);
|
88
89
|
const primitiveType = node.field.flatDataDataType._correspondingPrimitiveType;
|
89
90
|
|
90
91
|
return (
|
91
92
|
<div
|
93
|
+
ref={ref}
|
92
94
|
className="tree-view__node__container"
|
93
95
|
onClick={selectNode}
|
94
|
-
ref={dragRef}
|
95
96
|
style={{
|
96
97
|
paddingLeft: `${(level - 1) * (stepPaddingInRem ?? 1)}rem`,
|
97
98
|
display: 'flex',
|
package/src/components/editor/editor-group/mapping-editor/InstanceSetImplementationEditor.tsx
CHANGED
@@ -250,7 +250,7 @@ export const InstanceSetImplementationSourceExplorer = observer(
|
|
250
250
|
setImplementation,
|
251
251
|
],
|
252
252
|
);
|
253
|
-
const [{ isDragOver, canDrop },
|
253
|
+
const [{ isDragOver, canDrop }, dropConnector] = useDrop<
|
254
254
|
ElementDragSource,
|
255
255
|
void,
|
256
256
|
{ isDragOver: boolean; canDrop: boolean }
|
@@ -328,7 +328,7 @@ export const InstanceSetImplementationSourceExplorer = observer(
|
|
328
328
|
</PanelHeader>
|
329
329
|
<PanelContent>
|
330
330
|
<PanelDropZone
|
331
|
-
dropTargetConnector={
|
331
|
+
dropTargetConnector={dropConnector}
|
332
332
|
isDragOver={isDragOver && !isReadOnly}
|
333
333
|
>
|
334
334
|
{!isUnsupported && (
|
@@ -356,7 +356,7 @@ const MappingExecutionQueryEditor = observer(
|
|
356
356
|
},
|
357
357
|
[changeClassMapping],
|
358
358
|
);
|
359
|
-
const [{ isDragOver, canDrop },
|
359
|
+
const [{ isDragOver, canDrop }, dropConnector] = useDrop<
|
360
360
|
MappingElementDragSource,
|
361
361
|
void,
|
362
362
|
{ isDragOver: boolean; canDrop: boolean }
|
@@ -406,7 +406,7 @@ const MappingExecutionQueryEditor = observer(
|
|
406
406
|
{isStubbed_RawLambda(queryState.query) && (
|
407
407
|
<PanelContent>
|
408
408
|
<PanelDropZone
|
409
|
-
dropTargetConnector={
|
409
|
+
dropTargetConnector={dropConnector}
|
410
410
|
isDragOver={isDragOver}
|
411
411
|
>
|
412
412
|
<BlankPanelPlaceholder
|
@@ -515,7 +515,7 @@ export const MappingExecutionEmptyInputDataBuilder = observer(
|
|
515
515
|
},
|
516
516
|
[changeClassMapping],
|
517
517
|
);
|
518
|
-
const [{ isDragOver, canDrop },
|
518
|
+
const [{ isDragOver, canDrop }, dropConnector] = useDrop<
|
519
519
|
MappingElementDragSource,
|
520
520
|
void,
|
521
521
|
{ isDragOver: boolean; canDrop: boolean }
|
@@ -533,7 +533,10 @@ export const MappingExecutionEmptyInputDataBuilder = observer(
|
|
533
533
|
|
534
534
|
return (
|
535
535
|
<PanelContent>
|
536
|
-
<PanelDropZone
|
536
|
+
<PanelDropZone
|
537
|
+
dropTargetConnector={dropConnector}
|
538
|
+
isDragOver={isDragOver}
|
539
|
+
>
|
537
540
|
<BlankPanelPlaceholder
|
538
541
|
text="Choose a class mapping"
|
539
542
|
onClick={showClassMappingSelectorModal}
|
@@ -14,7 +14,7 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
|
17
|
-
import { useState, useCallback, forwardRef } from 'react';
|
17
|
+
import { useState, useCallback, forwardRef, useRef } from 'react';
|
18
18
|
import { observer } from 'mobx-react-lite';
|
19
19
|
import {
|
20
20
|
type MappingExplorerDropTarget,
|
@@ -223,7 +223,7 @@ export const MappingElementExplorer = observer(
|
|
223
223
|
mappingEditorState.openMappingElement(mappingElement, false);
|
224
224
|
const mappingElementTarget = getMappingElementTarget(mappingElement);
|
225
225
|
// Drag and Drop
|
226
|
-
const [,
|
226
|
+
const [, dragConnector] = useDrag(
|
227
227
|
() => ({
|
228
228
|
type:
|
229
229
|
mappingElement instanceof SetImplementation
|
@@ -233,6 +233,9 @@ export const MappingElementExplorer = observer(
|
|
233
233
|
}),
|
234
234
|
[mappingElement],
|
235
235
|
);
|
236
|
+
const ref = useRef<HTMLDivElement>(null);
|
237
|
+
dragConnector(ref);
|
238
|
+
|
236
239
|
// Selection
|
237
240
|
const isActive =
|
238
241
|
currentMappingElement?.id.value === mappingElement.id.value;
|
@@ -255,7 +258,7 @@ export const MappingElementExplorer = observer(
|
|
255
258
|
onClose={onContextMenuClose}
|
256
259
|
>
|
257
260
|
<div
|
258
|
-
ref={
|
261
|
+
ref={ref}
|
259
262
|
className={clsx(
|
260
263
|
'mapping-explorer__item',
|
261
264
|
{
|
@@ -328,7 +331,7 @@ const MappingElementTreeNodeContainer = observer(
|
|
328
331
|
mappingElementTarget.name
|
329
332
|
}'`;
|
330
333
|
// Drag and Drop
|
331
|
-
const [,
|
334
|
+
const [, dragConnector] = useDrag(
|
332
335
|
() => ({
|
333
336
|
type:
|
334
337
|
mappingElement instanceof SetImplementation
|
@@ -338,9 +341,12 @@ const MappingElementTreeNodeContainer = observer(
|
|
338
341
|
}),
|
339
342
|
[mappingElement],
|
340
343
|
);
|
344
|
+
const ref = useRef<HTMLDivElement>(null);
|
345
|
+
dragConnector(ref);
|
346
|
+
|
347
|
+
// Selection
|
341
348
|
const selectNode = (): void => onNodeSelect?.(node);
|
342
349
|
const onExpandIconClick = (): void => onNodeExpand(node);
|
343
|
-
// Selection
|
344
350
|
const isActive =
|
345
351
|
currentMappingElement?.id.value === mappingElement.id.value;
|
346
352
|
const [isSelectedFromContextMenu, setIsSelectedFromContextMenu] =
|
@@ -366,7 +372,7 @@ const MappingElementTreeNodeContainer = observer(
|
|
366
372
|
{ 'mapping-explorer__item--active': isActive },
|
367
373
|
)}
|
368
374
|
onClick={selectNode}
|
369
|
-
ref={
|
375
|
+
ref={ref}
|
370
376
|
style={{
|
371
377
|
paddingLeft: `${(level - 1) * (stepPaddingInRem ?? 1) + 0.5}rem`,
|
372
378
|
display: 'flex',
|
@@ -435,7 +441,7 @@ export const MappingExplorer = observer((props: { isReadOnly: boolean }) => {
|
|
435
441
|
}),
|
436
442
|
[isReadOnly, mappingEditorState],
|
437
443
|
);
|
438
|
-
const [{ isDragOver },
|
444
|
+
const [{ isDragOver }, dropConnector] = useDrop<
|
439
445
|
ElementDragSource,
|
440
446
|
void,
|
441
447
|
{ isDragOver: boolean }
|
@@ -541,7 +547,7 @@ export const MappingExplorer = observer((props: { isReadOnly: boolean }) => {
|
|
541
547
|
>
|
542
548
|
<PanelDropZone
|
543
549
|
isDragOver={isDragOver && !isReadOnly}
|
544
|
-
dropTargetConnector={
|
550
|
+
dropTargetConnector={dropConnector}
|
545
551
|
>
|
546
552
|
<div className="mapping-explorer__content">
|
547
553
|
<TreeView
|
@@ -346,7 +346,7 @@ export const MappingTestsExplorer = observer(
|
|
346
346
|
},
|
347
347
|
[applicationStore.alertUnhandledError, isReadOnly, mappingEditorState],
|
348
348
|
);
|
349
|
-
const [{ isDragOver },
|
349
|
+
const [{ isDragOver }, dropConnector] = useDrop<
|
350
350
|
MappingElementDragSource,
|
351
351
|
void,
|
352
352
|
{ isDragOver: boolean }
|
@@ -471,7 +471,7 @@ export const MappingTestsExplorer = observer(
|
|
471
471
|
>
|
472
472
|
<PanelDropZone
|
473
473
|
isDragOver={isDragOver && !isReadOnly}
|
474
|
-
dropTargetConnector={
|
474
|
+
dropTargetConnector={dropConnector}
|
475
475
|
>
|
476
476
|
<div className="mapping-test-explorer__content">
|
477
477
|
{Boolean(
|
package/src/components/editor/editor-group/mapping-editor/OperationSetImplementationEditor.tsx
CHANGED
@@ -152,7 +152,7 @@ export const OperationSetImplementationEditor = observer(
|
|
152
152
|
},
|
153
153
|
[setImplementation],
|
154
154
|
);
|
155
|
-
const [{ isDragOver },
|
155
|
+
const [{ isDragOver }, dropConnector] = useDrop<
|
156
156
|
MappingElementDragSource,
|
157
157
|
void,
|
158
158
|
{ isDragOver: boolean }
|
@@ -221,7 +221,7 @@ export const OperationSetImplementationEditor = observer(
|
|
221
221
|
</PanelHeader>
|
222
222
|
<PanelDropZone
|
223
223
|
isDragOver={isDragOver && !isReadOnly}
|
224
|
-
dropTargetConnector={
|
224
|
+
dropTargetConnector={dropConnector}
|
225
225
|
>
|
226
226
|
<PanelContent>
|
227
227
|
{setImplementation.parameters.map((param) => (
|
@@ -14,7 +14,7 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
|
17
|
-
import { useCallback } from 'react';
|
17
|
+
import { useCallback, useRef } from 'react';
|
18
18
|
import { observer } from 'mobx-react-lite';
|
19
19
|
import {
|
20
20
|
type TransformDropTarget,
|
@@ -55,7 +55,7 @@ import { InlineLambdaEditor } from '@finos/legend-query-builder';
|
|
55
55
|
const SimplePropertyMappingEditor = observer(
|
56
56
|
(props: {
|
57
57
|
propertyMappingState: PurePropertyMappingState;
|
58
|
-
|
58
|
+
dropConnector?: ConnectDropTarget | undefined;
|
59
59
|
dragItem?: TransformDropTarget | undefined;
|
60
60
|
transformProps: {
|
61
61
|
disableTransform: boolean;
|
@@ -63,7 +63,10 @@ const SimplePropertyMappingEditor = observer(
|
|
63
63
|
};
|
64
64
|
isReadOnly: boolean;
|
65
65
|
}) => {
|
66
|
-
const { propertyMappingState, transformProps,
|
66
|
+
const { propertyMappingState, transformProps, dropConnector, dragItem } =
|
67
|
+
props;
|
68
|
+
const ref = useRef<HTMLDivElement>(null);
|
69
|
+
dropConnector?.(ref);
|
67
70
|
const propertyMapping = propertyMappingState.propertyMapping;
|
68
71
|
const expectedType =
|
69
72
|
propertyMapping.property.value.genericType.value.rawType;
|
@@ -81,7 +84,7 @@ const SimplePropertyMappingEditor = observer(
|
|
81
84
|
|
82
85
|
return (
|
83
86
|
<div className="property-mapping-editor__entry__container">
|
84
|
-
<div ref={
|
87
|
+
<div ref={ref} className="property-mapping-editor__entry">
|
85
88
|
<InlineLambdaEditor
|
86
89
|
className={clsx({ 'lambda-editor--dnd-match': canDrop })}
|
87
90
|
disabled={transformProps.disableTransform}
|
@@ -100,7 +103,7 @@ const SimplePropertyMappingEditor = observer(
|
|
100
103
|
const EnumerationPropertyMappingEditor = observer(
|
101
104
|
(props: {
|
102
105
|
propertyMappingState: PurePropertyMappingState;
|
103
|
-
|
106
|
+
dropConnector?: ConnectDropTarget | undefined;
|
104
107
|
dragItem?: TransformDropTarget | undefined;
|
105
108
|
dragItemType: string;
|
106
109
|
transformProps: {
|
@@ -111,7 +114,7 @@ const EnumerationPropertyMappingEditor = observer(
|
|
111
114
|
}) => {
|
112
115
|
const {
|
113
116
|
propertyMappingState,
|
114
|
-
|
117
|
+
dropConnector,
|
115
118
|
dragItem,
|
116
119
|
dragItemType,
|
117
120
|
transformProps,
|
@@ -180,7 +183,10 @@ const EnumerationPropertyMappingEditor = observer(
|
|
180
183
|
}
|
181
184
|
}
|
182
185
|
};
|
186
|
+
|
183
187
|
// DnD
|
188
|
+
const ref = useRef<HTMLDivElement>(null);
|
189
|
+
dropConnector?.(ref);
|
184
190
|
// NOTE: when we drag enum, we should highlight if the enumeration where that enum is part of matches
|
185
191
|
const canDrop =
|
186
192
|
dragItem &&
|
@@ -190,7 +196,7 @@ const EnumerationPropertyMappingEditor = observer(
|
|
190
196
|
|
191
197
|
return (
|
192
198
|
<div className="property-mapping-editor__entry__container">
|
193
|
-
<div ref={
|
199
|
+
<div ref={ref} className="property-mapping-editor__entry">
|
194
200
|
<div className="property-mapping-editor__entry__enumeration-mapping-selector">
|
195
201
|
<CustomSelectorInput
|
196
202
|
disabled={options.length <= 1 || isReadOnly}
|
@@ -237,7 +243,7 @@ const EnumerationPropertyMappingEditor = observer(
|
|
237
243
|
const ClassPropertyMappingEditor = observer(
|
238
244
|
(props: {
|
239
245
|
propertyMappingState: PurePropertyMappingState;
|
240
|
-
|
246
|
+
dropConnector?: ConnectDropTarget | undefined;
|
241
247
|
dragItem?: TransformDropTarget | undefined;
|
242
248
|
transformProps: {
|
243
249
|
disableTransform: boolean;
|
@@ -245,7 +251,8 @@ const ClassPropertyMappingEditor = observer(
|
|
245
251
|
};
|
246
252
|
isReadOnly: boolean;
|
247
253
|
}) => {
|
248
|
-
const { propertyMappingState,
|
254
|
+
const { propertyMappingState, dropConnector, dragItem, transformProps } =
|
255
|
+
props;
|
249
256
|
const editorStore = useEditorStore();
|
250
257
|
const mappingEditorState =
|
251
258
|
editorStore.tabManagerState.getCurrentEditorState(MappingEditorState);
|
@@ -280,12 +287,13 @@ const ClassPropertyMappingEditor = observer(
|
|
280
287
|
}
|
281
288
|
};
|
282
289
|
// Drag and Drop
|
283
|
-
|
290
|
+
const ref = useRef<HTMLDivElement>(null);
|
291
|
+
dropConnector?.(ref);
|
284
292
|
const canDrop = dragItem?.data?.type && dragItem.data.type === expectedType;
|
285
293
|
|
286
294
|
return (
|
287
295
|
<div className="property-mapping-editor__entry__container">
|
288
|
-
<div ref={
|
296
|
+
<div ref={ref} className="property-mapping-editor__entry">
|
289
297
|
<div className="property-mapping-editor__entry__id">
|
290
298
|
<div
|
291
299
|
className={clsx('property-mapping-editor__entry__id__label', {
|
@@ -362,7 +370,7 @@ export const PurePropertyMappingEditor = observer(
|
|
362
370
|
},
|
363
371
|
[disableEditingTransform, purePropertyMappingState],
|
364
372
|
);
|
365
|
-
const [{ dragItem, dragItemType },
|
373
|
+
const [{ dragItem, dragItemType }, dropConnector] = useDrop<
|
366
374
|
TypeDragSource,
|
367
375
|
void,
|
368
376
|
{
|
@@ -402,7 +410,7 @@ export const PurePropertyMappingEditor = observer(
|
|
402
410
|
return (
|
403
411
|
<SimplePropertyMappingEditor
|
404
412
|
propertyMappingState={purePropertyMappingState}
|
405
|
-
|
413
|
+
dropConnector={dropConnector}
|
406
414
|
dragItem={dragItem}
|
407
415
|
transformProps={transformProps}
|
408
416
|
isReadOnly={isReadOnly}
|
@@ -412,7 +420,7 @@ export const PurePropertyMappingEditor = observer(
|
|
412
420
|
return (
|
413
421
|
<EnumerationPropertyMappingEditor
|
414
422
|
propertyMappingState={purePropertyMappingState}
|
415
|
-
|
423
|
+
dropConnector={dropConnector}
|
416
424
|
dragItem={dragItem}
|
417
425
|
dragItemType={dragItemType}
|
418
426
|
transformProps={transformProps}
|
@@ -423,7 +431,7 @@ export const PurePropertyMappingEditor = observer(
|
|
423
431
|
return (
|
424
432
|
<ClassPropertyMappingEditor
|
425
433
|
propertyMappingState={purePropertyMappingState}
|
426
|
-
|
434
|
+
dropConnector={dropConnector}
|
427
435
|
dragItem={dragItem}
|
428
436
|
transformProps={transformProps}
|
429
437
|
isReadOnly={isReadOnly}
|
@@ -14,7 +14,7 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
|
17
|
-
import { useState, useEffect } from 'react';
|
17
|
+
import { useState, useEffect, useRef } from 'react';
|
18
18
|
import {
|
19
19
|
isNonNullable,
|
20
20
|
IllegalStateError,
|
@@ -159,10 +159,13 @@ const TypeTreeNodeContainer: React.FC<
|
|
159
159
|
> = (props) => {
|
160
160
|
const { node, level, stepPaddingInRem, onNodeSelect, innerProps } = props;
|
161
161
|
const { selectedType } = innerProps;
|
162
|
-
const [,
|
162
|
+
const [, dragConnector] = useDrag(
|
163
163
|
() => ({ type: node.dndType, item: new TypeDragSource(node) }),
|
164
164
|
[node],
|
165
165
|
);
|
166
|
+
const ref = useRef<HTMLDivElement>(null);
|
167
|
+
dragConnector(ref);
|
168
|
+
|
166
169
|
const isExpandable = Boolean(node.childrenIds?.length);
|
167
170
|
const nodeTypeIcon = node.type ? (
|
168
171
|
getClassPropertyIcon(node.type)
|
@@ -186,7 +189,7 @@ const TypeTreeNodeContainer: React.FC<
|
|
186
189
|
'type-tree__node__container--highlighted': node.type === selectedType,
|
187
190
|
})}
|
188
191
|
onClick={selectNode}
|
189
|
-
ref={
|
192
|
+
ref={ref}
|
190
193
|
style={{
|
191
194
|
paddingLeft: `${(level - 1) * (stepPaddingInRem ?? 1)}rem`,
|
192
195
|
display: 'flex',
|
package/src/components/editor/editor-group/mapping-editor/legacy/DEPRECATED__MappingTestEditor.tsx
CHANGED
@@ -232,7 +232,7 @@ const MappingTestQueryEditor = observer(
|
|
232
232
|
},
|
233
233
|
[changeClassMapping],
|
234
234
|
);
|
235
|
-
const [{ isDragOver, canDrop },
|
235
|
+
const [{ isDragOver, canDrop }, dropConnector] = useDrop<
|
236
236
|
MappingElementDragSource,
|
237
237
|
void,
|
238
238
|
{ isDragOver: boolean; canDrop: boolean }
|
@@ -314,7 +314,7 @@ const MappingTestQueryEditor = observer(
|
|
314
314
|
{isStubbed_RawLambda(queryState.query) && (
|
315
315
|
<PanelContent>
|
316
316
|
<PanelDropZone
|
317
|
-
dropTargetConnector={
|
317
|
+
dropTargetConnector={dropConnector}
|
318
318
|
isDragOver={isDragOver}
|
319
319
|
>
|
320
320
|
<BlankPanelPlaceholder
|
@@ -14,7 +14,7 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
|
17
|
-
import { useCallback } from 'react';
|
17
|
+
import { useCallback, useRef } from 'react';
|
18
18
|
import { observer } from 'mobx-react-lite';
|
19
19
|
import {
|
20
20
|
EmbeddedRelationalInstanceSetImplementationState,
|
@@ -56,17 +56,19 @@ import { InlineLambdaEditor } from '@finos/legend-query-builder';
|
|
56
56
|
const SimplePropertyMappingEditor = observer(
|
57
57
|
(props: {
|
58
58
|
propertyMappingState: RelationalPropertyMappingState;
|
59
|
-
|
59
|
+
dropConnector?: ConnectDropTarget;
|
60
60
|
transformProps: {
|
61
61
|
disableTransform: boolean;
|
62
62
|
forceBackdrop: boolean;
|
63
63
|
};
|
64
64
|
isReadOnly: boolean;
|
65
65
|
}) => {
|
66
|
-
const { propertyMappingState,
|
66
|
+
const { propertyMappingState, dropConnector, transformProps } = props;
|
67
|
+
const ref = useRef<HTMLDivElement>(null);
|
68
|
+
dropConnector?.(ref);
|
67
69
|
return (
|
68
70
|
<div className="property-mapping-editor__entry__container">
|
69
|
-
<div ref={
|
71
|
+
<div ref={ref} className="property-mapping-editor__entry">
|
70
72
|
<InlineLambdaEditor
|
71
73
|
disabled={transformProps.disableTransform}
|
72
74
|
lambdaEditorState={propertyMappingState}
|
@@ -81,14 +83,17 @@ const SimplePropertyMappingEditor = observer(
|
|
81
83
|
const EnumerationPropertyMappingEditor = observer(
|
82
84
|
(props: {
|
83
85
|
propertyMappingState: RelationalPropertyMappingState;
|
84
|
-
|
86
|
+
dropConnector?: ConnectDropTarget;
|
85
87
|
transformProps: {
|
86
88
|
disableTransform: boolean;
|
87
89
|
forceBackdrop: boolean;
|
88
90
|
};
|
89
91
|
isReadOnly: boolean;
|
90
92
|
}) => {
|
91
|
-
const { propertyMappingState,
|
93
|
+
const { propertyMappingState, dropConnector, transformProps, isReadOnly } =
|
94
|
+
props;
|
95
|
+
const ref = useRef<HTMLDivElement>(null);
|
96
|
+
dropConnector?.(ref);
|
92
97
|
const editorStore = useEditorStore();
|
93
98
|
const mappingEditorState =
|
94
99
|
editorStore.tabManagerState.getCurrentEditorState(MappingEditorState);
|
@@ -149,7 +154,7 @@ const EnumerationPropertyMappingEditor = observer(
|
|
149
154
|
|
150
155
|
return (
|
151
156
|
<div className="property-mapping-editor__entry__container">
|
152
|
-
<div ref={
|
157
|
+
<div ref={ref} className="property-mapping-editor__entry">
|
153
158
|
<div className="property-mapping-editor__entry__enumeration-mapping-selector">
|
154
159
|
<CustomSelectorInput
|
155
160
|
disabled={options.length <= 1 || isReadOnly}
|
@@ -192,14 +197,16 @@ const EnumerationPropertyMappingEditor = observer(
|
|
192
197
|
const ClassPropertyMappingEditor = observer(
|
193
198
|
(props: {
|
194
199
|
propertyMappingState: RelationalPropertyMappingState;
|
195
|
-
|
200
|
+
dropConnector?: ConnectDropTarget;
|
196
201
|
transformProps: {
|
197
202
|
disableTransform: boolean;
|
198
203
|
forceBackdrop: boolean;
|
199
204
|
};
|
200
205
|
isReadOnly: boolean;
|
201
206
|
}) => {
|
202
|
-
const { propertyMappingState,
|
207
|
+
const { propertyMappingState, dropConnector, transformProps } = props;
|
208
|
+
const ref = useRef<HTMLDivElement>(null);
|
209
|
+
dropConnector?.(ref);
|
203
210
|
const editorStore = useEditorStore();
|
204
211
|
const mappingEditorState =
|
205
212
|
editorStore.tabManagerState.getCurrentEditorState(MappingEditorState);
|
@@ -237,7 +244,7 @@ const ClassPropertyMappingEditor = observer(
|
|
237
244
|
|
238
245
|
return (
|
239
246
|
<div className="property-mapping-editor__entry__container">
|
240
|
-
<div ref={
|
247
|
+
<div ref={ref} className="property-mapping-editor__entry">
|
241
248
|
<div className="property-mapping-editor__entry__id">
|
242
249
|
<div
|
243
250
|
className={clsx('property-mapping-editor__entry__id__label', {
|
@@ -302,7 +309,7 @@ export const RelationalPropertyMappingEditor = observer(
|
|
302
309
|
},
|
303
310
|
[disableEditingTransform, relationalPropertyMappingState],
|
304
311
|
);
|
305
|
-
const [,
|
312
|
+
const [, dropConnector] = useDrop<TableOrViewTreeNodeDragSource>(
|
306
313
|
() => ({
|
307
314
|
accept: [TABLE_ELEMENT_DND_TYPE],
|
308
315
|
drop: (item) => handleDrop(item),
|
@@ -326,7 +333,7 @@ export const RelationalPropertyMappingEditor = observer(
|
|
326
333
|
return (
|
327
334
|
<SimplePropertyMappingEditor
|
328
335
|
propertyMappingState={relationalPropertyMappingState}
|
329
|
-
|
336
|
+
dropConnector={dropConnector}
|
330
337
|
transformProps={transformProps}
|
331
338
|
isReadOnly={isReadOnly}
|
332
339
|
/>
|
@@ -335,7 +342,7 @@ export const RelationalPropertyMappingEditor = observer(
|
|
335
342
|
return (
|
336
343
|
<EnumerationPropertyMappingEditor
|
337
344
|
propertyMappingState={relationalPropertyMappingState}
|
338
|
-
|
345
|
+
dropConnector={dropConnector}
|
339
346
|
transformProps={transformProps}
|
340
347
|
isReadOnly={isReadOnly}
|
341
348
|
/>
|
@@ -355,7 +362,7 @@ export const RelationalPropertyMappingEditor = observer(
|
|
355
362
|
return (
|
356
363
|
<ClassPropertyMappingEditor
|
357
364
|
propertyMappingState={relationalPropertyMappingState}
|
358
|
-
|
365
|
+
dropConnector={dropConnector}
|
359
366
|
transformProps={transformProps}
|
360
367
|
isReadOnly={isReadOnly}
|
361
368
|
/>
|
package/src/components/editor/editor-group/mapping-editor/relational/TableOrViewSourceTree.tsx
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
|
17
|
-
import { useState, useEffect } from 'react';
|
17
|
+
import { useState, useEffect, useRef } from 'react';
|
18
18
|
import { useDrag } from 'react-dnd';
|
19
19
|
import {
|
20
20
|
type TreeNodeContainerProps,
|
@@ -245,13 +245,16 @@ const RelationalOperationElementTreeNodeContainer: React.FC<
|
|
245
245
|
>
|
246
246
|
> = (props) => {
|
247
247
|
const { node, level, stepPaddingInRem, onNodeSelect } = props;
|
248
|
-
const [,
|
248
|
+
const [, dragConnector] = useDrag(
|
249
249
|
() => ({
|
250
250
|
type: TABLE_ELEMENT_DND_TYPE,
|
251
251
|
item: new TableOrViewTreeNodeDragSource(node),
|
252
252
|
}),
|
253
253
|
[node],
|
254
254
|
);
|
255
|
+
const ref = useRef<HTMLDivElement>(null);
|
256
|
+
dragConnector(ref);
|
257
|
+
|
255
258
|
const isExpandable = Boolean(node.childrenIds?.length);
|
256
259
|
const nodeTypeIcon =
|
257
260
|
node instanceof ColumnNodeData ? (
|
@@ -274,7 +277,7 @@ const RelationalOperationElementTreeNodeContainer: React.FC<
|
|
274
277
|
<div
|
275
278
|
className="tree-view__node__container"
|
276
279
|
onClick={selectNode}
|
277
|
-
ref={
|
280
|
+
ref={ref}
|
278
281
|
style={{
|
279
282
|
paddingLeft: `${(level - 1) * (stepPaddingInRem ?? 1)}rem`,
|
280
283
|
display: 'flex',
|