diff --git a/src/components/layers/LayerEditor.jsx b/src/components/layers/LayerEditor.jsx index d9c343ee..7675ded5 100644 --- a/src/components/layers/LayerEditor.jsx +++ b/src/components/layers/LayerEditor.jsx @@ -25,6 +25,22 @@ class UnsupportedLayer extends React.Component { } } +function layoutGroups(layerType) { + const layerGroup = { + title: 'Layer', + type: 'layer' + } + const filterGroup = { + title: 'Filter', + type: 'filter' + } + const editorGroup = { + title: 'JSON Editor', + type: 'jsoneditor' + } + return [layerGroup, filterGroup].concat(layout[layerType].groups).concat([editorGroup]) +} + /** Layer editor supporting multiple types of layers. */ export default class LayerEditor extends React.Component { static propTypes = { @@ -50,7 +66,7 @@ export default class LayerEditor extends React.Component { //TODO: Clean this up and refactor into function const editorGroups = {} - layout[this.props.layer.type].groups.forEach(group => { + layoutGroups(this.props.layer.type).forEach(group => { editorGroups[group.title] = true }) @@ -96,17 +112,15 @@ export default class LayerEditor extends React.Component { renderGroupType(type, fields) { switch(type) { - case 'settings': return
- this.props.onLayerIdChange(this.props.layer.id, newId)} - /> - this.props.onLayerChanged(changeType(this.props.layer, newType))} - /> -
- case 'source': return
+ case 'layer': return
+ this.props.onLayerIdChange(this.props.layer.id, newId)} + /> + this.props.onLayerChanged(changeType(this.props.layer, newType))} + /> this.changeProperty(null, 'source-layer', v)} /> } +
+ case 'filter': return
{ - return !(this.props.layer.type === 'background' && group.type === 'source') + const groups = layoutGroups(layerType).filter(group => { + return !(layerType === 'background' && group.type === 'source') }).map(group => { return - {layoutGroups} + {groups}
} } diff --git a/src/components/layers/LayerIdBlock.jsx b/src/components/layers/LayerIdBlock.jsx index 35440793..7cdc9d26 100644 --- a/src/components/layers/LayerIdBlock.jsx +++ b/src/components/layers/LayerIdBlock.jsx @@ -11,7 +11,7 @@ class LayerIdBlock extends React.Component { } render() { - return + return + return