UNPKG

tdesign-vue

Version:
152 lines (148 loc) 5.39 kB
/** * tdesign v1.12.1 * (c) 2025 tdesign * @license MIT */ import { h as helper } from '../_chunks/dep-323b993c.js'; import _defineProperty from '@babel/runtime/helpers/defineProperty'; import { defineComponent, computed } from '@vue/composition-api'; import { ChevronDownIcon } from 'tdesign-icons-vue'; import useClassName from './hooks/useClassName.js'; import { Tooltip } from '../tooltip/index.js'; import { useConfig } from '../config-provider/useConfig.js'; import { useTNodeDefault } from '../hooks/tnode.js'; import { useGlobalIcon } from '../hooks/useGlobalIcon.js'; import '../config-provider/context.js'; import 'lodash-es'; import '../_common/js/global-config/default-config.js'; import '../_common/js/global-config/locale/zh_CN.js'; import '../_chunks/dep-c44a474d.js'; import '@babel/runtime/helpers/typeof'; import '../_chunks/dep-d639fbd7.js'; import 'dayjs'; import '../_chunks/dep-3c66615e.js'; import '../config-provider/type.js'; import '../_common/js/global-config/t.js'; import '@babel/runtime/helpers/slicedToArray'; import '../tooltip/tooltip.js'; import '../tooltip/props.js'; import '../popup/props.js'; import '../popup/popup.js'; import '@popperjs/core'; import '../utils/dom.js'; import 'vue'; import 'raf'; import '../utils/easing.js'; import '../utils/render-tnode.js'; import '@babel/runtime/helpers/readOnlyError'; import '../utils/helper.js'; import '@babel/runtime/helpers/objectWithoutProperties'; import '../_common/js/utils/setStyle.js'; import '../popup/container.js'; import '../config-provider/config-receiver.js'; import '../utils/mixins.js'; import '../utils/event.js'; import '../popup/utils.js'; import '../utils/map-props.js'; import '../utils/withInstall.js'; import './style/css.js'; import '../tooltip/type.js'; import '../hooks/render-tnode.js'; import '../hooks/useConfig.js'; var SorterButton = defineComponent({ props: { sortType: { type: String, "default": "all" }, sortOrder: { type: String, "default": function _default() { return ""; } }, sortIcon: Function, tooltipProps: Object, locale: Object, hideSortTips: Boolean }, setup: function setup(props, context) { var _useClassName = useClassName(), tableSortClasses = _useClassName.tableSortClasses, negativeRotate180 = _useClassName.negativeRotate180; var renderTNode = useTNodeDefault(); var _useConfig = useConfig("table", props.locale), t = _useConfig.t, global = _useConfig.global; var _useGlobalIcon = useGlobalIcon({ ChevronDownIcon: ChevronDownIcon }), ChevronDownIcon$1 = _useGlobalIcon.ChevronDownIcon; var allowSortTypes = computed(function () { return props.sortType === "all" ? ["asc", "desc"] : [props.sortType]; }); var onSortIconClick = function onSortIconClick(e, direction) { context.emit("sort-icon-click", e, { descending: direction === "desc" }); }; return { t: t, global: global, ChevronDownIcon: ChevronDownIcon$1, tableSortClasses: tableSortClasses, negativeRotate180: negativeRotate180, allowSortTypes: allowSortTypes, onSortIconClick: onSortIconClick, renderTNode: renderTNode }; }, methods: { getSortIcon: function getSortIcon(direction, activeClass) { var _this = this; var h = this.$createElement; var ChevronDownIcon = this.ChevronDownIcon; var defaultIcon = this.t(this.global.sortIcon) || h(ChevronDownIcon); var icon = this.renderTNode("sortIcon", defaultIcon); var sortClassName = [activeClass, this.tableSortClasses.sortIcon, this.tableSortClasses.iconDirection[direction], _defineProperty({}, this.negativeRotate180, direction === "asc")]; return h("span", { "class": sortClassName, "on": { "click": function click(e) { return _this.onSortIconClick(e, direction); } } }, [icon]); } }, render: function render() { var _this2 = this; var h = arguments[0]; var tableSortClasses = this.tableSortClasses; var classes = [tableSortClasses.trigger, _defineProperty({}, tableSortClasses.doubleIcon, this.allowSortTypes.length > 1)]; var tooltips = { asc: this.global.sortAscendingOperationText, desc: this.global.sortDescendingOperationText }; var sortButton = this.allowSortTypes.map(function (direction) { var _this2$hideSortTips; var activeClass = direction === _this2.sortOrder ? tableSortClasses.iconActive : tableSortClasses.iconDefault; var cancelTips = _this2.global.sortCancelOperationText; var tips = direction === _this2.sortOrder ? cancelTips : tooltips[direction]; if ((_this2$hideSortTips = _this2.hideSortTips) !== null && _this2$hideSortTips !== void 0 ? _this2$hideSortTips : _this2.global.hideSortTips) return _this2.getSortIcon(direction, activeClass); return h(Tooltip, helper([{ "attrs": { "content": tips, "placement": "right", "showArrow": false }, "class": _this2.tableSortClasses.iconDirection[direction] }, _this2.tooltipProps]), [_this2.getSortIcon(direction, activeClass)]); }); return h("div", { "class": classes }, [sortButton]); } }); export { SorterButton as default }; //# sourceMappingURL=sorter-button.js.map