hidden entite points are displayed without being accessible #2151 #2188

This commit is contained in:
Bachir Soussi Chiadmi 2023-07-13 09:34:49 +02:00
parent 9e523af2ff
commit 7ef77fd71e
3 changed files with 24 additions and 11 deletions

View File

@ -210,9 +210,10 @@ export default {
x: this.entites[i].display.ray * Math.cos(this.entites[i].display.alpha * (Math.PI/180)), x: this.entites[i].display.ray * Math.cos(this.entites[i].display.alpha * (Math.PI/180)),
y: this.entites[i].display.ray * Math.sin(this.entites[i].display.alpha * (Math.PI/180)) y: this.entites[i].display.ray * Math.sin(this.entites[i].display.alpha * (Math.PI/180))
} }
if (entite.entite) {
this.entites_byid[entite.entite.id].display = this.entites[i].display; this.entites_byid[entite.entite.id].display = this.entites[i].display;
} }
}
}, },
getSalientPoints_OLD() { getSalientPoints_OLD() {
// debugger // debugger
@ -557,12 +558,13 @@ export default {
}); });
for (let i = 0; i < this.entites.length; i++) { for (let i = 0; i < this.entites.length; i++) {
// use paper symbol // use paper symbol
let instance = new paper.SymbolItem(this.paper_symbol_definitions['entite']); let symbol_name = this.entites[i].entite ? 'entite' : 'entite_hidden';
let instance = new paper.SymbolItem(this.paper_symbol_definitions[symbol_name]);
instance.name = 'entite'; instance.name = 'entite';
instance.position = new paper.Point([this.pos.x + this.entites[i].display.pos.x, this.pos.y + this.entites[i].display.pos.y]); instance.position = new paper.Point([this.pos.x + this.entites[i].display.pos.x, this.pos.y + this.entites[i].display.pos.y]);
instance.fillColor = '#000'; instance.fillColor = '#000';
instance.item_id = this.entites[i].entite.id; instance.item_id = this.entites[i].entite ? this.entites[i].entite.id : null;
instance.item_type = 'entite'; instance.item_type = this.entites[i].entite ? 'entite' : 'hidden_entite';
instance.is_symbol_instance = true; instance.is_symbol_instance = true;
g.addChild(instance) g.addChild(instance)
} }
@ -574,7 +576,7 @@ export default {
name: 'agissantes' name: 'agissantes'
}); });
for (let i = 0; i < this.entites.length; i++) { for (let i = 0; i < this.entites.length; i++) {
if (this.entites[i].entite.agissante) { if (this.entites[i].entite && this.entites[i].entite.agissante) {
let instance = new paper.SymbolItem(this.paper_symbol_definitions['entite_action']); let instance = new paper.SymbolItem(this.paper_symbol_definitions['entite_action']);
instance.name = 'entite_action'; instance.name = 'entite_action';
instance.position = new paper.Point([this.pos.x + this.entites[i].display.pos.x, this.pos.y + this.entites[i].display.pos.y]); instance.position = new paper.Point([this.pos.x + this.entites[i].display.pos.x, this.pos.y + this.entites[i].display.pos.y]);

View File

@ -208,6 +208,7 @@ export default {
this.addPaperSymbolDefinition('doleance_icon', this.setPaperDoleanceICONSymbol()); this.addPaperSymbolDefinition('doleance_icon', this.setPaperDoleanceICONSymbol());
// //
this.addPaperSymbolDefinition('entite', this.setPaperEntiteSymbol()); this.addPaperSymbolDefinition('entite', this.setPaperEntiteSymbol());
this.addPaperSymbolDefinition('entite_hidden', this.setPaperHiddenEntiteSymbol());
this.addPaperSymbolDefinition('entite_hover', this.setPaperEntiteHoverSymbol()); this.addPaperSymbolDefinition('entite_hover', this.setPaperEntiteHoverSymbol());
this.addPaperSymbolDefinition('entite_action', this.setPaperEntiteActionSymbol()); this.addPaperSymbolDefinition('entite_action', this.setPaperEntiteActionSymbol());
this.addPaperSymbolDefinition('entite_action_hover', this.setPaperEntiteActionHoverSymbol()); this.addPaperSymbolDefinition('entite_action_hover', this.setPaperEntiteActionHoverSymbol());
@ -874,6 +875,16 @@ export default {
strokeWidth:2 strokeWidth:2
}) })
}, },
setPaperHiddenEntiteSymbol(){
return new paper.Path.Circle({
pivot: new paper.Point({x:0,y:0}),
center: [0,0],
radius: 0.7, //0.3
fillColor: '#fff',
strokeColor: 'rgba(255,255,255,0.05)',
strokeWidth:2
})
},
setPaperEntiteHoverSymbol(){ setPaperEntiteHoverSymbol(){
return new paper.Path.Circle({ return new paper.Path.Circle({
pivot: new paper.Point({x:0,y:0}), pivot: new paper.Point({x:0,y:0}),

View File

@ -56,7 +56,7 @@ export const ConcernementsStore = defineStore({
// console.log('ast', ast); // console.log('ast', ast);
GQL.post('', { query: print(ast) }) GQL.post('', { query: print(ast) })
.then(({ data : { data : { allconcernements } } }) => { .then(({ data : { data : { allconcernements } } }) => {
console.log('loadconcernements loaded', allconcernements) console.log('loadconcernements all loaded', allconcernements)
this.concernements = []; this.concernements = [];
// parse concernements // parse concernements
allconcernements.forEach(concernement => { allconcernements.forEach(concernement => {
@ -65,9 +65,9 @@ export const ConcernementsStore = defineStore({
concernement.entites_byid = {}; concernement.entites_byid = {};
concernement.entitesagissantes_byid = {}; concernement.entitesagissantes_byid = {};
concernement.has_agissantes = false; concernement.has_agissantes = false;
var entites_temp = concernement.entites; // record a temp entites liste // var entites_temp = concernement.entites; // record a temp entites liste
concernement.entites = []; // erase the concernement.entite array as we want to keep only visible entites // concernement.entites = []; // erase the concernement.entite array as we want to keep only visible entites
entites_temp.forEach(entite => { concernement.entites.forEach(entite => {
if (entite.entite) { // entite.entite may be null because of workflow confidentiality if (entite.entite) { // entite.entite may be null because of workflow confidentiality
concernement.entites_byid[entite.entite.id] = entite; concernement.entites_byid[entite.entite.id] = entite;
// record entite agissante // record entite agissante
@ -77,7 +77,7 @@ export const ConcernementsStore = defineStore({
} }
// record a flat list of all entités of all concernement for map-popup // record a flat list of all entités of all concernement for map-popup
this.allEntitesById[entite.entite.id] = entite; this.allEntitesById[entite.entite.id] = entite;
concernement.entites.push(entite); // fill the entites array with visible entite only // concernement.entites.push(entite); // fill the entites array with visible entite only
} }
}); });