| 
					
				 | 
			
			
				@@ -12,17 +12,22 @@ import ContentEditable from '@components/editable/ContentEditable.vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import CheckboxEditable from '@components/editable/CheckboxEditable.vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import ImageEditable from '@components/editable/ImageEditable.vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import SvgIcon from '@jamescoyle/vue-icon'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { mdiTextBoxPlusOutline } from '@mdi/js'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   props: ['concernement', 'entite', 'eid'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   emits: ['reloadEntite'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   data() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      mdiTextBoxPlusOutline_path: mdiTextBoxPlusOutline, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   computed: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ...mapState(ConcernementsStore,['opened_concernement', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     'ct_concernement', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     'ct_entite']), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ...mapState(UserStore,['csrf_token']), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     field_menace_maintien_label (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       let str; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (this.concernement.entites_byid[this.eid].menacemaintien < 0) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -36,6 +41,55 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     reloadEntite(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.$emit('reloadEntite'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addSource(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      console.log('add source'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const params_parag = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        type: [{target_id: 'source'}], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        parent_type:{value: 'node'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        parent_id:{value: this.entite.id}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        parent_field_name:{value: 'field_sources'} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const configs = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        headers: {'X-CSRF-Token': this.csrf_token} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // call the api 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // https://www.drupal.org/project/paragraphs/issues/3012600 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      REST.post(`/entity/paragraph?_format=json`, params_parag, configs) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .then(({ data }) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          console.log('REST post new source parag', data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const params_node = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              type: 'entite', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              nid: [{value: this.entite.id}], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              'field_sources': [{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                target_id: data.id[0].value, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                target_revision_id: data.revision_id[0].value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              }] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // call the api 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            REST.patch(`/node/${this.entite.id}?_format=json`, params_node, configs) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              .then(({ data }) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                console.log('REST patch entite new field_sources', data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.reloadEntite(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              .catch(error => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                console.warn(`Issue with patch node entite field_sources`, error) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Promise.reject(error) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .catch(error => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          console.warn(`Issue with post new paragraph source`, error) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          Promise.reject(error) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   components: { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -43,6 +97,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ContentEditable, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     CheckboxEditable, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ImageEditable, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    SvgIcon 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -109,6 +164,14 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         :source="source" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         v-on:reloadEntite="reloadEntite" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </section> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <section  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      v-else-if="entite.can_update" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      class="sources add"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div @click="addSource" class="add-source-btn"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <span>Ajouter une experience vécue</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <svg-icon type="mdi" :path="mdiTextBoxPlusOutline_path"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </section> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   </section> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |