84 lines
6.7 KiB
JavaScript
84 lines
6.7 KiB
JavaScript
import { ref as f, resolveComponent as m, createVNode as g, computed as h, defineComponent as C } from "vue";
|
||
import { get as U, merge as x, set as E } from "lodash-es";
|
||
class F {
|
||
constructor() {
|
||
this.ref = f(null);
|
||
}
|
||
set(o) {
|
||
this.ref.value = o;
|
||
}
|
||
get() {
|
||
if (this.ref.value == null)
|
||
throw new Error("您还未设置ui,第一步:先安装依赖@fast-crud/ui-interface,然后在use(FastCrud)前安装ui,app.use(UiXxx);第二步:如果是NaiveUI,还需要用fs-ui-context包裹router-view,请参考http://fast-crud.docmirror.cn/guide/start/integration.html#_5-naiveui%E7%9A%84%E9%A2%9D%E5%A4%96%E6%93%8D%E4%BD%9C");
|
||
return this.ref.value;
|
||
}
|
||
}
|
||
const i = new F();
|
||
function B() {
|
||
return {
|
||
uiContext: i,
|
||
ui: i.get(),
|
||
set: (r) => {
|
||
i.set(r);
|
||
}
|
||
};
|
||
}
|
||
const d = (r) => {
|
||
const o = typeof r.is == "string" ? m(r.is) : r.is;
|
||
return g(o, r.props, r.slots);
|
||
}, l = (r, o) => d(r.builder(o)), c = (r, o, t) => {
|
||
const n = {}, s = r.modelValue, e = o.vModel;
|
||
s != null && e && (e != null && e.get && (e != null && e.set) ? (n[s] = e.get(), n[`onUpdate:${s}`] = (u) => {
|
||
e.set(u), e.onChange && e.onChange(u);
|
||
}) : e.ref && e.key ? (n[s] = U(e.ref, e.key), n[`onUpdate:${s}`] = (u) => {
|
||
E(e.ref, e.key, u), e.onChange && e.onChange(u);
|
||
}) : console.warn("vModel配置错误:", r, e));
|
||
const a = {
|
||
is: o.is || r.name,
|
||
props: o.props,
|
||
slots: o.slots
|
||
}, p = t instanceof Function ? t() : t;
|
||
return x({
|
||
props: n
|
||
}, p, a);
|
||
}, v = (r, o = {}) => {
|
||
const t = {
|
||
...r
|
||
};
|
||
return t.render = (n) => l(t, n), t.builder || (t.builder = (n) => c(t, n, o)), t.buildProps = (n) => t.builder(n).props, t.builderComputed = (n) => h(() => t.builder(n)), t;
|
||
};
|
||
function R() {
|
||
return {
|
||
creator: v,
|
||
doRenderComponent: d,
|
||
renderComponent: l,
|
||
buildBinding: c
|
||
};
|
||
}
|
||
const k = /* @__PURE__ */ C({
|
||
name: "FsUiRender",
|
||
props: {
|
||
renderFn: {
|
||
type: Function,
|
||
default() {
|
||
return () => null;
|
||
}
|
||
}
|
||
},
|
||
setup(r) {
|
||
return () => r.renderFn();
|
||
}
|
||
});
|
||
export {
|
||
F as UiContext,
|
||
k as UiRender,
|
||
c as buildBinding,
|
||
v as creator,
|
||
d as doRenderComponent,
|
||
l as renderComponent,
|
||
i as uiContext,
|
||
B as useUi,
|
||
R as useUiRender
|
||
};
|
||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktaW50ZXJmYWNlLm1qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRleHQudHMiLCIuLi8uLi9zcmMvdXNlL3VzZS11aS50cyIsIi4uLy4uL3NyYy91c2UvdXNlLXJlbmRlci50c3giLCIuLi9zcmMvY29tcG9uZW50cy9mcy11aS1yZW5kZXIudnVlIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbCxudWxsLG51bGwsIjxzY3JpcHQgbGFuZz1cInRzeFwiPlxuaW1wb3J0IHsgVWlTbG90IH0gZnJvbSBcIi4uL3VpLWludGVyZmFjZVwiO1xuaW1wb3J0IHsgZGVmaW5lQ29tcG9uZW50LCBQcm9wVHlwZSB9IGZyb20gXCJ2dWVcIjtcblxuaW50ZXJmYWNlIFVpUmVuZGVyUHJvcHMge1xuICByZW5kZXJGbjogVWlSZW5kZXJGbjtcbn1cblxudHlwZSBVaVJlbmRlckZuID0gKCkgPT4gVWlTbG90O1xuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29tcG9uZW50KHtcbiAgbmFtZTogXCJGc1VpUmVuZGVyXCIsXG4gIHByb3BzOiB7XG4gICAgcmVuZGVyRm46IHtcbiAgICAgIHR5cGU6IEZ1bmN0aW9uIGFzIFByb3BUeXBlPFVpUmVuZGVyRm4+LFxuICAgICAgZGVmYXVsdCgpIHtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIHNldHVwKHByb3BzOiBVaVJlbmRlclByb3BzKSB7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHJldHVybiBwcm9wcy5yZW5kZXJGbigpO1xuICAgIH07XG4gIH1cbn0pO1xuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwibGVzc1wiPjwvc3R5bGU+XG4iXSwibmFtZXMiOlsiVWlDb250ZXh0IiwicmVmIiwidWkiLCJ1aUNvbnRleHQiLCJ1c2VVaSIsImRvUmVuZGVyQ29tcG9uZW50IiwiYmluZGluZyIsImNvbXAiLCJpcyIsInJlc29sdmVDb21wb25lbnQiLCJfY3JlYXRlVk5vZGUiLCJwcm9wcyIsInNsb3RzIiwicmVuZGVyQ29tcG9uZW50IiwiY2kiLCJvcHRzIiwiYnVpbGRlciIsImJ1aWxkQmluZGluZyIsInNwZWNpYWwiLCJ2TW9kZWwiLCJtb2RlbFZhbHVlTmFtZSIsIm1vZGVsVmFsdWUiLCJtdkNvbmYiLCJnZXQiLCJzZXQiLCJ2YWx1ZSIsIm9uQ2hhbmdlIiwia2V5IiwiY29uc29sZSIsIndhcm4iLCJ1c2VyQmluZGluZyIsIm5hbWUiLCJzcGVjaWFsQmluZGluZyIsIkZ1bmN0aW9uIiwibWVyZ2UiLCJjcmVhdG9yIiwiZXh0ZW5kQ0kiLCJyZW5kZXIiLCJidWlsZFByb3BzIiwiYnVpbGRlckNvbXB1dGVkIiwiY29tcHV0ZWQiLCJ1c2VVaVJlbmRlciIsImRlZmluZUNvbXBvbmVudCIsInJlbmRlckZuIiwidHlwZSIsImRlZmF1bHQiLCJzZXR1cCJdLCJtYXBwaW5ncyI6Ijs7TUFJYUEsRUFBUztBQUFBLEVBQXRCLGNBQUE7QUFDRSxTQUFBLE1BQXlCQyxFQUFJLElBQUk7QUFBQSxFQWFuQztBQUFBLEVBWkUsSUFBSUMsR0FBZTtBQUNqQixTQUFLLElBQUksUUFBUUE7QUFBQSxFQUNuQjtBQUFBLEVBRUEsTUFBRztBQUNHLFFBQUEsS0FBSyxJQUFJLFNBQVM7QUFDZCxZQUFBLElBQUksTUFDUixtUEFBbVA7QUFHdlAsV0FBTyxLQUFLLElBQUk7QUFBQSxFQUNsQjtBQUNEO0FBQ1ksTUFBQUMsSUFBWSxJQUFJSDtTQ2hCYkksSUFBSztBQUNaLFNBQUE7QUFBQSxJQUNMLFdBQUFEO0FBQUEsSUFDQSxJQUFJQSxFQUFVLElBQUs7QUFBQSxJQUNuQixLQUFLLENBQUNELE1BQW1CO0FBQ3ZCLE1BQUFDLEVBQVUsSUFBSUQsQ0FBRTtBQUFBLElBQ2xCO0FBQUEsRUFBQTtBQUVKO0FDTWFHLE1BQUFBLElBQTBDQyxDQUFBQSxNQUFtQztBQUN4RixRQUFNQyxJQUFPLE9BQU9ELEVBQVFFLE1BQU8sV0FBV0MsRUFBaUJILEVBQVFFLEVB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
|