diff --git a/frappe/public/js/workflow_builder/WorkflowBuilder.vue b/frappe/public/js/workflow_builder/WorkflowBuilder.vue index d61a8855f8..37130dbb6b 100644 --- a/frappe/public/js/workflow_builder/WorkflowBuilder.vue +++ b/frappe/public/js/workflow_builder/WorkflowBuilder.vue @@ -1,15 +1,45 @@ @@ -25,4 +55,16 @@ let store = useStore(); border: 1px solid var(--border-color); background-color: var(--fg-color); } + +:deep(.transition-edge) { + stroke: var(--gray-600); + stroke-width: 1.5px; +} + +:deep(.selected) { + .transition-edge { + stroke: var(--primary); + stroke-width: 2px; + } +} diff --git a/frappe/public/js/workflow_builder/components/StateNode.vue b/frappe/public/js/workflow_builder/components/StateNode.vue new file mode 100644 index 0000000000..0d211eca82 --- /dev/null +++ b/frappe/public/js/workflow_builder/components/StateNode.vue @@ -0,0 +1,64 @@ + + + + + diff --git a/frappe/public/js/workflow_builder/components/TransitionEdge.vue b/frappe/public/js/workflow_builder/components/TransitionEdge.vue new file mode 100644 index 0000000000..141b9da045 --- /dev/null +++ b/frappe/public/js/workflow_builder/components/TransitionEdge.vue @@ -0,0 +1,84 @@ + + + + + diff --git a/frappe/public/js/workflow_builder/store.js b/frappe/public/js/workflow_builder/store.js index 8b439690ec..c1203bc19b 100644 --- a/frappe/public/js/workflow_builder/store.js +++ b/frappe/public/js/workflow_builder/store.js @@ -3,7 +3,19 @@ import { ref } from "vue"; export const useStore = defineStore("workflow-builder-store", () => { let workflow = ref({ - elements: [], + elements: [ + { id: "1", label: "Open", type: "state", position: { x: 300, y: 150 } }, + { id: "2", label: "Approved", type: "state", position: { x: 700, y: 150 } }, + { + id: "edge-1-2", + source: "1", + target: "2", + type: "transition", + sourceHandle: "b", + targetHandle: "d", + animated: true, + }, + ], }); return { diff --git a/frappe/public/js/workflow_builder/utils.js b/frappe/public/js/workflow_builder/utils.js new file mode 100644 index 0000000000..e69de29bb2