diff --git a/.gitignore b/.gitignore index 889c261b9f93de3260709607cc42c535724a7b1b..1f2405bfd38f19242334cdeb83d1575692189c05 100644 --- a/.gitignore +++ b/.gitignore @@ -49,3 +49,4 @@ src/assets/config/config.prod.json src/assets/config/config.theming.json /src/assets/config/theming.scss /.angular +/.tmp/ 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 faf71991ba42bb1baad4ad7655979f55004fd954..fd08ecce31414333aebbf3a8a03cc20622e2c4f4 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 @@ -128,8 +128,10 @@ - - + + + + 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 9001a4c2fc9472595f8956ccda723c6064a306d3..5e620b08d8a2846f539af13d83b61be4fa29320b 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 @@ -108,6 +108,7 @@ export class ServiceRuleDesignComponent implements OnInit { this.workspace = Blockly.inject('blocklyDiv', { toolbox: document.getElementById('toolbox'), + theme: Blockly.Themes.Halloween, trashcan: true, scrollbars: true }); @@ -601,7 +602,13 @@ export class ServiceRuleDesignComponent implements OnInit { // workspace.registerToolboxCategoryCallback( 'SPECCHARVARIABLES_BOOL', this.charvarsBool); // workspace.registerToolboxCategoryCallback( 'SPECCHARVARIABLES_SET', this.charvarsSet); - + Blockly.Java['literal_text_multiline'] = function(block: { getFieldValue: (arg0: string) => any; }) { + // Text value. + var code = '"""\n' + block.getFieldValue('TEXT') + '\n"""\n'; + + return [code, Blockly.Java.ORDER_ATOMIC]; + }; + Blockly.Java['changecharacteristicvalue'] = function (block: any) { // Print statement. 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 f269283a23bc4aa5e7c5d5baaf3dd85b7fe6c736..84cd53c1fa4a89647bd82aaecde564e838a7880e 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 @@ -2107,7 +2107,12 @@ Blockly.Java['lists_getSublist'] = function(block: { getFieldValue: (arg0: strin }; + + + + + Blockly.Java['literal_text'] = function(block: { getFieldValue: (arg0: string) => any; }) { // Text value. var code = Blockly.Java.quote_(block.getFieldValue('TEXT')); diff --git a/src/assets/blockly/custom_blocks.js b/src/assets/blockly/custom_blocks.js index 7496b54cc7fd16437e1564330dcc74bbed039203..4a834e1ae84d15bd6311b412d9387f4fcb207d29 100644 --- a/src/assets/blockly/custom_blocks.js +++ b/src/assets/blockly/custom_blocks.js @@ -42,8 +42,45 @@ Blockly.defineBlocksWithJsonArray([ } ]); + /*************************************************************************** + * + * Text RELATED + * + ****************************************************************************/ - + Blockly.Blocks['literal_text_multiline'] = { + /** + * Block for text value. + * @this Blockly.Block + */ + init: function() { + + var bff = new Blockly.FieldMultilineInput(''); + bff.maxLines_ = 15; + + this.appendDummyInput() + .appendField(this.newQuote_(true)) + .appendField( bff, 'TEXT') + .appendField(this.newQuote_(false)); + this.setOutput(true, 'String'); + this.setColour(180); + this.setTooltip("A multi-line text input"); + }, + /** + * 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, '"'); + } + }; /*************************************************************************** * diff --git a/src/assets/blockly/custom_java_blocks.js b/src/assets/blockly/custom_java_blocks.js index 030d18d68186a2179e65ea760d672901805a43d1..852603032024d9e206cc29aa95e50b84f8eeec8d 100644 --- a/src/assets/blockly/custom_java_blocks.js +++ b/src/assets/blockly/custom_java_blocks.js @@ -450,6 +450,27 @@ } }; + Blockly.Themes.Halloween = Blockly.Theme.defineTheme('halloween', { + + 'base': Blockly.Themes.Classic, + 'fontStyle': { + 'family': 'consolas', + 'weight': 'normal', + 'size': 8 + + }, + + 'categoryStyles': { + }, + 'blockStyles': { + }, + 'componentStyles': { + + } +}); + + + Blockly.Blocks['literal_text'] = { /** * Block for text value.