Time Period Icon Implemented

This commit is contained in:
Luis Fernando Molina committed 2019-10-02 10:12:10 +02:00
1 parent f7a78543ca
commit 894fb48c0e
11 files changed
+155 -1

No files matched your search

+5
View File
@@ -242,6 +242,10 @@ function newStrategyPart () {
compatibleType = '->' + 'Parameters' + '->'
compatibleSubType = undefined
break
case 'Time Period':
compatibleType = '->' + 'Parameters' + '->'
compatibleSubType = undefined
break
case 'Slippage':
compatibleType = '->' + 'Parameters' + '->'
compatibleSubType = undefined
@@ -382,6 +386,7 @@ function newStrategyPart () {
if (thisObject.payload.node.type === 'Parameters' && nearbyNode.parameters !== undefined) { continue }
if (thisObject.payload.node.type === 'Base Asset' && nearbyNode.baseAsset !== undefined) { continue }
if (thisObject.payload.node.type === 'Time Range' && nearbyNode.timeRange !== undefined) { continue }
if (thisObject.payload.node.type === 'Time Period' && nearbyNode.timePeriod !== undefined) { continue }
if (thisObject.payload.node.type === 'Slippage' && nearbyNode.slippage !== undefined) { continue }
if (thisObject.payload.node.type === 'Fee Structure' && nearbyNode.feeStructure !== undefined) { continue }
if (thisObject.payload.node.type === 'Trigger Stage' && nearbyNode.triggerStage !== undefined) { continue }
+57
View File
@@ -1129,6 +1129,59 @@ function newStrategyPartConstructor () {
)
break
}
case 'Time Period': {
strategyPart.codeEditor = newCodeEditor()
strategyPart.codeEditor.isVisibleFunction = strategyPart.isVisibleFunction
strategyPart.codeEditor.initialize()
strategyPart.codeEditor.container.connectToParent(strategyPart.container, false, false, true, true, false, false, false, false)
addLeftIcons(menuItemsInitialValues, floatingObject)
menuItemsInitialValues.push(
{
action: 'Edit Time Period',
actionFunction: strategyPart.codeEditor.activate,
label: 'Edit Time Period',
visible: true,
iconPathOn: 'settings',
iconPathOff: 'settings',
rawRadius: 8,
targetRadius: 0,
currentRadius: 0,
angle: -40
}
)
menuItemsInitialValues.push(
{
action: 'Delete Time Period',
askConfirmation: true,
confirmationLabel: 'Confirm to Delete',
actionFunction: payload.onMenuItemClick,
label: 'Delete Time Period',
visible: true,
iconPathOn: 'delete',
iconPathOff: 'delete',
rawRadius: 8,
targetRadius: 0,
currentRadius: 0,
angle: 0
}
)
menuItemsInitialValues.push(
{
action: 'Share',
actionFunction: payload.onMenuItemClick,
label: 'Share',
visible: true,
iconPathOn: 'menu-share',
iconPathOff: 'menu-share',
rawRadius: 8,
targetRadius: 0,
currentRadius: 0,
angle: 40
}
)
break
}
case 'Slippage': {
strategyPart.codeEditor = newCodeEditor()
strategyPart.codeEditor.isVisibleFunction = strategyPart.isVisibleFunction
@@ -2321,6 +2374,10 @@ function newStrategyPartConstructor () {
level_3()
break
}
case 'Time Period': {
level_3()
break
}
case 'Slippage': {
level_3()
break
+3
View File
@@ -108,6 +108,9 @@ function newStrategyPartTitle () {
case 'Time Range': {
break
}
case 'Time Period': {
break
}
case 'Slippage': {
break
}
+2 -1
View File
@@ -57,6 +57,7 @@ function newStrategySpace () {
['Parameters', 'settings'],
['Base Asset', 'loading'],
['Time Range', 'chronometer'],
['Time Period', 'schedule'],
['Slippage', 'support'],
['Fee Structure', 'sitemap'],
['Strategy', 'quality'],
@@ -76,7 +77,7 @@ function newStrategySpace () {
['Take Profit', 'stage-open-take-profit'],
['Phase', 'placeholder'],
['Formula', 'pipette'],
['Next Phase Event', 'schedule'],
['Next Phase Event', 'pantone'],
['Situation', 'pyramid'],
['Condition', 'testing'],
['Code', 'html']
@@ -122,6 +122,11 @@ function newAttachDetach () {
completeDetachment(node, rootNodes)
return
}
case 'Time Period': {
node.payload.parentNode.timePeriod = undefined
completeDetachment(node, rootNodes)
return
}
case 'Slippage': {
node.payload.parentNode.slippage = undefined
completeDetachment(node, rootNodes)
@@ -386,6 +391,13 @@ function newAttachDetach () {
completeAttachment(node, rootNodes)
}
break
case 'Time Period': {
node.payload.parentNode = attachToNode
node.payload.chainParent = attachToNode
node.payload.parentNode.timePeriod = node
completeAttachment(node, rootNodes)
}
break
case 'Slippage': {
node.payload.parentNode = attachToNode
node.payload.chainParent = attachToNode
@@ -59,6 +59,9 @@ function newNodeChildren () {
case 'Time Range': {
return countChildrenTimeRange(parentNode, childNode)
}
case 'Time Period': {
return countChildrenTimePeriod(parentNode, childNode)
}
case 'Slippage': {
return countChildrenSlippage(parentNode, childNode)
}
@@ -376,6 +379,12 @@ function newNodeChildren () {
response.childIndex = response.childrenCount
}
}
if (parentNode.timePeriod !== undefined) {
response.childrenCount++
if (parentNode.timePeriod.id === childNode.id) {
response.childIndex = response.childrenCount
}
}
if (parentNode.slippage !== undefined) {
response.childrenCount++
if (parentNode.slippage.id === childNode.id) {
@@ -407,6 +416,14 @@ function newNodeChildren () {
return response
}
function countChildrenTimePeriod (parentNode, childNode) {
let response = {
childrenCount: 0,
childIndex: undefined
}
return response
}
function countChildrenSlippage (parentNode, childNode) {
let response = {
childrenCount: 0,
@@ -18,6 +18,7 @@ function newNodeDeleter () {
deleteParameters: deleteParameters,
deleteBaseAsset: deleteBaseAsset,
deleteTimeRange: deleteTimeRange,
deleteTimePeriod: deleteTimePeriod,
deleteSlippage: deleteSlippage,
deleteFeeStructure: deleteFeeStructure,
deleteStrategy: deleteStrategy,
@@ -119,6 +120,10 @@ function newNodeDeleter () {
deleteTimeRange(rootNode, rootNodes)
break
}
case 'Time Period': {
deleteTimePeriod(rootNode, rootNodes)
break
}
case 'Slippage': {
deleteSlippage(rootNode, rootNodes)
break
@@ -475,6 +480,9 @@ function newNodeDeleter () {
if (node.timeRange !== undefined) {
deleteTimeRange(node.timeRange, rootNodes)
}
if (node.timePeriod !== undefined) {
deleteTimePeriod(node.timePeriod, rootNodes)
}
if (node.slippage !== undefined) {
deleteSlippage(node.slippage, rootNodes)
}
@@ -507,6 +515,17 @@ function newNodeDeleter () {
cleanNode(node)
}
function deleteTimePeriod (node, rootNodes) {
let payload = node.payload
if (payload.parentNode !== undefined) {
payload.parentNode.timePeriod = undefined
} else {
completeDeletion(node, rootNodes)
}
destroyPart(node)
cleanNode(node)
}
function deleteSlippage (node, rootNodes) {
let payload = node.payload
if (payload.parentNode !== undefined) {
@@ -258,6 +258,10 @@ function newPartsFromNodes () {
createPart('Time Range', node.name, node, parentNode, chainParent, 'Time Range')
return
}
case 'Time Period': {
createPart('Time Period', node.name, node, parentNode, chainParent, 'Time Period')
return
}
case 'Slippage': {
createPart('Slippage', node.name, node, parentNode, chainParent, 'Slippage')
return
@@ -274,6 +278,9 @@ function newPartsFromNodes () {
if (node.timeRange !== undefined) {
createPartFromNode(node.timeRange, node, node)
}
if (node.timePeriod !== undefined) {
createPartFromNode(node.timePeriod, node, node)
}
if (node.slippage !== undefined) {
createPartFromNode(node.slippage, node, node)
}
@@ -644,6 +651,13 @@ function newPartsFromNodes () {
}
createPart('Time Range', '', node.timeRange, node, node)
}
if (node.timePeriod === undefined) {
node.timePeriod = {
name: 'Time Period',
code: DEFAULT_CONFIG_TEXT
}
createPart('Time Period', '', node.timePeriod, node, node)
}
if (node.slippage === undefined) {
node.slippage = {
name: 'Slippage',
@@ -261,6 +261,15 @@ function newProtocolNode () {
}
return object
}
case 'Time Period': {
let object = {
type: node.type,
subType: node.subType,
name: node.name,
code: node.code
}
return object
}
case 'Slippage': {
let object = {
type: node.type,
@@ -286,6 +295,7 @@ function newProtocolNode () {
name: node.name,
baseAsset: getProtocolNode(node.baseAsset, removePersonalData, parseJSONStrings, includeIds),
timeRange: getProtocolNode(node.timeRange, removePersonalData, parseJSONStrings, includeIds),
timePeriod: getProtocolNode(node.timePeriod, removePersonalData, parseJSONStrings, includeIds),
slippage: getProtocolNode(node.slippage, removePersonalData, parseJSONStrings, includeIds),
feeStructure: getProtocolNode(node.feeStructure, removePersonalData, parseJSONStrings, includeIds)
}
@@ -309,6 +309,17 @@ function newStringifyNode () {
}
return object
}
case 'Time Period': {
let object = {
id: node.id,
type: node.type,
subType: node.subType,
name: node.name,
code: node.code,
savedPayload: getSavedPayload(node)
}
return object
}
case 'Slippage': {
let object = {
id: node.id,
@@ -339,6 +350,7 @@ function newStringifyNode () {
name: node.name,
baseAsset: prepareForStringify(node.baseAsset, removePersonalData),
timeRange: prepareForStringify(node.timeRange, removePersonalData),
timePeriod: prepareForStringify(node.timePeriod, removePersonalData),
slippage: prepareForStringify(node.slippage, removePersonalData),
feeStructure: prepareForStringify(node.feeStructure, removePersonalData),
savedPayload: getSavedPayload(node)
+4
View File
@@ -434,6 +434,10 @@ function newWorkspace () {
functionLibraryNodeDeleter.deleteTimeRange(payload.node, workspaceNode.rootNodes)
break
}
case 'Delete Time Period': {
functionLibraryNodeDeleter.deleteTimePeriod(payload.node, workspaceNode.rootNodes)
break
}
case 'Delete Slippage': {
functionLibraryNodeDeleter.deleteSlippage(payload.node, workspaceNode.rootNodes)
break