bach преди 1 година
родител
ревизия
5fcff3f6dd
променени са 4 файла, в които са добавени 43 реда и са изтрити 10 реда
  1. 9 0
      src/assets/main.scss
  2. 25 6
      src/components/ConcernementMapItem.vue
  3. 3 2
      src/components/MapConcernements.vue
  4. 6 2
      src/components/contents/TerrainDeVie.vue

+ 9 - 0
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;

+ 25 - 6
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

+ 3 - 2
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;

+ 6 - 2
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 {
         <!-- TODO update entite with revisions -->
         <span v-if="entite && concernement.entites_byid[eid].menacemaintien < 0" class="menacemaintient">est menacé par</span>
         <span v-if="entite && concernement.entites_byid[eid].menacemaintien > 0" class="menacemaintient">est maintenu par</span>
-        <h3 v-if="entite"><span class="entite-point">&bull;</span>&ThinSpace;{{ entite.title }}</h3>
+        <h3 v-if="entite">{{ entite.title }}</h3>
       </div>
     </template>