UNPKG

@bigfishtv/cockpit

Version:

48 lines (42 loc) 1.14 kB
import PropTypes from 'prop-types' import React, { Component } from 'react' import Button from '../button/Button' import AssetSelectModal from '../modal/AssetSelectModal' import { modalHandler } from '../modal/ModalHost' /** * 'Select from Media' button that opens a media browser modal when clicked */ export default class AssetSelectButton extends Component { static propTypes = { /** Whether or not to allow uploads to media browser while selecting asset */ allowUploads: PropTypes.bool, /** Callback function for when asset(s) is chosen */ onFileSelected: PropTypes.func, } static defaultProps = { allowUploads: true, onFilesSelected: () => console.warn('[AssetSelectButton] no onFilesSelected prop'), } handleClick = () => { modalHandler.add({ Component: AssetSelectModal, props: { ...this.props }, }) } render() { const { allowUploads, defaultAssetFolder, fileTypes, dispatch, extensions, reorderable, subject, files, onReceivedFiles, onFilesSelected, ...buttonProps } = this.props return <Button {...buttonProps} type="button" onClick={this.handleClick} /> } }