@zhsz/cool-design-crud
Version:
53 lines (52 loc) • 1.51 kB
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const vue = require("vue");
require("../../utils/test.js");
const core = require("../../hooks/core.js");
require("clone-deep");
require("array.prototype.flat");
require("merge");
require("@formily/core");
const lodashEs = require("lodash-es");
require("../../hooks/table.js");
const tdesignVueNext = require("tdesign-vue-next");
const ButtonProps = require("tdesign-vue-next/es/button/props");
const index = /* @__PURE__ */ vue.defineComponent({
name: "cl-add-btn",
props: {
...ButtonProps,
theme: {
type: String,
default: "primary"
}
},
components: {
TdButton: tdesignVueNext.Button
},
setup(props, {
slots
}) {
const {
crud
} = core.useCore();
const {
style
} = core.useTools();
return () => {
return crud.getPermission("add") && vue.createVNode(tdesignVueNext.Button, vue.mergeProps({
"theme": "primary",
"size": style.size
}, lodashEs.omit(lodashEs.pickBy(props, (value) => value !== void 0), ["onChange", "value", "modelValue", "model-value"]), {
"onClick": () => {
var _a;
crud.rowAdd();
(_a = props == null ? void 0 : props.onClick) == null ? void 0 : _a.call(props, {});
}
}), {
default: slots.default ? slots.default() : () => crud.dict.label.add,
...slots
});
};
}
});
exports.default = index;