@bigfishtv/cockpit
Version:
68 lines (62 loc) • 2.36 kB
JavaScript
import React from 'react';
import { titleCase } from '../../utils/stringUtils';
import { renderComponent } from '../../utils/componentUtils';
import Bulkhead from '../page/Bulkhead';
var IndexBulkhead = function IndexBulkhead(props) {
var model = props.model,
title = props.title;
return React.createElement(Bulkhead, { title: title || titleCase(model), Toolbar: React.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 React.createElement(
'div',
{ className: 'flex' },
renderComponent(customButtons, props),
exportable && React.createElement(
'button',
{ type: 'button', onClick: onExport, className: 'button button-large' },
'Export ',
selection.selectAllGlobal || selection.count === 0 ? 'All' : selection.count
),
importable && React.createElement(
'button',
{ type: 'button', onClick: onImport, className: 'button button-large' },
'Import'
),
duplicable && selection.count === 1 && React.createElement(
'button',
{ type: 'button', onClick: onDuplicate, className: 'button button-large' },
'Duplicate'
),
deletable && selection.count > 0 && React.createElement(
'button',
{ type: 'button', onClick: onDelete, className: 'button button-large error' },
'Delete (',
selection.count,
')'
),
creatable && React.createElement(
'button',
{ type: 'button', onClick: onCreate, className: 'button button-large button-secondary' },
'Add new'
)
);
};
export default IndexBulkhead;