From f8b2a4bfc4485b36df24e5e219c546b83848fd58 Mon Sep 17 00:00:00 2001 From: Aaron Imming Date: Mon, 30 Sep 2019 15:46:24 +0800 Subject: [PATCH 1/2] Create logic for replacing renamed values --- src/botPage/view/blockly/index.js | 3 +++ src/botPage/view/blockly/utils.js | 26 ++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/src/botPage/view/blockly/index.js b/src/botPage/view/blockly/index.js index b5f1a80f47..fbd1354191 100644 --- a/src/botPage/view/blockly/index.js +++ b/src/botPage/view/blockly/index.js @@ -17,6 +17,7 @@ import { importFile, saveBeforeUnload, removeParam, + updateRenamedMarkets, } from './utils'; import Interpreter from '../../bot/Interpreter'; import { createErrorAndEmit } from '../../common/error'; @@ -74,6 +75,7 @@ const marketsWereRemoved = xml => { return false; }; export const loadWorkspace = xml => { + updateRenamedMarkets(xml); if (!strategyHasValidTradeTypeCategory(xml)) return; if (marketsWereRemoved(xml)) return; @@ -100,6 +102,7 @@ export const loadWorkspace = xml => { }; export const loadBlocks = (xml, dropEvent = {}) => { + updateRenamedMarkets(xml); if (!strategyHasValidTradeTypeCategory(xml)) return; if (marketsWereRemoved(xml)) return; diff --git a/src/botPage/view/blockly/utils.js b/src/botPage/view/blockly/utils.js index 33eed2584c..1de491b3c8 100644 --- a/src/botPage/view/blockly/utils.js +++ b/src/botPage/view/blockly/utils.js @@ -107,6 +107,32 @@ export const strategyHasValidTradeTypeCategory = xml => { return validTradeTypeCategory; }; +export const updateRenamedMarkets = xml => { + const elementRenames = { + MARKET_LIST: { + volidx: 'synthetic_index', + }, + }; + + const fields = xml.getElementsByTagName('field'); + + Array.from(fields).forEach(field => { + if (!field.hasAttribute('name')) { + return; + } + + Object.keys(elementRenames).forEach(elementRename => { + if (elementRename === field.getAttribute('name')) { + Object.keys(elementRenames[elementRename]).forEach(replacement_key => { + if (replacement_key === field.textContent) { + field.textContent = elementRenames[elementRename][replacement_key]; + } + }); + } + }); + }); +}; + const getCollapsedProcedures = () => Blockly.mainWorkspace .getTopBlocks() From bcc0ad2e2fb589e9ab656fc60093ca3524268a4d Mon Sep 17 00:00:00 2001 From: Aaron Imming Date: Mon, 30 Sep 2019 15:52:22 +0800 Subject: [PATCH 2/2] Update naming --- src/botPage/view/blockly/index.js | 6 +++--- src/botPage/view/blockly/utils.js | 9 +++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/botPage/view/blockly/index.js b/src/botPage/view/blockly/index.js index fbd1354191..2df46f5d86 100644 --- a/src/botPage/view/blockly/index.js +++ b/src/botPage/view/blockly/index.js @@ -17,7 +17,7 @@ import { importFile, saveBeforeUnload, removeParam, - updateRenamedMarkets, + updateRenamedFields, } from './utils'; import Interpreter from '../../bot/Interpreter'; import { createErrorAndEmit } from '../../common/error'; @@ -75,7 +75,7 @@ const marketsWereRemoved = xml => { return false; }; export const loadWorkspace = xml => { - updateRenamedMarkets(xml); + updateRenamedFields(xml); if (!strategyHasValidTradeTypeCategory(xml)) return; if (marketsWereRemoved(xml)) return; @@ -102,7 +102,7 @@ export const loadWorkspace = xml => { }; export const loadBlocks = (xml, dropEvent = {}) => { - updateRenamedMarkets(xml); + updateRenamedFields(xml); if (!strategyHasValidTradeTypeCategory(xml)) return; if (marketsWereRemoved(xml)) return; diff --git a/src/botPage/view/blockly/utils.js b/src/botPage/view/blockly/utils.js index 1de491b3c8..9ea1959063 100644 --- a/src/botPage/view/blockly/utils.js +++ b/src/botPage/view/blockly/utils.js @@ -107,7 +107,7 @@ export const strategyHasValidTradeTypeCategory = xml => { return validTradeTypeCategory; }; -export const updateRenamedMarkets = xml => { +export const updateRenamedFields = xml => { const elementRenames = { MARKET_LIST: { volidx: 'synthetic_index', @@ -123,9 +123,10 @@ export const updateRenamedMarkets = xml => { Object.keys(elementRenames).forEach(elementRename => { if (elementRename === field.getAttribute('name')) { - Object.keys(elementRenames[elementRename]).forEach(replacement_key => { - if (replacement_key === field.textContent) { - field.textContent = elementRenames[elementRename][replacement_key]; + Object.keys(elementRenames[elementRename]).forEach(replacementKey => { + if (replacementKey === field.textContent) { + // eslint-disable-next-line no-param-reassign + field.textContent = elementRenames[elementRename][replacementKey]; } }); }