admin front : create new entite refresh concernementMapitem; fixed historique (active_revision)
This commit is contained in:
@@ -74,7 +74,9 @@ export default {
|
||||
'allMapItems_byid',
|
||||
'opened_concernement',
|
||||
'opened_entite_id',
|
||||
'detailsZoomValue']),
|
||||
'concernement_active_revision',
|
||||
'detailsZoomValue',
|
||||
'concernements_loading_nb']),
|
||||
...mapState(CommonStore,['hover_elmt',
|
||||
'map_item_ray',
|
||||
'cartouch_width',
|
||||
@@ -82,18 +84,10 @@ export default {
|
||||
'paper_symbol_definitions'])
|
||||
},
|
||||
created () {
|
||||
// console.log('ConcernementMapItem created', this.mapitem);
|
||||
console.log('ConcernementMapItem created', this.mapitem);
|
||||
// this.id = this.superposition_id ? `${this.cid}___${this.superposition_id}` : this.cid;
|
||||
// console.log(`this.mapitem.id`, this.mapitem.id);
|
||||
this.id = this.mapitem.id;
|
||||
this.concernement = this.mapitem.concernement;
|
||||
this.cid = this.concernement.id;
|
||||
// console.log('mapitem this.cid', this.cid);
|
||||
this.active_revision = this.concernement.active_revision;
|
||||
|
||||
// console.log(`ConcernementsMapItem ${this.id} created`);
|
||||
// this.entites = this.concernement.entites
|
||||
this.entites = this.concernement.revisions_byid[this.concernement.revision_id].entites;
|
||||
this.resetConcernement();
|
||||
|
||||
|
||||
// disable concernement if less than 3 entite
|
||||
@@ -163,8 +157,13 @@ export default {
|
||||
},
|
||||
opened_concernement: {
|
||||
handler (n, o) {
|
||||
console.log(`concernementMapitem ${this.cid} watch opened_concernement o, n`, o, n);
|
||||
if (!n) { // if there is no opened concernement
|
||||
this.is_open = false;
|
||||
if (this.active_revision !== this.concernement.active_revision) {
|
||||
this.active_revision = this.concernement.active_revision;
|
||||
this.resetPaperEntitesAndContours();
|
||||
}
|
||||
this.applyShuffleForces();
|
||||
} else {
|
||||
if(this.cid === n.id && this.id === n.opened_mapitem_id){
|
||||
@@ -255,13 +254,23 @@ export default {
|
||||
},
|
||||
concernement: {
|
||||
handler (n, o){
|
||||
console.log(`ConcernementMapItem ${this.id} watch concernement o, n`, this.concernement.parsedEntites, o, n);
|
||||
// check for active_revision changes
|
||||
// do not trigger on first variable filling (if o is null)
|
||||
if(this.is_open && o && o.active_revision && n.active_revision && this.map_mode === "terraindevie"){
|
||||
// be aware that here o & n active_revision are already the same :( !?
|
||||
console.log(`concernementMapItem watch concernement o.active_revision:${o.active_revision}, n.active_revision:${n.active_revision}`);
|
||||
this.resetPaperActiveRevision();
|
||||
// check for new concernement object
|
||||
if(!this.concernement.parsedEntites){
|
||||
console.log(`watch mapItem ${this.cid} reseting paperentitiesandcontours`);
|
||||
this.resetPaperEntitesAndContours();
|
||||
}
|
||||
|
||||
// // check for new active_revision
|
||||
// // TODO fix that (it is loop triggering when new concernement object)
|
||||
// if(this.is_open && o && o.active_revision && n.active_revision && this.map_mode === "terraindevie"){
|
||||
// // be aware that here o & n active_revision are already the same :( !?
|
||||
// console.log(`concernementMapItem watch concernement o.active_revision:${o.active_revision}, n.active_revision:${n.active_revision}`);
|
||||
// // this.resetPaperEntitesAndContours();
|
||||
// }
|
||||
|
||||
// // check for doleance change
|
||||
// if (this.is_open && o && o.opened_doleance && n.opened_doleance && this.map_mode === "doleancer") {
|
||||
// // be aware that here o & n opened_doleance are already the same :( !?
|
||||
@@ -280,6 +289,20 @@ export default {
|
||||
},
|
||||
deep: true
|
||||
},
|
||||
concernement_active_revision: {
|
||||
handler (n, o){
|
||||
// console.log(`ConcernementMapItem ${this.id} watch concernement_active_revision o, n`, o, n);
|
||||
if (this.is_open && o) {
|
||||
// console.log(`n.cid: ${n.cid}, n.rid: ${n.rid}, this.is_open: ${this.is_open}, this.cid: ${this.cid}`);
|
||||
// console.log(this.cid, n.cid, n.rid);
|
||||
if (parseInt(n.cid) === this.cid) {
|
||||
this.active_revision = n.rid;
|
||||
this.resetPaperEntitesAndContours();
|
||||
}
|
||||
}
|
||||
},
|
||||
deep: true
|
||||
},
|
||||
detailsZoomValue: {
|
||||
handler (n, o) {
|
||||
if (this.is_open && this.map_mode === "terraindevie") {
|
||||
@@ -288,6 +311,24 @@ export default {
|
||||
}
|
||||
},
|
||||
deep: true
|
||||
},
|
||||
// concernements_loading_nb: {
|
||||
// handler (n, o) {
|
||||
// console.log(`concernementMapItem ${this.id} watch concernements_loading_nb o, n`, o, n);
|
||||
// // this.resetPaperEntitesAndContours();
|
||||
// },
|
||||
// deep: true
|
||||
// },
|
||||
mapitem: {
|
||||
handler (n, o) {
|
||||
console.log(`ConcernementMapItem ${this.id} watch mapitem o, n`, o, n);
|
||||
if (n.concernements_loading_nb !== o.concernements_loading_nb) {
|
||||
// this.resetPaperEntitesAndContours();
|
||||
// this.concernement = this.mapitem.concernement;
|
||||
this.resetConcernement();
|
||||
}
|
||||
},
|
||||
deep: true
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -301,6 +342,17 @@ export default {
|
||||
'setOpenedRecit',
|
||||
'setDetailsZoomValue',
|
||||
]),
|
||||
resetConcernement(){
|
||||
this.id = this.mapitem.id;
|
||||
this.concernement = this.mapitem.concernement;
|
||||
this.cid = this.concernement.id;
|
||||
// console.log('mapitem this.cid', this.cid);
|
||||
this.active_revision = this.concernement.active_revision;
|
||||
|
||||
// console.log(`ConcernementsMapItem ${this.id} created`);
|
||||
// this.entites = this.concernement.entites
|
||||
this.entites = this.concernement.revisions_byid[this.concernement.revision_id].entites;
|
||||
},
|
||||
parseEntityPointsValues (){
|
||||
// converts data (menace/maintien, actuel/future, prise) into atcual position x,y
|
||||
for (let r = 0; r < this.concernement.revisions.length; r++) { // loop through all revisions
|
||||
@@ -347,6 +399,7 @@ export default {
|
||||
// }
|
||||
}
|
||||
}
|
||||
this.concernement.parsedEntites = true;
|
||||
},
|
||||
getSalientPoints_OLD() {
|
||||
// debugger
|
||||
@@ -776,24 +829,33 @@ export default {
|
||||
break;
|
||||
}
|
||||
},
|
||||
resetPaperActiveRevision(){
|
||||
console.log('resetPaperActiveRevision');
|
||||
|
||||
this.sailentEntites = this.getJarvisEnvelopeConvexeEntites(this.concernement.revisions_byid[this.concernement.active_revision].entites);
|
||||
|
||||
// remove contours if already exists
|
||||
if (this.paper_main_object.children.contours) {
|
||||
this.paper_main_object.children.contours.remove();
|
||||
resetPaperEntitesAndContours(){
|
||||
console.log(`concernementMapitem ${this.id} resetPaperEntitesAndContours this.concernement`, this.concernement);
|
||||
if (!this.isResetingPaperEntites) {
|
||||
console.log(`ResetingPaperEntites ${this.id}`);
|
||||
this.isResetingPaperEntites = true;
|
||||
this.parseEntityPointsValues()
|
||||
|
||||
this.sailentEntites = this.getJarvisEnvelopeConvexeEntites(this.concernement.revisions_byid[this.active_revision].entites);
|
||||
|
||||
// remove contours if already exists
|
||||
if (this.paper_main_object.children.contours) {
|
||||
this.paper_main_object.children.contours.remove();
|
||||
}
|
||||
// redraw contours
|
||||
this.paper_main_object.addChild(this.setPaperContour());
|
||||
|
||||
// remove entites if already exists
|
||||
if (this.paper_main_object.children.entites) {
|
||||
this.paper_main_object.children.entites.remove();
|
||||
}
|
||||
// redraw entites
|
||||
this.paper_main_object.addChild(this.setPaperEntites());
|
||||
|
||||
this.isResetingPaperEntites = false;
|
||||
console.log(`END ResetingPaperEntites ${this.id}`);
|
||||
}
|
||||
// redraw contours
|
||||
this.paper_main_object.addChild(this.setPaperContour());
|
||||
|
||||
// remove entites if already exists
|
||||
if (this.paper_main_object.children.entites) {
|
||||
this.paper_main_object.children.entites.remove();
|
||||
}
|
||||
// redraw entites
|
||||
this.paper_main_object.addChild(this.setPaperEntites());
|
||||
|
||||
},
|
||||
clearPaperContents(){
|
||||
let clearable_children = ['boussole_bg', 'entites',
|
||||
@@ -932,8 +994,8 @@ export default {
|
||||
g.addChild(g_label);
|
||||
g_label.sendToBack();
|
||||
// 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];
|
||||
for (let i = 0; i < this.concernement.revisions_byid[this.active_revision].entites.length; i++) {
|
||||
let entite = this.concernement.revisions_byid[this.active_revision].entites[i];
|
||||
// item type
|
||||
let item_type = entite.entite ? entite.entite.agissante ? 'entite_action' : 'entite' : 'entite_hidden';
|
||||
|
||||
@@ -1024,8 +1086,8 @@ export default {
|
||||
pivot: new paper.Point(this.pos),
|
||||
name: 'entites_superposes'
|
||||
});
|
||||
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];
|
||||
for (let i = 0; i < this.concernement.revisions_byid[this.active_revision].entites.length; i++) {
|
||||
let entite = this.concernement.revisions_byid[this.active_revision].entites[i];
|
||||
if (entite.entite // check if we have an entite object with all the contents
|
||||
&& this.superposedEntiteID === entite.entite.id) // check if entite id
|
||||
{
|
||||
@@ -1051,8 +1113,8 @@ export default {
|
||||
pivot: new paper.Point(this.pos),
|
||||
name: 'entites_proximites'
|
||||
});
|
||||
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];
|
||||
for (let i = 0; i < this.concernement.revisions_byid[this.active_revision].entites.length; i++) {
|
||||
let entite = this.concernement.revisions_byid[this.active_revision].entites[i];
|
||||
if (entite.entite // check if we have an entite object with all the contents
|
||||
&& entite.entite.proximite.length ) // check if entite id is in the list builded above
|
||||
{
|
||||
@@ -1080,8 +1142,8 @@ export default {
|
||||
});
|
||||
// loop through all concernement's entites
|
||||
// keeping only those who have proximite
|
||||
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];
|
||||
for (let i = 0; i < this.concernement.revisions_byid[this.active_revision].entites.length; i++) {
|
||||
let entite = this.concernement.revisions_byid[this.active_revision].entites[i];
|
||||
if (entite.entite // check if we have an entite object with all the contents
|
||||
&& entite.entite.proximite.length ) // check if entite id is in the list builded above
|
||||
{
|
||||
@@ -1302,7 +1364,7 @@ export default {
|
||||
// name: 'agissantes_icons'
|
||||
// });
|
||||
// for (let i = 0; i < this.concernement.revisions_byid[this.concernement.revision_id].entites.length; i++) {
|
||||
// let entite = this.concernement.revisions_byid[this.concernement.active_revision].entites[i];
|
||||
// let entite = this.concernement.revisions_byid[this.active_revision].entites[i];
|
||||
// if (entite.entite && entite.entite.agissante) {
|
||||
// let instance = new paper.SymbolItem(this.paper_symbol_definitions['entite_action_icon']);
|
||||
// instance.name = 'entite_action';
|
||||
@@ -2302,7 +2364,7 @@ export default {
|
||||
},
|
||||
openClose(open) { // async
|
||||
// await nextTick(); // not working
|
||||
console.log(`ConcernementsMapItem ${this.id} openClose: ${open}`);
|
||||
console.log(`ConcernementsMapItem openClose ${this.id} openClose: ${open}`);
|
||||
if (this.tween) {
|
||||
this.tween.stop();
|
||||
}
|
||||
@@ -2382,9 +2444,9 @@ export default {
|
||||
Matter.Composite.remove(this.matterEngine.world, this.constraint);
|
||||
}
|
||||
|
||||
// this.concernement.active_revision = this.concernement.revision_id;
|
||||
this.setActiveRevision(this.cid, this.concernement.revision_id);//this.concernement.revisions[this.concernement.revisions.length -1].revision_id);
|
||||
this.resetPaperActiveRevision();
|
||||
// this.active_revision = this.concernement.revision_id;
|
||||
// this.setActiveRevision(this.cid, this.concernement.revision_id);//this.concernement.revisions[this.concernement.revisions.length -1].revision_id);
|
||||
// this.resetPaperEntitesAndContours();
|
||||
|
||||
this.handlePaperVisibilityOnBeforeClose();
|
||||
|
||||
|
||||
@@ -26,7 +26,6 @@ export default {
|
||||
...mapState(ConcernementsStore,['map_mode',
|
||||
'opened_concernement',
|
||||
'concernementsByID',
|
||||
'concernements_loaded',
|
||||
'ct_concernement',
|
||||
'ct_cercle_politique',
|
||||
'p_groupes_interets',
|
||||
|
||||
@@ -44,6 +44,7 @@ export default {
|
||||
chevrondown_path: mdiChevronDown,
|
||||
headerreduced: false,
|
||||
mdiStickerPlusOutline_path: mdiStickerPlusOutline,
|
||||
reloading_concernements: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -52,7 +53,9 @@ export default {
|
||||
'concernementsByID',
|
||||
'ct_concernement',
|
||||
'ct_entite',
|
||||
'detailsZoomValue']),
|
||||
'detailsZoomValue',
|
||||
// 'concernements_are_loading'
|
||||
]),
|
||||
...mapState(UserStore,['name','csrf_token']),
|
||||
created(){
|
||||
let d = new Date(this.concernement.created);
|
||||
@@ -184,7 +187,12 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
...mapActions(ConcernementsStore, ['setActiveRevision', 'setDetailsZoomValue']), // 'loadConcernementsRevisions'
|
||||
...mapActions(ConcernementsStore, ['setActiveRevision',
|
||||
'setDetailsZoomValue',
|
||||
'loadConcernements',
|
||||
'reloadConcernements',
|
||||
'reloadConcernementEntites']),
|
||||
// 'loadConcernementsRevisions'
|
||||
onClickInfos(){
|
||||
this.infos_opened = !this.infos_opened;
|
||||
},
|
||||
@@ -224,6 +232,7 @@ export default {
|
||||
},
|
||||
addEntite(e){
|
||||
console.log('add entite');
|
||||
this.reloading_concernements = true;
|
||||
// 1 create entite node
|
||||
this.createEntiteNode()
|
||||
.then((entite) => {
|
||||
@@ -237,6 +246,11 @@ export default {
|
||||
.then((concernement) => {
|
||||
console.log('concernement', concernement);
|
||||
// TODO reload the map item
|
||||
// this.reloadConcernementEntites(concernement.nid[0].value);
|
||||
this.reloadConcernements()
|
||||
.then(() => {
|
||||
this.reloading_concernements = false;
|
||||
});
|
||||
})
|
||||
})
|
||||
})
|
||||
@@ -436,10 +450,13 @@ export default {
|
||||
|
||||
</section>
|
||||
<template v-if="concernement.can_update">
|
||||
<div @click="addEntite" class="add-entite-btn">
|
||||
<div v-if="!reloading_concernements" @click="addEntite" class="add-entite-btn">
|
||||
<span>Ajouter une entité</span>
|
||||
<svg-icon type="mdi" :path="mdiStickerPlusOutline_path"/>
|
||||
</div>
|
||||
<div v-else class="add-entite-btn">
|
||||
<div class="loading">Chargement</div>
|
||||
</div>
|
||||
</template>
|
||||
</template>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user