UNPKG

element-plus

Version:

A Component Library for Vue 3

200 lines (195 loc) 7.79 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var filterPanel_vue_vue_type_script_lang = require('./filter-panel.vue2.js'); var vue = require('vue'); var _pluginVue_exportHelper = require('../../../_virtual/_plugin-vue_export-helper.js'); const _hoisted_1 = ["disabled"]; const _hoisted_2 = ["tabindex", "aria-checked"]; const _hoisted_3 = ["tabindex", "aria-checked", "onClick"]; const _hoisted_4 = ["aria-label"]; function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { const _component_el_checkbox = vue.resolveComponent("el-checkbox"); const _component_el_checkbox_group = vue.resolveComponent("el-checkbox-group"); const _component_el_scrollbar = vue.resolveComponent("el-scrollbar"); const _component_arrow_up = vue.resolveComponent("arrow-up"); const _component_arrow_down = vue.resolveComponent("arrow-down"); const _component_el_icon = vue.resolveComponent("el-icon"); const _component_el_tooltip = vue.resolveComponent("el-tooltip"); return vue.openBlock(), vue.createBlock(_component_el_tooltip, { ref: "tooltipRef", offset: 0, placement: _ctx.placement, "show-arrow": false, trigger: "click", role: "dialog", teleported: "", effect: "light", pure: "", loop: "", "popper-class": _ctx.filterClassName, persistent: "", "append-to": _ctx.appendTo, onShow: _ctx.handleShowTooltip, onHide: _ctx.handleHideTooltip }, { content: vue.withCtx(() => [ _ctx.multiple ? (vue.openBlock(), vue.createElementBlock( "div", { key: 0, ref: "rootRef", tabindex: "-1", class: vue.normalizeClass(_ctx.ns.e("multiple")) }, [ vue.createElementVNode( "div", { class: vue.normalizeClass(_ctx.ns.e("content")) }, [ vue.createVNode(_component_el_scrollbar, { "wrap-class": _ctx.ns.e("wrap") }, { default: vue.withCtx(() => [ vue.createVNode(_component_el_checkbox_group, { modelValue: _ctx.filteredValue, "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.filteredValue = $event), class: vue.normalizeClass(_ctx.ns.e("checkbox-group")) }, { default: vue.withCtx(() => [ (vue.openBlock(true), vue.createElementBlock( vue.Fragment, null, vue.renderList(_ctx.filters, (filter) => { return vue.openBlock(), vue.createBlock(_component_el_checkbox, { key: filter.value, value: filter.value }, { default: vue.withCtx(() => [ vue.createTextVNode( vue.toDisplayString(filter.text), 1 /* TEXT */ ) ]), _: 2 /* DYNAMIC */ }, 1032, ["value"]); }), 128 /* KEYED_FRAGMENT */ )) ]), _: 1 /* STABLE */ }, 8, ["modelValue", "class"]) ]), _: 1 /* STABLE */ }, 8, ["wrap-class"]) ], 2 /* CLASS */ ), vue.createElementVNode( "div", { class: vue.normalizeClass(_ctx.ns.e("bottom")) }, [ vue.createElementVNode("button", { class: vue.normalizeClass(_ctx.ns.is("disabled", _ctx.filteredValue.length === 0)), disabled: _ctx.filteredValue.length === 0, type: "button", onClick: _cache[1] || (_cache[1] = (...args) => _ctx.handleConfirm && _ctx.handleConfirm(...args)) }, vue.toDisplayString(_ctx.t("el.table.confirmFilter")), 11, _hoisted_1), vue.createElementVNode( "button", { type: "button", onClick: _cache[2] || (_cache[2] = (...args) => _ctx.handleReset && _ctx.handleReset(...args)) }, vue.toDisplayString(_ctx.t("el.table.resetFilter")), 1 /* TEXT */ ) ], 2 /* CLASS */ ) ], 2 /* CLASS */ )) : (vue.openBlock(), vue.createElementBlock( "ul", { key: 1, ref: "rootRef", tabindex: "-1", role: "radiogroup", class: vue.normalizeClass(_ctx.ns.e("list")), onKeydown: _cache[4] || (_cache[4] = (...args) => _ctx.handleKeydown && _ctx.handleKeydown(...args)) }, [ vue.createElementVNode("li", { role: "radio", class: vue.normalizeClass([ _ctx.ns.e("list-item"), _ctx.ns.is("active", _ctx.isPropAbsent(_ctx.filterValue)) ]), tabindex: _ctx.checkedIndex === 0 ? 0 : -1, "aria-checked": _ctx.isPropAbsent(_ctx.filterValue), onClick: _cache[3] || (_cache[3] = ($event) => _ctx.handleSelect(null, 0)) }, vue.toDisplayString(_ctx.t("el.table.clearFilter")), 11, _hoisted_2), (vue.openBlock(true), vue.createElementBlock( vue.Fragment, null, vue.renderList(_ctx.filters, (filter, idx) => { return vue.openBlock(), vue.createElementBlock("li", { key: filter.value, role: "radio", class: vue.normalizeClass([_ctx.ns.e("list-item"), _ctx.ns.is("active", _ctx.isActive(filter))]), tabindex: _ctx.checkedIndex === idx + 1 ? 0 : -1, "aria-checked": _ctx.isActive(filter), onClick: ($event) => _ctx.handleSelect(filter.value, idx + 1) }, vue.toDisplayString(filter.text), 11, _hoisted_3); }), 128 /* KEYED_FRAGMENT */ )) ], 34 /* CLASS, NEED_HYDRATION */ )) ]), default: vue.withCtx(() => { var _a; return [ vue.createElementVNode("button", { type: "button", class: vue.normalizeClass(`${_ctx.ns.namespace.value}-table__column-filter-trigger`), "aria-label": _ctx.t("el.table.filterLabel", { column: ((_a = _ctx.column) == null ? void 0 : _a.label) || "" }) }, [ vue.createVNode(_component_el_icon, null, { default: vue.withCtx(() => [ vue.renderSlot(_ctx.$slots, "filter-icon", {}, () => { var _a2; return [ ((_a2 = _ctx.column) == null ? void 0 : _a2.filterOpened) ? (vue.openBlock(), vue.createBlock(_component_arrow_up, { key: 0 })) : (vue.openBlock(), vue.createBlock(_component_arrow_down, { key: 1 })) ]; }) ]), _: 3 /* FORWARDED */ }) ], 10, _hoisted_4) ]; }), _: 3 /* FORWARDED */ }, 8, ["placement", "popper-class", "append-to", "onShow", "onHide"]); } var FilterPanel = /* @__PURE__ */ _pluginVue_exportHelper.default(filterPanel_vue_vue_type_script_lang.default, [["render", _sfc_render]]); exports.default = FilterPanel; //# sourceMappingURL=filter-panel.vue.js.map