From 7d715f073a0b318f62d8160ac707f9cf7379887f Mon Sep 17 00:00:00 2001 From: McSam Date: Thu, 20 Jun 2019 17:39:58 +0800 Subject: [PATCH 1/9] misc block error --- src/botPage/view/blockly/blocks/trade/index.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/botPage/view/blockly/blocks/trade/index.js b/src/botPage/view/blockly/blocks/trade/index.js index 9468c61588..1b795554bf 100644 --- a/src/botPage/view/blockly/blocks/trade/index.js +++ b/src/botPage/view/blockly/blocks/trade/index.js @@ -107,6 +107,15 @@ Blockly.Blocks.trade = { resetTradeFields(this, ev); } decorateTrade(ev); + + // **index > 4** Initialization input start at 4 + this.getDescendants() + .filter((desc, index) => index > 4) + .forEach(desc => { + if (desc.type === 'total_runs' || desc.type === 'total_profit') { + desc.unplug(); + } + }); }, }; From 103a4214f6af1c33dc696a4105fc1e10915f3885 Mon Sep 17 00:00:00 2001 From: McSam Date: Thu, 20 Jun 2019 18:25:28 +0800 Subject: [PATCH 2/9] change method --- src/botPage/view/blockly/blocks/tools/total_profit.js | 10 ++++++++++ src/botPage/view/blockly/blocks/tools/total_runs.js | 10 ++++++++++ src/botPage/view/blockly/blocks/trade/index.js | 9 --------- src/botPage/view/blockly/relationChecker.js | 8 ++++++++ 4 files changed, 28 insertions(+), 9 deletions(-) diff --git a/src/botPage/view/blockly/blocks/tools/total_profit.js b/src/botPage/view/blockly/blocks/tools/total_profit.js index 87adb27986..643f4ca068 100644 --- a/src/botPage/view/blockly/blocks/tools/total_profit.js +++ b/src/botPage/view/blockly/blocks/tools/total_profit.js @@ -1,5 +1,6 @@ // https://blockly-demo.appspot.com/static/demos/blockfactory/index.html#3bwqd4 import { translate } from '../../../../../common/i18n'; +import { beforeAuthenticate } from '../../relationChecker'; Blockly.Blocks.total_profit = { init: function init() { @@ -9,5 +10,14 @@ Blockly.Blocks.total_profit = { this.setTooltip(translate('Returns the total profit')); this.setHelpUrl('https://github.com/binary-com/binary-bot/wiki'); }, + onchange: function onchange(ev) { + if (!this.workspace || this.isInFlyout || this.workspace.isDragging()) { + return; + } + + if (ev.type === Blockly.Events.MOVE) { + beforeAuthenticate(this); + } + }, }; Blockly.JavaScript.total_profit = () => ['Bot.getTotalProfit()', Blockly.JavaScript.ORDER_ATOMIC]; diff --git a/src/botPage/view/blockly/blocks/tools/total_runs.js b/src/botPage/view/blockly/blocks/tools/total_runs.js index 1bf170b3d2..c8a71a0efc 100644 --- a/src/botPage/view/blockly/blocks/tools/total_runs.js +++ b/src/botPage/view/blockly/blocks/tools/total_runs.js @@ -1,5 +1,6 @@ // https://blockly-demo.appspot.com/static/demos/blockfactory/index.html#3bwqd4 import { translate } from '../../../../../common/i18n'; +import { beforeAuthenticate } from '../../relationChecker'; Blockly.Blocks.total_runs = { init: function init() { @@ -9,5 +10,14 @@ Blockly.Blocks.total_runs = { this.setTooltip(translate('Returns the number of runs since the beginning')); this.setHelpUrl('https://github.com/binary-com/binary-bot/wiki'); }, + onchange: function onchange(ev) { + if (!this.workspace || this.isInFlyout || this.workspace.isDragging()) { + return; + } + + if (ev.type === Blockly.Events.MOVE) { + beforeAuthenticate(this); + } + }, }; Blockly.JavaScript.total_runs = () => ['Bot.getTotalRuns()', Blockly.JavaScript.ORDER_ATOMIC]; diff --git a/src/botPage/view/blockly/blocks/trade/index.js b/src/botPage/view/blockly/blocks/trade/index.js index 1b795554bf..9468c61588 100644 --- a/src/botPage/view/blockly/blocks/trade/index.js +++ b/src/botPage/view/blockly/blocks/trade/index.js @@ -107,15 +107,6 @@ Blockly.Blocks.trade = { resetTradeFields(this, ev); } decorateTrade(ev); - - // **index > 4** Initialization input start at 4 - this.getDescendants() - .filter((desc, index) => index > 4) - .forEach(desc => { - if (desc.type === 'total_runs' || desc.type === 'total_profit') { - desc.unplug(); - } - }); }, }; diff --git a/src/botPage/view/blockly/relationChecker.js b/src/botPage/view/blockly/relationChecker.js index c4b03989da..02357c85fd 100644 --- a/src/botPage/view/blockly/relationChecker.js +++ b/src/botPage/view/blockly/relationChecker.js @@ -94,6 +94,14 @@ const insideMain = (blockObj, ev, name, topName, topDesc) => export const insideTrade = (...args) => insideMain(...args, 'trade', 'trade') && conditionFields(...args); +export const beforeAuthenticate = blockObj => { + const rootBlock = blockObj.getRootBlock(); + + if (rootBlock.type === 'trade') { + blockObj.unplug(); + } +}; + export const insideBeforePurchase = (...args) => insideMain(...args, 'before_purchase', 'Before Purchase'); export const insideDuringPurchase = (...args) => insideMain(...args, 'during_purchase', 'During Purchase'); From 276e125a8e1737bdd74268d7c1f3fafdc3d21898 Mon Sep 17 00:00:00 2001 From: McSam Date: Tue, 25 Jun 2019 13:55:23 +0800 Subject: [PATCH 3/9] resolve changes --- src/botPage/view/blockly/blocks/tools/total_profit.js | 8 ++++++-- src/botPage/view/blockly/blocks/tools/total_runs.js | 8 ++++++-- src/botPage/view/blockly/relationChecker.js | 8 -------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/botPage/view/blockly/blocks/tools/total_profit.js b/src/botPage/view/blockly/blocks/tools/total_profit.js index 643f4ca068..e73e2f18e5 100644 --- a/src/botPage/view/blockly/blocks/tools/total_profit.js +++ b/src/botPage/view/blockly/blocks/tools/total_profit.js @@ -10,13 +10,17 @@ Blockly.Blocks.total_profit = { this.setTooltip(translate('Returns the total profit')); this.setHelpUrl('https://github.com/binary-com/binary-bot/wiki'); }, - onchange: function onchange(ev) { + onchange: ev => { if (!this.workspace || this.isInFlyout || this.workspace.isDragging()) { return; } if (ev.type === Blockly.Events.MOVE) { - beforeAuthenticate(this); + const rootBlock = this.getRootBlock(); + + if (rootBlock.type === 'trade') { + this.unplug(); + } } }, }; diff --git a/src/botPage/view/blockly/blocks/tools/total_runs.js b/src/botPage/view/blockly/blocks/tools/total_runs.js index c8a71a0efc..861e07c210 100644 --- a/src/botPage/view/blockly/blocks/tools/total_runs.js +++ b/src/botPage/view/blockly/blocks/tools/total_runs.js @@ -10,13 +10,17 @@ Blockly.Blocks.total_runs = { this.setTooltip(translate('Returns the number of runs since the beginning')); this.setHelpUrl('https://github.com/binary-com/binary-bot/wiki'); }, - onchange: function onchange(ev) { + onchange: ev => { if (!this.workspace || this.isInFlyout || this.workspace.isDragging()) { return; } if (ev.type === Blockly.Events.MOVE) { - beforeAuthenticate(this); + const rootBlock = this.getRootBlock(); + + if (rootBlock.type === 'trade') { + this.unplug(); + } } }, }; diff --git a/src/botPage/view/blockly/relationChecker.js b/src/botPage/view/blockly/relationChecker.js index 02357c85fd..c4b03989da 100644 --- a/src/botPage/view/blockly/relationChecker.js +++ b/src/botPage/view/blockly/relationChecker.js @@ -94,14 +94,6 @@ const insideMain = (blockObj, ev, name, topName, topDesc) => export const insideTrade = (...args) => insideMain(...args, 'trade', 'trade') && conditionFields(...args); -export const beforeAuthenticate = blockObj => { - const rootBlock = blockObj.getRootBlock(); - - if (rootBlock.type === 'trade') { - blockObj.unplug(); - } -}; - export const insideBeforePurchase = (...args) => insideMain(...args, 'before_purchase', 'Before Purchase'); export const insideDuringPurchase = (...args) => insideMain(...args, 'during_purchase', 'During Purchase'); From c8281ecad42777c3f66585f18aea47213ae0cca9 Mon Sep 17 00:00:00 2001 From: McSam Date: Tue, 25 Jun 2019 13:59:10 +0800 Subject: [PATCH 4/9] eslint --- src/botPage/view/blockly/blocks/tools/total_profit.js | 1 - src/botPage/view/blockly/blocks/tools/total_runs.js | 1 - 2 files changed, 2 deletions(-) diff --git a/src/botPage/view/blockly/blocks/tools/total_profit.js b/src/botPage/view/blockly/blocks/tools/total_profit.js index e73e2f18e5..05f0e437da 100644 --- a/src/botPage/view/blockly/blocks/tools/total_profit.js +++ b/src/botPage/view/blockly/blocks/tools/total_profit.js @@ -1,6 +1,5 @@ // https://blockly-demo.appspot.com/static/demos/blockfactory/index.html#3bwqd4 import { translate } from '../../../../../common/i18n'; -import { beforeAuthenticate } from '../../relationChecker'; Blockly.Blocks.total_profit = { init: function init() { diff --git a/src/botPage/view/blockly/blocks/tools/total_runs.js b/src/botPage/view/blockly/blocks/tools/total_runs.js index 861e07c210..dd0de8e402 100644 --- a/src/botPage/view/blockly/blocks/tools/total_runs.js +++ b/src/botPage/view/blockly/blocks/tools/total_runs.js @@ -1,6 +1,5 @@ // https://blockly-demo.appspot.com/static/demos/blockfactory/index.html#3bwqd4 import { translate } from '../../../../../common/i18n'; -import { beforeAuthenticate } from '../../relationChecker'; Blockly.Blocks.total_runs = { init: function init() { From 12acfc0faaa44ee2ed6c9e84b94c4dfded3a2ee9 Mon Sep 17 00:00:00 2001 From: McSam Date: Thu, 27 Jun 2019 10:36:43 +0800 Subject: [PATCH 5/9] blockly es6 not support --- src/botPage/view/blockly/blocks/tools/total_profit.js | 2 +- src/botPage/view/blockly/blocks/tools/total_runs.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/botPage/view/blockly/blocks/tools/total_profit.js b/src/botPage/view/blockly/blocks/tools/total_profit.js index 05f0e437da..648ec5566f 100644 --- a/src/botPage/view/blockly/blocks/tools/total_profit.js +++ b/src/botPage/view/blockly/blocks/tools/total_profit.js @@ -9,7 +9,7 @@ Blockly.Blocks.total_profit = { this.setTooltip(translate('Returns the total profit')); this.setHelpUrl('https://github.com/binary-com/binary-bot/wiki'); }, - onchange: ev => { + onchange: function onchange(ev) { if (!this.workspace || this.isInFlyout || this.workspace.isDragging()) { return; } diff --git a/src/botPage/view/blockly/blocks/tools/total_runs.js b/src/botPage/view/blockly/blocks/tools/total_runs.js index dd0de8e402..9cb157d16e 100644 --- a/src/botPage/view/blockly/blocks/tools/total_runs.js +++ b/src/botPage/view/blockly/blocks/tools/total_runs.js @@ -9,7 +9,7 @@ Blockly.Blocks.total_runs = { this.setTooltip(translate('Returns the number of runs since the beginning')); this.setHelpUrl('https://github.com/binary-com/binary-bot/wiki'); }, - onchange: ev => { + onchange: function onchange(ev) { if (!this.workspace || this.isInFlyout || this.workspace.isDragging()) { return; } From 6b28d53308605f074d87b7f82101acc7de28d92d Mon Sep 17 00:00:00 2001 From: McSam Date: Fri, 28 Jun 2019 10:07:11 +0800 Subject: [PATCH 6/9] fix target blocks unplug in define trade options --- .../view/blockly/blocks/tools/total_profit.js | 13 ------------- src/botPage/view/blockly/blocks/tools/total_runs.js | 13 ------------- src/botPage/view/blockly/blocks/trade/index.js | 10 ++++++++++ 3 files changed, 10 insertions(+), 26 deletions(-) diff --git a/src/botPage/view/blockly/blocks/tools/total_profit.js b/src/botPage/view/blockly/blocks/tools/total_profit.js index 648ec5566f..87adb27986 100644 --- a/src/botPage/view/blockly/blocks/tools/total_profit.js +++ b/src/botPage/view/blockly/blocks/tools/total_profit.js @@ -9,18 +9,5 @@ Blockly.Blocks.total_profit = { this.setTooltip(translate('Returns the total profit')); this.setHelpUrl('https://github.com/binary-com/binary-bot/wiki'); }, - onchange: function onchange(ev) { - if (!this.workspace || this.isInFlyout || this.workspace.isDragging()) { - return; - } - - if (ev.type === Blockly.Events.MOVE) { - const rootBlock = this.getRootBlock(); - - if (rootBlock.type === 'trade') { - this.unplug(); - } - } - }, }; Blockly.JavaScript.total_profit = () => ['Bot.getTotalProfit()', Blockly.JavaScript.ORDER_ATOMIC]; diff --git a/src/botPage/view/blockly/blocks/tools/total_runs.js b/src/botPage/view/blockly/blocks/tools/total_runs.js index 9cb157d16e..1bf170b3d2 100644 --- a/src/botPage/view/blockly/blocks/tools/total_runs.js +++ b/src/botPage/view/blockly/blocks/tools/total_runs.js @@ -9,18 +9,5 @@ Blockly.Blocks.total_runs = { this.setTooltip(translate('Returns the number of runs since the beginning')); this.setHelpUrl('https://github.com/binary-com/binary-bot/wiki'); }, - onchange: function onchange(ev) { - if (!this.workspace || this.isInFlyout || this.workspace.isDragging()) { - return; - } - - if (ev.type === Blockly.Events.MOVE) { - const rootBlock = this.getRootBlock(); - - if (rootBlock.type === 'trade') { - this.unplug(); - } - } - }, }; Blockly.JavaScript.total_runs = () => ['Bot.getTotalRuns()', Blockly.JavaScript.ORDER_ATOMIC]; diff --git a/src/botPage/view/blockly/blocks/trade/index.js b/src/botPage/view/blockly/blocks/trade/index.js index 9468c61588..08d6b09a6f 100644 --- a/src/botPage/view/blockly/blocks/trade/index.js +++ b/src/botPage/view/blockly/blocks/trade/index.js @@ -106,6 +106,16 @@ Blockly.Blocks.trade = { replaceInitializationBlocks(this, ev); resetTradeFields(this, ev); } + + const initStatement = this.getInputTargetBlock('INITIALIZATION'); + const initChild = initStatement.getChildren(); + + initChild.forEach(child => { + if (child.type === 'total_profit' || child.type === 'total_runs') { + child.unplug(true); + } + }); + decorateTrade(ev); }, }; From 42b39d74d66281a143833afde4e97060bdd4aaab Mon Sep 17 00:00:00 2001 From: McSam Date: Fri, 28 Jun 2019 10:20:00 +0800 Subject: [PATCH 7/9] fix null error --- .../view/blockly/blocks/trade/index.js | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/botPage/view/blockly/blocks/trade/index.js b/src/botPage/view/blockly/blocks/trade/index.js index 08d6b09a6f..016dff3120 100644 --- a/src/botPage/view/blockly/blocks/trade/index.js +++ b/src/botPage/view/blockly/blocks/trade/index.js @@ -107,16 +107,19 @@ Blockly.Blocks.trade = { resetTradeFields(this, ev); } - const initStatement = this.getInputTargetBlock('INITIALIZATION'); - const initChild = initStatement.getChildren(); + decorateTrade(ev); - initChild.forEach(child => { - if (child.type === 'total_profit' || child.type === 'total_runs') { - child.unplug(true); - } - }); + const initInput = this.getInputTargetBlock('INITIALIZATION'); - decorateTrade(ev); + if (initInput) { + const initChild = initInput.getChildren(); + + initChild.forEach(child => { + if (child.type === 'total_profit' || child.type === 'total_runs') { + child.unplug(true); + } + }); + } }, }; From 64fa330dbaba5e9087506675da57b3568facf504 Mon Sep 17 00:00:00 2001 From: McSam Date: Fri, 28 Jun 2019 15:33:32 +0800 Subject: [PATCH 8/9] resolve changes --- .../view/blockly/blocks/tools/total_profit.js | 13 ++++++++++++ .../view/blockly/blocks/tools/total_runs.js | 13 ++++++++++++ .../view/blockly/blocks/trade/index.js | 18 ++++++++-------- src/botPage/view/blockly/customBlockly.js | 21 +++++++++++++++++++ 4 files changed, 56 insertions(+), 9 deletions(-) diff --git a/src/botPage/view/blockly/blocks/tools/total_profit.js b/src/botPage/view/blockly/blocks/tools/total_profit.js index 87adb27986..57aab906da 100644 --- a/src/botPage/view/blockly/blocks/tools/total_profit.js +++ b/src/botPage/view/blockly/blocks/tools/total_profit.js @@ -9,5 +9,18 @@ Blockly.Blocks.total_profit = { this.setTooltip(translate('Returns the total profit')); this.setHelpUrl('https://github.com/binary-com/binary-bot/wiki'); }, + onchange: function onchange(ev) { + if (!this.workspace || this.isInFlyout || this.workspace.isDragging()) { + return; + } + + if (ev.type === Blockly.Events.MOVE) { + const inputStatement = this.getRootInputTargetBlock(); + + if (inputStatement === 'INITIALIZATION') { + this.unplug(true); + } + } + }, }; Blockly.JavaScript.total_profit = () => ['Bot.getTotalProfit()', Blockly.JavaScript.ORDER_ATOMIC]; diff --git a/src/botPage/view/blockly/blocks/tools/total_runs.js b/src/botPage/view/blockly/blocks/tools/total_runs.js index 1bf170b3d2..e6b1e9f6f0 100644 --- a/src/botPage/view/blockly/blocks/tools/total_runs.js +++ b/src/botPage/view/blockly/blocks/tools/total_runs.js @@ -9,5 +9,18 @@ Blockly.Blocks.total_runs = { this.setTooltip(translate('Returns the number of runs since the beginning')); this.setHelpUrl('https://github.com/binary-com/binary-bot/wiki'); }, + onchange: function onchange(ev) { + if (!this.workspace || this.isInFlyout || this.workspace.isDragging()) { + return; + } + + if (ev.type === Blockly.Events.MOVE) { + const inputStatement = this.getRootInputTargetBlock(); + + if (inputStatement === 'INITIALIZATION') { + this.unplug(true); + } + } + }, }; Blockly.JavaScript.total_runs = () => ['Bot.getTotalRuns()', Blockly.JavaScript.ORDER_ATOMIC]; diff --git a/src/botPage/view/blockly/blocks/trade/index.js b/src/botPage/view/blockly/blocks/trade/index.js index 016dff3120..f2fa54f30a 100644 --- a/src/botPage/view/blockly/blocks/trade/index.js +++ b/src/botPage/view/blockly/blocks/trade/index.js @@ -109,17 +109,17 @@ Blockly.Blocks.trade = { decorateTrade(ev); - const initInput = this.getInputTargetBlock('INITIALIZATION'); + // const initInput = this.getInputTargetBlock('INITIALIZATION'); - if (initInput) { - const initChild = initInput.getChildren(); + // if (initInput) { + // const initChild = initInput.getChildren(); - initChild.forEach(child => { - if (child.type === 'total_profit' || child.type === 'total_runs') { - child.unplug(true); - } - }); - } + // initChild.forEach(child => { + // if (child.type === 'total_profit' || child.type === 'total_runs') { + // child.unplug(true); + // } + // }); + // } }, }; diff --git a/src/botPage/view/blockly/customBlockly.js b/src/botPage/view/blockly/customBlockly.js index b4f75f1cec..a2da174a43 100644 --- a/src/botPage/view/blockly/customBlockly.js +++ b/src/botPage/view/blockly/customBlockly.js @@ -403,3 +403,24 @@ const originalCustomContextLoopFn = Blockly.Constants.Loops.CUSTOM_CONTEXT_MENU_CREATE_VARIABLES_GET_MIXIN.customContextMenu = function(options) { addDownloadOption(originalCustomContextLoopFn.bind(this), options, this); }; + +/** + * Return the parent block or null if this block is at the top level. + * @return {Blockly.Block} The block that holds the current block. + */ +Blockly.Block.prototype.getRootInputTargetBlock = function() { + let inputName; + let currentBlock = this.getParent(); + + while (currentBlock) { + const rootBlock = this.getRootBlock(); + const currentInput = rootBlock.getInputWithBlock(currentBlock); + + if (currentInput && currentInput.name) { + inputName = currentInput.name; + } + currentBlock = currentBlock.getParent(); + } + + return inputName; +}; From 2fac50f2d19af6fc92998001687551162ee38f89 Mon Sep 17 00:00:00 2001 From: McSam Date: Mon, 1 Jul 2019 16:08:25 +0800 Subject: [PATCH 9/9] remove comment --- src/botPage/view/blockly/blocks/trade/index.js | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/botPage/view/blockly/blocks/trade/index.js b/src/botPage/view/blockly/blocks/trade/index.js index f2fa54f30a..77dc0f9139 100644 --- a/src/botPage/view/blockly/blocks/trade/index.js +++ b/src/botPage/view/blockly/blocks/trade/index.js @@ -108,18 +108,6 @@ Blockly.Blocks.trade = { } decorateTrade(ev); - - // const initInput = this.getInputTargetBlock('INITIALIZATION'); - - // if (initInput) { - // const initChild = initInput.getChildren(); - - // initChild.forEach(child => { - // if (child.type === 'total_profit' || child.type === 'total_runs') { - // child.unplug(true); - // } - // }); - // } }, };