cspace-ui
Version:
CollectionSpace user interface for browsers
94 lines (93 loc) • 3.89 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 _cspaceLayout = require("cspace-layout");
var _cspaceInput = require("cspace-input");
var _AdvancedSearchBuilderContainer = _interopRequireDefault(require("../../containers/search/AdvancedSearchBuilderContainer"));
var _PanelContainer = require("../../containers/layout/PanelContainer");
var _SearchForm = _interopRequireDefault(require("../../../styles/cspace-ui/SearchForm.css"));
var _SearchFormRecordType = _interopRequireDefault(require("../../../styles/cspace-ui/SearchFormRecordType.css"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const {
LineInput,
RecordTypeInput
} = _cspaceInput.components;
const SearchFormContent = ({
header,
footer,
recordTypes,
recordTypeInputRootType,
recordTypeInputServiceTypes,
recordTypeValue,
intl,
messages,
formatRecordTypeLabel,
handleRecordTypeDropdownCommit,
renderVocabularyInput,
fullTextPanelHeader,
keywordValue,
handleKeywordInputCommit,
advancedSearchCondition,
config,
preferredAdvancedSearchBooleanOp,
onAdvancedSearchConditionCommit,
handleFormSubmit,
recordTypeInputReadOnly
}) => /*#__PURE__*/_react.default.createElement("form", {
autoComplete: "off",
className: _SearchForm.default.common,
onSubmit: handleFormSubmit
}, header, /*#__PURE__*/_react.default.createElement(_cspaceLayout.Panel, null, /*#__PURE__*/_react.default.createElement("div", {
className: _SearchFormRecordType.default.common
}, /*#__PURE__*/_react.default.createElement(RecordTypeInput, {
label: intl.formatMessage(messages.recordType),
recordTypes: recordTypes,
rootType: recordTypeInputRootType,
serviceTypes: recordTypeInputServiceTypes,
value: recordTypeValue,
formatRecordTypeLabel: formatRecordTypeLabel,
onCommit: handleRecordTypeDropdownCommit,
readOnly: recordTypeInputReadOnly
}), renderVocabularyInput(recordTypes)), /*#__PURE__*/_react.default.createElement(_PanelContainer.ConnectedPanel, {
collapsible: true,
header: fullTextPanelHeader,
name: "fullTextSearch",
recordType: recordTypeValue
}, /*#__PURE__*/_react.default.createElement(LineInput, {
label: intl.formatMessage(messages.keyword),
value: keywordValue,
onCommit: handleKeywordInputCommit
})), /*#__PURE__*/_react.default.createElement(_AdvancedSearchBuilderContainer.default, {
condition: advancedSearchCondition,
config: config,
preferredBooleanOp: preferredAdvancedSearchBooleanOp,
recordType: recordTypeValue,
onConditionCommit: onAdvancedSearchConditionCommit
})), footer);
SearchFormContent.propTypes = {
header: _propTypes.default.node,
footer: _propTypes.default.node,
recordTypes: _propTypes.default.object,
recordTypeInputRootType: _propTypes.default.string,
recordTypeInputServiceTypes: _propTypes.default.array,
recordTypeValue: _propTypes.default.string,
intl: _propTypes.default.object.isRequired,
messages: _propTypes.default.object.isRequired,
formatRecordTypeLabel: _propTypes.default.func.isRequired,
handleRecordTypeDropdownCommit: _propTypes.default.func.isRequired,
renderVocabularyInput: _propTypes.default.func.isRequired,
fullTextPanelHeader: _propTypes.default.node.isRequired,
keywordValue: _propTypes.default.string,
handleKeywordInputCommit: _propTypes.default.func.isRequired,
advancedSearchCondition: _propTypes.default.object,
config: _propTypes.default.object,
preferredAdvancedSearchBooleanOp: _propTypes.default.string,
onAdvancedSearchConditionCommit: _propTypes.default.func.isRequired,
handleFormSubmit: _propTypes.default.func.isRequired,
recordTypeInputReadOnly: _propTypes.default.bool
};
var _default = exports.default = SearchFormContent;