UNPKG

epic-designer

Version:

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

55 lines (54 loc) 1.62 kB
import { ref as y } from "vue"; /* empty css */ /* empty css */ /* empty css */ import "@vueuse/core"; import "../store/index.js"; import "../../../manager/src/pluginManager.js"; /* empty css */ import "vue-draggable-plus"; import { findSchemaInfoById as m, generateNewSchema as c, deepClone as l } from "../../../utils/src/common/data.js"; import "../../../git/epic/epic-designer/node_modules/.pnpm/jsep@1.4.0/node_modules/jsep/dist/jsep.js"; function F(f, o, p) { const u = y(null); function x(r) { return r != null && r.id ? (u.value = l(r), !0) : !1; } function h(r) { if (!u.value) return !1; const n = m( f.schemas, r ?? "root" ); if (!n) return !1; const { index: i, list: t } = n, a = c(u.value); return t.splice(i + 1, 0, a), o(a), p("粘贴组件"), !0; } function b(r) { const n = m( f.schemas, r ?? "root" ); if (!n) return !1; const { index: i, schema: t, list: a } = n, s = c(t); return a.splice(i + 1, 0, s), o(s), p("复制组件"), !0; } function v(r) { if (!(r != null && r.id)) return !1; u.value = l(r); const n = m(f.schemas, r.id); if (!n) return !1; const { index: i, list: t } = n; return t.splice(i, 1), i === t.length ? o(t[i - 1]) : o(t[i]), p("剪切组件"), !0; } return { clipboardNode: u, copy: x, cut: v, duplicate: b, paste: h }; } export { F as useClipboard };