cspace-ui
Version:
CollectionSpace user interface for browsers
205 lines (204 loc) • 6.51 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 _reactIntl = require("react-intl");
var _cspaceInput = require("cspace-input");
var _searchOperators = require("../../../constants/searchOperators");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
const {
OptionPickerInput
} = _cspaceInput.baseComponents;
const operatorMessages = {
full: (0, _reactIntl.defineMessages)({
[]: {
"id": "operatorInput.OP_COMPLETE",
"defaultMessage": "is complete"
},
[]: {
"id": "operatorInput.OP_CONTAIN",
"defaultMessage": "contains"
},
[]: {
"id": "operatorInput.OP_EQ",
"defaultMessage": "is"
},
[]: {
"id": "operatorInput.OP_GT",
"defaultMessage": "is greater than"
},
[]: {
"id": "operatorInput.OP_GTC",
"defaultMessage": "is greater than or contains"
},
[]: {
"id": "operatorInput.OP_GTE",
"defaultMessage": "is at least"
},
[]: {
"id": "operatorInput.OP_LT",
"defaultMessage": "is less than"
},
[]: {
"id": "operatorInput.OP_LTC",
"defaultMessage": "is less than or contains"
},
[]: {
"id": "operatorInput.OP_LTE",
"defaultMessage": "is at most"
},
[]: {
"id": "operatorInput.OP_MATCH",
"defaultMessage": "matches"
},
[]: {
"id": "operatorInput.OP_RANGE",
"defaultMessage": "is between"
},
[]: {
"id": "operatorInput.OP_NULL",
"defaultMessage": "is blank"
},
[]: {
"id": "operatorInput.OP_NOT_COMPLETE",
"defaultMessage": "is incomplete"
},
[]: {
"id": "operatorInput.OP_NOT_CONTAIN",
"defaultMessage": "does not contain"
},
[]: {
"id": "operatorInput.OP_NOT_EQ",
"defaultMessage": "is not"
},
[]: {
"id": "operatorInput.OP_NOT_MATCH",
"defaultMessage": "does not match"
},
[]: {
"id": "operatorInput.OP_NOT_RANGE",
"defaultMessage": "is not between"
},
[]: {
"id": "operatorInput.OP_NOT_NULL",
"defaultMessage": "is not blank"
}
}),
compact: (0, _reactIntl.defineMessages)({
[]: {
"id": "operatorInput.compact.OP_COMPLETE",
"defaultMessage": "is complete"
},
[]: {
"id": "operatorInput.compact.OP_CONTAIN",
"defaultMessage": "contains"
},
[]: {
"id": "operatorInput.compact.OP_EQ",
"defaultMessage": "="
},
[]: {
"id": "operatorInput.compact.OP_GT",
"defaultMessage": ">"
},
[]: {
"id": "operatorInput.compact.OP_GTC",
"defaultMessage": "> or contains"
},
[]: {
"id": "operatorInput.compact.OP_GTE",
"defaultMessage": "\u2265"
},
[]: {
"id": "operatorInput.compact.OP_LT",
"defaultMessage": "<"
},
[]: {
"id": "operatorInput.compact.OP_LTC",
"defaultMessage": "< or contains"
},
[]: {
"id": "operatorInput.compact.OP_LTE",
"defaultMessage": "\u2264"
},
[]: {
"id": "operatorInput.compact.OP_MATCH",
"defaultMessage": "matches"
},
[]: {
"id": "operatorInput.compact.OP_RANGE",
"defaultMessage": "is between"
},
[]: {
"id": "operatorInput.compact.OP_NULL",
"defaultMessage": "is blank"
},
[]: {
"id": "operatorInput.compact.OP_NOT_COMPLETE",
"defaultMessage": "is incomplete"
},
[]: {
"id": "operatorInput.compact.OP_NOT_CONTAIN",
"defaultMessage": "doesn't contain"
},
[]: {
"id": "operatorInput.compact.OP_NOT_EQ",
"defaultMessage": "\u2260"
},
[]: {
"id": "operatorInput.compact.OP_NOT_MATCH",
"defaultMessage": "doesn't match"
},
[]: {
"id": "operatorInput.compact.OP_NOT_RANGE",
"defaultMessage": "isn't between"
},
[]: {
"id": "operatorInput.compact.OP_NOT_NULL",
"defaultMessage": "isn't blank"
}
})
};
const propTypes = {
compact: _propTypes.default.bool,
intl: _reactIntl.intlShape,
name: _propTypes.default.string,
operators: _propTypes.default.arrayOf(_propTypes.default.string),
readOnly: _propTypes.default.bool,
value: _propTypes.default.string,
onCommit: _propTypes.default.func
};
function OperatorInput(props) {
const {
compact,
intl,
name,
operators,
readOnly,
value,
onCommit
} = props;
const messages = compact ? operatorMessages.compact : operatorMessages.full;
if (readOnly) {
return /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, _extends({}, messages[value], {
tagName: "div"
}));
}
const options = operators.map(op => ({
value: op,
label: intl.formatMessage(messages[op])
}));
return /*#__PURE__*/_react.default.createElement(OptionPickerInput, {
blankable: false,
name: name,
options: options,
value: value,
onCommit: onCommit
});
}
OperatorInput.propTypes = propTypes;
var _default = exports.default = (0, _reactIntl.injectIntl)(OperatorInput);