UNPKG

@zhsz/cool-design-crud

Version:

56 lines (55 loc) 1.48 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 { SearchIcon } from "tdesign-icons-vue-next"; import { Button } from "tdesign-vue-next"; import ButtonProps from "tdesign-vue-next/es/button/props"; const btn = /* @__PURE__ */ defineComponent({ name: "cl-adv-btn", props: { ...ButtonProps }, components: { SearchIcon, TdButton: Button }, setup(props, { slots }) { const { crud, mitt } = useCore(); const { style } = useTools(); function open() { var _a; mitt.emit("crud.openAdvSearch"); (_a = props == null ? void 0 : props.onClick) == null ? void 0 : _a.call(props, {}); } return () => { var _a; return createVNode(Button, mergeProps({ "variant": "outline", "class": "cl-adv-btn", "size": style.size }, omit(pickBy(props, (value) => value !== void 0), ["onClick", "variant"]), { "onClick": open }), { default: slots.default ? (_a = slots.default) == null ? void 0 : _a.call(slots) : () => crud.dict.label.advSearch, icon: () => createVNode(SearchIcon, null, null), ...slots }); }; } }); export { btn as default };