fixed puissance d'agir cartouch display
This commit is contained in:
parent
576cdc0445
commit
04eb79af8b
@ -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{
|
>footer{
|
||||||
section.infos{
|
section.infos{
|
||||||
@ -258,68 +334,7 @@ body{
|
|||||||
list-style: none;
|
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{
|
section.content-doleances{
|
||||||
|
|
||||||
|
|
||||||
|
@ -1198,6 +1198,14 @@ export default {
|
|||||||
},
|
},
|
||||||
// ENGINE UPDATE
|
// ENGINE UPDATE
|
||||||
onBeforeEngineUpdate (event) {
|
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
|
// update the opening/closing tweening
|
||||||
if (this.tween) {
|
if (this.tween) {
|
||||||
this.tween.update();
|
this.tween.update();
|
||||||
@ -1526,7 +1534,6 @@ export default {
|
|||||||
|
|
||||||
this.paper_main_object.position = this.pos = this.body.position;
|
this.paper_main_object.position = this.pos = this.body.position;
|
||||||
|
|
||||||
// this.draw()
|
|
||||||
this.handlePaperVisibility()
|
this.handlePaperVisibility()
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -5,28 +5,62 @@ import { ConcernementsStore } from '@stores/concernements'
|
|||||||
import { UserStore } from '@/stores/user'
|
import { UserStore } from '@/stores/user'
|
||||||
import { CommonStore } from '@/stores/common'
|
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 {
|
export default {
|
||||||
props: ['id'],
|
props: ['id'],
|
||||||
data(){
|
data(){
|
||||||
return {
|
return {
|
||||||
|
opened_besoin_id: null,
|
||||||
|
chevronright_path: mdiChevronRight,
|
||||||
|
chevrondown_path: mdiChevronDown,
|
||||||
|
pencilplus_path: mdiPencilPlus,
|
||||||
|
pencilplusoutline_path: mdiPencilPlusOutline
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
...mapState(UserStore,['isloggedin']),
|
||||||
...mapState(ConcernementsStore,['opened_concernement']),
|
...mapState(ConcernementsStore,['opened_concernement']),
|
||||||
...mapState(ConcernementsStore,['ct_concernement']),
|
...mapState(ConcernementsStore,['ct_concernement']),
|
||||||
...mapState(ConcernementsStore,['ct_entite']),
|
...mapState(ConcernementsStore,['ct_entite']),
|
||||||
},
|
},
|
||||||
created () {
|
created () {
|
||||||
console.log(`puissance d'agir content created, id: ${this.id}, opened_concernement:`,this.opened_concernement);
|
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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<section
|
<CartoucheLayout>
|
||||||
class="content-besoins">
|
<template v-slot:header>
|
||||||
|
<div class="pre-header">
|
||||||
|
<!-- concernement -->
|
||||||
|
<label>{{ ct_concernement.title.description }}</label>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<template v-slot:main>
|
||||||
<ul class="besoins">
|
<ul class="besoins">
|
||||||
<li
|
<li
|
||||||
v-for="besoin in opened_concernement.besoins"
|
v-for="besoin in opened_concernement.besoins"
|
||||||
@ -35,11 +69,12 @@ export default {
|
|||||||
:id="besoin.id"
|
:id="besoin.id"
|
||||||
:class="besoinClass(besoin.id)"
|
:class="besoinClass(besoin.id)"
|
||||||
>
|
>
|
||||||
<span
|
<svg-icon
|
||||||
class="open-btn mdi"
|
type="mdi"
|
||||||
:class="{ 'mdi-chevron-right': besoin.id !== opened_besoin_id, 'mdi-chevron-down': besoin.id === opened_besoin_id } "
|
:path="besoin.id !== opened_besoin_id ? chevronright_path : chevrondown_path"
|
||||||
|
class="open-btn"
|
||||||
@click="onClickBesoin(besoin.id)"
|
@click="onClickBesoin(besoin.id)"
|
||||||
/>
|
></svg-icon>
|
||||||
<header>
|
<header>
|
||||||
<label
|
<label
|
||||||
class="mdi mdi-rhombus"
|
class="mdi mdi-rhombus"
|
||||||
@ -49,14 +84,6 @@ export default {
|
|||||||
Besoin de l'enqueteur
|
Besoin de l'enqueteur
|
||||||
</label>
|
</label>
|
||||||
<h4 class="besoin-description" v-html="besoin.description"/>
|
<h4 class="besoin-description" v-html="besoin.description"/>
|
||||||
<a
|
|
||||||
v-if="isloggedin"
|
|
||||||
:href="'/api/node/add/reponse?besoin_id='+besoin.id"
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener noreferrer"
|
|
||||||
class="contribute-link mdi mdi-pencil-plus">
|
|
||||||
contribuer à ce besoin
|
|
||||||
</a>
|
|
||||||
</header>
|
</header>
|
||||||
<ul class="reponses">
|
<ul class="reponses">
|
||||||
<li
|
<li
|
||||||
@ -84,7 +111,22 @@ export default {
|
|||||||
</section>
|
</section>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<a
|
||||||
|
v-if="isloggedin"
|
||||||
|
:href="'/api/node/add/reponse?besoin_id='+besoin.id"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
class="contribute-link mdi mdi-pencil-plus">
|
||||||
|
<svg-icon type="mdi" :path="pencilplusoutline_path" /> contribuer à ce besoin
|
||||||
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</template>
|
||||||
|
|
||||||
|
<template v-slot:footer>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
|
||||||
|
</CartoucheLayout>
|
||||||
|
|
||||||
</template>
|
</template>
|
@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
import { mapActions, mapState } from 'pinia'
|
import { mapActions, mapState } from 'pinia'
|
||||||
import { ConcernementsStore } from '@stores/concernements'
|
import { ConcernementsStore } from '@stores/concernements'
|
||||||
import { UserStore } from '@/stores/user'
|
|
||||||
import { CommonStore } from '@/stores/common'
|
import { CommonStore } from '@/stores/common'
|
||||||
|
|
||||||
import { print } from 'graphql/language/printer'
|
import { print } from 'graphql/language/printer'
|
||||||
@ -26,18 +25,17 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapState(UserStore,['isloggedin']),
|
...mapState(ConcernementsStore,['map_mode',
|
||||||
...mapState(ConcernementsStore,['map_mode']),
|
'opened_concernement',
|
||||||
...mapState(ConcernementsStore,['opened_concernement']),
|
// 'opened_entity_id',
|
||||||
// ...mapState(ConcernementsStore,['opened_entity_id']),
|
'concernements_loaded',
|
||||||
...mapState(ConcernementsStore,['concernements_loaded']),
|
'ct_concernement',
|
||||||
...mapState(ConcernementsStore,['ct_concernement']),
|
'ct_entite',
|
||||||
...mapState(ConcernementsStore,['ct_entite']),
|
'ct_cercle_politique',
|
||||||
...mapState(ConcernementsStore,['ct_cercle_politique']),
|
'p_groupes_interets',
|
||||||
...mapState(ConcernementsStore,['p_groupes_interets']),
|
'p_reception_et_traitement',
|
||||||
...mapState(ConcernementsStore,['p_reception_et_traitement']),
|
'p_mise_en_oeuvre_decision',
|
||||||
...mapState(ConcernementsStore,['p_mise_en_oeuvre_decision']),
|
'p_reception_application_decision']),
|
||||||
...mapState(ConcernementsStore,['p_reception_application_decision']),
|
|
||||||
...mapState(CommonStore,['hover_elmt'])
|
...mapState(CommonStore,['hover_elmt'])
|
||||||
},
|
},
|
||||||
created () {
|
created () {
|
||||||
@ -98,13 +96,6 @@ export default {
|
|||||||
.catch(error => {
|
.catch(error => {
|
||||||
console.warn('Issue with load entite', 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: {
|
components: {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user