admin front: puiisance dagir: updating besoin reponse is updating mapItem display
This commit is contained in:
		@@ -75,6 +75,7 @@ fragment ConcernementFields on Concernement {
 | 
			
		||||
    index
 | 
			
		||||
    confidentialite
 | 
			
		||||
    reponses {
 | 
			
		||||
      can_update
 | 
			
		||||
      author
 | 
			
		||||
      avec
 | 
			
		||||
      id
 | 
			
		||||
 
 | 
			
		||||
@@ -295,6 +295,16 @@ export default {
 | 
			
		||||
      },
 | 
			
		||||
      deep: true
 | 
			
		||||
    },
 | 
			
		||||
    'concernement.besoins': {
 | 
			
		||||
      handler (n, o){
 | 
			
		||||
        console.log(`ConcernementMapItem ${this.id} watch concernement.besoins o, n`, o, n);
 | 
			
		||||
        if (this.is_open && this.map_mode === "puissancedagir") {
 | 
			
		||||
          // this.resetPaperBesoinReponsePos();
 | 
			
		||||
          this.setPaperPuissanceagirBesoins(true); // true for update=true
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      deep: true
 | 
			
		||||
    },
 | 
			
		||||
    'concernement.besoins.length': {
 | 
			
		||||
      handler (n, o){
 | 
			
		||||
        console.log(`ConcernementMapItem ${this.id} watch concernement.besoins.length o, n`, o, n);
 | 
			
		||||
@@ -1475,12 +1485,24 @@ export default {
 | 
			
		||||
    //   }
 | 
			
		||||
    //   return g;
 | 
			
		||||
    // },
 | 
			
		||||
    setPaperPuissanceagirBesoins(){
 | 
			
		||||
      console.log(`setPaperPuissanceagirBesoins cid:${this.concernement.id}`);
 | 
			
		||||
      let g = new paper.Group({
 | 
			
		||||
        pivot: new paper.Point(this.pos),
 | 
			
		||||
        name: 'puissanceagir_besoins'
 | 
			
		||||
      });
 | 
			
		||||
    setPaperPuissanceagirBesoins(update){
 | 
			
		||||
      console.log(`setPaperPuissanceagirBesoins cid:${this.concernement.id}, update: ${update}`);
 | 
			
		||||
      let g;
 | 
			
		||||
      if (update) {
 | 
			
		||||
        g = this.paper_main_object.children['puissanceagir_besoins'];
 | 
			
		||||
        console.log('REUSING puissanceagir_besoins group', g);
 | 
			
		||||
      } else{
 | 
			
		||||
        console.log('CREATING puissanceagir_besoins group');
 | 
			
		||||
        g = new paper.Group({
 | 
			
		||||
          pivot: new paper.Point(this.pos),
 | 
			
		||||
          name: 'puissanceagir_besoins'
 | 
			
		||||
        });
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (!g) {
 | 
			
		||||
        console.warn('no puissanceagir_besoins group created nor found')
 | 
			
		||||
        return;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      let res_fields = ['qui','quoi','ou','avec'];
 | 
			
		||||
      let arc = (360 / 16);               // unit arc
 | 
			
		||||
@@ -1494,17 +1516,31 @@ export default {
 | 
			
		||||
        let y = Math.sin(center_a*(Math.PI/180)) * br;
 | 
			
		||||
 | 
			
		||||
        // use paper symbol
 | 
			
		||||
        let besoin = new paper.SymbolItem(this.paper_symbol_definitions['besoin']);
 | 
			
		||||
        besoin.position = new paper.Point([this.pos.x + x, this.pos.y + y]);
 | 
			
		||||
        besoin.scale(this.scale);
 | 
			
		||||
        besoin.item_id = this.concernement.besoins[i].id;
 | 
			
		||||
        besoin.item_cid = this.concernement.id;
 | 
			
		||||
        besoin.item_type = 'besoin';
 | 
			
		||||
        besoin.is_symbol_instance = true;
 | 
			
		||||
        let paper_besoin;
 | 
			
		||||
        if (update) {
 | 
			
		||||
          paper_besoin = this.paper_main_object.getItem({id: this.concernement.besoins[i].paper_id});
 | 
			
		||||
          // console.log('REUSING besoin paper item', paper_besoin);
 | 
			
		||||
        } else{
 | 
			
		||||
          // console.log('CREATING besoin paper item');
 | 
			
		||||
          paper_besoin = new paper.SymbolItem(this.paper_symbol_definitions['besoin']);
 | 
			
		||||
          paper_besoin.scale(this.scale);
 | 
			
		||||
          paper_besoin.item_id = this.concernement.besoins[i].id;
 | 
			
		||||
          paper_besoin.item_cid = this.concernement.id;
 | 
			
		||||
          paper_besoin.item_type = 'besoin';
 | 
			
		||||
          paper_besoin.is_symbol_instance = true;
 | 
			
		||||
          g.addChild(paper_besoin)
 | 
			
		||||
          // this is retriggering watch concernement and watch concernement.besoins
 | 
			
		||||
          this.setBesoinPaperId(paper_besoin.id, this.cid, this.concernement.besoins[i].id);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        console.log(`paper paper_besoin id:${paper_besoin.id}`);
 | 
			
		||||
        
 | 
			
		||||
        if (!paper_besoin) {
 | 
			
		||||
          console.warn('no paper_besoin item created nor found')
 | 
			
		||||
          return;
 | 
			
		||||
        }
 | 
			
		||||
        paper_besoin.position = new paper.Point([this.pos.x + x, this.pos.y + y]);
 | 
			
		||||
 | 
			
		||||
        console.log(`paper besoin id:${besoin.id}`);
 | 
			
		||||
        this.setBesoinPaperId(besoin.id, this.cid, this.concernement.besoins[i].id);
 | 
			
		||||
        g.addChild(besoin)
 | 
			
		||||
 | 
			
		||||
        let res_arc = arc / (1 + this.concernement.besoins[i].reponses.length); // unit arc for responses depending responses number
 | 
			
		||||
        for (let j = 0; j < this.concernement.besoins[i].reponses.length; j++) {
 | 
			
		||||
@@ -1518,16 +1554,31 @@ export default {
 | 
			
		||||
              let ry = Math.sin(res_a*(Math.PI/180)) * rr;
 | 
			
		||||
 | 
			
		||||
              // use paper symbol
 | 
			
		||||
              let reponse = new paper.SymbolItem(this.paper_symbol_definitions['reponse']);
 | 
			
		||||
              reponse.position = new paper.Point([this.pos.x + rx, this.pos.y + ry]);
 | 
			
		||||
              reponse.scale(this.scale);
 | 
			
		||||
              reponse.item_id = this.concernement.besoins[i].reponses[j].id;
 | 
			
		||||
              reponse.item_bid = this.concernement.besoins[i].id;
 | 
			
		||||
              reponse.item_cid = this.concernement.id;
 | 
			
		||||
              reponse.item_type = 'reponse';
 | 
			
		||||
              reponse.is_symbol_instance = true;
 | 
			
		||||
              this.setBesoinPaperId(reponse.id, this.cid, this.concernement.besoins[i].id, this.concernement.besoins[i].reponses[j].id);
 | 
			
		||||
              g.addChild(reponse)
 | 
			
		||||
              let paper_reponse;
 | 
			
		||||
              let paper_reponse_id = this.concernement.besoins[i].reponses[j].paper_id;
 | 
			
		||||
              if (update && paper_reponse_id) {
 | 
			
		||||
                // console.log('paper_reponse_id', paper_reponse_id);
 | 
			
		||||
                paper_reponse = this.paper_main_object.getItem({id: paper_reponse_id});
 | 
			
		||||
                // console.log('REUSING reponse paper item', paper_reponse);
 | 
			
		||||
              } else {
 | 
			
		||||
                // console.log('CREATING reponse paper item', paper_reponse_id, this.concernement.besoins[i]);
 | 
			
		||||
                // debugger;
 | 
			
		||||
                paper_reponse = new paper.SymbolItem(this.paper_symbol_definitions['reponse']);
 | 
			
		||||
                paper_reponse.scale(this.scale);
 | 
			
		||||
                paper_reponse.item_id = this.concernement.besoins[i].reponses[j].id;
 | 
			
		||||
                paper_reponse.item_bid = this.concernement.besoins[i].id;
 | 
			
		||||
                paper_reponse.item_cid = this.concernement.id;
 | 
			
		||||
                paper_reponse.item_type = 'reponse';
 | 
			
		||||
                paper_reponse.is_symbol_instance = true;
 | 
			
		||||
                this.setBesoinPaperId(paper_reponse.id, this.cid, this.concernement.besoins[i].id, this.concernement.besoins[i].reponses[j].id);
 | 
			
		||||
                g.addChild(paper_reponse);
 | 
			
		||||
              }
 | 
			
		||||
 | 
			
		||||
              if (!paper_reponse) {
 | 
			
		||||
                console.warn('no paper_reponse item created nor found')
 | 
			
		||||
                return;
 | 
			
		||||
              }
 | 
			
		||||
              paper_reponse.position = new paper.Point([this.pos.x + rx, this.pos.y + ry]);
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
@@ -1535,6 +1586,37 @@ export default {
 | 
			
		||||
 | 
			
		||||
      return g;
 | 
			
		||||
    },
 | 
			
		||||
    // resetPaperBesoinReponsePos(){
 | 
			
		||||
    //   console.log(`resetPaperBesoinReponsePos cid:${this.concernement.id}`);
 | 
			
		||||
    //   let res_fields = ['qui','quoi','ou','avec'];
 | 
			
		||||
    //   let arc = (360 / 16);               // unit arc
 | 
			
		||||
    //   let r = (this.ray * this.scale)/5;  // unit ray
 | 
			
		||||
 | 
			
		||||
    //   for (let i = 0; i < this.concernement.besoins.length; i++) {
 | 
			
		||||
    //     let start_a = arc * i;
 | 
			
		||||
    //     let res_arc = arc / (1 + this.concernement.besoins[i].reponses.length); // unit arc for responses depending responses number
 | 
			
		||||
 | 
			
		||||
    //     for (let j = 0; j < this.concernement.besoins[i].reponses.length; j++) {
 | 
			
		||||
    //       let res_a = start_a + res_arc * (j+1); // angle for response line
 | 
			
		||||
        
 | 
			
		||||
    //       for (let f = 0; f < res_fields.length; f++) { // loop through all 4 fields, keep only the last one filled
 | 
			
		||||
        
 | 
			
		||||
    //         if( this.concernement.besoins[i].reponses[j][res_fields[f]] // if field filled
 | 
			
		||||
    //           && (f === res_fields.length -1 || !this.concernement.besoins[i].reponses[j][res_fields[f+1]]) // and is last field or last field filled
 | 
			
		||||
    //           ){
 | 
			
		||||
    //             let rr = this.ray * this.scale - r*f - r/2; // reponse field ray
 | 
			
		||||
    //             let rx = Math.cos(res_a*(Math.PI/180)) * rr;
 | 
			
		||||
    //             let ry = Math.sin(res_a*(Math.PI/180)) * rr;
 | 
			
		||||
    //             let paper_id = this.concernement.besoins[i].reponses[j].paper_id;
 | 
			
		||||
    //             console.log('paper_id', paper_id);
 | 
			
		||||
    //             let paper_reponse = this.paper_main_object.getItem({id: paper_id});
 | 
			
		||||
    //             console.log('paper_reponse', paper_reponse);
 | 
			
		||||
    //             paper_reponse.position = new paper.Point([this.pos.x + rx, this.pos.y + ry]);
 | 
			
		||||
    //           }
 | 
			
		||||
    //       }
 | 
			
		||||
    //     }
 | 
			
		||||
    //   }
 | 
			
		||||
    // },
 | 
			
		||||
    setPaperDoleances(){
 | 
			
		||||
      let g = new paper.Group({
 | 
			
		||||
        pivot: new paper.Point({x:0,y:0}),
 | 
			
		||||
 
 | 
			
		||||
@@ -336,24 +336,86 @@ export default {
 | 
			
		||||
                :path="hover_elmt && hover_elmt.type === 'reponse' && hover_elmt.id === reponse.id ? rhombus_path : rhombusoutline_path"
 | 
			
		||||
                 />
 | 
			
		||||
                Ressource</label>
 | 
			
		||||
              <section v-if="reponse.qui">
 | 
			
		||||
              <section v-if="reponse.qui || reponse.can_update">
 | 
			
		||||
                <label for="reponse-qui">Qui</label>
 | 
			
		||||
                <p name="reponse-qui" v-html="reponse.qui" />
 | 
			
		||||
                <!-- <p name="reponse-qui" v-html="reponse.qui" /> -->
 | 
			
		||||
                <ContentEditable 
 | 
			
		||||
                  tag="p"
 | 
			
		||||
                  :value="reponse.qui"
 | 
			
		||||
                  :html="true"
 | 
			
		||||
                  :contenteditable="reponse.can_update"
 | 
			
		||||
                  placeholder="Ajouter un élement de réponse."
 | 
			
		||||
                  :data="{
 | 
			
		||||
                    entitytype: 'node',
 | 
			
		||||
                    bundle: 'reponse',
 | 
			
		||||
                    id: reponse.id,
 | 
			
		||||
                    field: {field_name: 'field_qui', value:'value'}
 | 
			
		||||
                  }"
 | 
			
		||||
                  v-on:updated="reloadBesoins" />
 | 
			
		||||
              </section>
 | 
			
		||||
              <section v-if="reponse.quoi">
 | 
			
		||||
              <section v-if="reponse.quoi || reponse.can_update">
 | 
			
		||||
                <label for="reponse-quoi">Quoi</label>
 | 
			
		||||
                <p name="reponse-quoi" v-html="reponse.quoi" />
 | 
			
		||||
                <!-- <p name="reponse-quoi" v-html="reponse.quoi" /> -->
 | 
			
		||||
                <ContentEditable 
 | 
			
		||||
                  tag="p"
 | 
			
		||||
                  :value="reponse.quoi"
 | 
			
		||||
                  :html="true"
 | 
			
		||||
                  :contenteditable="reponse.can_update"
 | 
			
		||||
                  placeholder="Ajouter un élement de réponse."
 | 
			
		||||
                  :data="{
 | 
			
		||||
                    entitytype: 'node',
 | 
			
		||||
                    bundle: 'reponse',
 | 
			
		||||
                    id: reponse.id,
 | 
			
		||||
                    field: {field_name: 'field_quoi', value:'value'}
 | 
			
		||||
                  }"
 | 
			
		||||
                  v-on:updated="reloadBesoins" />
 | 
			
		||||
              </section>    
 | 
			
		||||
              <section v-if="reponse.ou">
 | 
			
		||||
              <section v-if="reponse.ou || reponse.can_update">
 | 
			
		||||
                <label for="reponse-ou">Où</label>
 | 
			
		||||
                <p name="reponse-ou" v-html="reponse.ou" />
 | 
			
		||||
                <!-- <p name="reponse-ou" v-html="reponse.ou" /> -->
 | 
			
		||||
                <ContentEditable 
 | 
			
		||||
                  tag="p"
 | 
			
		||||
                  :value="reponse.ou"
 | 
			
		||||
                  :html="true"
 | 
			
		||||
                  :contenteditable="reponse.can_update"
 | 
			
		||||
                  placeholder="Ajouter un élement de réponse."
 | 
			
		||||
                  :data="{
 | 
			
		||||
                    entitytype: 'node',
 | 
			
		||||
                    bundle: 'reponse',
 | 
			
		||||
                    id: reponse.id,
 | 
			
		||||
                    field: {field_name: 'field_ou', value:'value'}
 | 
			
		||||
                  }"
 | 
			
		||||
                  v-on:updated="reloadBesoins" />
 | 
			
		||||
              </section>    
 | 
			
		||||
              <section v-if="reponse.avec">
 | 
			
		||||
              <section v-if="reponse.avec || reponse.can_update">
 | 
			
		||||
                <label for="reponse-avec">Avec</label>
 | 
			
		||||
                <p name="reponse-avec" v-html="reponse.avec" />
 | 
			
		||||
                <!-- <p name="reponse-avec" v-html="reponse.avec" /> -->
 | 
			
		||||
                <ContentEditable 
 | 
			
		||||
                  tag="p"
 | 
			
		||||
                  :value="reponse.avec"
 | 
			
		||||
                  :html="true"
 | 
			
		||||
                  :contenteditable="reponse.can_update"
 | 
			
		||||
                  placeholder="Ajouter un élement de réponse."
 | 
			
		||||
                  :data="{
 | 
			
		||||
                    entitytype: 'node',
 | 
			
		||||
                    bundle: 'reponse',
 | 
			
		||||
                    id: reponse.id,
 | 
			
		||||
                    field: {field_name: 'field_avec', value:'value'}
 | 
			
		||||
                  }"
 | 
			
		||||
                  v-on:updated="reloadBesoins" />
 | 
			
		||||
              </section>    
 | 
			
		||||
            </li>      
 | 
			
		||||
          
 | 
			
		||||
            <li>
 | 
			
		||||
              <template v-if="isloggedin && !opened_concernement.can_update">
 | 
			
		||||
              <div v-if="!reloading_concernements" @click="addRessource(besoin.id)" class="add-ressource-btn">
 | 
			
		||||
                <span>Proposer une ressource</span>
 | 
			
		||||
                <svg-icon type="mdi" :path="mdiStickerPlusOutline_path"/>
 | 
			
		||||
              </div>
 | 
			
		||||
              <div v-else class="add-ressource-btn">
 | 
			
		||||
                <div class="loading">Chargement</div>
 | 
			
		||||
              </div>
 | 
			
		||||
            </template>
 | 
			
		||||
            </li>
 | 
			
		||||
          </ul>
 | 
			
		||||
          <!-- <a 
 | 
			
		||||
              v-if="isloggedin && !opened_concernement.can_update"
 | 
			
		||||
@@ -363,15 +425,7 @@ export default {
 | 
			
		||||
              class="contribute-link mdi mdi-pencil-plus">
 | 
			
		||||
                <svg-icon type="mdi" :path="pencilplusoutline_path" /> contribuer à ce besoin
 | 
			
		||||
            </a> -->
 | 
			
		||||
            <template v-if="isloggedin && !opened_concernement.can_update">
 | 
			
		||||
              <div v-if="!reloading_concernements" @click="addRessource(besoin.id)" class="add-ressource-btn">
 | 
			
		||||
                <span>Proposer une ressource</span>
 | 
			
		||||
                <svg-icon type="mdi" :path="mdiStickerPlusOutline_path"/>
 | 
			
		||||
              </div>
 | 
			
		||||
              <div v-else class="add-ressource-btn">
 | 
			
		||||
                <div class="loading">Chargement</div>
 | 
			
		||||
              </div>
 | 
			
		||||
            </template>
 | 
			
		||||
            
 | 
			
		||||
      
 | 
			
		||||
        </li>
 | 
			
		||||
      </ul>
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,11 @@ export default {
 | 
			
		||||
      type : [Boolean, String],
 | 
			
		||||
      default : false,
 | 
			
		||||
    }, 
 | 
			
		||||
    data: Object
 | 
			
		||||
    data: Object,
 | 
			
		||||
    placeholder : {
 | 
			
		||||
      type : String,
 | 
			
		||||
      default : 'Ajouter du texte'
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  emits: ['updated'],
 | 
			
		||||
  data(){
 | 
			
		||||
@@ -46,11 +50,11 @@ export default {
 | 
			
		||||
          buttons: ['anchor'],
 | 
			
		||||
        },
 | 
			
		||||
        placeholder: {
 | 
			
		||||
        /* This example includes the default options for placeholder,
 | 
			
		||||
           if nothing is passed this is what it used */
 | 
			
		||||
        text: 'Ajouter du text',
 | 
			
		||||
        hideOnClick: true
 | 
			
		||||
    }
 | 
			
		||||
          /* This example includes the default options for placeholder,
 | 
			
		||||
            if nothing is passed this is what it used */
 | 
			
		||||
          text: this.placeholder,
 | 
			
		||||
          hideOnClick: true
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
@@ -62,6 +66,7 @@ export default {
 | 
			
		||||
      console.log('onContentEditableFocusOut', e);
 | 
			
		||||
      // console.log('onContentEditableFocusOut data', this.data);
 | 
			
		||||
      let new_field_content = this.html ? e.target.innerHTML : e.target.innerText;
 | 
			
		||||
      new_field_content = new_field_content.replace(/<br>$/g, '');
 | 
			
		||||
      // console.log('onContentEditableFocusOut', new_field_content);
 | 
			
		||||
      this.$emit('focusout');
 | 
			
		||||
      if (this.data) {
 | 
			
		||||
 
 | 
			
		||||
@@ -17,6 +17,8 @@ import ConcernementFields from '@api/gql/concernement.fragment.gql'
 | 
			
		||||
// import EntityFields from '@api/gql/entitydef.fragment.gql'
 | 
			
		||||
 | 
			
		||||
import _assign from 'lodash/assign';
 | 
			
		||||
import _assignIn from 'lodash/assignIn';
 | 
			
		||||
import _merge from 'lodash/merge';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
export const ConcernementsStore = defineStore({
 | 
			
		||||
@@ -433,6 +435,7 @@ export const ConcernementsStore = defineStore({
 | 
			
		||||
                ou
 | 
			
		||||
                qui
 | 
			
		||||
                quoi
 | 
			
		||||
                can_update
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
@@ -442,14 +445,24 @@ export const ConcernementsStore = defineStore({
 | 
			
		||||
        .then(({ data : { data  : { concernement } } }) => {
 | 
			
		||||
          console.log(`reloadConcernementBesoins loaded len: ${concernement.besoins.length}`, concernement)
 | 
			
		||||
          let tmp_conc = this.concernementsByID[concernement.id];
 | 
			
		||||
          // tmp_conc.besoins.forEach(besoin => {
 | 
			
		||||
          //   besoin.reponses.forEach(reponse => {
 | 
			
		||||
          //     console.log(`BEFORE _merge besoin id:${besoin.id} reponse id:${reponse.id}, paper_id:${reponse.paper_id}`);
 | 
			
		||||
          //   });
 | 
			
		||||
          // });
 | 
			
		||||
          // merge old concernement besoins with new once
 | 
			
		||||
          _assign(tmp_conc.besoins, concernement.besoins);
 | 
			
		||||
          _merge(tmp_conc.besoins, concernement.besoins);
 | 
			
		||||
          // tmp_conc.besoins.forEach(besoin => {
 | 
			
		||||
          //   besoin.reponses.forEach(reponse => {
 | 
			
		||||
          //     console.log(`AFTER _merge besoin id:${besoin.id} reponse id:${reponse.id}, paper_id:${reponse.paper_id}`);
 | 
			
		||||
          //   });
 | 
			
		||||
          // });
 | 
			
		||||
          tmp_conc.has_puissancedagir = tmp_conc.besoins.length ? true : false;
 | 
			
		||||
          // records and/or merge into general object
 | 
			
		||||
          tmp_conc.besoins.forEach(besoin => {
 | 
			
		||||
            besoin.cid = tmp_conc.id;
 | 
			
		||||
            if (this.allBesoinsById[besoin.id]) {
 | 
			
		||||
              _assign(this.allBesoinsById[besoin.id], besoin);
 | 
			
		||||
              _merge(this.allBesoinsById[besoin.id], besoin);
 | 
			
		||||
            }else{
 | 
			
		||||
              this.allBesoinsById[besoin.id] = besoin;
 | 
			
		||||
            }
 | 
			
		||||
@@ -659,6 +672,7 @@ export const ConcernementsStore = defineStore({
 | 
			
		||||
      this.opened_entite_id = id;
 | 
			
		||||
    },
 | 
			
		||||
    setBesoinPaperId(paper_id, cid, bid, rid){
 | 
			
		||||
      console.log(`setBesoinPaperId paper_id: ${paper_id}, cid: ${cid}, bid: ${bid}, rid: ${rid}`);
 | 
			
		||||
          this.concernementsByID[cid].besoins.forEach((b,j) => {
 | 
			
		||||
            if(b.id === bid) {
 | 
			
		||||
              if (!rid) {
 | 
			
		||||
@@ -667,6 +681,7 @@ export const ConcernementsStore = defineStore({
 | 
			
		||||
                this.concernementsByID[cid].besoins[j].reponses.forEach((r,k) => {
 | 
			
		||||
                  if (r.id === rid) {
 | 
			
		||||
                    this.concernementsByID[cid].besoins[j].reponses[k].paper_id = paper_id;
 | 
			
		||||
                    console.log(`this.concernementsByID[${cid}].besoins[${j}].reponses[${k}].paper_id`, this.concernementsByID[cid].besoins[j].reponses[k].paper_id);
 | 
			
		||||
                  }
 | 
			
		||||
                })
 | 
			
		||||
              }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user