loadFrom Code v1 working

This commit is contained in:
Luis Fernando Molina committed 2020-04-29 19:56:17 +02:00
1 parent 90d8b48613
commit 75155da9c7
2 files changed
+111 -11

No files matched your search

+102 -9
View File
@@ -65,11 +65,11 @@ function newConditionEditor () {
// chart.at01hs.bollingerSubChannel.previous.previous.slope=== "Extreme"
let code = ''
code = code + 'chart.at' + operatorA.timeFramePicker.getValue().replace('-', '')
code = code + '.' + operatorA.productPicker.getValue()
code = code + '.' + operatorA.propertyPicker.getValue()
code = code + 'chart.at' + operatorA.timeFramePicker.getSelected().replace('-', '')
code = code + '.' + operatorA.productPicker.getSelected()
code = code + '.' + operatorA.propertyPicker.getSelected()
switch (operationPicker.getValue()) {
switch (operationPicker.getSelected()) {
case 'Greater Than': {
code = code + ' > '
break
@@ -92,12 +92,12 @@ function newConditionEditor () {
}
}
if (operationPicker.getValue() === 'Equal To') {
code = code + '"' + operatorA.valuePicker.getValue() + '"'
if (operationPicker.getSelected() === 'Equal To') {
code = code + '"' + operatorA.valuePicker.getSelected() + '"'
} else {
code = code + 'chart.at' + operatorB.timeFramePicker.getValue().replace('-', '')
code = code + '.' + operatorB.productPicker.getValue()
code = code + '.' + operatorB.propertyPicker.getValue()
code = code + 'chart.at' + operatorB.timeFramePicker.getSelected().replace('-', '')
code = code + '.' + operatorB.productPicker.getSelected()
code = code + '.' + operatorB.propertyPicker.getSelected()
}
thisObject.payload.node.code = code
@@ -112,9 +112,102 @@ function newConditionEditor () {
operatorB = {}
scanDataMines()
initializePickers()
loadFromCode()
EDITOR_ON_FOCUS = true
}
function loadFromCode () {
if (thisObject.payload.node.code === undefined || thisObject.payload.node.code === '') { return }
let code = thisObject.payload.node.code
let codeA
let codeB
if (code.indexOf(' > ') > 0) {
let codeArray = code.split(' > ')
codeA = codeArray[0]
codeB = codeArray[1]
}
if (code.indexOf(' < ') > 0) {
let codeArray = code.split(' < ')
codeA = codeArray[0]
codeB = codeArray[1]
}
if (code.indexOf(' >= ') > 0) {
let codeArray = code.split(' >= ')
codeA = codeArray[0]
codeB = codeArray[1]
}
if (code.indexOf(' <= ') > 0) {
let codeArray = code.split(' <= ')
codeA = codeArray[0]
codeB = codeArray[1]
}
if (code.indexOf(' === ') > 0) {
let codeArray = code.split(' === ')
codeA = codeArray[0]
codeB = codeArray[1]
}
let codeAArray = codeA.split('.')
let codeBArray = codeB.split('.')
if (code.indexOf(' === ') > 0) {
} else {
updatePickers(operatorA, codeAArray)
updatePickers(operatorB, codeBArray)
function updatePickers (operator, codeArray) {
let codeTimeFrame = codeArray[1].substring(2, 4) + '-' + codeArray[1].substring(4, 7)
let codeProduct = codeArray[2]
let codeProperty = codeArray[3]
let codeValue = ''
let dataMines = Object.keys(operator.selector)
for (let i = 0; i < dataMines.length; i++) {
let dataMine = dataMines[i]
let dataMineObject = operator.selector[dataMine]
let bots = Object.keys(dataMineObject)
for (let j = 0; j < bots.length; j++) {
let bot = bots[j]
let botObject = dataMineObject[bot]
let products = Object.keys(botObject)
for (let k = 0; k < products.length; k++) {
let product = products[k]
let productObject = botObject[product]
if (codeProduct === product) {
operator.dataMinePicker.setSelected(dataMines, operator.selector, undefined, i)
operator.botPicker.setSelected(bots, dataMineObject, operator.selector, j)
operator.productPicker.setSelected(products, botObject, dataMineObject, k)
let properties = Object.keys(productObject.properties)
for (let m = 0; m < properties.length; m++) {
let property = properties[m]
let propertyObject = productObject.properties[property]
if (codeProperty === property) {
operator.propertyPicker.setSelected(properties, productObject.properties, botObject, m)
let values = propertyObject.possibleValues
for (let n = 0; n < values.length; n++) {
let value = values[n]
let valueObject = propertyObject[value]
if (codeValue === value) {
operator.valuePicker.setSelected(propevaluesrties, propertyObject, productObject, n)
}
}
}
}
}
}
}
}
}
}
}
function scanDataMines () {
let selector = {}
+9 -2
View File
@@ -5,9 +5,9 @@ function newPicker () {
let thisObject = {
container: undefined,
selectedItem: 0,
getValue: getValue,
onParentChanged: onParentChanged,
getSelected: getSelected,
setSelected: setSelected,
physics: physics,
drawBackground: drawBackground,
drawForeground: drawForeground,
@@ -55,10 +55,17 @@ function newPicker () {
onMouseWheelEventSubscriptionId = thisObject.container.eventHandler.listenToEvent('onMouseWheel', onMouseWheel)
}
function getValue () {
function getSelected () {
return optionsList[selected]
}
function setSelected (pOptionsList, pCurrent, pParent, pSelected) {
optionsList = pOptionsList
current = pCurrent
parent = pParent
selected = pSelected
}
function onParentChanged (event) {
if (event.parent !== undefined) {
parent = event.parent