From 5fcff3f6dd3d9a76a10db4f68dad0c9236ed324e Mon Sep 17 00:00:00 2001 From: bach Date: Fri, 6 Oct 2023 14:46:44 +0200 Subject: [PATCH] enite higlignt bug fix #2306 --- src/assets/main.scss | 9 +++++++ src/components/ConcernementMapItem.vue | 31 +++++++++++++++++++----- src/components/MapConcernements.vue | 5 ++-- src/components/contents/TerrainDeVie.vue | 8 ++++-- 4 files changed, 43 insertions(+), 10 deletions(-) diff --git a/src/assets/main.scss b/src/assets/main.scss index 1893e92..fcae597 100644 --- a/src/assets/main.scss +++ b/src/assets/main.scss @@ -204,6 +204,15 @@ body{ h3{ font-weight: 400; font-size: 1.323em; + position: relative; + overflow: visible; + &::before{ + content:"\2022"; + color: #01ffe2; + position:absolute; + left:-0.45em; + font-weight: bold; + } } span.menacemaintient{ display: block; diff --git a/src/components/ConcernementMapItem.vue b/src/components/ConcernementMapItem.vue index c84ef59..afd8a88 100644 --- a/src/components/ConcernementMapItem.vue +++ b/src/components/ConcernementMapItem.vue @@ -214,6 +214,7 @@ export default { ...mapActions(ConcernementsStore,['openCloseConcernements', // 'setConcernementMapItem', 'hideShowConcernement', + 'setOpenedEntiteId', 'setActiveRevision', 'setBesoinPaperId', 'setOpenedDoleanceField', @@ -694,15 +695,32 @@ export default { // for (let i = 0; i < this.entites.length; i++) { for (let i = 0; i < this.concernement.revisions_byid[this.concernement.active_revision].entites.length; i++) { let entite = this.concernement.revisions_byid[this.concernement.active_revision].entites[i]; + // item type + let item_type = entite.entite ? entite.entite.agissante ? 'entite_action' : 'entite' : 'entite_hidden'; + // use paper symbol - let symbol_name = entite.entite ? entite.entite.agissante ? 'entite_action' : 'entite' : 'entite_hidden'; + let symbol_name = item_type; + switch (item_type) { + case 'entite': + if(parseInt(this.opened_entite_id) === entite.entite.id){ + symbol_name = 'entite_hover'; + } + break; + case 'entite_action': + if(parseInt(this.opened_entite_id) === entite.entite.id){ + symbol_name = 'entite_action_hover'; + } + break; + } + + let instance = new paper.SymbolItem(this.paper_symbol_definitions[symbol_name]); instance.name = 'entite'; instance.position = new paper.Point([this.pos.x + entite.display.pos.x * this.scale, this.pos.y + entite.display.pos.y * this.scale]); instance.scale(this.scale); instance.fillColor = '#000'; instance.item_id = entite.entite ? entite.entite.id : null; - instance.item_type = symbol_name; + instance.item_type = item_type; instance.is_symbol_instance = true; g.addChild(instance) } @@ -1305,11 +1323,11 @@ export default { } // focus on opened entite - if (this.is_open && this.opened_entite_id && (this.map_mode === 'terraindevie' || this.map_mode === 'action')) { + if (this.is_open && (this.map_mode === 'terraindevie' || this.map_mode === 'action')) { let group = this.map_mode === 'terraindevie' ? this.paper_main_object.children['entites'] : this.paper_main_object.children['agissantes']; if(group){ group.children.forEach((item) => { - if (item.item_id === this.opened_entite_id) { + if (this.opened_entite_id && item.item_id === parseInt(this.opened_entite_id)) { item.definition = item.item_type === 'entite' ? this.paper_symbol_definitions.entite_hover : this.paper_symbol_definitions.entite_action_hover; } else { if (!this.hover_elmt || item.item_id !== this.hover_elmt.id) { @@ -1319,8 +1337,6 @@ export default { }) } } - - }, @@ -1548,6 +1564,7 @@ export default { hash: `#${this.map_mode}`, params: {id: this.cid, mapitemid: this.id} }); + // reset the mousehover this.resetHoverElmt(); } @@ -1683,6 +1700,8 @@ export default { this.handlePaperVisibilityOnBeforeClose(); + this.setOpenedEntiteId(null); + // this.setOpenedRecit(null); // create once the closing tween diff --git a/src/components/MapConcernements.vue b/src/components/MapConcernements.vue index ef07dd6..d335ace 100644 --- a/src/components/MapConcernements.vue +++ b/src/components/MapConcernements.vue @@ -196,7 +196,8 @@ export default { console.log(`symbol instance o.type:${o.type}, oitem`, oitem); switch (o.type) { case 'entite': - if (!this.opened_entite_id || this.opened_entite_id !== oitem.item_id) { + // console.log('this.opened_entite_id', parseInt(this.opened_entite_id), 'oitem.item_id', oitem.item_id); + if (!this.opened_entite_id || parseInt(this.opened_entite_id) !== oitem.item_id) { oitem.definition = this.paper_symbol_definitions.entite; } break; @@ -207,7 +208,7 @@ export default { oitem.definition = this.paper_symbol_definitions.reponse; break; case 'entite_action': - if (!this.opened_entite_id || this.opened_entite_id !== oitem.item_id) { + if (!this.opened_entite_id || parseInt(this.opened_entite_id) !== oitem.item_id) { oitem.definition = this.paper_symbol_definitions.entite_action; } break; diff --git a/src/components/contents/TerrainDeVie.vue b/src/components/contents/TerrainDeVie.vue index bc3ee14..67ca949 100644 --- a/src/components/contents/TerrainDeVie.vue +++ b/src/components/contents/TerrainDeVie.vue @@ -111,7 +111,11 @@ export default { eid: { handler (n, o) { console.log(`TerrainDeVie watch eid o:${o}, n:${n}`); - this.loadEntite() + if (n) { + this.loadEntite() + }else{ + this.entite = null; + } }, deep: true } @@ -157,7 +161,7 @@ export default { est menacé par est maintenu par -

 {{ entite.title }}

+

{{ entite.title }}