@zhsz/cool-design-crud
Version:
53 lines (52 loc) • 1.35 kB
JavaScript
import { defineComponent, createVNode, mergeProps } from "vue";
import "../../utils/test.mjs";
import { useCore, useTools } from "../../hooks/core.mjs";
import "clone-deep";
import "array.prototype.flat";
import "merge";
import "@formily/core";
import { omit, pickBy } from "lodash-es";
import "../../hooks/table.mjs";
import { Button } from "tdesign-vue-next";
import ButtonProps from "tdesign-vue-next/es/button/props";
const index = /* @__PURE__ */ defineComponent({
name: "cl-add-btn",
props: {
...ButtonProps,
theme: {
type: String,
default: "primary"
}
},
components: {
TdButton: Button
},
setup(props, {
slots
}) {
const {
crud
} = useCore();
const {
style
} = useTools();
return () => {
return crud.getPermission("add") && createVNode(Button, mergeProps({
"theme": "primary",
"size": style.size
}, omit(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
});
};
}
});
export {
index as default
};