UNPKG

@mindhive/documents

Version:

Standard document viewing, editing, listing etc

67 lines (52 loc) 2.05 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _DiscardButton = require('./DiscardButton'); var _DiscardButton2 = _interopRequireDefault(_DiscardButton); var _SaveButton = require('./SaveButton'); var _SaveButton2 = _interopRequireDefault(_SaveButton); var _CloseButton = require('./CloseButton'); var _CloseButton2 = _interopRequireDefault(_CloseButton); var _EditStyles = require('./EditStyles'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Buttons = function Buttons(_ref) { var closeTouchTap = _ref.closeTouchTap, lastFocusId = _ref.lastFocusId, _ref$props = _ref.props, isNew = _ref$props.isNew, docType = _ref$props.docType, extraButtons = _ref$props.extraButtons, processing = _ref$props.processing, pristine = _ref$props.pristine, submitting = _ref$props.submitting, valid = _ref$props.valid, styles = _ref.styles; var showClose = pristine && !isNew; var showButtons = !pristine || isNew; var buttons = []; if (showButtons) { buttons.push(_react2.default.createElement(_DiscardButton2.default, { onTouchTap: closeTouchTap })); buttons.push(_react2.default.createElement(_SaveButton2.default, { docType: docType, disabled: pristine || !valid || submitting || processing })); } if (extraButtons) { buttons.push(extraButtons); } if (showClose) { buttons.push(_react2.default.createElement(_CloseButton2.default, { onTouchTap: closeTouchTap })); } var lastBtn = buttons[buttons.length - 1]; return _react2.default.createElement( 'div', { style: styles.buttons }, buttons.length && buttons.map(function (button, idx) { return _react2.default.cloneElement(button, { key: 'btn-' + idx + '-key', id: button === lastBtn ? lastFocusId : undefined }); }) ); }; exports.default = (0, _EditStyles.injectStylesSheet)(Buttons);