mirror of
https://github.com/haiwen/seahub.git
synced 2025-08-12 20:25:49 +00:00
48 lines
1.5 KiB
JavaScript
48 lines
1.5 KiB
JavaScript
|
import React from 'react';
|
||
|
import PropTypes from 'prop-types';
|
||
|
import { Modal, ModalHeader, ModalBody } from 'reactstrap';
|
||
|
import { gettext } from '../../utils/constants';
|
||
|
|
||
|
const propTypes = {
|
||
|
type: PropTypes.oneOf(['move', 'copy']).isRequired,
|
||
|
asyncOperationProgress: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,
|
||
|
toggleDialog: PropTypes.func.isRequired,
|
||
|
};
|
||
|
|
||
|
class CopyMoveDirentProgressDialog extends React.Component {
|
||
|
|
||
|
render() {
|
||
|
|
||
|
let { type , asyncOperationProgress } = this.props;
|
||
|
let title = type === 'move' ? gettext('Move Progress') : gettext('Copy Progress');
|
||
|
let progressStyle = {
|
||
|
width: asyncOperationProgress + '%',
|
||
|
lineHeight: '40px',
|
||
|
textAlign: 'left',
|
||
|
};
|
||
|
return (
|
||
|
<Modal isOpen={true} toggle={this.props.toggleDialog}>
|
||
|
<ModalHeader toggle={this.props.toggleDialog}>{title}</ModalHeader>
|
||
|
<ModalBody style={{minHeight: '80px'}}>
|
||
|
<div className="progress" style={{height: '40px'}}>
|
||
|
<div
|
||
|
className="progress-bar pl-2"
|
||
|
role="progressbar"
|
||
|
style={progressStyle}
|
||
|
aria-valuenow={asyncOperationProgress}
|
||
|
aria-valuemin="0"
|
||
|
aria-valuemax="100"
|
||
|
>
|
||
|
{asyncOperationProgress + '%'}
|
||
|
</div>
|
||
|
</div>
|
||
|
</ModalBody>
|
||
|
</Modal>
|
||
|
);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
CopyMoveDirentProgressDialog.propTypes = propTypes;
|
||
|
|
||
|
export default CopyMoveDirentProgressDialog;
|