diff --git a/app/static/app/js/components/LayersControlAnnotations.jsx b/app/static/app/js/components/LayersControlAnnotations.jsx
index 3d0bc601..a6ba2977 100644
--- a/app/static/app/js/components/LayersControlAnnotations.jsx
+++ b/app/static/app/js/components/LayersControlAnnotations.jsx
@@ -115,8 +115,10 @@ export default class LayersControlAnnotations extends React.Component {
componentDidUpdate(prevProps, prevState){
if (prevState.visible !== this.state.visible){
this.annRefs.forEach(ann => {
- let visible = this.state.visible ? ann.state.visible : false;
- PluginsAPI.Map.toggleAnnotation(ann.props.layer, visible);
+ if (ann){
+ let visible = this.state.visible ? ann.state.visible : false;
+ PluginsAPI.Map.toggleAnnotation(ann.props.layer, visible);
+ }
});
}
}
diff --git a/app/static/app/js/components/LayersControlLayer.jsx b/app/static/app/js/components/LayersControlLayer.jsx
index c614f8e4..c158287d 100644
--- a/app/static/app/js/components/LayersControlLayer.jsx
+++ b/app/static/app/js/components/LayersControlLayer.jsx
@@ -16,13 +16,15 @@ export default class LayersControlLayer extends React.Component {
layer: null,
expanded: false,
map: null,
- overlay: false
+ overlay: false,
+ separator: false,
};
static propTypes = {
layer: PropTypes.object.isRequired,
expanded: PropTypes.bool,
map: PropTypes.object.isRequired,
- overlay: PropTypes.bool
+ overlay: PropTypes.bool,
+ separator: PropTypes.bool
};
constructor(props){
@@ -340,7 +342,7 @@ export default class LayersControlLayer extends React.Component {
return (
- {!this.props.overlay ?
:
}
+ {!this.props.overlay ?
:
}
{meta.name}
{meta.raster ?
: ""}
@@ -414,6 +416,8 @@ export default class LayersControlLayer extends React.Component {
asset={this.asset}
exportParams={this.getLayerParams}
dropUp />
+
+ {this.props.separator ?
: ""}
: ""}
);
diff --git a/app/static/app/js/components/LayersControlPanel.jsx b/app/static/app/js/components/LayersControlPanel.jsx
index 9abf30aa..ac21accd 100644
--- a/app/static/app/js/components/LayersControlPanel.jsx
+++ b/app/static/app/js/components/LayersControlPanel.jsx
@@ -84,7 +84,13 @@ export default class LayersControlPanel extends React.Component {
const m_a = a[Symbol.for("meta")] || {};
const m_b = b[Symbol.for("meta")] || {};
return m_a.type > m_b.type ? -1 : 1;
- }).map((layer, i) => )}
+ }).map((layer, i) => )}
);
};
diff --git a/app/static/app/js/components/Map.jsx b/app/static/app/js/components/Map.jsx
index 673d2aff..4d3a177b 100644
--- a/app/static/app/js/components/Map.jsx
+++ b/app/static/app/js/components/Map.jsx
@@ -687,7 +687,7 @@ _('Example:'),
}).catch(e => {
this.setState({showLoading: false, error: e.message});
});
-
+
PluginsAPI.Map.triggerDidAddControls({
map: this.map,
tiles: tiles,
diff --git a/app/static/app/js/components/Toggle.jsx b/app/static/app/js/components/Toggle.jsx
index a4ce5baa..a5b79d03 100644
--- a/app/static/app/js/components/Toggle.jsx
+++ b/app/static/app/js/components/Toggle.jsx
@@ -35,14 +35,16 @@ class Toggle extends React.Component {
class Checkbox extends Toggle{
static defaultProps = {
trueIcon: "far fa-check-square",
- falseIcon: "far fa-square"
+ falseIcon: "far fa-square",
+ className: ""
}
}
class ExpandButton extends Toggle{
static defaultProps = {
trueIcon: "fa fa-caret-down",
- falseIcon: "fa fa-caret-right"
+ falseIcon: "fa fa-caret-right",
+ className: ""
}
}
diff --git a/app/static/app/js/css/LayersControlLayer.scss b/app/static/app/js/css/LayersControlLayer.scss
index f9f59f43..63e91504 100644
--- a/app/static/app/js/css/LayersControlLayer.scss
+++ b/app/static/app/js/css/LayersControlLayer.scss
@@ -21,6 +21,15 @@
padding-right: 6px;
}
+ .expand-layer{
+ margin-right: 3px;
+ }
+
+ hr.layer-separator{
+ margin-top: 6px;
+ margin-left: 8px;
+ }
+
select, input{
height: auto;
padding: 4px;