From 901c66fe9a4bc88fbf7199c1b82cff45103b6bec Mon Sep 17 00:00:00 2001 From: bach Date: Fri, 7 Jul 2023 10:51:25 +0200 Subject: [PATCH] mapmode action done --- src/components/ConcernementMapItem.vue | 8 +++-- src/components/ConcernementMapPopup.vue | 6 ++-- src/components/MapConcernements.vue | 44 ++++++++++++++++++++++++- src/components/contents/Entite.vue | 1 + src/views/Concernement.vue | 2 +- 5 files changed, 53 insertions(+), 8 deletions(-) diff --git a/src/components/ConcernementMapItem.vue b/src/components/ConcernementMapItem.vue index 7daae95..8d0be25 100644 --- a/src/components/ConcernementMapItem.vue +++ b/src/components/ConcernementMapItem.vue @@ -565,12 +565,13 @@ export default { }); for (let i = 0; i < this.entites.length; i++) { if (this.entites[i].entite.agissante) { - let instance = new paper.SymbolItem(this.paper_symbol_definitions['entite']); - instance.name = 'entite'; + let instance = new paper.SymbolItem(this.paper_symbol_definitions['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.fillColor = '#000'; + instance.scale(0.2); instance.item_id = this.entites[i].entite.id; - instance.item_type = 'entite'; + instance.item_type = 'entite_action'; instance.is_symbol_instance = true; g.addChild(instance) } @@ -909,6 +910,7 @@ export default { // choose wich one to show, if one switch (this.map_mode) { case 'terraindevie': + case 'action': this.paper_main_object.children.boussole_bg.visible = true; break; case 'puissancedagir': diff --git a/src/components/ConcernementMapPopup.vue b/src/components/ConcernementMapPopup.vue index 3e6cc3e..086fd9e 100644 --- a/src/components/ConcernementMapPopup.vue +++ b/src/components/ConcernementMapPopup.vue @@ -26,7 +26,7 @@ export default { // console.log(`popup created type: ${this.infos.type}`, this.infos); if (this.infos.type === 'concernement') { this.concernement = this.concernementsByID[this.infos.id]; - } else if(this.infos.type === 'entite') { + } else if(this.infos.type === 'entite' || this.infos.type === 'entite_action') { this.entite = this.allEntitesById[this.infos.id]; } else if (this.infos.type === 'besoin') { this.besoin = this.allBesoinsById[this.infos.id]; @@ -55,7 +55,7 @@ export default { handler (n, o){ if (n.type === 'concernement') { this.concernement = this.concernementsByID[n.id]; - } else if(n.type === 'entite') { + } else if(n.type === 'entite' || n.type === 'entite_action') { this.entite = this.allEntitesById[this.infos.id]; } else if (n.type === 'besoin') { this.besoin = this.allBesoinsById[this.infos.id]; @@ -132,7 +132,7 @@ export default { -
+

{{ entite.entite.title }}

diff --git a/src/components/MapConcernements.vue b/src/components/MapConcernements.vue index 58a9a49..e735401 100644 --- a/src/components/MapConcernements.vue +++ b/src/components/MapConcernements.vue @@ -22,7 +22,7 @@ import ConcernementMapPopup from '@components/ConcernementMapPopup.vue'; // import iconProximite from "@/assets/icons/proximite.svg" // import iconSuperposition from "@/assets/icons/superposition.svg" import iconPuissanceagir from "@/assets/icons/puissancedagir.svg" -// import iconAction from "@/assets/icons/action.svg" +import iconAction from "@/assets/icons/action.svg" import iconDoleancer from "@/assets/icons/doleancer.svg" export default { @@ -149,6 +149,9 @@ export default { case 'reponse': nitem.definition = this.paper_symbol_definitions.reponse_hover; break; + case 'entite_action': + nitem.definition = this.paper_symbol_definitions.entite_action_hover; + break; } } } @@ -174,6 +177,9 @@ export default { case 'reponse': oitem.definition = this.paper_symbol_definitions.reponse; break; + case 'entite_action': + oitem.definition = this.paper_symbol_definitions.entite_action; + break; } } @@ -200,6 +206,8 @@ export default { // this.addPaperSymbolDefinition('entite', this.setPaperEntiteSymbol()); this.addPaperSymbolDefinition('entite_hover', this.setPaperEntiteHoverSymbol()); + this.addPaperSymbolDefinition('entite_action', this.setPaperEntiteActionSymbol()); + this.addPaperSymbolDefinition('entite_action_hover', this.setPaperEntiteActionHoverSymbol()); this.addPaperSymbolDefinition('besoin', this.setPaperBesoinSymbol()); this.addPaperSymbolDefinition('besoin_hover', this.setPaperBesoinHoverSymbol()); this.addPaperSymbolDefinition('reponse', this.setPaperReponseSymbol()); @@ -863,6 +871,40 @@ export default { strokeWidth:2 }) }, + setPaperEntiteActionSymbol(){ + let svgIcon = paper.project.importSVG(iconAction); + svgIcon.strokeColor = '#000'; + svgIcon.strokeWidth = 0.75; + svgIcon.fillColor = null; + svgIcon.position = {x:0, y:0}; + + let circle = new paper.Path.Circle({ + radius: 15, + fillColor: 'rgba(255,255,255,0.05)' + }) + + return new paper.Group({ + children: [circle, svgIcon], + name: 'action_icon' + }); + }, + setPaperEntiteActionHoverSymbol(){ + let svgIcon = paper.project.importSVG(iconAction); + svgIcon.strokeColor = '#01ffe2'; + svgIcon.strokeWidth = 0.75; + svgIcon.fillColor = null; + svgIcon.position = {x:0, y:0}; + + let circle = new paper.Path.Circle({ + radius: 15, + fillColor: 'rgba(255,255,255,0.05)' + }) + + return new paper.Group({ + children: [circle, svgIcon], + name: 'action_icon' + }); + }, setPaperBesoinSymbol(){ return new paper.Path({ pivot: new paper.Point(this.pos), diff --git a/src/components/contents/Entite.vue b/src/components/contents/Entite.vue index f7aa310..38dbc38 100644 --- a/src/components/contents/Entite.vue +++ b/src/components/contents/Entite.vue @@ -62,6 +62,7 @@ export default { v-for="(video,v) in source.videos" :key="v">
+