cspace-ui
Version:
CollectionSpace user interface for browsers
70 lines (69 loc) • 2.88 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = SearchResultSidebar;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _reactRedux = require("react-redux");
var _SearchResultBatchPanelContainer = _interopRequireDefault(require("../../containers/search/SearchResultBatchPanelContainer"));
var _SearchResultReportPanelContainer = _interopRequireDefault(require("../../containers/search/SearchResultReportPanelContainer"));
var _SearchResultSidebarToggleButtonContainer = _interopRequireDefault(require("../../containers/search/SearchResultSidebarToggleButtonContainer"));
var _SearchResultSidebar = _interopRequireDefault(require("../../../styles/cspace-ui/SearchResultSidebar.css"));
var _SidebarToggleBar = _interopRequireDefault(require("../../../styles/cspace-ui/SidebarToggleBar.css"));
var _reducers = require("../../reducers");
var _searchNames = require("../../constants/searchNames");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const panelColor = 'black';
const propTypes = {
config: _propTypes.default.shape({
recordTypes: _propTypes.default.object
}),
history: _propTypes.default.shape({
push: _propTypes.default.func
}),
onInvokeComplete: _propTypes.default.func,
recordType: _propTypes.default.string,
isOpen: _propTypes.default.bool
};
const defaultProps = {
isOpen: true
};
function renderSidebarToggle() {
return /*#__PURE__*/_react.default.createElement("div", {
className: _SidebarToggleBar.default.common
}, /*#__PURE__*/_react.default.createElement(_SearchResultSidebarToggleButtonContainer.default, null));
}
function SearchResultSidebar(props) {
const {
config,
history,
onInvokeComplete,
recordType,
isOpen
} = props;
const selectedItems = (0, _reactRedux.useSelector)(state => (0, _reducers.getSearchSelectedItems)(state, _searchNames.SEARCH_RESULT_PAGE_SEARCH_NAME));
const toggle = renderSidebarToggle();
if (!isOpen) {
return /*#__PURE__*/_react.default.createElement("div", {
className: _SearchResultSidebar.default.closed
}, toggle);
}
return /*#__PURE__*/_react.default.createElement("div", {
className: _SearchResultSidebar.default.common
}, toggle, /*#__PURE__*/_react.default.createElement(_SearchResultReportPanelContainer.default, {
color: panelColor,
config: config,
recordType: recordType,
selectedItems: selectedItems
}), /*#__PURE__*/_react.default.createElement(_SearchResultBatchPanelContainer.default, {
color: panelColor,
config: config,
history: history,
onInvokeComplete: onInvokeComplete,
recordType: recordType,
selectedItems: selectedItems
}));
}
SearchResultSidebar.propTypes = propTypes;
SearchResultSidebar.defaultProps = defaultProps;