feat: workflow builder

created page with vue setup
This commit is contained in:
Shariq Ansari 2023-05-01 13:13:27 +05:30
parent 9dc2a32952
commit aa3b6d3ecc
6 changed files with 96 additions and 0 deletions

View file

@ -0,0 +1,7 @@
<template>
{{ workflow }}
</template>
<script setup>
let props = defineProps(["workflow"]);
</script>

View file

@ -0,0 +1,33 @@
import { createApp } from "vue";
import WorkflowBuilderComponent from "./WorkflowBuilder.vue";
class WorkflowBuilder {
constructor({ wrapper, page, workflow }) {
this.$wrapper = $(wrapper);
this.page = page;
this.workflow = workflow;
this.init();
}
init() {
// set page title
this.page.set_title(__("Editing {0}", [this.workflow]));
this.setup_app();
}
setup_app() {
// create a vue instance
let app = createApp(WorkflowBuilderComponent, { workflow: this.workflow });
SetVueGlobals(app);
app.use(pinia);
// mount the app
this.$workflow_builder = app.mount(this.$wrapper.get(0));
}
}
frappe.provide("frappe.ui");
frappe.ui.WorkflowBuilder = WorkflowBuilder;
export default WorkflowBuilder;

View file

View file

@ -0,0 +1,33 @@
frappe.pages["workflow-builder"].on_page_load = function (wrapper) {
frappe.ui.make_app_page({
parent: wrapper,
title: __("Workflow Builder"),
single_column: true,
});
// hot reload in development
if (frappe.boot.developer_mode) {
frappe.hot_update = frappe.hot_update || [];
frappe.hot_update.push(() => load_workflow_builder(wrapper));
}
};
frappe.pages["workflow-builder"].on_page_show = function (wrapper) {
load_workflow_builder(wrapper);
};
function load_workflow_builder(wrapper) {
let route = frappe.get_route();
let $parent = $(wrapper).find(".layout-main-section");
$parent.empty();
if (route.length > 1) {
frappe.require("workflow_builder.bundle.js").then(() => {
frappe.workflow_builder = new frappe.ui.WorkflowBuilder({
wrapper: $parent,
page: wrapper.page,
workflow: route[1],
});
});
}
}

View file

@ -0,0 +1,23 @@
{
"content": null,
"creation": "2023-05-01 13:02:17.223595",
"docstatus": 0,
"doctype": "Page",
"idx": 0,
"modified": "2023-05-01 13:02:17.223595",
"modified_by": "Administrator",
"module": "Workflow",
"name": "workflow-builder",
"owner": "Administrator",
"page_name": "workflow-builder",
"roles": [
{
"role": "System Manager"
}
],
"script": null,
"standard": "Yes",
"style": null,
"system_page": 0,
"title": "Workflow Builder"
}