Added workflow tags and deletion control
This commit is contained in:
@@ -1368,16 +1368,16 @@ func deleteWorkflow(resp http.ResponseWriter, request *http.Request) {
|
|||||||
|
|
||||||
// Clean up triggers and executions
|
// Clean up triggers and executions
|
||||||
for _, item := range workflow.Triggers {
|
for _, item := range workflow.Triggers {
|
||||||
if item.TriggerType == "SCHEDULE" {
|
if item.TriggerType == "SCHEDULE" && item.Status != "uninitialized" {
|
||||||
err = deleteSchedule(ctx, item.ID)
|
err = deleteSchedule(ctx, item.ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("Failed to delete schedule: %s", err)
|
log.Printf("Failed to delete schedule: %s - is it started?", err)
|
||||||
}
|
}
|
||||||
} else if item.TriggerType == "WEBHOOK" {
|
} else if item.TriggerType == "WEBHOOK" {
|
||||||
err = removeWebhookFunction(ctx, item.ID)
|
//err = removeWebhookFunction(ctx, item.ID)
|
||||||
if err != nil {
|
//if err != nil {
|
||||||
log.Printf("Failed to delete webhook: %s", err)
|
// log.Printf("Failed to delete webhook: %s", err)
|
||||||
}
|
//}
|
||||||
} else if item.TriggerType == "EMAIL" {
|
} else if item.TriggerType == "EMAIL" {
|
||||||
err = handleOutlookSubRemoval(ctx, workflow.ID, item.ID)
|
err = handleOutlookSubRemoval(ctx, workflow.ID, item.ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -1848,6 +1848,7 @@ func saveWorkflow(resp http.ResponseWriter, request *http.Request) {
|
|||||||
|
|
||||||
workflow.Actions = newActions
|
workflow.Actions = newActions
|
||||||
workflow.IsValid = true
|
workflow.IsValid = true
|
||||||
|
log.Printf("Tags: %#v", workflow.Tags)
|
||||||
|
|
||||||
err = setWorkflow(ctx, workflow, fileId)
|
err = setWorkflow(ctx, workflow, fileId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Generated
+252
-55
@@ -4519,110 +4519,114 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/generator": {
|
"@babel/generator": {
|
||||||
"version": "7.10.2",
|
"version": "7.11.4",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.2.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.4.tgz",
|
||||||
"integrity": "sha512-AxfBNHNu99DTMvlUPlt1h2+Hn7knPpH5ayJ8OqDWSeLld+Fi2AYBTC/IejWDM9Edcii4UzZRCsbUt0WlSDsDsA==",
|
"integrity": "sha512-Rn26vueFx0eOoz7iifCN2UHT6rGtnkSGWSoDRIy8jZN3B91PzeSULbswfLoOWuTuAcNwpG/mxy+uCTDnZ9Mp1g==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/types": "^7.10.2",
|
"@babel/types": "^7.11.0",
|
||||||
"jsesc": "^2.5.1",
|
"jsesc": "^2.5.1",
|
||||||
"lodash": "^4.17.13",
|
|
||||||
"source-map": "^0.5.0"
|
"source-map": "^0.5.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@babel/helper-function-name": {
|
"@babel/helper-function-name": {
|
||||||
"version": "7.10.1",
|
"version": "7.10.4",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
|
||||||
"integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==",
|
"integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/helper-get-function-arity": "^7.10.1",
|
"@babel/helper-get-function-arity": "^7.10.4",
|
||||||
"@babel/template": "^7.10.1",
|
"@babel/template": "^7.10.4",
|
||||||
"@babel/types": "^7.10.1"
|
"@babel/types": "^7.10.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@babel/helper-get-function-arity": {
|
"@babel/helper-get-function-arity": {
|
||||||
"version": "7.10.1",
|
"version": "7.10.4",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
|
||||||
"integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==",
|
"integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/types": "^7.10.1"
|
"@babel/types": "^7.10.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@babel/helper-split-export-declaration": {
|
"@babel/helper-split-export-declaration": {
|
||||||
"version": "7.10.1",
|
"version": "7.11.0",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz",
|
||||||
"integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==",
|
"integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/types": "^7.10.1"
|
"@babel/types": "^7.11.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@babel/helper-validator-identifier": {
|
||||||
|
"version": "7.10.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
|
||||||
|
"integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw=="
|
||||||
|
},
|
||||||
"@babel/highlight": {
|
"@babel/highlight": {
|
||||||
"version": "7.10.1",
|
"version": "7.10.4",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
|
||||||
"integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==",
|
"integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/helper-validator-identifier": "^7.10.1",
|
"@babel/helper-validator-identifier": "^7.10.4",
|
||||||
"chalk": "^2.0.0",
|
"chalk": "^2.0.0",
|
||||||
"js-tokens": "^4.0.0"
|
"js-tokens": "^4.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@babel/parser": {
|
"@babel/parser": {
|
||||||
"version": "7.10.2",
|
"version": "7.11.4",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.4.tgz",
|
||||||
"integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ=="
|
"integrity": "sha512-MggwidiH+E9j5Sh8pbrX5sJvMcsqS5o+7iB42M9/k0CD63MjYbdP4nhSh7uB5wnv2/RVzTZFTxzF/kIa5mrCqA=="
|
||||||
},
|
},
|
||||||
"@babel/template": {
|
"@babel/template": {
|
||||||
"version": "7.10.1",
|
"version": "7.10.4",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
|
||||||
"integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==",
|
"integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/code-frame": "^7.10.1",
|
"@babel/code-frame": "^7.10.4",
|
||||||
"@babel/parser": "^7.10.1",
|
"@babel/parser": "^7.10.4",
|
||||||
"@babel/types": "^7.10.1"
|
"@babel/types": "^7.10.4"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/code-frame": {
|
"@babel/code-frame": {
|
||||||
"version": "7.10.1",
|
"version": "7.10.4",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
|
||||||
"integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==",
|
"integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/highlight": "^7.10.1"
|
"@babel/highlight": "^7.10.4"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@babel/traverse": {
|
"@babel/traverse": {
|
||||||
"version": "7.10.1",
|
"version": "7.11.0",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.1.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.0.tgz",
|
||||||
"integrity": "sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ==",
|
"integrity": "sha512-ZB2V+LskoWKNpMq6E5UUCrjtDUh5IOTAyIl0dTjIEoXum/iKWkoIEKIRDnUucO6f+2FzNkE0oD4RLKoPIufDtg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/code-frame": "^7.10.1",
|
"@babel/code-frame": "^7.10.4",
|
||||||
"@babel/generator": "^7.10.1",
|
"@babel/generator": "^7.11.0",
|
||||||
"@babel/helper-function-name": "^7.10.1",
|
"@babel/helper-function-name": "^7.10.4",
|
||||||
"@babel/helper-split-export-declaration": "^7.10.1",
|
"@babel/helper-split-export-declaration": "^7.11.0",
|
||||||
"@babel/parser": "^7.10.1",
|
"@babel/parser": "^7.11.0",
|
||||||
"@babel/types": "^7.10.1",
|
"@babel/types": "^7.11.0",
|
||||||
"debug": "^4.1.0",
|
"debug": "^4.1.0",
|
||||||
"globals": "^11.1.0",
|
"globals": "^11.1.0",
|
||||||
"lodash": "^4.17.13"
|
"lodash": "^4.17.19"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/code-frame": {
|
"@babel/code-frame": {
|
||||||
"version": "7.10.1",
|
"version": "7.10.4",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
|
||||||
"integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==",
|
"integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/highlight": "^7.10.1"
|
"@babel/highlight": "^7.10.4"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@babel/types": {
|
"@babel/types": {
|
||||||
"version": "7.10.2",
|
"version": "7.11.0",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.0.tgz",
|
||||||
"integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==",
|
"integrity": "sha512-O53yME4ZZI0jO1EVGtF1ePGl0LHirG4P1ibcD80XyzZcKhcMFeCXmh4Xb1ifGBIV233Qg12x4rBfQgA+tmOukA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/helper-validator-identifier": "^7.10.1",
|
"@babel/helper-validator-identifier": "^7.10.4",
|
||||||
"lodash": "^4.17.13",
|
"lodash": "^4.17.19",
|
||||||
"to-fast-properties": "^2.0.0"
|
"to-fast-properties": "^2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -12164,6 +12168,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"material-ui-chip-input": {
|
||||||
|
"version": "2.0.0-beta.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/material-ui-chip-input/-/material-ui-chip-input-2.0.0-beta.2.tgz",
|
||||||
|
"integrity": "sha512-E+Jxv9FdAvYUsZIPohoqxqdW7LwFYOCunInJGh2WSDJ2IlCUdpCOEVazqgLQH6thaFarKDu44uGYpD1v3RdqDg==",
|
||||||
|
"requires": {
|
||||||
|
"clsx": "^1.0.4",
|
||||||
|
"prop-types": "^15.6.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"material-ui-pickers": {
|
"material-ui-pickers": {
|
||||||
"version": "2.2.4",
|
"version": "2.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/material-ui-pickers/-/material-ui-pickers-2.2.4.tgz",
|
"resolved": "https://registry.npmjs.org/material-ui-pickers/-/material-ui-pickers-2.2.4.tgz",
|
||||||
@@ -15566,6 +15579,125 @@
|
|||||||
"workbox-webpack-plugin": "4.3.1"
|
"workbox-webpack-plugin": "4.3.1"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@babel/generator": {
|
||||||
|
"version": "7.11.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.4.tgz",
|
||||||
|
"integrity": "sha512-Rn26vueFx0eOoz7iifCN2UHT6rGtnkSGWSoDRIy8jZN3B91PzeSULbswfLoOWuTuAcNwpG/mxy+uCTDnZ9Mp1g==",
|
||||||
|
"requires": {
|
||||||
|
"@babel/types": "^7.11.0",
|
||||||
|
"jsesc": "^2.5.1",
|
||||||
|
"source-map": "^0.5.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.5.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
|
||||||
|
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@babel/helper-function-name": {
|
||||||
|
"version": "7.10.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
|
||||||
|
"integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
|
||||||
|
"requires": {
|
||||||
|
"@babel/helper-get-function-arity": "^7.10.4",
|
||||||
|
"@babel/template": "^7.10.4",
|
||||||
|
"@babel/types": "^7.10.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@babel/helper-get-function-arity": {
|
||||||
|
"version": "7.10.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
|
||||||
|
"integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
|
||||||
|
"requires": {
|
||||||
|
"@babel/types": "^7.10.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@babel/helper-split-export-declaration": {
|
||||||
|
"version": "7.11.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz",
|
||||||
|
"integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==",
|
||||||
|
"requires": {
|
||||||
|
"@babel/types": "^7.11.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@babel/helper-validator-identifier": {
|
||||||
|
"version": "7.10.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
|
||||||
|
"integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw=="
|
||||||
|
},
|
||||||
|
"@babel/highlight": {
|
||||||
|
"version": "7.10.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
|
||||||
|
"integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
|
||||||
|
"requires": {
|
||||||
|
"@babel/helper-validator-identifier": "^7.10.4",
|
||||||
|
"chalk": "^2.0.0",
|
||||||
|
"js-tokens": "^4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@babel/parser": {
|
||||||
|
"version": "7.11.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.4.tgz",
|
||||||
|
"integrity": "sha512-MggwidiH+E9j5Sh8pbrX5sJvMcsqS5o+7iB42M9/k0CD63MjYbdP4nhSh7uB5wnv2/RVzTZFTxzF/kIa5mrCqA=="
|
||||||
|
},
|
||||||
|
"@babel/template": {
|
||||||
|
"version": "7.10.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
|
||||||
|
"integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
|
||||||
|
"requires": {
|
||||||
|
"@babel/code-frame": "^7.10.4",
|
||||||
|
"@babel/parser": "^7.10.4",
|
||||||
|
"@babel/types": "^7.10.4"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@babel/code-frame": {
|
||||||
|
"version": "7.10.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
|
||||||
|
"integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
|
||||||
|
"requires": {
|
||||||
|
"@babel/highlight": "^7.10.4"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@babel/traverse": {
|
||||||
|
"version": "7.11.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.0.tgz",
|
||||||
|
"integrity": "sha512-ZB2V+LskoWKNpMq6E5UUCrjtDUh5IOTAyIl0dTjIEoXum/iKWkoIEKIRDnUucO6f+2FzNkE0oD4RLKoPIufDtg==",
|
||||||
|
"requires": {
|
||||||
|
"@babel/code-frame": "^7.10.4",
|
||||||
|
"@babel/generator": "^7.11.0",
|
||||||
|
"@babel/helper-function-name": "^7.10.4",
|
||||||
|
"@babel/helper-split-export-declaration": "^7.11.0",
|
||||||
|
"@babel/parser": "^7.11.0",
|
||||||
|
"@babel/types": "^7.11.0",
|
||||||
|
"debug": "^4.1.0",
|
||||||
|
"globals": "^11.1.0",
|
||||||
|
"lodash": "^4.17.19"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@babel/code-frame": {
|
||||||
|
"version": "7.10.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
|
||||||
|
"integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
|
||||||
|
"requires": {
|
||||||
|
"@babel/highlight": "^7.10.4"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@babel/types": {
|
||||||
|
"version": "7.11.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.0.tgz",
|
||||||
|
"integrity": "sha512-O53yME4ZZI0jO1EVGtF1ePGl0LHirG4P1ibcD80XyzZcKhcMFeCXmh4Xb1ifGBIV233Qg12x4rBfQgA+tmOukA==",
|
||||||
|
"requires": {
|
||||||
|
"@babel/helper-validator-identifier": "^7.10.4",
|
||||||
|
"lodash": "^4.17.19",
|
||||||
|
"to-fast-properties": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"@webassemblyjs/ast": {
|
"@webassemblyjs/ast": {
|
||||||
"version": "1.8.5",
|
"version": "1.8.5",
|
||||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz",
|
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz",
|
||||||
@@ -15729,6 +15861,27 @@
|
|||||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz",
|
||||||
"integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA=="
|
"integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA=="
|
||||||
},
|
},
|
||||||
|
"ansi-styles": {
|
||||||
|
"version": "3.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
|
||||||
|
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
|
||||||
|
"requires": {
|
||||||
|
"color-convert": "^1.9.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"babel-eslint": {
|
||||||
|
"version": "10.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz",
|
||||||
|
"integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==",
|
||||||
|
"requires": {
|
||||||
|
"@babel/code-frame": "^7.0.0",
|
||||||
|
"@babel/parser": "^7.7.0",
|
||||||
|
"@babel/traverse": "^7.7.0",
|
||||||
|
"@babel/types": "^7.7.0",
|
||||||
|
"eslint-visitor-keys": "^1.0.0",
|
||||||
|
"resolve": "^1.12.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"cacache": {
|
"cacache": {
|
||||||
"version": "12.0.4",
|
"version": "12.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
|
||||||
@@ -15751,6 +15904,37 @@
|
|||||||
"y18n": "^4.0.0"
|
"y18n": "^4.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"chalk": {
|
||||||
|
"version": "2.4.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
|
||||||
|
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
|
||||||
|
"requires": {
|
||||||
|
"ansi-styles": "^3.2.1",
|
||||||
|
"escape-string-regexp": "^1.0.5",
|
||||||
|
"supports-color": "^5.3.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"color-convert": {
|
||||||
|
"version": "1.9.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
|
||||||
|
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
|
||||||
|
"requires": {
|
||||||
|
"color-name": "1.1.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"color-name": {
|
||||||
|
"version": "1.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
|
||||||
|
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
|
||||||
|
},
|
||||||
|
"debug": {
|
||||||
|
"version": "4.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
|
||||||
|
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
|
||||||
|
"requires": {
|
||||||
|
"ms": "^2.1.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"dotenv": {
|
"dotenv": {
|
||||||
"version": "8.2.0",
|
"version": "8.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz",
|
||||||
@@ -15788,6 +15972,11 @@
|
|||||||
"yallist": "^3.0.2"
|
"yallist": "^3.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"ms": {
|
||||||
|
"version": "2.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||||
|
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
||||||
|
},
|
||||||
"schema-utils": {
|
"schema-utils": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
|
||||||
@@ -15824,6 +16013,14 @@
|
|||||||
"figgy-pudding": "^3.5.1"
|
"figgy-pudding": "^3.5.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"supports-color": {
|
||||||
|
"version": "5.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
|
||||||
|
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
|
||||||
|
"requires": {
|
||||||
|
"has-flag": "^3.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"webpack": {
|
"webpack": {
|
||||||
"version": "4.42.0",
|
"version": "4.42.0",
|
||||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.42.0.tgz",
|
"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.42.0.tgz",
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
"@material-ui/icons": "^4.5.1",
|
"@material-ui/icons": "^4.5.1",
|
||||||
"@material-ui/styles": "^4.5.2",
|
"@material-ui/styles": "^4.5.2",
|
||||||
"@use-it/interval": "^0.1.3",
|
"@use-it/interval": "^0.1.3",
|
||||||
|
"babel-eslint": "^10.1.0",
|
||||||
"class-transformer": "^0.3.1",
|
"class-transformer": "^0.3.1",
|
||||||
"create-react-app": "^2.0.3",
|
"create-react-app": "^2.0.3",
|
||||||
"cytoscape": "^3.11.0",
|
"cytoscape": "^3.11.0",
|
||||||
@@ -26,6 +27,7 @@
|
|||||||
"interweave": "^11.2.0",
|
"interweave": "^11.2.0",
|
||||||
"material-icons": "^0.3.1",
|
"material-icons": "^0.3.1",
|
||||||
"material-icons-react": "^1.0.4",
|
"material-icons-react": "^1.0.4",
|
||||||
|
"material-ui-chip-input": "^2.0.0-beta.2",
|
||||||
"md5-file": "^4.0.0",
|
"md5-file": "^4.0.0",
|
||||||
"mdbreact": "^4.21.1",
|
"mdbreact": "^4.21.1",
|
||||||
"moment": "~2.20.1",
|
"moment": "~2.20.1",
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import IconButton from '@material-ui/core/IconButton';
|
|||||||
import Menu from '@material-ui/core/Menu';
|
import Menu from '@material-ui/core/Menu';
|
||||||
import MenuItem from '@material-ui/core/MenuItem';
|
import MenuItem from '@material-ui/core/MenuItem';
|
||||||
import FormControlLabel from '@material-ui/core/FormControlLabel';
|
import FormControlLabel from '@material-ui/core/FormControlLabel';
|
||||||
|
import Chip from '@material-ui/core/Chip';
|
||||||
import Switch from '@material-ui/core/Switch';
|
import Switch from '@material-ui/core/Switch';
|
||||||
|
|
||||||
import CircularProgress from '@material-ui/core/CircularProgress';
|
import CircularProgress from '@material-ui/core/CircularProgress';
|
||||||
@@ -28,6 +29,8 @@ import ReactJson from 'react-json-view'
|
|||||||
|
|
||||||
import {Link} from 'react-router-dom';
|
import {Link} from 'react-router-dom';
|
||||||
import { useAlert } from "react-alert";
|
import { useAlert } from "react-alert";
|
||||||
|
import ChipInput from 'material-ui-chip-input'
|
||||||
|
|
||||||
|
|
||||||
import Dialog from '@material-ui/core/Dialog';
|
import Dialog from '@material-ui/core/Dialog';
|
||||||
import DialogTitle from '@material-ui/core/DialogTitle';
|
import DialogTitle from '@material-ui/core/DialogTitle';
|
||||||
@@ -54,6 +57,7 @@ const Workflows = (props) => {
|
|||||||
const [firstrequest, setFirstrequest] = React.useState(true)
|
const [firstrequest, setFirstrequest] = React.useState(true)
|
||||||
const [workflowDone, setWorkflowDone] = React.useState(false)
|
const [workflowDone, setWorkflowDone] = React.useState(false)
|
||||||
const [, setTrackingId] = React.useState("")
|
const [, setTrackingId] = React.useState("")
|
||||||
|
const [selectedWorkflowId, setSelectedWorkflowId] = React.useState("")
|
||||||
|
|
||||||
const [collapseJson, setCollapseJson] = React.useState(false)
|
const [collapseJson, setCollapseJson] = React.useState(false)
|
||||||
const [field1, setField1] = React.useState("")
|
const [field1, setField1] = React.useState("")
|
||||||
@@ -64,6 +68,9 @@ const Workflows = (props) => {
|
|||||||
const [modalOpen, setModalOpen] = React.useState(false);
|
const [modalOpen, setModalOpen] = React.useState(false);
|
||||||
const [newWorkflowName, setNewWorkflowName] = React.useState("");
|
const [newWorkflowName, setNewWorkflowName] = React.useState("");
|
||||||
const [newWorkflowDescription, setNewWorkflowDescription] = React.useState("");
|
const [newWorkflowDescription, setNewWorkflowDescription] = React.useState("");
|
||||||
|
const [newWorkflowTags, setNewWorkflowTags] = React.useState([]);
|
||||||
|
const [update, setUpdate] = React.useState("test");
|
||||||
|
const [deleteModalOpen, setDeleteModalOpen] = React.useState(false);
|
||||||
const [editingWorkflow, setEditingWorkflow] = React.useState({})
|
const [editingWorkflow, setEditingWorkflow] = React.useState({})
|
||||||
const { start, stop } = useInterval({
|
const { start, stop } = useInterval({
|
||||||
duration: 5000,
|
duration: 5000,
|
||||||
@@ -71,7 +78,45 @@ const Workflows = (props) => {
|
|||||||
callback: () => {
|
callback: () => {
|
||||||
getWorkflowExecution(selectedWorkflow.id)
|
getWorkflowExecution(selectedWorkflow.id)
|
||||||
}
|
}
|
||||||
});
|
})
|
||||||
|
|
||||||
|
const deleteModal = deleteModalOpen ?
|
||||||
|
<Dialog modal
|
||||||
|
open={deleteModalOpen}
|
||||||
|
onClose={() => {
|
||||||
|
setDeleteModalOpen(false)
|
||||||
|
setSelectedWorkflowId("")
|
||||||
|
}}
|
||||||
|
PaperProps={{
|
||||||
|
style: {
|
||||||
|
backgroundColor: surfaceColor,
|
||||||
|
color: "white",
|
||||||
|
minWidth: 500,
|
||||||
|
},
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<DialogTitle>
|
||||||
|
<div style={{textAlign: "center", color: "rgba(255,255,255,0.9)"}}>
|
||||||
|
Are you sure? <div/>Other workflows relying on this one may stop working
|
||||||
|
</div>
|
||||||
|
</DialogTitle>
|
||||||
|
<DialogContent style={{color: "rgba(255,255,255,0.65)", textAlign: "center"}}>
|
||||||
|
<Button style={{}} onClick={() => {
|
||||||
|
if (editingWorkflow.id.length > 0) {
|
||||||
|
deleteWorkflow(editingWorkflow.id)
|
||||||
|
getAvailableWorkflows()
|
||||||
|
}
|
||||||
|
setDeleteModalOpen(false)
|
||||||
|
}} color="primary">
|
||||||
|
Yes
|
||||||
|
</Button>
|
||||||
|
<Button variant="outlined" style={{}} onClick={() => {setDeleteModalOpen(false)}} color="primary">
|
||||||
|
No
|
||||||
|
</Button>
|
||||||
|
</DialogContent>
|
||||||
|
|
||||||
|
</Dialog>
|
||||||
|
: null
|
||||||
|
|
||||||
const getAvailableWorkflows = () => {
|
const getAvailableWorkflows = () => {
|
||||||
fetch(globalUrl+"/api/v1/workflows", {
|
fetch(globalUrl+"/api/v1/workflows", {
|
||||||
@@ -160,7 +205,6 @@ const Workflows = (props) => {
|
|||||||
|
|
||||||
const paperAppStyle = {
|
const paperAppStyle = {
|
||||||
minHeight: "100px",
|
minHeight: "100px",
|
||||||
maxHeight: "100px",
|
|
||||||
minWidth: "100%",
|
minWidth: "100%",
|
||||||
maxWidth: "100%",
|
maxWidth: "100%",
|
||||||
marginTop: "5px",
|
marginTop: "5px",
|
||||||
@@ -409,7 +453,10 @@ const Workflows = (props) => {
|
|||||||
setEditingWorkflow(data)
|
setEditingWorkflow(data)
|
||||||
setNewWorkflowName(data.name)
|
setNewWorkflowName(data.name)
|
||||||
setNewWorkflowDescription(data.description)
|
setNewWorkflowDescription(data.description)
|
||||||
}} key={"change"}>{"Change name"}</MenuItem>
|
if (data.tags !== undefined && data.tags !== null) {
|
||||||
|
setNewWorkflowTags(JSON.parse(JSON.stringify(data.tags)))
|
||||||
|
}
|
||||||
|
}} key={"change"}>{"Change details"}</MenuItem>
|
||||||
<MenuItem style={{backgroundColor: inputColor, color: "white"}} onClick={() => {
|
<MenuItem style={{backgroundColor: inputColor, color: "white"}} onClick={() => {
|
||||||
copyWorkflow(data)
|
copyWorkflow(data)
|
||||||
setOpen(false)
|
setOpen(false)
|
||||||
@@ -419,7 +466,8 @@ const Workflows = (props) => {
|
|||||||
setOpen(false)
|
setOpen(false)
|
||||||
}} key={"export"}>{"Export"}</MenuItem>
|
}} key={"export"}>{"Export"}</MenuItem>
|
||||||
<MenuItem style={{backgroundColor: inputColor, color: "white"}} onClick={() => {
|
<MenuItem style={{backgroundColor: inputColor, color: "white"}} onClick={() => {
|
||||||
deleteWorkflow(data.id)
|
setDeleteModalOpen(true)
|
||||||
|
setSelectedWorkflowId(data.id)
|
||||||
setOpen(false)
|
setOpen(false)
|
||||||
}} key={"delete"}>{"Delete"}</MenuItem>
|
}} key={"delete"}>{"Delete"}</MenuItem>
|
||||||
|
|
||||||
@@ -432,10 +480,10 @@ const Workflows = (props) => {
|
|||||||
getWorkflowExecution(data.id)
|
getWorkflowExecution(data.id)
|
||||||
}
|
}
|
||||||
}}>
|
}}>
|
||||||
<Grid item style={{flex: "1", justifyContent: "center"}}>
|
<Grid item style={{flex: "1", justifyContent: "center", overflow: "hidden"}}>
|
||||||
<Link to={"/workflows/"+data.id}>
|
<Link to={"/workflows/"+data.id}>
|
||||||
<Tooltip color="primary" title="Edit workflow" placement="bottom">
|
<Tooltip color="primary" title="Edit workflow" placement="bottom">
|
||||||
<Button style={{}} color="primary" variant="text" style={{marginRight: 10}} onClick={() => {}}>
|
<Button style={{}} color="secondary" variant="text" style={{marginRight: 10}} onClick={() => {}}>
|
||||||
<EditIcon style={{marginRight: 10}}/> Edit
|
<EditIcon style={{marginRight: 10}}/> Edit
|
||||||
</Button>
|
</Button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
@@ -445,6 +493,17 @@ const Workflows = (props) => {
|
|||||||
<PlayArrowIcon />
|
<PlayArrowIcon />
|
||||||
</Button>
|
</Button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
|
{data.tags !== undefined ?
|
||||||
|
data.tags.map(tag => {
|
||||||
|
return (
|
||||||
|
<Chip
|
||||||
|
style={{marginRight: 5, marginTop: 2, cursor: "pointer",}}
|
||||||
|
label={tag}
|
||||||
|
color="primary"
|
||||||
|
/>
|
||||||
|
)
|
||||||
|
})
|
||||||
|
: null}
|
||||||
</Grid>
|
</Grid>
|
||||||
</div>
|
</div>
|
||||||
</Grid>
|
</Grid>
|
||||||
@@ -475,8 +534,9 @@ const Workflows = (props) => {
|
|||||||
if (data.results !== null) {
|
if (data.results !== null) {
|
||||||
var results = data.results.length
|
var results = data.results.length
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Paper key={data.id} square style={paperAppStyle} onClick={() => {
|
<Paper key={data.name} square style={paperAppStyle} onClick={() => {
|
||||||
setSelectedExecution(data)
|
setSelectedExecution(data)
|
||||||
}}>
|
}}>
|
||||||
<div style={{marginLeft: "10px", marginTop: "5px", marginBottom: "5px", width: boxWidth, backgroundColor: boxColor}} />
|
<div style={{marginLeft: "10px", marginTop: "5px", marginBottom: "5px", width: boxWidth, backgroundColor: boxColor}} />
|
||||||
@@ -571,7 +631,7 @@ const Workflows = (props) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Paper key={data.id} square style={resultPaperAppStyle} onClick={() => {}}>
|
<Paper key={data.name} square style={resultPaperAppStyle} onClick={() => {}}>
|
||||||
<div style={{marginLeft: "10px", marginTop: "5px", marginBottom: "5px", marginRight: "5px", width: boxWidth, backgroundColor: boxColor}}>
|
<div style={{marginLeft: "10px", marginTop: "5px", marginBottom: "5px", marginRight: "5px", width: boxWidth, backgroundColor: boxColor}}>
|
||||||
</div>
|
</div>
|
||||||
<Grid container style={{margin: "10px 10px 10px 10px", flex: "1"}}>
|
<Grid container style={{margin: "10px 10px 10px 10px", flex: "1"}}>
|
||||||
@@ -741,7 +801,7 @@ const Workflows = (props) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Can create and set workflows
|
// Can create and set workflows
|
||||||
const setNewWorkflow = (name, description, editingWorkflow, redirect) => {
|
const setNewWorkflow = (name, description, tags, editingWorkflow, redirect) => {
|
||||||
|
|
||||||
var method = "POST"
|
var method = "POST"
|
||||||
var extraData = ""
|
var extraData = ""
|
||||||
@@ -760,6 +820,9 @@ const Workflows = (props) => {
|
|||||||
|
|
||||||
workflowdata["name"] = name
|
workflowdata["name"] = name
|
||||||
workflowdata["description"] = description
|
workflowdata["description"] = description
|
||||||
|
if (tags !== undefined) {
|
||||||
|
workflowdata["tags"] = tags
|
||||||
|
}
|
||||||
//console.log(workflowdata)
|
//console.log(workflowdata)
|
||||||
//return
|
//return
|
||||||
|
|
||||||
@@ -822,14 +885,14 @@ const Workflows = (props) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Initialize the workflow itself
|
// Initialize the workflow itself
|
||||||
const ret = setNewWorkflow(data.name, data.description, {}, false)
|
const ret = setNewWorkflow(data.name, data.description, data.tags, {}, false)
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
if (response !== undefined) {
|
if (response !== undefined) {
|
||||||
// SET THE FULL THING
|
// SET THE FULL THING
|
||||||
data.id = response.id
|
data.id = response.id
|
||||||
|
|
||||||
// Actually create it
|
// Actually create it
|
||||||
const ret = setNewWorkflow(data.name, data.description, data, false)
|
const ret = setNewWorkflow(data.name, data.description, data.tags, data, false)
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
if (response !== undefined) {
|
if (response !== undefined) {
|
||||||
alert.success("Successfully imported "+data.name)
|
alert.success("Successfully imported "+data.name)
|
||||||
@@ -850,6 +913,7 @@ const Workflows = (props) => {
|
|||||||
setLoadWorkflowsModalOpen(false)
|
setLoadWorkflowsModalOpen(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log("WOrkflowtags: ", newWorkflowTags)
|
||||||
const modalView = modalOpen ?
|
const modalView = modalOpen ?
|
||||||
<Dialog
|
<Dialog
|
||||||
open={modalOpen}
|
open={modalOpen}
|
||||||
@@ -891,20 +955,50 @@ const Workflows = (props) => {
|
|||||||
margin="dense"
|
margin="dense"
|
||||||
fullWidth
|
fullWidth
|
||||||
/>
|
/>
|
||||||
|
<ChipInput
|
||||||
|
style={{marginTop: 10}}
|
||||||
|
InputProps={{
|
||||||
|
style:{
|
||||||
|
color: "white",
|
||||||
|
},
|
||||||
|
}}
|
||||||
|
placeholder="Tags"
|
||||||
|
color="primary"
|
||||||
|
fullWidth
|
||||||
|
value={newWorkflowTags}
|
||||||
|
onAdd={(chip) => {
|
||||||
|
newWorkflowTags.push(chip)
|
||||||
|
console.log("Add: ", newWorkflowTags)
|
||||||
|
setNewWorkflowTags(newWorkflowTags)
|
||||||
|
}}
|
||||||
|
onDelete={(chip, index) => {
|
||||||
|
newWorkflowTags.splice(index, 1)
|
||||||
|
setNewWorkflowTags(newWorkflowTags)
|
||||||
|
console.log("Delete: ", chip, index)
|
||||||
|
setUpdate("delete "+chip)
|
||||||
|
}}
|
||||||
|
/>
|
||||||
</DialogContent>
|
</DialogContent>
|
||||||
<DialogActions>
|
<DialogActions>
|
||||||
<Button style={{}} onClick={() => setModalOpen(false)} color="primary">
|
<Button style={{}} onClick={() => {
|
||||||
Cancel
|
|
||||||
</Button>
|
|
||||||
<Button style={{}} disabled={newWorkflowName.length === 0} onClick={() => {
|
|
||||||
if (editingWorkflow.id !== undefined) {
|
|
||||||
setNewWorkflow(newWorkflowName, newWorkflowDescription, editingWorkflow, false)
|
|
||||||
setNewWorkflowName("")
|
setNewWorkflowName("")
|
||||||
setNewWorkflowDescription("")
|
setNewWorkflowDescription("")
|
||||||
setEditingWorkflow({})
|
setEditingWorkflow({})
|
||||||
|
setNewWorkflowTags([])
|
||||||
|
setModalOpen(false)
|
||||||
|
}} color="primary">
|
||||||
|
Cancel
|
||||||
|
</Button>
|
||||||
|
<Button style={{}} disabled={newWorkflowName.length === 0} onClick={() => {
|
||||||
|
console.log("Tags: ", newWorkflowTags)
|
||||||
|
if (editingWorkflow.id !== undefined) {
|
||||||
|
setNewWorkflow(newWorkflowName, newWorkflowDescription, newWorkflowTags, editingWorkflow, false)
|
||||||
|
setNewWorkflowName("")
|
||||||
|
setNewWorkflowDescription("")
|
||||||
|
setEditingWorkflow({})
|
||||||
|
setNewWorkflowTags([])
|
||||||
} else {
|
} else {
|
||||||
setNewWorkflow(newWorkflowName, newWorkflowDescription, {}, true)
|
setNewWorkflow(newWorkflowName, newWorkflowDescription, newWorkflowTags, {}, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
setModalOpen(false)
|
setModalOpen(false)
|
||||||
@@ -1187,6 +1281,7 @@ const Workflows = (props) => {
|
|||||||
<div>
|
<div>
|
||||||
{workflowView}
|
{workflowView}
|
||||||
{modalView}
|
{modalView}
|
||||||
|
{deleteModal}
|
||||||
{workflowDownloadModalOpen}
|
{workflowDownloadModalOpen}
|
||||||
</div>
|
</div>
|
||||||
:
|
:
|
||||||
|
|||||||
Reference in New Issue
Block a user