You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
2.8 KiB
118 lines
2.8 KiB
import PropTypes from 'prop-types';
|
|
import React, { Component } from 'react';
|
|
import Card from 'Components/Card';
|
|
import Label from 'Components/Label';
|
|
import ConfirmModal from 'Components/Modal/ConfirmModal';
|
|
import { kinds } from 'Helpers/Props';
|
|
import translate from 'Utilities/String/translate';
|
|
import EditRootFolderModalConnector from './EditRootFolderModalConnector';
|
|
import styles from './RootFolder.css';
|
|
|
|
class RootFolder extends Component {
|
|
|
|
//
|
|
// Lifecycle
|
|
|
|
constructor(props, context) {
|
|
super(props, context);
|
|
|
|
this.state = {
|
|
isEditRootFolderModalOpen: false,
|
|
isDeleteRootFolderModalOpen: false
|
|
};
|
|
}
|
|
|
|
//
|
|
// Listeners
|
|
|
|
onEditRootFolderPress = () => {
|
|
this.setState({ isEditRootFolderModalOpen: true });
|
|
};
|
|
|
|
onEditRootFolderModalClose = () => {
|
|
this.setState({ isEditRootFolderModalOpen: false });
|
|
};
|
|
|
|
onDeleteRootFolderPress = () => {
|
|
this.setState({
|
|
isEditRootFolderModalOpen: false,
|
|
isDeleteRootFolderModalOpen: true
|
|
});
|
|
};
|
|
|
|
onDeleteRootFolderModalClose= () => {
|
|
this.setState({ isDeleteRootFolderModalOpen: false });
|
|
};
|
|
|
|
onConfirmDeleteRootFolder = () => {
|
|
this.props.onConfirmDeleteRootFolder(this.props.id);
|
|
};
|
|
|
|
//
|
|
// Render
|
|
|
|
render() {
|
|
const {
|
|
id,
|
|
name,
|
|
path,
|
|
qualityProfile,
|
|
metadataProfile
|
|
} = this.props;
|
|
|
|
return (
|
|
<Card
|
|
className={styles.rootFolder}
|
|
overlayContent={true}
|
|
onPress={this.onEditRootFolderPress}
|
|
>
|
|
<div className={styles.name}>
|
|
{name}
|
|
</div>
|
|
|
|
<div className={styles.enabled}>
|
|
<Label kind={kinds.SUCCESS}>
|
|
{path}
|
|
</Label>
|
|
|
|
<Label kind={kinds.SUCCESS}>
|
|
{qualityProfile.name}
|
|
</Label>
|
|
|
|
<Label kind={kinds.SUCCESS}>
|
|
{metadataProfile.name}
|
|
</Label>
|
|
</div>
|
|
|
|
<EditRootFolderModalConnector
|
|
id={id}
|
|
isOpen={this.state.isEditRootFolderModalOpen}
|
|
onModalClose={this.onEditRootFolderModalClose}
|
|
onDeleteRootFolderPress={this.onDeleteRootFolderPress}
|
|
/>
|
|
|
|
<ConfirmModal
|
|
isOpen={this.state.isDeleteRootFolderModalOpen}
|
|
kind={kinds.DANGER}
|
|
title={translate('DeleteRootFolder')}
|
|
message={translate('DeleteRootFolderMessageText', [name])}
|
|
confirmLabel={translate('Delete')}
|
|
onConfirm={this.onConfirmDeleteRootFolder}
|
|
onCancel={this.onDeleteRootFolderModalClose}
|
|
/>
|
|
</Card>
|
|
);
|
|
}
|
|
}
|
|
|
|
RootFolder.propTypes = {
|
|
id: PropTypes.number.isRequired,
|
|
name: PropTypes.string.isRequired,
|
|
path: PropTypes.string.isRequired,
|
|
qualityProfile: PropTypes.object.isRequired,
|
|
metadataProfile: PropTypes.object.isRequired,
|
|
onConfirmDeleteRootFolder: PropTypes.func.isRequired
|
|
};
|
|
|
|
export default RootFolder;
|