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 @@
+
+
+
+
+
{{ node.label }}
+
{{ __("No Label") }}
+
+
+
+
+
+
+
+
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