we can now zoom in the opened terrain de vie
This commit is contained in:
parent
7984c9c7d0
commit
8518ebf7df
@ -610,7 +610,8 @@ body{
|
|||||||
}
|
}
|
||||||
section.sliders{
|
section.sliders{
|
||||||
padding: 1em 0 0.5em;
|
padding: 1em 0 0.5em;
|
||||||
section.historique{
|
section.historique,
|
||||||
|
section.details{
|
||||||
>label{
|
>label{
|
||||||
padding:0;
|
padding:0;
|
||||||
}
|
}
|
||||||
|
@ -40,6 +40,7 @@ export default {
|
|||||||
salientPoints: [],
|
salientPoints: [],
|
||||||
scale: 1,
|
scale: 1,
|
||||||
prev_scale: 1,
|
prev_scale: 1,
|
||||||
|
details_zoom_scale: 1,
|
||||||
opacity: 0,
|
opacity: 0,
|
||||||
tween: null,
|
tween: null,
|
||||||
is_visible: true,
|
is_visible: true,
|
||||||
@ -68,7 +69,8 @@ export default {
|
|||||||
'allSuperpositions_clustered',
|
'allSuperpositions_clustered',
|
||||||
'allMapItems_byid',
|
'allMapItems_byid',
|
||||||
'opened_concernement',
|
'opened_concernement',
|
||||||
'opened_entite_id']),
|
'opened_entite_id',
|
||||||
|
'detailsZoomValue']),
|
||||||
...mapState(CommonStore,['hover_elmt',
|
...mapState(CommonStore,['hover_elmt',
|
||||||
'map_item_ray',
|
'map_item_ray',
|
||||||
'cartouch_width',
|
'cartouch_width',
|
||||||
@ -269,6 +271,15 @@ export default {
|
|||||||
this.updatePaperObjectSize();
|
this.updatePaperObjectSize();
|
||||||
},
|
},
|
||||||
deep: true
|
deep: true
|
||||||
|
},
|
||||||
|
detailsZoomValue: {
|
||||||
|
handler (n, o) {
|
||||||
|
if (this.is_open) {
|
||||||
|
console.log('map_item detailsZoomValue watch', n);
|
||||||
|
this.updateDetailsZoomScale()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
deep: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@ -689,6 +700,18 @@ export default {
|
|||||||
this.paper_main_object.addChild(this.setPaperContour());
|
this.paper_main_object.addChild(this.setPaperContour());
|
||||||
|
|
||||||
},
|
},
|
||||||
|
updateDetailsZoomScale(){
|
||||||
|
// revert to the original scale (by reverting the previous scale)
|
||||||
|
this.paper_main_object.scale(1 / this.details_zoom_scale);
|
||||||
|
// compute the zoom scale
|
||||||
|
this.details_zoom_scale = this.scale * this.detailsZoomValue;
|
||||||
|
// then scale again to new scale
|
||||||
|
this.paper_main_object.scale(this.details_zoom_scale);
|
||||||
|
// // handle superposition scaling
|
||||||
|
// this.resetSuperpositionsConstraintsScaling(s);
|
||||||
|
|
||||||
|
// this.prev_scale = this.scale = s;
|
||||||
|
},
|
||||||
/*
|
/*
|
||||||
* called by openClose() function
|
* called by openClose() function
|
||||||
*/
|
*/
|
||||||
@ -2156,6 +2179,7 @@ export default {
|
|||||||
// record new scale
|
// record new scale
|
||||||
this.prev_scale = this.scale;
|
this.prev_scale = this.scale;
|
||||||
this.scale = this.mapitem.scale = obj.s;
|
this.scale = this.mapitem.scale = obj.s;
|
||||||
|
this.details_zoom_scale = this.scale * this.detailsZoomValue;
|
||||||
this.opacity = obj.o;
|
this.opacity = obj.o;
|
||||||
// console.log('tween update obj.s', obj.s);
|
// console.log('tween update obj.s', obj.s);
|
||||||
this.pos = {x:obj.x, y:obj.y};
|
this.pos = {x:obj.x, y:obj.y};
|
||||||
@ -2165,6 +2189,7 @@ export default {
|
|||||||
// console.log('tween complete obj.s', obj.s);
|
// console.log('tween complete obj.s', obj.s);
|
||||||
// record tween one last time
|
// record tween one last time
|
||||||
this.prev_scale = this.scale = obj.s;
|
this.prev_scale = this.scale = obj.s;
|
||||||
|
this.details_zoom_scale = this.scale * this.detailsZoomValue;
|
||||||
this.mapitem.scale = this.scale;
|
this.mapitem.scale = this.scale;
|
||||||
this.opacity = obj.o;
|
this.opacity = obj.o;
|
||||||
this.pos = {x:obj.x, y:obj.y};
|
this.pos = {x:obj.x, y:obj.y};
|
||||||
@ -2258,11 +2283,13 @@ export default {
|
|||||||
this.prev_scale = this.scale;
|
this.prev_scale = this.scale;
|
||||||
this.scale = obj.s;
|
this.scale = obj.s;
|
||||||
this.mapitem.scale = this.scale;
|
this.mapitem.scale = this.scale;
|
||||||
|
this.details_zoom_scale = this.scale * this.detailsZoomValue;
|
||||||
this.opacity = obj.o;
|
this.opacity = obj.o;
|
||||||
})
|
})
|
||||||
.onComplete((obj) => {
|
.onComplete((obj) => {
|
||||||
this.prev_scale = this.scale = 1;
|
this.prev_scale = this.scale = 1;
|
||||||
this.mapitem.scale = this.scale;
|
this.mapitem.scale = this.scale;
|
||||||
|
this.details_zoom_scale = this.scale * this.detailsZoomValue;
|
||||||
this.handlePaperVisibilityOnClosed();
|
this.handlePaperVisibilityOnClosed();
|
||||||
this.clearPaperContents();
|
this.clearPaperContents();
|
||||||
this.is_closing = false;
|
this.is_closing = false;
|
||||||
@ -2324,6 +2351,7 @@ export default {
|
|||||||
this.resetSuperpositionsConstraintsScaling(s);
|
this.resetSuperpositionsConstraintsScaling(s);
|
||||||
// record the new scale
|
// record the new scale
|
||||||
this.prev_scale = this.scale = s;
|
this.prev_scale = this.scale = s;
|
||||||
|
this.details_zoom_scale = this.scale * this.detailsZoomValue;
|
||||||
},
|
},
|
||||||
// ENGINE UPDATE
|
// ENGINE UPDATE
|
||||||
onBeforeEngineUpdate (event) {
|
onBeforeEngineUpdate (event) {
|
||||||
|
@ -29,6 +29,8 @@ export default {
|
|||||||
entite: null,
|
entite: null,
|
||||||
history_value: 0,
|
history_value: 0,
|
||||||
history_slider_ops: null,
|
history_slider_ops: null,
|
||||||
|
details_value: 0,
|
||||||
|
details_slider_ops: null,
|
||||||
infos_opened: false,
|
infos_opened: false,
|
||||||
chevronright_path: mdiChevronRight,
|
chevronright_path: mdiChevronRight,
|
||||||
chevrondown_path: mdiChevronDown,
|
chevrondown_path: mdiChevronDown,
|
||||||
@ -103,6 +105,16 @@ export default {
|
|||||||
this.history_slider_ops = null;
|
this.history_slider_ops = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// details
|
||||||
|
this.details_slider_ops = {
|
||||||
|
min: 1,
|
||||||
|
max: 4,
|
||||||
|
interval: 0.05,
|
||||||
|
'hide-label': true,
|
||||||
|
tooltip: 'none',
|
||||||
|
dotSize:10,
|
||||||
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
// mounted(){
|
// mounted(){
|
||||||
// console.log('terrain de vie mounted', this);
|
// console.log('terrain de vie mounted', this);
|
||||||
@ -118,6 +130,13 @@ export default {
|
|||||||
},
|
},
|
||||||
deep: true
|
deep: true
|
||||||
},
|
},
|
||||||
|
details_value: {
|
||||||
|
handler (n, o) {
|
||||||
|
// console.log(`TerrainDeVie watch history_value o:${o}, n:${n}`);
|
||||||
|
this.setDetailsZoomValue(n);
|
||||||
|
},
|
||||||
|
deep: true
|
||||||
|
},
|
||||||
cid: {
|
cid: {
|
||||||
handler (n,o) {
|
handler (n,o) {
|
||||||
console.log(`TerrainDeVie watch cid o:${o}, n:${n}`);
|
console.log(`TerrainDeVie watch cid o:${o}, n:${n}`);
|
||||||
@ -140,7 +159,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapActions(ConcernementsStore, ['setActiveRevision']), // 'loadConcernementsRevisions'
|
...mapActions(ConcernementsStore, ['setActiveRevision', 'setDetailsZoomValue']), // 'loadConcernementsRevisions'
|
||||||
onClickInfos(){
|
onClickInfos(){
|
||||||
this.infos_opened = !this.infos_opened;
|
this.infos_opened = !this.infos_opened;
|
||||||
},
|
},
|
||||||
@ -237,6 +256,15 @@ export default {
|
|||||||
v-bind="history_slider_ops"
|
v-bind="history_slider_ops"
|
||||||
></vue-slider>
|
></vue-slider>
|
||||||
</section>
|
</section>
|
||||||
|
<section class="details" v-if="details_slider_ops">
|
||||||
|
<label>Details</label>
|
||||||
|
<!-- <h3>{{ details_value }}</h3> -->
|
||||||
|
<vue-slider
|
||||||
|
ref="details_slider"
|
||||||
|
v-model="details_value"
|
||||||
|
v-bind="details_slider_ops"
|
||||||
|
></vue-slider>
|
||||||
|
</section>
|
||||||
</section>
|
</section>
|
||||||
</template>
|
</template>
|
||||||
</CartoucheLayout>
|
</CartoucheLayout>
|
||||||
|
@ -38,6 +38,7 @@ export const ConcernementsStore = defineStore({
|
|||||||
p_mise_en_oeuvre_decision: {},
|
p_mise_en_oeuvre_decision: {},
|
||||||
p_reception_application_decision: {},
|
p_reception_application_decision: {},
|
||||||
concernements_loaded: false,
|
concernements_loaded: false,
|
||||||
|
detailsZoomValue: 1,
|
||||||
}),
|
}),
|
||||||
getters: {
|
getters: {
|
||||||
|
|
||||||
@ -441,6 +442,9 @@ export const ConcernementsStore = defineStore({
|
|||||||
setActiveRevision (cid, rid) {
|
setActiveRevision (cid, rid) {
|
||||||
// console.log(`setActiveRevision, cid:${cid}, rid:${rid}`);
|
// console.log(`setActiveRevision, cid:${cid}, rid:${rid}`);
|
||||||
this.concernementsByID[cid].active_revision = rid;
|
this.concernementsByID[cid].active_revision = rid;
|
||||||
|
},
|
||||||
|
setDetailsZoomValue (z) {
|
||||||
|
this.detailsZoomValue = z;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user