import React from 'react' import Modal from './Modal' import Heading from '../Heading' import Button from '../Button' import InputBlock from '../inputs/InputBlock' import StringInput from '../inputs/StringInput' import SelectInput from '../inputs/SelectInput' import SourceTypeEditor from '../sources/SourceTypeEditor' import publicSources from '../../config/tilesets.json' import colors from '../../config/colors' import { margins, fontSizes } from '../../config/scales' import AddIcon from 'react-icons/lib/md/add-circle-outline' import DeleteIcon from 'react-icons/lib/md/delete' class PublicSource extends React.Component { static propTypes = { id: React.PropTypes.string.isRequired, type: React.PropTypes.string.isRequired, title: React.PropTypes.string.isRequired, onSelect: React.PropTypes.func.isRequired, } render() { return
} } function editorMode(source) { if(source.type === 'geojson') return ' geojson' if(source.type === 'vector' && source.tiles) { return 'tilexyz' } return 'tilejson' } class SourceEditorLayout extends React.Component { static propTypes = { sourceId: React.PropTypes.string.isRequired, source: React.PropTypes.object.isRequired, onSourceDelete: React.PropTypes.func.isRequired, onSourceChange: React.PropTypes.func.isRequired, } render() { const inputProps = { } return
#{this.props.sourceId}
} } class AddSource extends React.Component { static propTypes = { onSourceAdd: React.PropTypes.func.isRequired, } constructor(props) { super(props) this.state = { mode: 'tilejson', source: {} } } onSourceChange(source) { this.setState({ source: source }) } render() { return
this.setState({mode: v})} value={this.state.mode} />
} } class SourcesModal extends React.Component { static propTypes = { mapStyle: React.PropTypes.object.isRequired, isOpen: React.PropTypes.bool.isRequired, toggle: React.PropTypes.func.isRequired, } render() { const activeSources = Object.keys(this.props.mapStyle.sources).map(sourceId => { const source = this.props.mapStyle.sources[sourceId] return }) const tilesetOptions = publicSources.filter(tileset => !(tileset.id in this.props.mapStyle.sources)).map(tileset => { return }) const inputProps = { } return Active Sources {activeSources} Add New Source

Add a new source to your style. You can only choose the source type and id at creation time!

Choose Public Source

Add one of the publicly availble sources to your style.

{tilesetOptions}
} } export default SourcesModal