rr-table
Version:
Responsive and customizable React Table
91 lines (66 loc) • 6.3 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _colorPalette = require("../../config/styles/colorPalette");
var _icons = require("../../assets/icons");
var _sortOrders = require("../../config/constants/sortOrders");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _templateObject2() {
var data = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n max-height: 100%;\n\n &:hover {\n color: ", ";\n }\n"]);
_templateObject2 = function _templateObject2() {
return data;
};
return data;
}
function _templateObject() {
var data = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n max-height: 100%;\n padding-right: 20px;\n"]);
_templateObject = function _templateObject() {
return data;
};
return data;
}
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
/** Styles */
var SortWrapper = _styledComponents.default.div(_templateObject());
var IconWrapper = _styledComponents.default.div(_templateObject2(), _colorPalette.grey);
var ICON_WIDTH = 18;
var ICON_HEIGHT = 18;
/** Component */
var Sort = function Sort(_ref) {
var onSort = _ref.onSort,
sortingKey = _ref.sortingKey;
var handleSortASC = function handleSortASC(e) {
e.stopPropagation();
onSort(sortingKey, _sortOrders.ASC);
};
var handleSortDESC = function handleSortDESC(e) {
e.stopPropagation();
onSort(sortingKey, _sortOrders.DESC);
};
return _react.default.createElement(SortWrapper, null, _react.default.createElement(IconWrapper, {
onClick: handleSortASC
}, _react.default.createElement(_icons.ChevronUp, {
width: ICON_WIDTH,
height: ICON_HEIGHT
})), _react.default.createElement(IconWrapper, {
onClick: handleSortDESC
}, _react.default.createElement(_icons.ChevronDown, {
width: ICON_WIDTH,
height: ICON_HEIGHT
})));
};
/** Props Types */
Sort.propTypes = {
/** sorting function */
onSort: _propTypes.default.func.isRequired,
/** key to sort */
sortingKey: _propTypes.default.string.isRequired
};
var _default = Sort;
exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1NvcnQvaW5kZXguanN4Il0sIm5hbWVzIjpbIlNvcnRXcmFwcGVyIiwic3R5bGVkIiwiZGl2IiwiSWNvbldyYXBwZXIiLCJncmV5IiwiSUNPTl9XSURUSCIsIklDT05fSEVJR0hUIiwiU29ydCIsIm9uU29ydCIsInNvcnRpbmdLZXkiLCJoYW5kbGVTb3J0QVNDIiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsIkFTQyIsImhhbmRsZVNvcnRERVNDIiwiREVTQyIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsImZ1bmMiLCJpc1JlcXVpcmVkIiwic3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUE7QUFDQSxJQUFNQSxXQUFXLEdBQUdDLDBCQUFPQyxHQUFWLG1CQUFqQjs7QUFPQSxJQUFNQyxXQUFXLEdBQUdGLDBCQUFPQyxHQUFWLHFCQU1KRSxrQkFOSSxDQUFqQjs7QUFVQSxJQUFNQyxVQUFVLEdBQUcsRUFBbkI7QUFDQSxJQUFNQyxXQUFXLEdBQUUsRUFBbkI7QUFFQTs7QUFDQSxJQUFNQyxJQUFJLEdBQUcsU0FBUEEsSUFBTyxPQUE0QjtBQUFBLE1BQXpCQyxNQUF5QixRQUF6QkEsTUFBeUI7QUFBQSxNQUFqQkMsVUFBaUIsUUFBakJBLFVBQWlCOztBQUN2QyxNQUFNQyxhQUFhLEdBQUcsU0FBaEJBLGFBQWdCLENBQUNDLENBQUQsRUFBTztBQUMzQkEsSUFBQUEsQ0FBQyxDQUFDQyxlQUFGO0FBQ0FKLElBQUFBLE1BQU0sQ0FBQ0MsVUFBRCxFQUFhSSxlQUFiLENBQU47QUFDRCxHQUhEOztBQUtBLE1BQU1DLGNBQWMsR0FBRyxTQUFqQkEsY0FBaUIsQ0FBQ0gsQ0FBRCxFQUFPO0FBQzVCQSxJQUFBQSxDQUFDLENBQUNDLGVBQUY7QUFDQUosSUFBQUEsTUFBTSxDQUFDQyxVQUFELEVBQWFNLGdCQUFiLENBQU47QUFDRCxHQUhEOztBQUlBLFNBQ0UsNkJBQUMsV0FBRCxRQUNFLDZCQUFDLFdBQUQ7QUFBYSxJQUFBLE9BQU8sRUFBRUw7QUFBdEIsS0FDRSw2QkFBQyxnQkFBRDtBQUFXLElBQUEsS0FBSyxFQUFFTCxVQUFsQjtBQUE4QixJQUFBLE1BQU0sRUFBRUM7QUFBdEMsSUFERixDQURGLEVBSUUsNkJBQUMsV0FBRDtBQUFhLElBQUEsT0FBTyxFQUFFUTtBQUF0QixLQUNFLDZCQUFDLGtCQUFEO0FBQWEsSUFBQSxLQUFLLEVBQUVULFVBQXBCO0FBQWdDLElBQUEsTUFBTSxFQUFFQztBQUF4QyxJQURGLENBSkYsQ0FERjtBQVVELENBcEJEO0FBc0JBOzs7QUFDQUMsSUFBSSxDQUFDUyxTQUFMLEdBQWlCO0FBQ2Y7QUFDQVIsRUFBQUEsTUFBTSxFQUFFUyxtQkFBVUMsSUFBVixDQUFlQyxVQUZSOztBQUdmO0FBQ0FWLEVBQUFBLFVBQVUsRUFBRVEsbUJBQVVHLE1BQVYsQ0FBaUJEO0FBSmQsQ0FBakI7ZUFPZVosSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCB7IGdyZXkgfSBmcm9tICdjb25maWcvc3R5bGVzL2NvbG9yUGFsZXR0ZSc7XG5pbXBvcnQgeyBDaGV2cm9uVXAsIENoZXZyb25Eb3duIH0gZnJvbSAnYXNzZXRzL2ljb25zJztcbmltcG9ydCB7IEFTQywgREVTQyB9IGZyb20gJ2NvbmZpZy9jb25zdGFudHMvc29ydE9yZGVycyc7XG5cbi8qKiBTdHlsZXMgKi9cbmNvbnN0IFNvcnRXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbmA7XG5cbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJHtncmV5fTtcbiAgfVxuYDtcblxuY29uc3QgSUNPTl9XSURUSCA9IDE4O1xuY29uc3QgSUNPTl9IRUlHSFQ9IDE4O1xuXG4vKiogQ29tcG9uZW50ICovXG5jb25zdCBTb3J0ID0gKHsgb25Tb3J0LCBzb3J0aW5nS2V5IH0pID0+IHtcbiAgY29uc3QgaGFuZGxlU29ydEFTQyA9IChlKSA9PiB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBvblNvcnQoc29ydGluZ0tleSwgQVNDKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVTb3J0REVTQyA9IChlKSA9PiB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBvblNvcnQoc29ydGluZ0tleSwgREVTQyk7XG4gIH07XG4gIHJldHVybiAoXG4gICAgPFNvcnRXcmFwcGVyPlxuICAgICAgPEljb25XcmFwcGVyIG9uQ2xpY2s9e2hhbmRsZVNvcnRBU0N9PlxuICAgICAgICA8Q2hldnJvblVwIHdpZHRoPXtJQ09OX1dJRFRIfSBoZWlnaHQ9e0lDT05fSEVJR0hUfSAvPlxuICAgICAgPC9JY29uV3JhcHBlcj5cbiAgICAgIDxJY29uV3JhcHBlciBvbkNsaWNrPXtoYW5kbGVTb3J0REVTQ30+XG4gICAgICAgIDxDaGV2cm9uRG93biB3aWR0aD17SUNPTl9XSURUSH0gaGVpZ2h0PXtJQ09OX0hFSUdIVH0gLz5cbiAgICAgIDwvSWNvbldyYXBwZXI+XG4gICAgPC9Tb3J0V3JhcHBlcj5cbiAgKTtcbn07XG5cbi8qKiBQcm9wcyBUeXBlcyAqL1xuU29ydC5wcm9wVHlwZXMgPSB7XG4gIC8qKiBzb3J0aW5nIGZ1bmN0aW9uICovXG4gIG9uU29ydDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgLyoqIGtleSB0byBzb3J0ICovXG4gIHNvcnRpbmdLZXk6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNvcnQ7XG4iXX0=