diff --git a/webapp/src/App.jsx b/webapp/src/App.jsx
index 3ae568d..4d26b34 100644
--- a/webapp/src/App.jsx
+++ b/webapp/src/App.jsx
@@ -49,29 +49,44 @@ class App extends Component {
if(dataFromServer.Data === "COP")
{
-
+ if(dataFromServer.Entities === undefined)
+ {
+ dataFromServer.Entities = [];
+ }
// console.log(this.state.EntityOnFocus);
- var tmp = []
- if(this.state.Entities.length !== 0){
+ let tmp = new Array(); ;
-
+ if(this.state.Entities !== undefined && this.state.Entities.length !== 0){
+
+ if(dataFromServer.Entities.length > 0)
+ {
dataFromServer.Entities.forEach((elementFromWS, indexWS) => {
+ if (this.isStored(elementFromWS.id) !== true)
+ {
+ tmp.push(elementFromWS);
+ }
this.state.Entities.forEach((elementStored, indexStore) => {
if(elementFromWS.id === elementStored.id)
{
-
+ // console.log(elementStored);
+
if(elementStored.onFocus !==true | elementStored.onFocus === undefined)
{
tmp.push(elementFromWS);
+
}else
{
tmp.push(elementStored);
}
+ }else{
+ // console.log(elementFromWS);
+ // tmp.push(elementFromWS);
}
});
});
+ }
}else{
tmp = dataFromServer.Entities;
}
@@ -95,6 +110,21 @@ class App extends Component {
}
+
+ isStored(id) {
+ var found = false;
+ this.state.Entities.forEach((elementStored, indexStore) => {
+ if (id === elementStored.id)
+ {
+ found = true;
+ }
+ });
+
+ return found;
+
+ }
+
+
updateEntities()
{
var msg =
@@ -193,7 +223,7 @@ class App extends Component {
-
+
diff --git a/webapp/src/components/OpenSeaMap/OpenSeaMap.jsx b/webapp/src/components/OpenSeaMap/OpenSeaMap.jsx
index bc8f5c5..85eeed8 100644
--- a/webapp/src/components/OpenSeaMap/OpenSeaMap.jsx
+++ b/webapp/src/components/OpenSeaMap/OpenSeaMap.jsx
@@ -44,13 +44,36 @@ class OpenSeaMap extends Component {
// console.log("hello world");
}
+ markerOnClick(e) {
+ console.log(e);
+ }
+
+
+ setOnFocus(e)
+ {
+ console.log(e.relatedTarget);
+ e.relatedTarget.dragging.enable();
+ e.relatedTarget.options.draggable = true;
+ var Ent = {
+ EntityID : e.relatedTarget.options.data,
+ NewPos : undefined
+ }
+ this.setState((state) =>({
+ EntityOnFocus: Ent
+ }))
+ this.props.setEntityOnFocus(Ent)
+ // this.draggable = true;
+ }
+
+
makeIcon(index, entity,props,state)
{
var isOnFocus = false;
if(this.state.EntityOnFocus !== undefined){
// console.log(entity.id+ " " , this.state.EntityOnFocus);
+ // console.log(props+ " " , this.state.EntityOnFocus);
if(entity.id === this.state.EntityOnFocus.EntityID)
{
@@ -63,10 +86,11 @@ class OpenSeaMap extends Component {
}
}
+
var icon;
icon = createIcon(entity.Type,entity.Side)
return (
- {
{
props.Entity.onFocus = undefined;
}
- setFormData({name:'',course:'',speed:'',position:['','']})
+ setFormData({name:'',course:0,speed:0,position:[0,0],height:0})
setEntity(undefined)
props.Functions.resetEntityOnFocus();
diff --git a/webapp/src/components/control/Tracklist/tracklist.jsx b/webapp/src/components/control/Tracklist/tracklist.jsx
index 7e9c574..dad043a 100644
--- a/webapp/src/components/control/Tracklist/tracklist.jsx
+++ b/webapp/src/components/control/Tracklist/tracklist.jsx
@@ -6,6 +6,7 @@ import round from '../../Utils';
class Tracklist extends React.Component
{
+
render()
{
diff --git a/webapp/src/components/control/controls.jsx b/webapp/src/components/control/controls.jsx
index f911a5d..215c86c 100644
--- a/webapp/src/components/control/controls.jsx
+++ b/webapp/src/components/control/controls.jsx
@@ -38,6 +38,11 @@ state = {
// const dataFromServer = JSON.parse(message.data);
// console.log('reply', dataFromServer);
// }
+
+ if (this.props.Entities == undefined)
+ {
+ this.props.Entities = new Array();
+ }
}