@antdv/pro-utils
Version:
@antdv/pro-utils
90 lines (89 loc) • 3.27 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, {
FilterDropdown: () => FilterDropdown
});
module.exports = __toCommonJS(stdin_exports);
var import_vue = require("vue");
var import_ant_design_vue = require("ant-design-vue");
var import_context = require("ant-design-vue/lib/config-provider/context");
var import_vue2 = require("vue");
var import_classNames = require("../../classNames");
var import_DropdownFooter = require("../DropdownFooter");
var import_style = require("./style");
const FilterDropdown = (0, import_vue2.defineComponent)((props, {
slots
}) => {
const {
getPrefixCls
} = (0, import_context.useConfigContextInject)();
const prefixCls = (0, import_vue2.computed)(() => getPrefixCls("pro-core-field-dropdown"));
const {
wrapSSR,
hashId
} = (0, import_style.useStyle)(prefixCls);
const htmlRef = (0, import_vue2.ref)(null);
return () => {
const {
label,
footer,
open,
onOpenChange,
disabled,
footerRender,
placement
} = props;
return wrapSSR((0, import_vue.createVNode)(import_ant_design_vue.Popover, {
"placement": placement,
"trigger": ["click"],
"open": open || false,
"onOpenChange": onOpenChange,
"overlayInnerStyle": {
padding: 0
},
"content": (0, import_vue.createVNode)("div", {
"ref": htmlRef,
"class": (0, import_classNames.classNames)(`${prefixCls.value}-overlay`, {
[`${prefixCls.value}-overlay-${placement}`]: placement,
hashId: hashId.value
})
}, [(0, import_vue.createVNode)(import_ant_design_vue.ConfigProvider, {
"getPopupContainer": () => {
return htmlRef.value || document.body;
}
}, {
default: () => {
var _a;
return [(0, import_vue.createVNode)("div", {
"class": `${prefixCls.value}-content ${hashId.value}`.trim()
}, [(_a = slots.default) == null ? void 0 : _a.call(slots)])];
}
}), footer && (0, import_vue.createVNode)(import_DropdownFooter.DropdownFooter, (0, import_vue.mergeProps)({
"disabled": disabled,
"footerRender": footerRender
}, footer), null)])
}, {
default: () => [(0, import_vue.createVNode)("span", {
"class": `${prefixCls.value}-label ${hashId.value}`.trim()
}, [label])]
}));
};
}, {
props: ["label", "footer", "footerRender", "padding", "disabled", "onOpenChange", "open", "placement"]
});