diff --git a/entity/WorkflowDefinition_entity/WorkflowDefinition_entity.aod b/entity/WorkflowDefinition_entity/WorkflowDefinition_entity.aod index 0c35d7ee8ef1278edffa25dca56867a15fdef094..dfeca41ef02f14a11b63195199fb2cb04ab582d1 100644 --- a/entity/WorkflowDefinition_entity/WorkflowDefinition_entity.aod +++ b/entity/WorkflowDefinition_entity/WorkflowDefinition_entity.aod @@ -18,6 +18,8 @@ <children> <entityActionField> <name>importWorkflow</name> + <isMenuAction v="false" /> + <isObjectAction v="false" /> </entityActionField> </children> </entityActionGroup> @@ -33,6 +35,7 @@ <entityField> <name>FILEUPLOAD</name> <contentType>FILE</contentType> + <onValidation>%aditoprj%/entity/WorkflowDefinition_entity/entityfields/fileupload/onValidation.js</onValidation> </entityField> <entityConsumer> <name>Instances</name> @@ -53,10 +56,21 @@ <name>NAME</name> <title>Name</title> </entityField> + <entityActionField> + <name>startNewInstance</name> + <title>Start workflow</title> + <iconId>VAADIN:PLAY</iconId> + </entityActionField> + <entityField> + <name>DIAGRAM</name> + <contentType>IMAGE</contentType> + <valueProcess>%aditoprj%/entity/WorkflowDefinition_entity/entityfields/diagram/valueProcess.js</valueProcess> + </entityField> </entityFields> <recordContainers> <jDitoRecordContainer> <name>jdito</name> + <isFilterable v="true" /> <contentProcess>%aditoprj%/entity/WorkflowDefinition_entity/recordcontainers/jdito/contentProcess.js</contentProcess> <onInsert>%aditoprj%/entity/WorkflowDefinition_entity/recordcontainers/jdito/onInsert.js</onInsert> <recordFieldMappings> @@ -65,9 +79,11 @@ </jDitoRecordFieldMapping> <jDitoRecordFieldMapping> <name>NAME.value</name> + <isFilterable v="true" /> </jDitoRecordFieldMapping> <jDitoRecordFieldMapping> <name>CATEGORY.value</name> + <isFilterable v="true" /> </jDitoRecordFieldMapping> <jDitoRecordFieldMapping> <name>KEY.value</name> @@ -77,6 +93,7 @@ </jDitoRecordFieldMapping> <jDitoRecordFieldMapping> <name>ISACTIVE.value</name> + <isFilterable v="true" /> </jDitoRecordFieldMapping> </recordFieldMappings> </jDitoRecordContainer> diff --git a/entity/WorkflowDefinition_entity/entityfields/diagram/valueProcess.js b/entity/WorkflowDefinition_entity/entityfields/diagram/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..7d8f58e356d1b5b125e191e7ff32c7f5ee45eb0a --- /dev/null +++ b/entity/WorkflowDefinition_entity/entityfields/diagram/valueProcess.js @@ -0,0 +1,7 @@ +import("system.vars"); +import("system.result"); +import("system.neon"); +import("system.workflow"); + +if (vars.get("$sys.viewmode") == neon.FRAME_VIEWMODE_DATASET) + result.string(workflow.getProcessDiagram(vars.get("$field.UID"))); \ No newline at end of file diff --git a/entity/WorkflowDefinition_entity/entityfields/fileupload/onValidation.js b/entity/WorkflowDefinition_entity/entityfields/fileupload/onValidation.js new file mode 100644 index 0000000000000000000000000000000000000000..867d24c7332926a15ca1260c5f01f9aa06152a39 --- /dev/null +++ b/entity/WorkflowDefinition_entity/entityfields/fileupload/onValidation.js @@ -0,0 +1,10 @@ +import("system.logging"); +import("system.result"); +import("system.vars"); +import("Document_lib"); +import("MimeType_lib"); + +var mimetype = DocumentUtil.getMimeTypeFromUpload(vars.get("$local.value")); + +if (mimetype != MimeTypes.XML()) + result.string("yeeeeeet"); \ No newline at end of file diff --git a/entity/WorkflowDefinition_entity/recordcontainers/jdito/contentProcess.js b/entity/WorkflowDefinition_entity/recordcontainers/jdito/contentProcess.js index f858d71640ff4876c88dce814b52a5b6b67b0cda..48ccb38fca84f71db04118f7f8bf7ead7800897c 100644 --- a/entity/WorkflowDefinition_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/WorkflowDefinition_entity/recordcontainers/jdito/contentProcess.js @@ -1,7 +1,8 @@ +import("system.vars"); import("system.result"); import("Workflow_lib"); import("system.workflow"); - +import("JditoFilter_lib"); var workflowDefObj = WorkflowDefinitionUtils.getDeployedDefinitions(); var workflowDefs = []; @@ -18,4 +19,6 @@ for (let i = 0, l = workflowDefObj.length; i < l; i++) ]); } +workflowDefs = JditoFilterUtils.filterRecords(["UID", "NAME", "CATEGORY", "KEY", "VERSION", "ACTIVE"], workflowDefs, vars.get("$local.filter").filter); + result.object(workflowDefs); \ No newline at end of file diff --git a/entity/WorkflowInstance_entity/WorkflowInstance_entity.aod b/entity/WorkflowInstance_entity/WorkflowInstance_entity.aod index 71db007610e51c593504b1a7fc274ec9249d8212..492ca5a5c69390554504949a4b8aaae0cc1819c5 100644 --- a/entity/WorkflowInstance_entity/WorkflowInstance_entity.aod +++ b/entity/WorkflowInstance_entity/WorkflowInstance_entity.aod @@ -23,6 +23,10 @@ </entityDependency> </dependencies> </entityProvider> + <entityParameter> + <name>WorkflowDefinitionId_param</name> + <expose v="true" /> + </entityParameter> </entityFields> <recordContainers> <jDitoRecordContainer> diff --git a/neonContext/WorkflowDefinition/WorkflowDefinition.aod b/neonContext/WorkflowDefinition/WorkflowDefinition.aod index 1d0fcb581761058ce81c4fd372fc66714051d984..7270f1a656fa02dbaed6c55ae8c7c7932768a367 100644 --- a/neonContext/WorkflowDefinition/WorkflowDefinition.aod +++ b/neonContext/WorkflowDefinition/WorkflowDefinition.aod @@ -25,5 +25,9 @@ <name>c3f4a104-c72f-40c2-a7a3-e2dcb3df35d1</name> <view>WorkflowDefinitionPreview_view</view> </neonViewReference> + <neonViewReference> + <name>92c166cc-ccb3-4ce0-8cb8-315925350fb8</name> + <view>WorkflowDefinitionDiagram_view</view> + </neonViewReference> </references> </neonContext> diff --git a/neonContext/WorkflowInstance/WorkflowInstance.aod b/neonContext/WorkflowInstance/WorkflowInstance.aod index 8a865caa694288b992f4dc5c35c25b25bc542ad2..166a101fd709d93aa0d18751d5fbad28ee405ab2 100644 --- a/neonContext/WorkflowInstance/WorkflowInstance.aod +++ b/neonContext/WorkflowInstance/WorkflowInstance.aod @@ -2,5 +2,16 @@ <neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0"> <name>WorkflowInstance</name> <majorModelMode>DISTRIBUTED</majorModelMode> + <filterview>WorkflowInstanceFilter_view</filterview> <entity>WorkflowInstance_entity</entity> + <references> + <neonViewReference> + <name>db8314f5-c171-4793-968f-ee32891467f8</name> + <view>WorkflowInstanceFilter_view</view> + </neonViewReference> + <neonViewReference> + <name>f80251a2-25e3-41f3-a933-6663e733ed7a</name> + <view>WorkflowInstancePreview_view</view> + </neonViewReference> + </references> </neonContext> diff --git a/neonView/WorkflowDefinitionDiagram_view/WorkflowDefinitionDiagram_view.aod b/neonView/WorkflowDefinitionDiagram_view/WorkflowDefinitionDiagram_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..b74e1c472c7e7d7b56dcf65b68375c89540e90d5 --- /dev/null +++ b/neonView/WorkflowDefinitionDiagram_view/WorkflowDefinitionDiagram_view.aod @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2"> + <name>WorkflowDefinitionDiagram_view</name> + <title>Diagram</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <noneLayout> + <name>layout</name> + </noneLayout> + </layout> + <children> + <pictureViewTemplate> + <name>Diagram</name> + <pictureField>DIAGRAM</pictureField> + <entityField>#ENTITY</entityField> + </pictureViewTemplate> + </children> +</neonView> diff --git a/neonView/WorkflowDefinitionFilter_view/WorkflowDefinitionFilter_view.aod b/neonView/WorkflowDefinitionFilter_view/WorkflowDefinitionFilter_view.aod index 745c817d7ff21e19ea063eab3d0930b13e4a44c8..5d978a336322f9e038ab12ee6ab6c6392a770e69 100644 --- a/neonView/WorkflowDefinitionFilter_view/WorkflowDefinitionFilter_view.aod +++ b/neonView/WorkflowDefinitionFilter_view/WorkflowDefinitionFilter_view.aod @@ -2,6 +2,7 @@ <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2"> <name>WorkflowDefinitionFilter_view</name> <majorModelMode>DISTRIBUTED</majorModelMode> + <filterable v="true" /> <layout> <boxLayout> <name>layout</name> diff --git a/neonView/WorkflowDefinitionMain_view/WorkflowDefinitionMain_view.aod b/neonView/WorkflowDefinitionMain_view/WorkflowDefinitionMain_view.aod index 083dda24d5c69f5c2aaea94d18747a2bf72ca0e7..3f1788cc60b803b722905c7d14bdaad502800c0d 100644 --- a/neonView/WorkflowDefinitionMain_view/WorkflowDefinitionMain_view.aod +++ b/neonView/WorkflowDefinitionMain_view/WorkflowDefinitionMain_view.aod @@ -14,5 +14,15 @@ <entityField>#ENTITY</entityField> <view>WorkflowDefinitionPreview_view</view> </neonViewReference> + <neonViewReference> + <name>17dd244c-fe9b-4df6-a6c0-7ebcfea04ec8</name> + <entityField>Instances</entityField> + <view>WorkflowInstanceFilter_view</view> + </neonViewReference> + <neonViewReference> + <name>ffea2e5b-1f53-42ee-b845-9f06e4d23b30</name> + <entityField>#ENTITY</entityField> + <view>WorkflowDefinitionDiagram_view</view> + </neonViewReference> </children> </neonView> diff --git a/neonView/WorkflowDefinitionPreview_view/WorkflowDefinitionPreview_view.aod b/neonView/WorkflowDefinitionPreview_view/WorkflowDefinitionPreview_view.aod index 0e301c9834b65332fddd4972e22ddd06b7271d8f..98ff813a0dc0166eda9efdfd60c191dcb026daa2 100644 --- a/neonView/WorkflowDefinitionPreview_view/WorkflowDefinitionPreview_view.aod +++ b/neonView/WorkflowDefinitionPreview_view/WorkflowDefinitionPreview_view.aod @@ -11,6 +11,7 @@ <cardViewTemplate> <name>Card</name> <titleField>NAME</titleField> + <subtitleField>CATEGORY</subtitleField> <entityField>#ENTITY</entityField> </cardViewTemplate> </children> diff --git a/neonView/WorkflowInstanceFilter_view/WorkflowInstanceFilter_view.aod b/neonView/WorkflowInstanceFilter_view/WorkflowInstanceFilter_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..c3724e16f2121c7bf78d3de5a60bde85de01120e --- /dev/null +++ b/neonView/WorkflowInstanceFilter_view/WorkflowInstanceFilter_view.aod @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2"> + <name>WorkflowInstanceFilter_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <tableViewTemplate> + <name>Table</name> + <entityField>#ENTITY</entityField> + <columns> + <neonTableColumn> + <name>c5d2c47a-5b20-49c9-b49c-5aee951ce2db</name> + <entityField>UID</entityField> + </neonTableColumn> + </columns> + </tableViewTemplate> + </children> +</neonView> diff --git a/neonView/WorkflowInstancePreview_view/WorkflowInstancePreview_view.aod b/neonView/WorkflowInstancePreview_view/WorkflowInstancePreview_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..c786a1ca2efe8074ee9909feab6db5c0975bd7c6 --- /dev/null +++ b/neonView/WorkflowInstancePreview_view/WorkflowInstancePreview_view.aod @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2"> + <name>WorkflowInstancePreview_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <headerFooterLayout> + <name>layout</name> + </headerFooterLayout> + </layout> +</neonView> diff --git a/process/JditoFilter_lib/process.js b/process/JditoFilter_lib/process.js index a5641323c4841740e3a79066afc45d45e2ff939a..8f8b15f3a86f3892e0260e2a12141bc36b30e37f 100644 --- a/process/JditoFilter_lib/process.js +++ b/process/JditoFilter_lib/process.js @@ -131,7 +131,7 @@ JditoFilterUtils.filterRecords = function (pColumns, pRecords, pFilter, pCustomC if (!pFilter) return pRecords; - var filter = new JditoFilterHelper(pColumns, pFilter, pCustomCheckFns, pCheckFnThisArg); + var filter = new JditoFilterHelper(pColumns, pFilter, pCustomCheckFns || {}, pCheckFnThisArg); return pRecords.filter(function (row) { diff --git a/process/Workflow_lib/process.js b/process/Workflow_lib/process.js index 2d1fcbf93d22673a63dff2d1d92dee22550ade40..4fa7dc51ec69400b76a66e3514e3b4c740ea13a0 100644 --- a/process/Workflow_lib/process.js +++ b/process/Workflow_lib/process.js @@ -1,3 +1,4 @@ +import("system.logging"); import("system.workflow"); @@ -14,6 +15,9 @@ WorkflowDefinitionUtils.getDeployedDefinitions = function (pCategory, pActive) var workflowDefs = workflow.getProcessDefinitions(loadConfig); workflowDefs = JSON.parse(workflowDefs); +// logging.log(JSON.stringify(workflowDefs, null, "\t")) +// workflow.startProcessByKey("offerVerification", []) + return workflowDefs; }