UNPKG

@antdv/pro-utils

Version:

@antdv/pro-utils

94 lines (93 loc) 3.52 kB
var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var stdin_exports = {}; __export(stdin_exports, { DropdownFooter: () => DropdownFooter }); module.exports = __toCommonJS(stdin_exports); var import_vue = require("vue"); var import_pro_provider = require("@antdv/pro-provider"); var import_ant_design_vue = require("ant-design-vue"); var import_context = require("ant-design-vue/es/config-provider/context"); var import_vue2 = require("vue"); var import_classNames = require("../../classNames"); var import_vueHelper = require("../../vueHelper"); var import_style = require("./style"); const dropdownFooterProps = { onClear: (0, import_vueHelper.funcType)(), onConfirm: (0, import_vueHelper.funcType)(), disabled: (0, import_vueHelper.boolType)(), footerRender: (0, import_vueHelper.oneOfType)([Function, Boolean]) }; const DropdownFooter = (0, import_vue2.defineComponent)({ name: "DropdownFooter", props: dropdownFooterProps, setup(props) { const intl = (0, import_pro_provider.useIntl)(); const { getPrefixCls } = (0, import_context.useConfigContextInject)(); const prefixCls = (0, import_vue2.computed)(() => getPrefixCls("pro-core-dropdown-footer")); const { wrapSSR, hashId } = (0, import_style.useStyle)(prefixCls); return () => { const { onClear, onConfirm, disabled, footerRender } = props; const defaultFooter = [(0, import_vue.createVNode)(import_ant_design_vue.Button, { "key": "clear", "style": { visibility: onClear ? "visible" : "hidden" }, "type": "link", "size": "small", "disabled": disabled, "onClick": (e) => { if (onClear) { onClear(e); } e.stopPropagation(); } }, { default: () => [intl.getMessage("form.lightFilter.clear", "\u6E05\u9664")] }), (0, import_vue.createVNode)(import_ant_design_vue.Button, { "key": "confirm", "data-type": "confirm", "type": "primary", "size": "small", "onClick": onConfirm, "disabled": disabled }, { default: () => [intl.getMessage("form.lightFilter.confirm", "\u786E\u8BA4")] })]; if (footerRender === false || (footerRender == null ? void 0 : footerRender(onConfirm, onClear)) === false) { return null; } const renderDom = (footerRender == null ? void 0 : footerRender(onConfirm, onClear)) || defaultFooter; return wrapSSR((0, import_vue.createVNode)("div", { "class": (0, import_classNames.classNames)(prefixCls.value, hashId.value), "onClick": (e) => e.target.getAttribute("data-type") !== "confirm" && e.stopPropagation() }, [renderDom])); }; } });