import PropTypes from 'prop-types'; import React, { Component } from 'react'; import Card from 'Components/Card'; import Label from 'Components/Label'; import IconButton from 'Components/Link/IconButton'; import ConfirmModal from 'Components/Modal/ConfirmModal'; import { icons, kinds } from 'Helpers/Props'; import EditMetadataProfileModalConnector from './EditMetadataProfileModalConnector'; import styles from './MetadataProfile.css'; class MetadataProfile extends Component { // // Lifecycle constructor(props, context) { super(props, context); this.state = { isEditMetadataProfileModalOpen: false, isDeleteMetadataProfileModalOpen: false }; } // // Listeners onEditMetadataProfilePress = () => { this.setState({ isEditMetadataProfileModalOpen: true }); } onEditMetadataProfileModalClose = () => { this.setState({ isEditMetadataProfileModalOpen: false }); } onDeleteMetadataProfilePress = () => { this.setState({ isEditMetadataProfileModalOpen: false, isDeleteMetadataProfileModalOpen: true }); } onDeleteMetadataProfileModalClose = () => { this.setState({ isDeleteMetadataProfileModalOpen: false }); } onConfirmDeleteMetadataProfile = () => { this.props.onConfirmDeleteMetadataProfile(this.props.id); } onCloneMetadataProfilePress = () => { const { id, onCloneMetadataProfilePress } = this.props; onCloneMetadataProfilePress(id); } // // Render render() { const { id, name, primaryAlbumTypes, secondaryAlbumTypes, isDeleting } = this.props; return (
{name}
{ primaryAlbumTypes.map((item) => { if (!item.allowed) { return null; } return ( ); }) }
{ secondaryAlbumTypes.map((item) => { if (!item.allowed) { return null; } return ( ); }) }
); } } MetadataProfile.propTypes = { id: PropTypes.number.isRequired, name: PropTypes.string.isRequired, primaryAlbumTypes: PropTypes.arrayOf(PropTypes.object).isRequired, secondaryAlbumTypes: PropTypes.arrayOf(PropTypes.object).isRequired, isDeleting: PropTypes.bool.isRequired, onConfirmDeleteMetadataProfile: PropTypes.func.isRequired, onCloneMetadataProfilePress: PropTypes.func.isRequired }; export default MetadataProfile;