import React from 'react' import PropTypes from 'prop-types' import classnames from 'classnames' import {MdContentCopy, MdVisibility, MdVisibilityOff, MdDelete} from 'react-icons/md' import IconLayer from './IconLayer' import {SortableElement, SortableHandle} from 'react-sortable-hoc' type DraggableLabelProps = { layerId: string layerType: string }; const DraggableLabel = SortableHandle((props: DraggableLabelProps) => { return
}); type IconActionProps = { action: string onClick(...args: unknown[]): unknown wdKey?: string classBlockName?: string classBlockModifier?: string }; class IconAction extends React.Component { renderIcon() { switch(this.props.action) { case 'duplicate': return case 'show': return case 'hide': return case 'delete': return } } render() { const {classBlockName, classBlockModifier} = this.props; let classAdditions = ''; if (classBlockName) { classAdditions = `maputnik-layer-list-icon-action__${classBlockName}`; if (classBlockModifier) { classAdditions += ` maputnik-layer-list-icon-action__${classBlockName}--${classBlockModifier}`; } } return } } type LayerListItemProps = { id?: string layerIndex: number layerId: string layerType: string isSelected?: boolean visibility?: string className?: string onLayerSelect(...args: unknown[]): unknown onLayerCopy?(...args: unknown[]): unknown onLayerDestroy?(...args: unknown[]): unknown onLayerVisibilityToggle?(...args: unknown[]): unknown }; class LayerListItem extends React.Component { static defaultProps = { isSelected: false, visibility: 'visible', onLayerCopy: () => {}, onLayerDestroy: () => {}, onLayerVisibilityToggle: () => {}, } static childContextTypes = { reactIconBase: PropTypes.object } getChildContext() { return { reactIconBase: { size: 14 } } } render() { const visibilityAction = this.props.visibility === 'visible' ? 'show' : 'hide'; return
  • this.props.onLayerSelect(this.props.layerIndex)} data-wd-key={"layer-list-item:"+this.props.layerId} className={classnames({ "maputnik-layer-list-item": true, "maputnik-layer-list-item-selected": this.props.isSelected, [this.props.className!]: true, })}> this.props.onLayerDestroy!(this.props.layerIndex)} /> this.props.onLayerCopy!(this.props.layerIndex)} /> this.props.onLayerVisibilityToggle!(this.props.layerIndex)} />
  • } } const LayerListItemSortable = SortableElement((props: LayerListItemProps) => ); export default LayerListItemSortable;