diff options
Diffstat (limited to 'cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/functions-attribute/functions-attribute.component.ts')
-rw-r--r-- | cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/functions-attribute/functions-attribute.component.ts | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/functions-attribute/functions-attribute.component.ts b/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/functions-attribute/functions-attribute.component.ts index f46004b0b..8780621ea 100644 --- a/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/functions-attribute/functions-attribute.component.ts +++ b/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/functions-attribute/functions-attribute.component.ts @@ -139,7 +139,7 @@ export class FunctionsAttributeComponent implements OnInit, OnDestroy { if (inputs) { for (const [key, value] of Object.entries(inputs)) { console.log(key + ' - ' + value); - if (typeof value === 'object') { + if (this.isValidJson(value)) { this.currentFuncion.inputs[key] = JSON.stringify(value); } else { this.currentFuncion.inputs[key] = value; @@ -154,6 +154,25 @@ export class FunctionsAttributeComponent implements OnInit, OnDestroy { } } } + + isValidJson(val) { + try { + JSON.parse(val); + return true; + } catch (e) { } + return false; + } + + jsonToStr(json) { + return JSON.stringify(json); + } + + bind(key, e) { + const val = JSON.parse(e.target.value); + this.currentFuncion.inputs[key] = { + ...val + }; + } ngOnDestroy() { this.ngUnsubscribe.next(); this.ngUnsubscribe.complete(); |