45 lines
1.7 KiB
JavaScript
45 lines
1.7 KiB
JavaScript
function newDataMineFunctions() {
|
|
thisObject = {
|
|
addAllOutputDatasets: addAllOutputDatasets
|
|
}
|
|
|
|
return thisObject
|
|
|
|
function addAllOutputDatasets(node, functionLibraryUiObjectsFromNodes) {
|
|
|
|
/* Validations to see if we can do this or not. */
|
|
if (node.payload === undefined) { return }
|
|
if (node.payload.uiObject === undefined) { return }
|
|
if (node.payload.parentNode === undefined) {
|
|
node.payload.uiObject.setErrorMessage('You need to have a parent node to execute this action.')
|
|
return
|
|
}
|
|
if (node.payload.parentNode.payload === undefined) {
|
|
node.payload.uiObject.setErrorMessage('You need to have a parent node to execute this action.')
|
|
return
|
|
}
|
|
if (node.payload.parentNode.payload.parentNode === undefined) {
|
|
node.payload.uiObject.setErrorMessage('You need to have a grand parent node to execute this action.')
|
|
return
|
|
}
|
|
|
|
/*
|
|
Next, we are going to scan recursively through all nodes of type Product Definition Folder
|
|
and Product Definition. For each Product Definition Folder we will create a counterpart
|
|
Output Dataset Folder, and for each Product Definition found we will create a Output Definition
|
|
for each Dataset defined inside the Product Definition.
|
|
*/
|
|
asymetricalFolderStructureCloning(
|
|
node.payload.parentNode.payload.parentNode,
|
|
node,
|
|
'products',
|
|
'productDefinitionFolders',
|
|
'outputDatasetFolders',
|
|
'Output Dataset',
|
|
'Output Dataset Folder',
|
|
'datasets',
|
|
functionLibraryUiObjectsFromNodes
|
|
)
|
|
}
|
|
}
|