Skip to content

Commit ad2a402

Browse files
authored
fix(designer): Reverting part of #7006 (#7267)
* filtering fixes * :revert "fix(designer): Reset id replacements when reset designer dirty state (#7105)" This reverts commit fefe073. * revert part of pr * revert * fix test * Actully fix test
1 parent f5b503c commit ad2a402

File tree

2 files changed

+14
-13
lines changed

2 files changed

+14
-13
lines changed

libs/designer/src/lib/core/utils/parameters/__test__/segment.spec.ts

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -70,19 +70,17 @@ describe('core/utils/parameters/segment', () => {
7070
expectOutputTokenSegment(segments[1], 'b', OutputSource.Body, 'bar', 'outputs.$.body.bar', undefined, true);
7171
});
7272

73-
it('should have double quote for single non interpolated token.', () => {
73+
it('should not have double quote for single non interpolated token.', () => {
7474
const convertor = new ValueSegmentConvertor();
7575
const segments = convertor.convertToValueSegments({
7676
foo: '@triggerBody().foo',
7777
});
78-
expect(segments.length).toEqual(7);
78+
expect(segments.length).toEqual(5);
7979
expectLiteralSegment(segments[0], '{\n ');
8080
expectLiteralSegment(segments[1], '"foo"');
8181
expectLiteralSegment(segments[2], ': ');
82-
expectLiteralSegment(segments[3], '"');
83-
expectOutputTokenSegment(segments[4], undefined, OutputSource.Body, 'foo', 'outputs.$.body.foo', undefined, true);
84-
expectLiteralSegment(segments[5], '"');
85-
expectLiteralSegment(segments[6], '\n}');
82+
expectOutputTokenSegment(segments[3], undefined, OutputSource.Body, 'foo', 'outputs.$.body.foo', undefined, true);
83+
expectLiteralSegment(segments[4], '\n}');
8684
});
8785

8886
it('should add @ if the string starts with @ when raw mode is enabled.', () => {
@@ -181,7 +179,7 @@ describe('core/utils/parameters/segment', () => {
181179
interpolation: "@{triggerBody().foo}@{variables('v')}",
182180
expression: '@triggerBody().foo',
183181
});
184-
expect(segments.length).toEqual(20);
182+
expect(segments.length).toEqual(18);
185183
expectLiteralSegment(segments[0], '{\n ');
186184
expectLiteralSegment(segments[1], '"boolean"');
187185
expectLiteralSegment(segments[2], ': false,\n ');
@@ -198,10 +196,8 @@ describe('core/utils/parameters/segment', () => {
198196
expectLiteralSegment(segments[13], ',\n ');
199197
expectLiteralSegment(segments[14], '"expression"');
200198
expectLiteralSegment(segments[15], ': ');
201-
expectLiteralSegment(segments[16], '"');
202-
expectOutputTokenSegment(segments[17], undefined, OutputSource.Body, 'foo', 'outputs.$.body.foo', undefined, true);
203-
expectLiteralSegment(segments[18], '"');
204-
expectLiteralSegment(segments[19], '\n}');
199+
expectOutputTokenSegment(segments[16], undefined, OutputSource.Body, 'foo', 'outputs.$.body.foo', undefined, true);
200+
expectLiteralSegment(segments[17], '\n}');
205201
});
206202

207203
it('should convert FX token expression to token segment successfully.', () => {

libs/designer/src/lib/core/utils/parameters/segment.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,13 @@ export class ValueSegmentConvertor {
127127
const expression = ExpressionParser.parseTemplateExpression(value);
128128
const segments = this._convertTemplateExpressionToValueSegments(expression);
129129

130-
// Note: Previously if there was a non-interpolated single expression, we wouldn't surround with double quotes.
131-
// However, this just complicates the logic on deserialization/serialization when it can be managed by the interpolated expression.
130+
// Note: If an non-interpolated expression is turned into a single TOKEN, we don't surround with double quote. Otherwise,
131+
// double quotes are added to surround the expression. This is the existing behaviour.
132+
133+
if (segments.length === 1 && isTokenValueSegment(segments[0]) && !isStringInterpolation(expression)) {
134+
return segments;
135+
}
136+
132137
const escapedSegments = segments.map((segment) => {
133138
// Note: All literal segments must be escaped since they are inside a JSON string.
134139
if (isLiteralValueSegment(segment)) {

0 commit comments

Comments
 (0)