diff --git a/src/components/ConcernementMapItem.vue b/src/components/ConcernementMapItem.vue index 88409ba..7cbca52 100644 --- a/src/components/ConcernementMapItem.vue +++ b/src/components/ConcernementMapItem.vue @@ -70,7 +70,7 @@ export default { computed: { ...mapState(ConcernementsStore,['map_mode']), ...mapState(ConcernementsStore,['concernementsByID']), - ...mapState(ConcernementsStore,['opened']), + ...mapState(ConcernementsStore,['opened_concernement']), ...mapState(ConcernementsStore,['opened_entite_id']), ...mapState(CommonStore,['hover_elmt']) }, @@ -136,7 +136,7 @@ export default { map_mode: { handler (n, o) { console.log('watch map_mode', o, n); - if (n === 'terraindevie' && !this.opened) { + if (n === 'terraindevie' && !this.opened_concernement) { this.applyShuffleForces(); // apply a little force to check the map when returning to terrain de vie } }, @@ -1545,7 +1545,7 @@ export default { initPaperEvents(){ this.paper_objects.onMouseEnter = function(event){ - if (!this.opened && this.isFocused()) { // only if no concernement is opened and is this focused + if (!this.opened_concernement && this.isFocused()) { // only if no concernement is opened and is this focused this.setHoverElmt({ type: 'concernement', id: this.id @@ -1555,7 +1555,7 @@ export default { }.bind(this); this.paper_objects.onMouseLeave = function(event){ - if (!this.opened && this.isFocused()) { // only if no concernement is opened + if (!this.opened_concernement && this.isFocused()) { // only if no concernement is opened this.resetHoverElmt(); document.body.style.cursor = "auto"; } @@ -1614,7 +1614,7 @@ export default { this.paper_objects.onClick = function(event){ console.log('paper concernement onClick'); if (!this.is_opened) { - if (!this.opened) { + if (!this.opened_concernement) { console.log(`Open me ${this.id}`); // open/close all concernements this.openCloseConcernements(this.id) @@ -1651,7 +1651,7 @@ export default { this.$router.push({ name: 'concernement', hash: `#${this.map_mode}`, - params: {id: this.opened.id, eid: result.item.item_id} + params: {id: this.opened_concernement.id, eid: result.item.item_id} }); } else { // otherwise we close the entite and come back to the concernement @@ -1760,8 +1760,8 @@ export default { this.tween.update(); } - if (this.opened) { - if (this.opened.id !== this.id) { + if (this.opened_concernement) { + if (this.opened_concernement.id !== this.id) { this.pushAside() } } else { @@ -1786,13 +1786,19 @@ export default { } }, pushAside(){ + + // INFO logarithmic force : https://stackoverflow.com/questions/846221/logarithmic-slider/846249#846249 + // apply a force in direction of one side or an other depending of the start position // the force is exponentialy proportional to the distance from the side let dir = this.pos.x > this.canvas.width/2 ? 1 : -1; // get the direction to the closest side - let dist = (dir < 0 ? this.pos.x : this.canvas.width - this.pos.x); // get the distance from the side - let ori_pos = {x:this.canvas.width/2, y:this.body.position.y}; + // let minp = 0; + // let maxp = this.canvas.width / 2; + + // let dist = (dir < 0 ? this.pos.x : this.canvas.width - this.pos.x); // get the distance from the side let x_force = Math.pow(dist/700,100) * dir; + let ori_pos = {x:this.canvas.width/2, y:this.body.position.y}; Matter.Body.applyForce( this.body, diff --git a/src/components/MapConcernements.vue b/src/components/MapConcernements.vue index dcfd892..e5b3e96 100644 --- a/src/components/MapConcernements.vue +++ b/src/components/MapConcernements.vue @@ -48,7 +48,7 @@ export default { ...mapState(ConcernementsStore,['map_mode']), ...mapState(ConcernementsStore,['concernements']), ...mapState(ConcernementsStore,['concernementsByID']), - ...mapState(ConcernementsStore,['opened']), + // ...mapState(ConcernementsStore,['opened_concernement']), ...mapState(CommonStore,['hover_elmt']) }, created() { diff --git a/src/main.js b/src/main.js index a7928ae..18949f9 100644 --- a/src/main.js +++ b/src/main.js @@ -9,8 +9,7 @@ import '@csstools/normalize.css'; import './assets/main.scss' // var decomp = require('poly-decomp'); -// window.decomp = decomp; - +// window.decomp = decomp; const app = createApp(App) // https://vuejs.org/guide/components/provide-inject.html#provide diff --git a/src/stores/concernements.js b/src/stores/concernements.js index 78c20cd..9652727 100644 --- a/src/stores/concernements.js +++ b/src/stores/concernements.js @@ -21,7 +21,7 @@ export const ConcernementsStore = defineStore({ concernementsByID: {}, allEntitesById: {}, allBesoinsById: {}, - opened: false, + opened_concernement: false, opened_entite_id: null, ct_concernement: {}, ct_entite: {}, @@ -220,12 +220,12 @@ export const ConcernementsStore = defineStore({ state = id === c.id; this.concernements[i].opened = this.concernementsByID[c.id].opened = state; if (state) { - this.opened = c; + this.opened_concernement = c; } }); }, resetConcernementOpened () { - this.opened = null; + this.opened_concernement = null; this.openCloseConcernements(); }, setOpenedEntityId(id){ diff --git a/src/views/Concernement.vue b/src/views/Concernement.vue index 941c076..e4a1399 100644 --- a/src/views/Concernement.vue +++ b/src/views/Concernement.vue @@ -22,7 +22,7 @@ export default { computed: { ...mapState(UserStore,['isloggedin']), ...mapState(ConcernementsStore,['map_mode']), - ...mapState(ConcernementsStore,['opened']), + ...mapState(ConcernementsStore,['opened_concernement']), // ...mapState(ConcernementsStore,['opened_entity_id']), ...mapState(ConcernementsStore,['concernements_loaded']), ...mapState(ConcernementsStore,['ct_concernement']), @@ -35,7 +35,7 @@ export default { ...mapState(CommonStore,['hover_elmt']) }, created () { - console.log(`Concernement view created, id: ${this.id}, eid: ${this.eid}, opened:${this.opened}`); + console.log(`Concernement view created, id: ${this.id}, eid: ${this.eid}, opened_concernement:${this.opened_concernement}`); // when we arrived directly to the url, load the entite // this.eid provided by route params @@ -46,9 +46,9 @@ export default { watch: { concernements_loaded: { handler (n, o){ - console.log(`watch concernements_loaded n: ${n}, opened:${this.opened}, id:${this.id}`); + console.log(`watch concernements_loaded n: ${n}, opened_concernement:${this.opened_concernement}, id:${this.id}`); // when we arrived directly to the url then all concernement are loaded: do open the concernement - if (!this.opened) { + if (!this.opened_concernement) { this.openCloseConcernements(this.id) } @@ -107,7 +107,7 @@ export default {