Skip to content

Commit c24cde4

Browse files
authored
Merge pull request wso2#250 from madushajg/idm-query
[Inline Data Mapper] Fix create mappings within query expressinos with top level arrays
2 parents e7bfd23 + 690e518 commit c24cde4

3 files changed

Lines changed: 22 additions & 3 deletions

File tree

workspaces/ballerina/data-mapper-view/src/components/DataMapper/DataMapper.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,18 @@ const classes = {
100100
position: 'absolute',
101101
left: '50%',
102102
transform: 'translateX(-50%)'
103+
}),
104+
errorBanner: css({
105+
borderColor: "var(--vscode-errorForeground)"
106+
}),
107+
errorMessage: css({
108+
zIndex: 1,
109+
position: 'absolute',
110+
top: '50%',
111+
left: '50%',
112+
transform: 'translate(-50%, -50%)',
113+
width: '500px',
114+
animation: `${fadeIn} 0.5s ease-in-out`
103115
})
104116
}
105117

workspaces/ballerina/inline-data-mapper/src/components/Diagram/Node/ArrayOutput/ArrayOutputNode.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ export class ArrayOutputNode extends DataMapperNodeModel {
8888
field: this.outputType.member,
8989
type: "IN",
9090
parentId: this.rootName,
91-
mappings,
91+
mappings: element.mappings,
9292
portPrefix: ARRAY_OUTPUT_TARGET_PORT_PREFIX,
9393
parent: parentPort,
9494
collapsedFields,
@@ -128,8 +128,8 @@ export class ArrayOutputNode extends DataMapperNodeModel {
128128

129129
private createLinks(mappings: Mapping[]) {
130130
mappings.forEach((mapping) => {
131-
const { isComplex, inputs, output, expression, diagnostics } = mapping;
132-
if (isComplex || inputs.length !== 1) {
131+
const { isComplex, isQueryExpression, isFunctionCall, inputs, output, expression, diagnostics } = mapping;
132+
if (isComplex || isQueryExpression || isFunctionCall || inputs.length !== 1) {
133133
// Complex mappings are handled in the LinkConnectorNode
134134
return;
135135
}

workspaces/ballerina/inline-data-mapper/src/components/Diagram/Node/Input/InputNode.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,13 @@ export class InputNode extends DataMapperNodeModel {
100100
});
101101
});
102102
} else if (this.filteredInputType.kind === TypeKind.Array) {
103+
const focusedMemberId = this.filteredInputType?.focusedMemberId;
104+
if (focusedMemberId) {
105+
const focusedMemberField = this.context.model.inputs.find(input => input.id === focusedMemberId);
106+
if (focusedMemberField) {
107+
this.filteredInputType.member = focusedMemberField;
108+
}
109+
}
103110
this.numberOfFields += this.addPortsForInputField({
104111
field: this.filteredInputType?.member,
105112
portType: "OUT",

0 commit comments

Comments
 (0)