@bigfishtv/cockpit
Version:
80 lines (67 loc) • 2.74 kB
JavaScript
'use strict';
exports.__esModule = true;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _stringUtils = require('../../utils/stringUtils');
var _componentUtils = require('../../utils/componentUtils');
var _Bulkhead = require('../page/Bulkhead');
var _Bulkhead2 = _interopRequireDefault(_Bulkhead);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var IndexBulkhead = function IndexBulkhead(props) {
var model = props.model,
title = props.title;
return _react2.default.createElement(_Bulkhead2.default, { title: title || (0, _stringUtils.titleCase)(model), Toolbar: _react2.default.createElement(IndexToolbar, props) });
};
var IndexToolbar = function IndexToolbar(props) {
var selection = props.selection,
onCreate = props.onCreate,
onDelete = props.onDelete,
onImport = props.onImport,
onExport = props.onExport,
onDuplicate = props.onDuplicate,
_props$creatable = props.creatable,
creatable = _props$creatable === undefined ? true : _props$creatable,
_props$deletable = props.deletable,
deletable = _props$deletable === undefined ? true : _props$deletable,
_props$duplicable = props.duplicable,
duplicable = _props$duplicable === undefined ? false : _props$duplicable,
_props$importable = props.importable,
importable = _props$importable === undefined ? false : _props$importable,
_props$exportable = props.exportable,
exportable = _props$exportable === undefined ? false : _props$exportable,
customButtons = props.customButtons;
return _react2.default.createElement(
'div',
{ className: 'flex' },
(0, _componentUtils.renderComponent)(customButtons, props),
exportable && _react2.default.createElement(
'button',
{ type: 'button', onClick: onExport, className: 'button button-large' },
'Export ',
selection.selectAllGlobal || selection.count === 0 ? 'All' : selection.count
),
importable && _react2.default.createElement(
'button',
{ type: 'button', onClick: onImport, className: 'button button-large' },
'Import'
),
duplicable && selection.count === 1 && _react2.default.createElement(
'button',
{ type: 'button', onClick: onDuplicate, className: 'button button-large' },
'Duplicate'
),
deletable && selection.count > 0 && _react2.default.createElement(
'button',
{ type: 'button', onClick: onDelete, className: 'button button-large error' },
'Delete (',
selection.count,
')'
),
creatable && _react2.default.createElement(
'button',
{ type: 'button', onClick: onCreate, className: 'button button-large button-secondary' },
'Add new'
)
);
};
exports.default = IndexBulkhead;