UNPKG

epic-designer

Version:

基于vue3的设计器,可视化开发页面表单

108 lines (107 loc) 3.94 kB
import { defineComponent as f, computed as T, h as r, createElementBlock as x, openBlock as d, normalizeClass as l, unref as c, createElementVNode as B, createBlock as E, createCommentVNode as y, createVNode as g } from "vue"; /* empty css */ import b from "../icon/icon.vue.js"; /* empty css */ /* empty css */ import { pluginManager as v } from "../../../../manager/src/pluginManager.js"; import "../../../../git/epic/epic-designer/node_modules/.pnpm/jsep@1.4.0/node_modules/jsep/dist/jsep.js"; import "@vueuse/core"; import "../../../../hooks/src/store/index.js"; import { useDesignerContext as S } from "../../../../hooks/src/designer/useDesignerContext.js"; /* empty css */ import V from "./treeNodes.vue.js"; import { useTreeContext as w } from "./useTreeContext.js"; const H = /* @__PURE__ */ f({ name: "ETreeNodeItem", __name: "treeNodeItem", props: { schema: {} }, setup(k) { const e = k, s = w(), { pageSchema: o } = S(), m = T(() => s.expandedKeys.value.includes(e.schema.id ?? "")), C = f({ setup() { return () => { var a, t; return r( "span", { class: { checked: s.selectedKeys.value.includes(e.schema.id), hover: s.treeProps.hoverKey === e.schema.id, text: !0 }, onClick: () => s.handleSelect(e.schema.id, e.schema) }, ((t = (a = s.slots)["tree-node"]) == null ? void 0 : t.call(a, e)) ?? r( "span", { class: "epic-text-padding flex" }, { default: () => { var n; return [ r( "span", { class: "max-w-full truncate" }, e.schema.label ?? ((n = v.component.getConfigByType(e.schema.type)) == null ? void 0 : n.defaultSchema.label) ), r( "span", { class: "epic-node-type-text flex-1 w-0 truncate" }, e.schema.id ) ]; } } ) ); }; } }); function K() { const a = e.schema.id; if (!a) return !1; s.expandedKeys.value.includes(a) ? s.expandedKeys.value = s.expandedKeys.value.filter( (t) => t !== a ) : s.expandedKeys.value.push(a); } function _() { var t; const a = e.schema.id; if (!a || !((t = e.schema.children) != null && t.length)) return !1; s.expandedKeys.value.push(a); } return _(), (a, t) => { var n, i, p, h, u; return d(), x("li", { class: l(["epic-tree-node", { expanded: (n = e.schema.children) == null ? void 0 : n.length, "is-locked": c(v).component.getLocked(e.schema.type), "level-1": e.schema.id === ((i = c(o).schemas[0]) == null ? void 0 : i.id) }]) }, [ B("a", null, [ (p = e.schema.children) != null && p.length && e.schema.id !== ((h = c(o).schemas[0]) == null ? void 0 : h.id) ? (d(), x("span", { key: 0, class: l(["icon-expanded", { expanded: m.value }]), onClick: K }, [ g(c(b), { name: "icon--epic--caret-right-outlined" }) ], 2)) : y("", !0), g(c(C)) ]), (u = e.schema.children) != null && u.length ? (d(), E(V, { key: 0, schemas: e.schema.children, "onUpdate:schemas": t[0] || (t[0] = (N) => e.schema.children = N), class: l(["epic-tree-sublist", { expanded: m.value }]), "parent-schema": e.schema }, null, 8, ["schemas", "class", "parent-schema"])) : y("", !0) ], 2); }; } }); export { H as default };