@talend/react-faceted-search
Version:
89 lines (87 loc) • 3.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.BadgeDate = void 0;
var _react = require("react");
var _format = require("date-fns/format");
var _propTypes = _interopRequireDefault(require("prop-types"));
var _operator = require("../../../dictionary/operator.dictionary");
var _facetedSearch = require("../../facetedSearch.propTypes");
var _BadgeFaceted = require("../BadgeFaceted");
var _BadgeDateForm = require("./BadgeDateForm.component");
var _reactComponents = require("@talend/react-components");
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const DATE_FORMAT = 'yyyy-MM-dd';
const defaultOperatorsName = [_operator.operatorNames.notEquals, _operator.operatorNames.equals, _operator.operatorNames.greaterThan, _operator.operatorNames.greaterThanOrEquals, _operator.operatorNames.lessThan, _operator.operatorNames.lessThanOrEquals];
const createDefaultOperators = t => Object.values((0, _operator.createOperatorsDict)(t)).filter(operator => defaultOperatorsName.includes(operator.name));
const BadgeDate = ({
id,
initialOperatorOpened,
initialValueOpened,
label,
operator,
operators,
size,
t,
value,
category,
readOnly,
removable,
displayType,
...rest
}) => {
const currentOperators = (0, _react.useMemo)(() => operators || createDefaultOperators(t), [operators, t]);
const currentOperator = operator || currentOperators[0];
const badgeDateId = `${id}-badge-date`;
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_BadgeFaceted.BadgeFaceted, {
badgeId: id,
displayType: displayType,
id: badgeDateId,
initialOperatorOpened: initialOperatorOpened,
initialValueOpened: initialValueOpened,
labelCategory: label,
labelValue: value ? (0, _format.format)(value, DATE_FORMAT) : t('FACETED_SEARCH_VALUE_ALL', {
defaultValue: 'All'
}),
operator: currentOperator,
operators: currentOperators,
readOnly: readOnly,
removable: removable,
size: size,
t: t,
value: value || '',
children: ({
onSubmitBadge,
onChangeValue,
badgeValue
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_BadgeDateForm.BadgeDateForm, {
id: badgeDateId,
onChange: onChangeValue,
onSubmit: onSubmitBadge,
value: badgeValue,
feature: category || label,
t: t,
...rest
})
});
};
exports.BadgeDate = BadgeDate;
BadgeDate.propTypes = {
id: _propTypes.default.string.isRequired,
initialOperatorOpened: _propTypes.default.bool,
initialValueOpened: _propTypes.default.bool,
label: _propTypes.default.string.isRequired,
operator: _facetedSearch.operatorPropTypes,
operators: _facetedSearch.operatorsPropTypes,
size: _propTypes.default.oneOf(Object.values(_reactComponents.Badge.SIZES)),
t: _propTypes.default.func.isRequired,
value: _propTypes.default.number,
category: _propTypes.default.string,
readOnly: _propTypes.default.bool,
removable: _propTypes.default.bool,
displayType: _propTypes.default.oneOf(Object.values(_reactComponents.Badge.TYPES))
};
// eslint-disable-next-line import/prefer-default-export
//# sourceMappingURL=BadgeDate.component.js.map