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