/*! * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express * or implied. See the License for the specific language governing * permissions and limitations under the License. */ import React, {Component} from 'react'; import PropTypes from 'prop-types'; import enhanceWithClickOutside from 'react-click-outside'; import i18n from 'nfvo-utils/i18n/i18n.js'; import SVGIcon from 'sdc-ui/lib/react/SVGIcon.js'; import Overlay from 'nfvo-components/overlay/Overlay.jsx'; import Permissions from './Permissions.jsx'; class ClickOutsideWrapper extends Component { handleClickOutside() { this.props.onClose(); } render() { return
{this.props.children}
; } } const EnhancedClickOutsideWrapper = enhanceWithClickOutside(ClickOutsideWrapper); const VCButton = ({name, tooltipText, disabled, onClick, dataTestId}) => { let onClickAction = disabled ? ()=>{} : onClick; return (
); }; const Separator = () => (
); const SubmitButton = ({onClick, disabled}) => (
onClick()} data-test-id='vc-submit-btn' className={`vc-submit-button ${disabled ? 'disabled' : ''}`}> {i18n('Submit')}
); const ActionButtons = ({isReadOnlyMode, onSubmit, onRevert, onSave, isFormDataValid, onClickPermissions, onSync, onCommit, onOpenCommentCommitModal, showPermissions, onClosePermissions, permissions, onManagePermissions, userInfo, onOpenRevisionsModal, isManual, itemPermissions: {isCertified, isCollaborator, isDirty, isOutOfSync, isUpToDate}}) => (
{showPermissions && } {isCollaborator &&
{onSave &&
onSave()} name='version-controller-save' tooltipText={i18n('Save')} disabled={isReadOnlyMode || !isFormDataValid} />
} onOpenCommentCommitModal({onCommit, title: i18n('Commit')})} name='version-controller-commit' tooltipText={i18n('Share')} disabled={isReadOnlyMode || !isDirty || isOutOfSync} /> {onRevert && } {onSubmit && (permissions.owner && permissions.owner.userId === userInfo.userId) &&
}
}
); ActionButtons.propTypes = { version: PropTypes.object, onSubmit: PropTypes.func, onRevert: PropTypes.func, onSave: PropTypes.func, isLatestVersion: PropTypes.bool, isCheckedIn: PropTypes.bool, isCheckedOut: PropTypes.bool, isFormDataValid: PropTypes.bool, isReadOnlyMode: PropTypes.bool }; export default ActionButtons;