payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
129 lines (128 loc) • 10.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return _default;
}
});
const _qs = /*#__PURE__*/ _interop_require_default(require("qs"));
const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
const _reacti18next = require("react-i18next");
const _reactrouterdom = require("react-router-dom");
const _getTranslation = require("../../../../utilities/getTranslation");
const _Chevron = /*#__PURE__*/ _interop_require_default(require("../../icons/Chevron"));
const _SearchParams = require("../../utilities/SearchParams");
require("./index.scss");
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
function _getRequireWildcardCache(nodeInterop) {
if (typeof WeakMap !== "function") return null;
var cacheBabelInterop = new WeakMap();
var cacheNodeInterop = new WeakMap();
return (_getRequireWildcardCache = function(nodeInterop) {
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
})(nodeInterop);
}
function _interop_require_wildcard(obj, nodeInterop) {
if (!nodeInterop && obj && obj.__esModule) {
return obj;
}
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
return {
default: obj
};
}
var cache = _getRequireWildcardCache(nodeInterop);
if (cache && cache.has(obj)) {
return cache.get(obj);
}
var newObj = {
__proto__: null
};
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
for(var key in obj){
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
if (desc && (desc.get || desc.set)) {
Object.defineProperty(newObj, key, desc);
} else {
newObj[key] = obj[key];
}
}
}
newObj.default = obj;
if (cache) {
cache.set(obj, newObj);
}
return newObj;
}
const baseClass = 'sort-column';
const SortColumn = (props)=>{
const { name, disable = false, label } = props;
const params = (0, _SearchParams.useSearchParams)();
const history = (0, _reactrouterdom.useHistory)();
const { i18n, t } = (0, _reacti18next.useTranslation)('general');
const { sort } = params;
const desc = `-${name}`;
const asc = name;
const ascClasses = [
`${baseClass}__asc`
];
if (sort === asc) ascClasses.push(`${baseClass}--active`);
const descClasses = [
`${baseClass}__desc`
];
if (sort === desc) descClasses.push(`${baseClass}--active`);
const setSort = (0, _react.useCallback)((newSort)=>{
history.push({
search: _qs.default.stringify({
...params,
sort: newSort
}, {
addQueryPrefix: true
})
});
}, [
params,
history
]);
return /*#__PURE__*/ _react.default.createElement("div", {
className: baseClass
}, /*#__PURE__*/ _react.default.createElement("span", {
className: `${baseClass}__label`
}, (0, _getTranslation.getTranslation)(label, i18n)), !disable && /*#__PURE__*/ _react.default.createElement("div", {
className: `${baseClass}__buttons`
}, /*#__PURE__*/ _react.default.createElement("button", {
"aria-label": t('sortByLabelDirection', {
direction: t('ascending'),
label: (0, _getTranslation.getTranslation)(label, i18n)
}),
className: [
...ascClasses,
`${baseClass}__button`
].filter(Boolean).join(' '),
onClick: ()=>setSort(asc),
type: "button"
}, /*#__PURE__*/ _react.default.createElement(_Chevron.default, {
direction: "up"
})), /*#__PURE__*/ _react.default.createElement("button", {
"aria-label": t('sortByLabelDirection', {
direction: t('descending'),
label: (0, _getTranslation.getTranslation)(label, i18n)
}),
className: [
...descClasses,
`${baseClass}__button`
].filter(Boolean).join(' '),
onClick: ()=>setSort(desc),
type: "button"
}, /*#__PURE__*/ _react.default.createElement(_Chevron.default, null))));
};
const _default = SortColumn;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL1NvcnRDb2x1bW4vaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBxdWVyeVN0cmluZyBmcm9tICdxcydcbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgdXNlSGlzdG9yeSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nXG5cbmltcG9ydCB0eXBlIHsgUHJvcHMgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBnZXRUcmFuc2xhdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxpdGllcy9nZXRUcmFuc2xhdGlvbidcbmltcG9ydCBDaGV2cm9uIGZyb20gJy4uLy4uL2ljb25zL0NoZXZyb24nXG5pbXBvcnQgeyB1c2VTZWFyY2hQYXJhbXMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvU2VhcmNoUGFyYW1zJ1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdzb3J0LWNvbHVtbidcblxuY29uc3QgU29ydENvbHVtbjogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgbmFtZSwgZGlzYWJsZSA9IGZhbHNlLCBsYWJlbCB9ID0gcHJvcHNcbiAgY29uc3QgcGFyYW1zID0gdXNlU2VhcmNoUGFyYW1zKClcbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKVxuICBjb25zdCB7IGkxOG4sIHQgfSA9IHVzZVRyYW5zbGF0aW9uKCdnZW5lcmFsJylcblxuICBjb25zdCB7IHNvcnQgfSA9IHBhcmFtc1xuXG4gIGNvbnN0IGRlc2MgPSBgLSR7bmFtZX1gXG4gIGNvbnN0IGFzYyA9IG5hbWVcblxuICBjb25zdCBhc2NDbGFzc2VzID0gW2Ake2Jhc2VDbGFzc31fX2FzY2BdXG4gIGlmIChzb3J0ID09PSBhc2MpIGFzY0NsYXNzZXMucHVzaChgJHtiYXNlQ2xhc3N9LS1hY3RpdmVgKVxuXG4gIGNvbnN0IGRlc2NDbGFzc2VzID0gW2Ake2Jhc2VDbGFzc31fX2Rlc2NgXVxuICBpZiAoc29ydCA9PT0gZGVzYykgZGVzY0NsYXNzZXMucHVzaChgJHtiYXNlQ2xhc3N9LS1hY3RpdmVgKVxuXG4gIGNvbnN0IHNldFNvcnQgPSB1c2VDYWxsYmFjayhcbiAgICAobmV3U29ydCkgPT4ge1xuICAgICAgaGlzdG9yeS5wdXNoKHtcbiAgICAgICAgc2VhcmNoOiBxdWVyeVN0cmluZy5zdHJpbmdpZnkoXG4gICAgICAgICAge1xuICAgICAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgICAgICAgc29ydDogbmV3U29ydCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHsgYWRkUXVlcnlQcmVmaXg6IHRydWUgfSxcbiAgICAgICAgKSxcbiAgICAgIH0pXG4gICAgfSxcbiAgICBbcGFyYW1zLCBoaXN0b3J5XSxcbiAgKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2Jhc2VDbGFzc30+XG4gICAgICA8c3BhbiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2xhYmVsYH0+e2dldFRyYW5zbGF0aW9uKGxhYmVsLCBpMThuKX08L3NwYW4+XG4gICAgICB7IWRpc2FibGUgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fYnV0dG9uc2B9PlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e3QoJ3NvcnRCeUxhYmVsRGlyZWN0aW9uJywge1xuICAgICAgICAgICAgICBkaXJlY3Rpb246IHQoJ2FzY2VuZGluZycpLFxuICAgICAgICAgICAgICBsYWJlbDogZ2V0VHJhbnNsYXRpb24obGFiZWwsIGkxOG4pLFxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICBjbGFzc05hbWU9e1suLi5hc2NDbGFzc2VzLCBgJHtiYXNlQ2xhc3N9X19idXR0b25gXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U29ydChhc2MpfVxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENoZXZyb24gZGlyZWN0aW9uPVwidXBcIiAvPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e3QoJ3NvcnRCeUxhYmVsRGlyZWN0aW9uJywge1xuICAgICAgICAgICAgICBkaXJlY3Rpb246IHQoJ2Rlc2NlbmRpbmcnKSxcbiAgICAgICAgICAgICAgbGFiZWw6IGdldFRyYW5zbGF0aW9uKGxhYmVsLCBpMThuKSxcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtbLi4uZGVzY0NsYXNzZXMsIGAke2Jhc2VDbGFzc31fX2J1dHRvbmBdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRTb3J0KGRlc2MpfVxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENoZXZyb24gLz5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IFNvcnRDb2x1bW5cbiJdLCJuYW1lcyI6WyJiYXNlQ2xhc3MiLCJTb3J0Q29sdW1uIiwicHJvcHMiLCJuYW1lIiwiZGlzYWJsZSIsImxhYmVsIiwicGFyYW1zIiwidXNlU2VhcmNoUGFyYW1zIiwiaGlzdG9yeSIsInVzZUhpc3RvcnkiLCJpMThuIiwidCIsInVzZVRyYW5zbGF0aW9uIiwic29ydCIsImRlc2MiLCJhc2MiLCJhc2NDbGFzc2VzIiwicHVzaCIsImRlc2NDbGFzc2VzIiwic2V0U29ydCIsInVzZUNhbGxiYWNrIiwibmV3U29ydCIsInNlYXJjaCIsInF1ZXJ5U3RyaW5nIiwic3RyaW5naWZ5IiwiYWRkUXVlcnlQcmVmaXgiLCJkaXYiLCJjbGFzc05hbWUiLCJzcGFuIiwiZ2V0VHJhbnNsYXRpb24iLCJidXR0b24iLCJhcmlhLWxhYmVsIiwiZGlyZWN0aW9uIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJvbkNsaWNrIiwidHlwZSIsIkNoZXZyb24iXSwibWFwcGluZ3MiOiI7Ozs7K0JBK0VBOzs7ZUFBQTs7OzJEQS9Fd0I7K0RBQ1c7OEJBQ0o7Z0NBQ0o7Z0NBSUk7Z0VBQ1g7OEJBQ1k7UUFDekI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRVAsTUFBTUEsWUFBWTtBQUVsQixNQUFNQyxhQUE4QixDQUFDQztJQUNuQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxLQUFLLEVBQUVDLEtBQUssRUFBRSxHQUFHSDtJQUN6QyxNQUFNSSxTQUFTQyxJQUFBQSw2QkFBZTtJQUM5QixNQUFNQyxVQUFVQyxJQUFBQSwwQkFBVTtJQUMxQixNQUFNLEVBQUVDLElBQUksRUFBRUMsQ0FBQyxFQUFFLEdBQUdDLElBQUFBLDRCQUFjLEVBQUM7SUFFbkMsTUFBTSxFQUFFQyxJQUFJLEVBQUUsR0FBR1A7SUFFakIsTUFBTVEsT0FBTyxDQUFDLENBQUMsRUFBRVgsS0FBSyxDQUFDO0lBQ3ZCLE1BQU1ZLE1BQU1aO0lBRVosTUFBTWEsYUFBYTtRQUFDLENBQUMsRUFBRWhCLFVBQVUsS0FBSyxDQUFDO0tBQUM7SUFDeEMsSUFBSWEsU0FBU0UsS0FBS0MsV0FBV0MsSUFBSSxDQUFDLENBQUMsRUFBRWpCLFVBQVUsUUFBUSxDQUFDO0lBRXhELE1BQU1rQixjQUFjO1FBQUMsQ0FBQyxFQUFFbEIsVUFBVSxNQUFNLENBQUM7S0FBQztJQUMxQyxJQUFJYSxTQUFTQyxNQUFNSSxZQUFZRCxJQUFJLENBQUMsQ0FBQyxFQUFFakIsVUFBVSxRQUFRLENBQUM7SUFFMUQsTUFBTW1CLFVBQVVDLElBQUFBLGtCQUFXLEVBQ3pCLENBQUNDO1FBQ0NiLFFBQVFTLElBQUksQ0FBQztZQUNYSyxRQUFRQyxXQUFXLENBQUNDLFNBQVMsQ0FDM0I7Z0JBQ0UsR0FBR2xCLE1BQU07Z0JBQ1RPLE1BQU1RO1lBQ1IsR0FDQTtnQkFBRUksZ0JBQWdCO1lBQUs7UUFFM0I7SUFDRixHQUNBO1FBQUNuQjtRQUFRRTtLQUFRO0lBR25CLHFCQUNFLDZCQUFDa0I7UUFBSUMsV0FBVzNCO3FCQUNkLDZCQUFDNEI7UUFBS0QsV0FBVyxDQUFDLEVBQUUzQixVQUFVLE9BQU8sQ0FBQztPQUFHNkIsSUFBQUEsOEJBQWMsRUFBQ3hCLE9BQU9LLFFBQzlELENBQUNOLHlCQUNBLDZCQUFDc0I7UUFBSUMsV0FBVyxDQUFDLEVBQUUzQixVQUFVLFNBQVMsQ0FBQztxQkFDckMsNkJBQUM4QjtRQUNDQyxjQUFZcEIsRUFBRSx3QkFBd0I7WUFDcENxQixXQUFXckIsRUFBRTtZQUNiTixPQUFPd0IsSUFBQUEsOEJBQWMsRUFBQ3hCLE9BQU9LO1FBQy9CO1FBQ0FpQixXQUFXO2VBQUlYO1lBQVksQ0FBQyxFQUFFaEIsVUFBVSxRQUFRLENBQUM7U0FBQyxDQUFDaUMsTUFBTSxDQUFDQyxTQUFTQyxJQUFJLENBQUM7UUFDeEVDLFNBQVMsSUFBTWpCLFFBQVFKO1FBQ3ZCc0IsTUFBSztxQkFFTCw2QkFBQ0MsZ0JBQU87UUFBQ04sV0FBVTt1QkFFckIsNkJBQUNGO1FBQ0NDLGNBQVlwQixFQUFFLHdCQUF3QjtZQUNwQ3FCLFdBQVdyQixFQUFFO1lBQ2JOLE9BQU93QixJQUFBQSw4QkFBYyxFQUFDeEIsT0FBT0s7UUFDL0I7UUFDQWlCLFdBQVc7ZUFBSVQ7WUFBYSxDQUFDLEVBQUVsQixVQUFVLFFBQVEsQ0FBQztTQUFDLENBQUNpQyxNQUFNLENBQUNDLFNBQVNDLElBQUksQ0FBQztRQUN6RUMsU0FBUyxJQUFNakIsUUFBUUw7UUFDdkJ1QixNQUFLO3FCQUVMLDZCQUFDQyxnQkFBTztBQU1wQjtNQUVBLFdBQWVyQyJ9