From 5ea1a4f424ba502e7f9de32dfbbc599f3dd8198b Mon Sep 17 00:00:00 2001 From: Christos Tranoris Date: Wed, 6 Dec 2023 15:03:37 +0200 Subject: [PATCH] attempt for fixing #5 --- .../service-rule-design.component.html | 1 + .../service-rule-design.component.ts | 16 ++++++++ src/assets/blockly/custom_blocks.js | 38 +++++++++++++++++++ 3 files changed, 55 insertions(+) diff --git a/src/app/p_services/admin/lifeCycleManagement/service-rule-design/service-rule-design.component.html b/src/app/p_services/admin/lifeCycleManagement/service-rule-design/service-rule-design.component.html index fd08ecc..3e47d75 100644 --- a/src/app/p_services/admin/lifeCycleManagement/service-rule-design/service-rule-design.component.html +++ b/src/app/p_services/admin/lifeCycleManagement/service-rule-design/service-rule-design.component.html @@ -132,6 +132,7 @@ + diff --git a/src/app/p_services/admin/lifeCycleManagement/service-rule-design/service-rule-design.component.ts b/src/app/p_services/admin/lifeCycleManagement/service-rule-design/service-rule-design.component.ts index 5e620b0..e3214ec 100644 --- a/src/app/p_services/admin/lifeCycleManagement/service-rule-design/service-rule-design.component.ts +++ b/src/app/p_services/admin/lifeCycleManagement/service-rule-design/service-rule-design.component.ts @@ -609,6 +609,22 @@ export class ServiceRuleDesignComponent implements OnInit { return [code, Blockly.Java.ORDER_ATOMIC]; }; + + Blockly.Java['text_format_multi'] = function(block: { getFieldValue: (arg0: string) => any; }) { + // Text value. + + var atext = Blockly.Java.valueToCode(block, 'TEXT', Blockly.Java.ORDER_NONE) || '""'; + //atext = '"""\n' + block.getFieldValue('TEXT') + '\n"""\n'; + + var objects = Blockly.Java.valueToCode(block, 'VARIABLES', Blockly.Java.ORDER_NONE) || null; + + objects = objects.replace('[', ' ,'); + objects = objects.replace(']', ' '); + + + var code = 'String.format(' + atext + objects + ')'; + return [code, Blockly.Java.ORDER_ATOMIC]; + }; Blockly.Java['changecharacteristicvalue'] = function (block: any) { // Print statement. diff --git a/src/assets/blockly/custom_blocks.js b/src/assets/blockly/custom_blocks.js index 4a834e1..51d44d0 100644 --- a/src/assets/blockly/custom_blocks.js +++ b/src/assets/blockly/custom_blocks.js @@ -81,6 +81,44 @@ Blockly.defineBlocksWithJsonArray([ return new Blockly.FieldImage(Blockly.pathToMedia + file, 12, 12, '"'); } }; + + + + Blockly.Blocks['text_format_multi'] = { + /** + * Block for text value. + * @this Blockly.Block + */ + init: function() { + + this.appendValueInput("TEXT") + .setCheck("String") + .setAlign(Blockly.ALIGN_RIGHT) + .appendField("Input(String)"); + this.appendValueInput("VARIABLES") + .setCheck("Array") + .setAlign(Blockly.ALIGN_RIGHT) + .appendField("Variables(Array)"); + + this.setOutput(true, 'String'); + this.setColour(160); + this.setTooltip("A formatted text replacing variables from a list\n %s for Strings\n %n for Numbers, etc"); + }, + /** + * Create an image of an open or closed quote. + * @param {boolean} open True if open quote, false if closed. + * @return {!Blockly.FieldImage} The field image of the quote. + * @private + */ + newQuote_: function(open) { + if (open == Blockly.RTL) { + var file = 'quote1.png'; + } else { + var file = 'quote0.png'; + } + return new Blockly.FieldImage(Blockly.pathToMedia + file, 12, 12, '"'); + } + }; /*************************************************************************** * -- GitLab