adui
Version:
<div> <img src="https://wxa.wxs.qq.com/mpweb/delivery/legacy/wxadtouch/upload/t1/od834zef_52939fc6.png" style="margin:40px 0 0 -8px; background-color: #fcfcfc; box-shadow: none;" /> </div>
95 lines (79 loc) • 10.7 kB
JavaScript
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
import React, { useState } from "react";
import PropTypes from "prop-types";
import classNames from "classnames";
import "./style";
var prefix = "adui-table";
var TableSort = function TableSort(_ref) {
var onSort = _ref.onSort,
sortOrderProp = _ref.sortOrder,
title = _ref.title,
sortableAndFilterable = _ref.sortableAndFilterable;
var _useState = useState(sortOrderProp),
_useState2 = _slicedToArray(_useState, 2),
sortOrder = _useState2[0],
setSortOrder = _useState2[1];
if (sortOrderProp !== null && sortOrder !== sortOrderProp) {
setSortOrder(sortOrderProp);
}
var handleChange = function handleChange() {
var newOrder;
if (sortOrder) {
newOrder = sortOrder === "desc" ? "asc" : "";
} else {
newOrder = "desc";
}
if (sortOrderProp === null) {
setSortOrder(newOrder);
}
if (onSort) {
onSort(newOrder);
}
};
var handleKeyPress = function handleKeyPress(e) {
if (e.key.toUpperCase() === "ENTER") {
handleChange();
}
};
return React.createElement("div", {
"data-sort": sortOrder,
className: classNames("".concat(prefix, "-sort"), "".concat(prefix, "-sort_").concat(sortOrder)),
onClick: handleChange,
onKeyPress: handleKeyPress,
role: "columnheader",
tabIndex: 0
}, !sortableAndFilterable ? title : null, React.createElement("div", null, React.createElement("svg", {
className: "".concat(prefix, "-asc"),
width: "16",
height: "16"
}, React.createElement("path", {
d: "M12.315 5.764c.372.407.218.736-.32.736H4.01c-.548 0-.696-.325-.32-.736l3.64-3.983a.891.891 0 0 1 1.345 0l3.641 3.983z"
})), React.createElement("svg", {
className: "".concat(prefix, "-desc"),
width: "16",
height: "16"
}, React.createElement("path", {
d: "M12.315 10.236c.372-.407.218-.736-.32-.736H4.01c-.548 0-.696.325-.32.736l3.64 3.983c.372.406.97.41 1.345 0l3.641-3.983z"
}))), !sortableAndFilterable && React.createElement("div", {
className: "".concat(prefix, "-clickholder")
}));
};
TableSort.propTypes = {
onSort: PropTypes.func,
sortOrder: PropTypes.oneOf([null, "", "asc", "desc"]),
title: PropTypes.node,
sortableAndFilterable: PropTypes.bool
};
TableSort.defaultProps = {
onSort: null,
sortOrder: null,
title: null,
sortableAndFilterable: false
};
export default TableSort;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwiUHJvcFR5cGVzIiwiY2xhc3NOYW1lcyIsInByZWZpeCIsIlRhYmxlU29ydCIsIm9uU29ydCIsInNvcnRPcmRlclByb3AiLCJzb3J0T3JkZXIiLCJ0aXRsZSIsInNvcnRhYmxlQW5kRmlsdGVyYWJsZSIsInNldFNvcnRPcmRlciIsImhhbmRsZUNoYW5nZSIsIm5ld09yZGVyIiwiaGFuZGxlS2V5UHJlc3MiLCJlIiwia2V5IiwidG9VcHBlckNhc2UiLCJwcm9wVHlwZXMiLCJmdW5jIiwib25lT2YiLCJub2RlIiwiYm9vbCIsImRlZmF1bHRQcm9wcyJdLCJzb3VyY2VzIjpbIi4uLy4uL2NvbXBvbmVudHMvdGFibGUvVGFibGVTb3J0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiXG5pbXBvcnQgXCIuL3N0eWxlXCJcblxuY29uc3QgcHJlZml4ID0gXCJhZHVpLXRhYmxlXCJcblxuZXhwb3J0IGludGVyZmFjZSBJVGFibGVTb3J0UHJvcHMge1xuICBvblNvcnQ/OiAoKG9yZGVyOiBcImFzY1wiIHwgXCJkZXNjXCIgfCBcIlwiKSA9PiB2b2lkKSB8IG51bGxcbiAgc29ydE9yZGVyPzogbnVsbCB8IFwiXCIgfCBcImFzY1wiIHwgXCJkZXNjXCJcbiAgdGl0bGU/OiBSZWFjdC5SZWFjdE5vZGVcbiAgc29ydGFibGVBbmRGaWx0ZXJhYmxlPzogYm9vbGVhblxufVxuXG4vKipcbiAqIOihqOagvOaOkuW6j1xuICovXG5jb25zdCBUYWJsZVNvcnQ6IFJlYWN0LkZDPElUYWJsZVNvcnRQcm9wcz4gPSAoe1xuICBvblNvcnQsXG4gIHNvcnRPcmRlcjogc29ydE9yZGVyUHJvcCxcbiAgdGl0bGUsXG4gIHNvcnRhYmxlQW5kRmlsdGVyYWJsZSxcbn06IElUYWJsZVNvcnRQcm9wcykgPT4ge1xuICBjb25zdCBbc29ydE9yZGVyLCBzZXRTb3J0T3JkZXJdID0gdXNlU3RhdGUoc29ydE9yZGVyUHJvcClcblxuICAvLyDnm7jlvZPkuo7nlJ/lkb3lkajmnJ8gZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzXG4gIGlmIChzb3J0T3JkZXJQcm9wICE9PSBudWxsICYmIHNvcnRPcmRlciAhPT0gc29ydE9yZGVyUHJvcCkge1xuICAgIHNldFNvcnRPcmRlcihzb3J0T3JkZXJQcm9wKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gKCkgPT4ge1xuICAgIGxldCBuZXdPcmRlcjogXCJcIiB8IFwiYXNjXCIgfCBcImRlc2NcIlxuICAgIGlmIChzb3J0T3JkZXIpIHtcbiAgICAgIG5ld09yZGVyID0gc29ydE9yZGVyID09PSBcImRlc2NcIiA/IFwiYXNjXCIgOiBcIlwiXG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld09yZGVyID0gXCJkZXNjXCJcbiAgICB9XG4gICAgaWYgKHNvcnRPcmRlclByb3AgPT09IG51bGwpIHtcbiAgICAgIHNldFNvcnRPcmRlcihuZXdPcmRlcilcbiAgICB9XG4gICAgaWYgKG9uU29ydCkge1xuICAgICAgb25Tb3J0KG5ld09yZGVyKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUtleVByZXNzID0gKGU6IFJlYWN0LktleWJvYXJkRXZlbnQpID0+IHtcbiAgICBpZiAoZS5rZXkudG9VcHBlckNhc2UoKSA9PT0gXCJFTlRFUlwiKSB7XG4gICAgICBoYW5kbGVDaGFuZ2UoKVxuICAgIH1cbiAgfVxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGRhdGEtc29ydD17c29ydE9yZGVyfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGAke3ByZWZpeH0tc29ydGAsIGAke3ByZWZpeH0tc29ydF8ke3NvcnRPcmRlcn1gKX1cbiAgICAgIG9uQ2xpY2s9e2hhbmRsZUNoYW5nZX1cbiAgICAgIG9uS2V5UHJlc3M9e2hhbmRsZUtleVByZXNzfVxuICAgICAgcm9sZT1cImNvbHVtbmhlYWRlclwiXG4gICAgICB0YWJJbmRleD17MH1cbiAgICA+XG4gICAgICB7IXNvcnRhYmxlQW5kRmlsdGVyYWJsZSA/IHRpdGxlIDogbnVsbH1cbiAgICAgIDxkaXY+XG4gICAgICAgIDxzdmcgY2xhc3NOYW1lPXtgJHtwcmVmaXh9LWFzY2B9IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMTIuMzE1IDUuNzY0Yy4zNzIuNDA3LjIxOC43MzYtLjMyLjczNkg0LjAxYy0uNTQ4IDAtLjY5Ni0uMzI1LS4zMi0uNzM2bDMuNjQtMy45ODNhLjg5MS44OTEgMCAwIDEgMS4zNDUgMGwzLjY0MSAzLjk4M3pcIiAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgICAgPHN2ZyBjbGFzc05hbWU9e2Ake3ByZWZpeH0tZGVzY2B9IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMTIuMzE1IDEwLjIzNmMuMzcyLS40MDcuMjE4LS43MzYtLjMyLS43MzZINC4wMWMtLjU0OCAwLS42OTYuMzI1LS4zMi43MzZsMy42NCAzLjk4M2MuMzcyLjQwNi45Ny40MSAxLjM0NSAwbDMuNjQxLTMuOTgzelwiIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+XG4gICAgICB7IXNvcnRhYmxlQW5kRmlsdGVyYWJsZSAmJiA8ZGl2IGNsYXNzTmFtZT17YCR7cHJlZml4fS1jbGlja2hvbGRlcmB9IC8+fVxuICAgIDwvZGl2PlxuICApXG59XG5cblRhYmxlU29ydC5wcm9wVHlwZXMgPSB7XG4gIC8qKlxuICAgKiDmjpLluo/ml7bnmoQgaGFuZGxlclxuICAgKi9cbiAgb25Tb3J0OiBQcm9wVHlwZXMuZnVuYyxcbiAgLyoqXG4gICAqIOWPr+S7peS7juWklumDqOaOp+WItuaOkuW6j+aWueW8j1xuICAgKiDmsqHmnIkgc29ydE9yZGVy77yM5YiZ55SoIFwiXCIg56m65a2X56ym5Liy77yM5LiN6KaB55SoIG51bGzvvIzlm6DkuLogbnVsbCDkvJrooqvnu4Tku7bop4bkuLrlhoXpg6jpqbHliqhcbiAgICovXG4gIHNvcnRPcmRlcjogUHJvcFR5cGVzLm9uZU9mKFtudWxsLCBcIlwiLCBcImFzY1wiLCBcImRlc2NcIl0pLFxuICAvKipcbiAgICogdGl0bGVcbiAgICovXG4gIHRpdGxlOiBQcm9wVHlwZXMubm9kZSxcbiAgLyoqXG4gICAqIHNvcnRhYmxlQW5kRmlsdGVyYWJsZT86IGJvb2xlYW5cbiAgICovXG4gIHNvcnRhYmxlQW5kRmlsdGVyYWJsZTogUHJvcFR5cGVzLmJvb2wsXG59XG5cblRhYmxlU29ydC5kZWZhdWx0UHJvcHMgPSB7XG4gIG9uU29ydDogbnVsbCxcbiAgc29ydE9yZGVyOiBudWxsLFxuICB0aXRsZTogbnVsbCxcbiAgc29ydGFibGVBbmRGaWx0ZXJhYmxlOiBmYWxzZSxcbn1cblxuZXhwb3J0IGRlZmF1bHQgVGFibGVTb3J0XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUNBLE9BQU9BLEtBQVAsSUFBZ0JDLFFBQWhCLFFBQWdDLE9BQWhDO0FBQ0EsT0FBT0MsU0FBUCxNQUFzQixZQUF0QjtBQUNBLE9BQU9DLFVBQVAsTUFBdUIsWUFBdkI7QUFDQSxPQUFPLFNBQVA7QUFFQSxJQUFNQyxNQUFNLEdBQUcsWUFBZjs7QUFZQSxJQUFNQyxTQUFvQyxHQUFHLFNBQXZDQSxTQUF1QyxPQUt0QjtFQUFBLElBSnJCQyxNQUlxQixRQUpyQkEsTUFJcUI7RUFBQSxJQUhWQyxhQUdVLFFBSHJCQyxTQUdxQjtFQUFBLElBRnJCQyxLQUVxQixRQUZyQkEsS0FFcUI7RUFBQSxJQURyQkMscUJBQ3FCLFFBRHJCQSxxQkFDcUI7O0VBQ3JCLGdCQUFrQ1QsUUFBUSxDQUFDTSxhQUFELENBQTFDO0VBQUE7RUFBQSxJQUFPQyxTQUFQO0VBQUEsSUFBa0JHLFlBQWxCOztFQUdBLElBQUlKLGFBQWEsS0FBSyxJQUFsQixJQUEwQkMsU0FBUyxLQUFLRCxhQUE1QyxFQUEyRDtJQUN6REksWUFBWSxDQUFDSixhQUFELENBQVo7RUFDRDs7RUFFRCxJQUFNSyxZQUFZLEdBQUcsU0FBZkEsWUFBZSxHQUFNO0lBQ3pCLElBQUlDLFFBQUo7O0lBQ0EsSUFBSUwsU0FBSixFQUFlO01BQ2JLLFFBQVEsR0FBR0wsU0FBUyxLQUFLLE1BQWQsR0FBdUIsS0FBdkIsR0FBK0IsRUFBMUM7SUFDRCxDQUZELE1BRU87TUFDTEssUUFBUSxHQUFHLE1BQVg7SUFDRDs7SUFDRCxJQUFJTixhQUFhLEtBQUssSUFBdEIsRUFBNEI7TUFDMUJJLFlBQVksQ0FBQ0UsUUFBRCxDQUFaO0lBQ0Q7O0lBQ0QsSUFBSVAsTUFBSixFQUFZO01BQ1ZBLE1BQU0sQ0FBQ08sUUFBRCxDQUFOO0lBQ0Q7RUFDRixDQWJEOztFQWVBLElBQU1DLGNBQWMsR0FBRyxTQUFqQkEsY0FBaUIsQ0FBQ0MsQ0FBRCxFQUE0QjtJQUNqRCxJQUFJQSxDQUFDLENBQUNDLEdBQUYsQ0FBTUMsV0FBTixPQUF3QixPQUE1QixFQUFxQztNQUNuQ0wsWUFBWTtJQUNiO0VBQ0YsQ0FKRDs7RUFLQSxPQUNFO0lBQ0UsYUFBV0osU0FEYjtJQUVFLFNBQVMsRUFBRUwsVUFBVSxXQUFJQyxNQUFKLHNCQUFzQkEsTUFBdEIsbUJBQXFDSSxTQUFyQyxFQUZ2QjtJQUdFLE9BQU8sRUFBRUksWUFIWDtJQUlFLFVBQVUsRUFBRUUsY0FKZDtJQUtFLElBQUksRUFBQyxjQUxQO0lBTUUsUUFBUSxFQUFFO0VBTlosR0FRRyxDQUFDSixxQkFBRCxHQUF5QkQsS0FBekIsR0FBaUMsSUFScEMsRUFTRSxpQ0FDRTtJQUFLLFNBQVMsWUFBS0wsTUFBTCxTQUFkO0lBQWlDLEtBQUssRUFBQyxJQUF2QztJQUE0QyxNQUFNLEVBQUM7RUFBbkQsR0FDRTtJQUFNLENBQUMsRUFBQztFQUFSLEVBREYsQ0FERixFQUlFO0lBQUssU0FBUyxZQUFLQSxNQUFMLFVBQWQ7SUFBa0MsS0FBSyxFQUFDLElBQXhDO0lBQTZDLE1BQU0sRUFBQztFQUFwRCxHQUNFO0lBQU0sQ0FBQyxFQUFDO0VBQVIsRUFERixDQUpGLENBVEYsRUFpQkcsQ0FBQ00scUJBQUQsSUFBMEI7SUFBSyxTQUFTLFlBQUtOLE1BQUw7RUFBZCxFQWpCN0IsQ0FERjtBQXFCRCxDQXRERDs7QUF3REFDLFNBQVMsQ0FBQ2EsU0FBVixHQUFzQjtFQUlwQlosTUFBTSxFQUFFSixTQUFTLENBQUNpQixJQUpFO0VBU3BCWCxTQUFTLEVBQUVOLFNBQVMsQ0FBQ2tCLEtBQVYsQ0FBZ0IsQ0FBQyxJQUFELEVBQU8sRUFBUCxFQUFXLEtBQVgsRUFBa0IsTUFBbEIsQ0FBaEIsQ0FUUztFQWFwQlgsS0FBSyxFQUFFUCxTQUFTLENBQUNtQixJQWJHO0VBaUJwQlgscUJBQXFCLEVBQUVSLFNBQVMsQ0FBQ29CO0FBakJiLENBQXRCO0FBb0JBakIsU0FBUyxDQUFDa0IsWUFBVixHQUF5QjtFQUN2QmpCLE1BQU0sRUFBRSxJQURlO0VBRXZCRSxTQUFTLEVBQUUsSUFGWTtFQUd2QkMsS0FBSyxFQUFFLElBSGdCO0VBSXZCQyxxQkFBcUIsRUFBRTtBQUpBLENBQXpCO0FBT0EsZUFBZUwsU0FBZiJ9