From f470636a70943a8ecad8bddc791a1c2dddd28e1e Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Sat, 4 May 2019 21:13:12 +0300 Subject: Components -> UI --- vnext/src/ui/UploadButton.js | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 vnext/src/ui/UploadButton.js (limited to 'vnext/src/ui/UploadButton.js') diff --git a/vnext/src/ui/UploadButton.js b/vnext/src/ui/UploadButton.js new file mode 100644 index 00000000..73cbbfcf --- /dev/null +++ b/vnext/src/ui/UploadButton.js @@ -0,0 +1,42 @@ +import React from 'react'; +import PropTypes from 'prop-types'; + +import Icon from './Icon'; + +export default function UploadButton(props) { + let openfile = () => { + const input = props.inputRef.current; + if (props.value) { + props.onChange(''); + } else { + input.click(); + } + }; + let attachmentChanged = (event) => { + props.onChange(event.target.value); + }; + return ( +
+ + e.stopPropagation()} + style={{ display: 'none' }} ref={props.inputRef} value={props.value} + onChange={attachmentChanged} /> +
+ ); +} + +UploadButton.propTypes = { + value: PropTypes.string.isRequired, + onChange: PropTypes.func.isRequired, + inputRef: PropTypes.shape({ current: PropTypes.instanceOf(Element) }) +}; + +const inactiveStyle = { + cursor: 'pointer', + color: '#888' +}; +const activeStyle = { + cursor: 'pointer', + color: 'green' +}; -- cgit v1.2.3