import React from 'react';
import FileReaderInput from 'react-file-reader-input';
import { Button, Text } from 'rebass';
import { Menu, NavItem, Tooltip, Container, Block, Fixed } from 'rebass'
import MdFileDownload from 'react-icons/lib/md/file-download'
import MdFileUpload from 'react-icons/lib/md/file-upload'
import MdSettings from 'react-icons/lib/md/settings'
import MdLayers from 'react-icons/lib/md/layers'
import MdSave from 'react-icons/lib/md/save'
import MdMap from 'react-icons/lib/md/map'
import style from './style.js'
import { fullHeight } from './theme.js'
import theme from './theme.js';
export class Toolbar extends React.Component {
static propTypes = {
// A new style has been uploaded
onStyleUpload: React.PropTypes.func.isRequired,
// Current style is requested for download
onStyleDownload: React.PropTypes.func.isRequired,
// Style is explicitely saved to local cache
onStyleSave: React.PropTypes.func,
// Open settings drawer
onOpenSettings: React.PropTypes.func,
// Open sources drawer
onOpenSources: React.PropTypes.func,
// Open layers drawer
onOpenLayers: React.PropTypes.func,
// Whether a style is available for download or saving
// A style with no layers should not be available
styleAvailable: React.PropTypes.bool,
}
onUpload(_, files) {
const [e, file] = files[0];
const reader = new FileReader();
reader.readAsText(file, "UTF-8");
reader.onload = e => {
this.props.onStyleUpload(style.fromJSON(JSON.parse(e.target.result)));
}
reader.onerror = e => console.log(e.target);
}
saveButton() {
if(this.props.styleAvailable) {
return
}
return null
}
downloadButton() {
if(this.props.styleAvailable) {
return
}
return null
}
render() {
return
{this.downloadButton()}
{this.saveButton()}
}
}