UNPKG

@zhsz/cool-design-crud

Version:

53 lines (52 loc) 1.35 kB
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 };