ADD: added util function and fix problem with updatin entityOnFocus
This commit is contained in:
@@ -33,6 +33,8 @@ class App extends Component {
|
||||
PositionClicked: undefined
|
||||
}
|
||||
|
||||
|
||||
|
||||
componentDidMount() {
|
||||
console.log(config.apiUrl);
|
||||
|
||||
@@ -48,17 +50,46 @@ class App extends Component {
|
||||
{
|
||||
|
||||
// console.log(this.state.EntityOnFocus);
|
||||
this.setState((state) => ({
|
||||
Entities: structuredClone(dataFromServer.Entities)
|
||||
var tmp = []
|
||||
if(this.state.Entities.length !== 0){
|
||||
|
||||
|
||||
dataFromServer.Entities.forEach((elementFromWS, indexWS) => {
|
||||
|
||||
this.state.Entities.forEach((elementStored, indexStore) => {
|
||||
if(elementFromWS.id === elementStored.id)
|
||||
{
|
||||
|
||||
if(elementStored.onFocus !==true | elementStored.onFocus === undefined)
|
||||
{
|
||||
tmp.push(elementFromWS);
|
||||
}else
|
||||
{
|
||||
tmp.push(elementStored);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
}else{
|
||||
tmp = dataFromServer.Entities;
|
||||
}
|
||||
// console.log(tmp);
|
||||
this.setState((state) => ({
|
||||
// Entities: structuredClone(dataFromServer.Entities)
|
||||
Entities: structuredClone(tmp)
|
||||
|
||||
})
|
||||
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// interval for updates
|
||||
setInterval(() => {
|
||||
// this.updateEntities();
|
||||
}, 1000);
|
||||
this.updateEntities();
|
||||
}, 2000);
|
||||
|
||||
|
||||
}
|
||||
@@ -103,6 +134,22 @@ class App extends Component {
|
||||
});
|
||||
|
||||
}
|
||||
resetEntityOnFocus()
|
||||
{
|
||||
if(this.state.EntityOnFocus !== undefined)
|
||||
{
|
||||
this.state.Entities.map((element ,index) => {
|
||||
if(element.id === this.state.EntityOnFocus.EntityID)
|
||||
{
|
||||
this.state.Entities[index].onFocus = undefined;
|
||||
}
|
||||
})
|
||||
console.log(this.state.Entities)
|
||||
this.setState({
|
||||
EntityOnFocus: undefined
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
setFocusPosition(props)
|
||||
@@ -114,7 +161,10 @@ class App extends Component {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Functions = {
|
||||
updateEntities: this.updateEntities.bind(this),
|
||||
resetEntityOnFocus: this.resetEntityOnFocus.bind(this)
|
||||
}
|
||||
|
||||
render() {
|
||||
const {name} = this.state;
|
||||
@@ -123,7 +173,7 @@ class App extends Component {
|
||||
<Header />
|
||||
<div className="Content">
|
||||
|
||||
<Controls Client= {client} Entities= {this.state.Entities} updateEntities = {this.updateEntities} EntityOnFocus = {this.state.EntityOnFocus} PositionClicked = {this.state.PositionClicked} />
|
||||
<Controls Functions= {this.Functions} Client= {client} Entities= {this.state.Entities} updateEntities = {this.updateEntities} EntityOnFocus = {this.state.EntityOnFocus} PositionClicked = {this.state.PositionClicked} />
|
||||
|
||||
<OpenSeaMap Entities= {this.state.Entities} updateEntities = {this.updateEntities} setEntityOnFocus = {this.setEntityOnFocus.bind(this)} setFocusPosition = {this.setFocusPosition.bind(this)}/>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user