Skip to content

Commit 37ae21f

Browse files
committed
refactor in layers component
1 parent bcf3e6e commit 37ae21f

File tree

1 file changed

+57
-56
lines changed

1 file changed

+57
-56
lines changed

src/components/Layers/Layers.js

Lines changed: 57 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,62 @@
1-
import React, { Component } from 'react';
1+
import React, { Component } from "react";
22

3-
import './Layers.css';
3+
import "./Layers.css";
44

55
export default class Layers extends Component {
6-
constructor(props) {
7-
super(props);
8-
9-
this.state = {
10-
layersList: []
11-
};
12-
13-
this.getLayersList = this.getLayersList.bind(this);
14-
this.addLayer = this.addLayer.bind(this);
15-
}
16-
17-
componentDidMount() {
18-
this.props.onRef(this);
19-
this.getLayersList();
20-
}
21-
22-
componentWillUnmount() {
23-
this.props.onRef(undefined)
24-
}
25-
26-
getLayersList() {
27-
let layersList = JSON.parse(localStorage.getItem('LayersList'));
28-
console.log(localStorage.getItem('LayersList'));
29-
this.setState({ layersList: layersList});
30-
return layersList;
31-
}
32-
33-
addLayer(id, url, name){
34-
this.getLayersList();
35-
this.setState( {layersList: this.state.layersList.concat({ id:'404', url:'http://www.google.com', name:'saranga' })});
36-
localStorage.setItem('LayersList', JSON.stringify(this.state.layersList));
37-
}
38-
39-
getLayerData() {
40-
41-
}
42-
43-
render() {
44-
return (
45-
<div className='layers'>
46-
<button onClick={this.addLayer}>add layer</button>
47-
{ this.state.layersList.map( layer => <p>{layer.id}</p>)}
48-
</div>
49-
);
6+
constructor(props) {
7+
super(props);
8+
9+
this.state = {
10+
layersList: []
11+
};
12+
13+
this.fetchLayersList = this.fetchLayersList.bind(this);
14+
this.addLayer = this.addLayer.bind(this);
15+
}
16+
17+
componentDidMount() {
18+
this.props.onRef(this);
19+
this.fetchLayersList();
20+
}
21+
22+
componentWillUnmount() {
23+
this.props.onRef(undefined);
24+
}
25+
26+
fetchLayersList() {
27+
let layersList;
28+
try {
29+
layersList = JSON.parse(localStorage.getItem("LayersList"));
30+
if (!Array.isArray(layersList)) layersList = [];
31+
} catch (err) {
32+
layersList = [];
5033
}
34+
// console.log(localStorage.getItem('LayersList'));
35+
this.setState({ layersList: layersList });
36+
}
37+
38+
addLayer(id, url, name) {
39+
this.fetchLayersList();
40+
this.setState({
41+
layersList: this.state.layersList.concat({
42+
id: "404",
43+
url: "http://www.google.com",
44+
name: "saranga"
45+
})
46+
});
47+
localStorage.setItem("LayersList", JSON.stringify(this.state.layersList));
48+
}
49+
50+
getLayerData() {}
51+
52+
render() {
53+
return (
54+
<div className="layers">
55+
<button onClick={this.addLayer}>add layer</button>
56+
{this.state.layersList.map(layer => (
57+
<p>{layer.id}</p>
58+
))}
59+
</div>
60+
);
61+
}
5162
}
52-
53-
/*this.state.layersList[0]?
54-
<div>
55-
<p>{this.state.layersList[0].id}</p>
56-
<p>{this.state.layersList[0].url}</p>
57-
<p>{this.state.layersList[0].name}</p>
58-
</div>
59-
: null*/
60-
61-
//('614','http://www.google.com','saranga')

0 commit comments

Comments
 (0)