UNPKG

@talend/react-components

Version:
77 lines (76 loc) 2.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.TYPES = exports.ORDERS = void 0; var _propTypes = _interopRequireDefault(require("prop-types")); var _classnames = _interopRequireDefault(require("classnames")); var _reactI18next = require("react-i18next"); var _OrderChooser = _interopRequireDefault(require("./OrderChooser")); var _constants = _interopRequireDefault(require("../../../constants")); var _translate = _interopRequireDefault(require("../../../translate")); var _SortOptionsModule = _interopRequireDefault(require("./SortOptions.module.scss")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const TYPES = exports.TYPES = { NAME: 'name', DATE: 'date' }; const ORDERS = exports.ORDERS = { ASC: 'asc', DESC: 'desc' }; function inverse(order) { if (order === ORDERS.ASC) { return ORDERS.DESC; } return ORDERS.ASC; } function SortOptions({ t, types, onChange, orders }) { return !!types.length && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", { className: (0, _classnames.default)('tc-resource-picker-sort-options', _SortOptionsModule.default['tc-resource-picker-sort-options']), children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", { className: (0, _classnames.default)(_SortOptionsModule.default['option-label']), children: t('SORT', { defaultValue: 'Sort:' }) }), types.includes(TYPES.NAME) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_OrderChooser.default, { icon: "talend-sort-az", label: t('SORT_BY_NAME', { defaultValue: 'Sort by name (current order: {{order}})', order: orders[TYPES.NAME] }), asc: orders[TYPES.NAME] === ORDERS.ASC, onClick: () => onChange(TYPES.NAME, inverse(orders[TYPES.NAME])) }), types.includes(TYPES.DATE) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_OrderChooser.default, { icon: "talend-sort-desc", label: t('SORT_BY_DATE', { defaultValue: 'Sort by date (current order: {{order}})', order: orders[TYPES.DATE] }), asc: orders[TYPES.DATE] === ORDERS.ASC, onClick: () => onChange(TYPES.DATE, inverse(orders[TYPES.DATE])) })] }); } SortOptions.propTypes = { t: _propTypes.default.func, onChange: _propTypes.default.func, orders: _propTypes.default.object, types: _propTypes.default.array }; SortOptions.defaultProps = { t: (0, _translate.default)(), types: [TYPES.NAME, TYPES.DATE], orders: { [TYPES.NAME]: ORDERS.DESC, [TYPES.DATE]: ORDERS.DESC } }; var _default = exports.default = (0, _reactI18next.withTranslation)(_constants.default)(SortOptions); //# sourceMappingURL=SortOptions.component.js.map