import React from 'react' import Color from 'color' import classnames from 'classnames' import CopyIcon from 'react-icons/lib/md/content-copy' import VisibilityIcon from 'react-icons/lib/md/visibility' import VisibilityOffIcon from 'react-icons/lib/md/visibility-off' import DeleteIcon from 'react-icons/lib/md/delete' import LayerIcon from '../icons/LayerIcon' import LayerEditor from './LayerEditor' import {SortableElement, SortableHandle} from 'react-sortable-hoc' @SortableHandle class LayerTypeDragHandle extends React.Component { static propTypes = LayerIcon.propTypes render() { return } } class IconAction extends React.Component { static propTypes = { action: React.PropTypes.string.isRequired, onClick: React.PropTypes.func.isRequired, } renderIcon() { switch(this.props.action) { case 'copy': return case 'show': return case 'hide': return case 'delete': return default: return null } } render() { return {this.renderIcon()} } } @SortableElement class LayerListItem extends React.Component { static propTypes = { layerId: React.PropTypes.string.isRequired, layerType: React.PropTypes.string.isRequired, isSelected: React.PropTypes.bool, visibility: React.PropTypes.string, onLayerSelect: React.PropTypes.func.isRequired, onLayerCopy: React.PropTypes.func, onLayerDestroy: React.PropTypes.func, onLayerVisibilityToggle: React.PropTypes.func, } static defaultProps = { isSelected: false, visibility: 'visible', onLayerCopy: () => {}, onLayerDestroy: () => {}, onLayerVisibilityToggle: () => {}, } static childContextTypes = { reactIconBase: React.PropTypes.object } getChildContext() { return { reactIconBase: { size: 14 } } } render() { return
  • this.props.onLayerSelect(this.props.layerId)} className={classnames({ "maputnik-layer-list-item": true, "maputnik-layer-list-item-selected": this.props.isSelected, })}> {this.props.layerId} this.props.onLayerDestroy(this.props.layerId)} /> this.props.onLayerCopy(this.props.layerId)} /> this.props.onLayerVisibilityToggle(this.props.layerId)} />
  • } } export default LayerListItem;