From 04eb79af8b857a225cdca297d6588ac987df8308 Mon Sep 17 00:00:00 2001 From: bach Date: Thu, 6 Jul 2023 16:15:24 +0200 Subject: [PATCH] fixed puissance d'agir cartouch display --- src/assets/main.scss | 139 ++++++++++++---------- src/components/ConcernementMapItem.vue | 9 +- src/components/contents/PuissanceAgir.vue | 74 +++++++++--- src/views/Concernement.vue | 31 ++--- 4 files changed, 154 insertions(+), 99 deletions(-) diff --git a/src/assets/main.scss b/src/assets/main.scss index ae64dea..f44379a 100644 --- a/src/assets/main.scss +++ b/src/assets/main.scss @@ -210,6 +210,82 @@ body{ } } + // PUISSANCE D'AGIR + ul.besoins{ + li.besoin{ + position: relative; + label.mdi:before{ + font-size: 0.8em; + padding-right: 0.2em; + + } + label.mdi:hover:before, + label.mdi.hover:before{ + color:#01ffe2; + } + svg.open-btn{ + position: absolute; + right:0; top:0; + cursor: pointer; + } + >header{ + padding: 0 0 0 0; + >label{ + padding:0.3em 0 0.5em 0; + cursor: pointer; + } + h4.besoin-description{ + font-weight: 400; + font-size: 1.2em; + // padding: 0.5em 0; + } + } + ul.reponses{ + overflow: hidden; + max-height: 1px; + transition: all 0.7s ease-in-out; + li.reponse{ + padding:0.5em 0 0; + &:last-of-type{ + padding: 0.5em 0 1em; + } + >label{ + padding:0 0 0.5em 0; + } + section{ + &:not(:last-of-type){ + padding: 0 0 0.5em 0; + } + label{ padding:0; } + p{margin:0;} + } + + } + } + a.contribute-link{ + display: flex; + flex-direction: row; + justify-content: flex-end; + align-items:flex-end; + font-weight: 100; + font-size: 0.882em; + svg{ + width:1em; height:1em; margin-right: 0.5em; + } + } + &.opened{ + ul.reponses{ + max-height: 1000px; + } + } + + padding-bottom: 0.5em; + border-bottom: #aaa 1px solid; + margin-bottom: 1em; + } + } + + } >footer{ section.infos{ @@ -258,68 +334,7 @@ body{ list-style: none; } - // PUISSANCE D'AGIR - section.content-besoins{ - li.besoin{ - position: relative; - label.mdi:before{ - font-size: 0.8em; - padding-right: 0.2em; - - } - label.mdi:hover:before, - label.mdi.hover:before{ - color:#01ffe2; - } - span.open-btn{ - position: absolute; - right:0; top:0; - cursor: pointer; - } - >header{ - padding: 0 0 0 0; - >label{ - padding:0.5em 0 0.5em 0; - cursor: pointer; - } - h4.besoin-description{ - font-weight: 400; - font-size: 1.2em; - padding: 0.5em 0; - } - a.contribute-link{ - display: block; - text-align: right; - font-weight: 100; - font-size: 0.882em; - } - } - ul.reponses{ - overflow: hidden; - max-height: 1px; - transition: all 0.7s ease-in-out; - li.reponse{ - padding:1em 0; - section{ - padding:0; - label{ padding: 0 0 0 0; } - p{margin: 0 0 1em 0;} - } - - } - } - &.opened{ - ul.reponses{ - max-height: 1000px; - } - } - - padding-bottom: 0.5em; - border-bottom: #aaa 1px solid; - margin-bottom: 1em; - } - } - + section.content-doleances{ diff --git a/src/components/ConcernementMapItem.vue b/src/components/ConcernementMapItem.vue index 5f8ea25..ad6b016 100644 --- a/src/components/ConcernementMapItem.vue +++ b/src/components/ConcernementMapItem.vue @@ -1198,6 +1198,14 @@ export default { }, // ENGINE UPDATE onBeforeEngineUpdate (event) { + + // TODO stop item on mouse hover + if (this.hover_elmt && this.hover_elmt.id === this.id) { + // Matter.Body.setStatic(this.body, true); + } else { + // Matter.Body.setStatic(this.body, false); + } + // update the opening/closing tweening if (this.tween) { this.tween.update(); @@ -1526,7 +1534,6 @@ export default { this.paper_main_object.position = this.pos = this.body.position; - // this.draw() this.handlePaperVisibility() }, }, diff --git a/src/components/contents/PuissanceAgir.vue b/src/components/contents/PuissanceAgir.vue index ba6bffb..793fa3f 100644 --- a/src/components/contents/PuissanceAgir.vue +++ b/src/components/contents/PuissanceAgir.vue @@ -5,28 +5,62 @@ import { ConcernementsStore } from '@stores/concernements' import { UserStore } from '@/stores/user' import { CommonStore } from '@/stores/common' +import CartoucheLayout from '@components/layout/CartoucheLayout.vue'; + +import SvgIcon from '@jamescoyle/vue-icon'; +import { mdiChevronRight } from '@mdi/js'; +import { mdiChevronDown } from '@mdi/js'; +import { mdiPencilPlus } from '@mdi/js'; +import { mdiPencilPlusOutline } from '@mdi/js'; + + export default { props: ['id'], data(){ return { - + opened_besoin_id: null, + chevronright_path: mdiChevronRight, + chevrondown_path: mdiChevronDown, + pencilplus_path: mdiPencilPlus, + pencilplusoutline_path: mdiPencilPlusOutline } }, computed: { + ...mapState(UserStore,['isloggedin']), ...mapState(ConcernementsStore,['opened_concernement']), ...mapState(ConcernementsStore,['ct_concernement']), ...mapState(ConcernementsStore,['ct_entite']), }, created () { console.log(`puissance d'agir content created, id: ${this.id}, opened_concernement:`,this.opened_concernement); + }, + methods: { + onClickBesoin(id){ + console.log("onClickBesoin", id); + this.opened_besoin_id = id === this.opened_besoin_id ? null : id; + }, + besoinClass(id){ + return this.opened_besoin_id === id ? "opened" : ""; + } + }, + components: { + CartoucheLayout, + SvgIcon } } \ No newline at end of file diff --git a/src/views/Concernement.vue b/src/views/Concernement.vue index 0502bf8..579251f 100644 --- a/src/views/Concernement.vue +++ b/src/views/Concernement.vue @@ -2,7 +2,6 @@ import { mapActions, mapState } from 'pinia' import { ConcernementsStore } from '@stores/concernements' -import { UserStore } from '@/stores/user' import { CommonStore } from '@/stores/common' import { print } from 'graphql/language/printer' @@ -26,18 +25,17 @@ export default { } }, computed: { - ...mapState(UserStore,['isloggedin']), - ...mapState(ConcernementsStore,['map_mode']), - ...mapState(ConcernementsStore,['opened_concernement']), - // ...mapState(ConcernementsStore,['opened_entity_id']), - ...mapState(ConcernementsStore,['concernements_loaded']), - ...mapState(ConcernementsStore,['ct_concernement']), - ...mapState(ConcernementsStore,['ct_entite']), - ...mapState(ConcernementsStore,['ct_cercle_politique']), - ...mapState(ConcernementsStore,['p_groupes_interets']), - ...mapState(ConcernementsStore,['p_reception_et_traitement']), - ...mapState(ConcernementsStore,['p_mise_en_oeuvre_decision']), - ...mapState(ConcernementsStore,['p_reception_application_decision']), + ...mapState(ConcernementsStore,['map_mode', + 'opened_concernement', + // 'opened_entity_id', + 'concernements_loaded', + 'ct_concernement', + 'ct_entite', + 'ct_cercle_politique', + 'p_groupes_interets', + 'p_reception_et_traitement', + 'p_mise_en_oeuvre_decision', + 'p_reception_application_decision']), ...mapState(CommonStore,['hover_elmt']) }, created () { @@ -98,13 +96,6 @@ export default { .catch(error => { console.warn('Issue with load entite', error) }) - }, - onClickBesoin(id){ - console.log("onClickBesoin", id); - this.opened_besoin_id = id === this.opened_besoin_id ? null : id; - }, - besoinClass(id){ - return this.opened_besoin_id === id ? "opened" : ""; } }, components: {