@antdv/pro-utils
Version:
@antdv/pro-utils
94 lines (93 loc) • 3.52 kB
JavaScript
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]));
};
}
});