cleaned, started map_mode, added agissante, superposition, proximite fields to graphql
This commit is contained in:
parent
94d5b6bd99
commit
82731a4884
32
src/App.vue
32
src/App.vue
@ -30,33 +30,6 @@ export default {
|
||||
...mapActions(ConcernementsStore,['loadConcernements']),
|
||||
...mapActions(ConcernementsStore,['loadContentTypeDefinition']),
|
||||
...mapActions(UserStore,['checkUser']),
|
||||
// sortedConcernements () {
|
||||
// if (this.concernements.length) {
|
||||
// let cs = this.concernements;
|
||||
// cs.sort(function(a, b) {
|
||||
// if (a.opened && !b.opened) {
|
||||
// return 1;
|
||||
// }
|
||||
// if (!a.opened && b.opened) {
|
||||
// return -1;
|
||||
// }
|
||||
// return 0;
|
||||
// });
|
||||
// return cs;
|
||||
// // Object.keys(this.concernementsByID).forEach((id, i) => {
|
||||
// // console.log(id);
|
||||
// // if (!this.concernementsByID[id].opened) {
|
||||
// // console.log('not opened');
|
||||
// // cs[id] = this.concernementsByID[id];
|
||||
// // }
|
||||
|
||||
// // });
|
||||
// // console.log('filtered concernements', cs);
|
||||
// // return cs;
|
||||
// } else {
|
||||
// return null
|
||||
// }
|
||||
// }
|
||||
},
|
||||
components: {
|
||||
MapConcernements,
|
||||
@ -87,11 +60,6 @@ export default {
|
||||
:concernement="concernement"
|
||||
:opened="concernement.opened"
|
||||
/>
|
||||
<!-- <ConcernementMapItem
|
||||
v-if="opened"
|
||||
:concernement="opened"
|
||||
:opened="opened.opened"
|
||||
/> -->
|
||||
</MapConcernements>
|
||||
<div id="content">
|
||||
<RouterView />
|
||||
|
@ -21,6 +21,15 @@ fragment ConcernementFields on Concernement {
|
||||
entite {
|
||||
title
|
||||
id
|
||||
agissante
|
||||
proximite {
|
||||
id
|
||||
title
|
||||
}
|
||||
superposition {
|
||||
id
|
||||
title
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -53,6 +53,7 @@ export default {
|
||||
},
|
||||
props: ['concernement', 'opened'],
|
||||
computed: {
|
||||
...mapState(ConcernementsStore,['map_mode']),
|
||||
...mapState(ConcernementsStore,['concernementsByID']),
|
||||
...mapState(ConcernementsStore,['opened_entite_id'])
|
||||
},
|
||||
|
@ -21,7 +21,7 @@ export default {
|
||||
if (this.infos.type === 'concernement') {
|
||||
this.concernement = this.concernementsByID[this.infos.id];
|
||||
} else {
|
||||
this.entite = this.allEntitesById[this.infos.id];
|
||||
this.entite = this.allEntitesById[this.infos.id].entite;
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
@ -40,7 +40,7 @@ export default {
|
||||
if (n.type === 'concernement') {
|
||||
this.concernement = this.concernementsByID[n.id];
|
||||
} else {
|
||||
this.entite = this.allEntitesById[n.id];
|
||||
this.entite = this.allEntitesById[n.id].entite;
|
||||
}
|
||||
},
|
||||
deep: true
|
||||
|
@ -58,6 +58,7 @@ export default {
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState(ConcernementsStore,['map_mode']),
|
||||
...mapState(ConcernementsStore,['concernements']),
|
||||
...mapState(ConcernementsStore,['concernementsByID']),
|
||||
...mapState(ConcernementsStore,['opened'])
|
||||
@ -105,6 +106,7 @@ export default {
|
||||
this.animate()
|
||||
},
|
||||
methods: {
|
||||
...mapActions(ConcernementsStore,['setMapMode']),
|
||||
...mapActions(ConcernementsStore,['openCloseConcernements']),
|
||||
...mapActions(ConcernementsStore,['resetConcernementOpened']),
|
||||
animate () {
|
||||
@ -236,23 +238,23 @@ export default {
|
||||
<nav id="map-nav">
|
||||
<ul>
|
||||
<li>
|
||||
<a href="#terraindevie">terrain de vie</a>
|
||||
<a href="#terraindevie" @click="setMapMode('terraindevie')">terrain de vie</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#proximite">proximité</a>
|
||||
<a href="#proximite" @click="setMapMode('proximite')">proximité</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#superposition">superposition</a>
|
||||
<a href="#superposition" @click="setMapMode('superposition')">superposition</a>
|
||||
</li>
|
||||
<!-- <li>
|
||||
<a href="#puissancedagir" @click="setMapMode('puissancedagir')">puissance d'agir</a>
|
||||
</li> -->
|
||||
<li>
|
||||
<a href="#puissancedagir">puissance d'agir</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#action">action</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#doleancer">doléancer</a>
|
||||
<a href="#action" @click="setMapMode('action')">action</a>
|
||||
</li>
|
||||
<!-- <li>
|
||||
<a href="#doleancer" @click="setMapMode('doleancer')">doléancer</a>
|
||||
</li> -->
|
||||
</ul>
|
||||
</nav>
|
||||
<ConcernementMapPopup
|
||||
|
@ -16,18 +16,24 @@ import ConcernementFields from '@api/gql/concernement.fragment.gql'
|
||||
export const ConcernementsStore = defineStore({
|
||||
id: 'concernements',
|
||||
state: () => ({
|
||||
map_mode: "terraindevie",
|
||||
concernements: [],
|
||||
concernementsByID: {},
|
||||
allEntitesById: {},
|
||||
opened: false,
|
||||
opened_entite_id: null,
|
||||
ct_concernement: {},
|
||||
concernements_loaded: false
|
||||
concernements_loaded: false,
|
||||
}),
|
||||
getters: {
|
||||
|
||||
},
|
||||
actions: {
|
||||
setMapMode(mode) {
|
||||
console.log(`set map_mode ${mode}`);
|
||||
// mode can be : terraindevie, proximite, superposition, puissancedagir, action, doleancer
|
||||
this.map_mode = mode;
|
||||
},
|
||||
loadConcernements () {
|
||||
console.log('concernements store loadConcernements');
|
||||
return new Promise((resolve, reject) => {
|
||||
@ -49,7 +55,14 @@ export const ConcernementsStore = defineStore({
|
||||
concernement.entites.forEach(entite => {
|
||||
concernement.entites_byid[entite.entite.id] = entite;
|
||||
// record a flat list of all entités of all concernement for map-popup
|
||||
this.allEntitesById[entite.entite.id] = entite;
|
||||
if (typeof this.allEntitesById[entite.entite.id] === "undefined") {
|
||||
this.allEntitesById[entite.entite.id] = {
|
||||
entite: entite,
|
||||
concernements: [concernement]
|
||||
};
|
||||
} else {
|
||||
this.allEntitesById[entite.entite.id].concernements.push(concernement);
|
||||
}
|
||||
});
|
||||
this.concernements.push(concernement);
|
||||
this.concernementsByID[concernement.id] = concernement;
|
||||
|
Loading…
x
Reference in New Issue
Block a user