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 d43e091d0073c09ea6d89b16e36d9e3281d66279..38a27c85ac09a75e5eabd2a2cbcd7b3fe4a6e77f 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 @@ -198,6 +198,23 @@ + + + + textVariable + + + + + before + + + + + after + + + diff --git a/src/app/p_services/admin/lifeCycleManagement/services/blockly-java.service.ts b/src/app/p_services/admin/lifeCycleManagement/services/blockly-java.service.ts index 84cd53c1fa4a89647bd82aaecde564e838a7880e..ae12457a1552a421e087c4b3bbbd12dd0ac20667 100644 --- a/src/app/p_services/admin/lifeCycleManagement/services/blockly-java.service.ts +++ b/src/app/p_services/admin/lifeCycleManagement/services/blockly-java.service.ts @@ -803,6 +803,18 @@ export class BlocklyJavaService { return [argument0 + operator, Blockly.Java.ORDER_FUNCTION_CALL]; }; + Blockly.Java['text_replace'] = function (block: { getFieldValue: (arg0: string) => string; }) { + // Search the text for a substring. + var argument0 = Blockly.Java.valueToCode(block, 'SEARCH', + Blockly.Java.ORDER_NONE) || '""'; + var argument1 = Blockly.Java.valueToCode(block, 'REPLACE', + Blockly.Java.ORDER_NONE) || '""'; + var argument2 = Blockly.Java.valueToCode(block, 'STRING', + Blockly.Java.ORDER_MEMBER) || '""'; + var code = argument2 + '.replace(' + argument0 + ',' + argument1 + ')'; + return [code, Blockly.Java.ORDER_MEMBER]; + }; + Blockly.Java['text_print'] = function (block: any) { // Print statement. var argument0 = Blockly.Java.valueToCode(block, 'TEXT', diff --git a/src/assets/blockly/custom_java_blocks.js b/src/assets/blockly/custom_java_blocks.js index 852603032024d9e206cc29aa95e50b84f8eeec8d..64ea0d93894909334d67922fb5b00aedecbdf0c9 100644 --- a/src/assets/blockly/custom_java_blocks.js +++ b/src/assets/blockly/custom_java_blocks.js @@ -706,6 +706,32 @@ Blockly.Blocks['variable_set_string'] = { customContextMenu: Blockly.Blocks['variables_get'].customContextMenu }; +Blockly.Blocks['text_replace'] = { + /** + * Block for string replacement. + * @this Blockly.Block + */ + init: function() { + this.setStyle('text_blocks'); + + this.appendValueInput("STRING") + .setCheck("String") + .appendField("in text"); + + this.appendValueInput("SEARCH") + .setCheck("String") + .appendField("replace"); + + this.appendValueInput('REPLACE') + .setCheck("String") + .appendField("with"); + + this.setInputsInline(true); + this.setOutput(true,'String'); + this.setTooltip("Replaces all occurrences of a substring in a string with another"); + }, +}; +