diff --git a/src/api/gql/entite.fragment.gql b/src/api/gql/entite.fragment.gql index e3d668a..e1b4d00 100644 --- a/src/api/gql/entite.fragment.gql +++ b/src/api/gql/entite.fragment.gql @@ -9,12 +9,14 @@ fragment EntiteFields on Entite { image { alt url + id } sources { description images { alt url + id } liens { title diff --git a/src/components/contents/Entite.vue b/src/components/contents/Entite.vue index 937c433..14a49b4 100644 --- a/src/components/contents/Entite.vue +++ b/src/components/contents/Entite.vue @@ -82,7 +82,7 @@ export default { entitytype: 'node', bundle: 'entite', nid: this.entite.id, - field: 'field_action' + field: {field_name: 'field_action', value:'value'} }" v-on:updated="reloadEntite" /> @@ -98,7 +98,7 @@ export default { entitytype: 'node', bundle: 'entite', nid: this.entite.id, - field: 'field_menace_maintien' + field: {field_name: 'field_menace_maintien', value:'value'} }" v-on:updated="reloadEntite" /> diff --git a/src/components/contents/TerrainDeVie.vue b/src/components/contents/TerrainDeVie.vue index 709e818..01f1958 100644 --- a/src/components/contents/TerrainDeVie.vue +++ b/src/components/contents/TerrainDeVie.vue @@ -248,7 +248,7 @@ export default { entitytype: 'node', bundle: 'entite', nid: this.entite.id, - field: 'title' + field: {field_name: 'title', value:'value'} }" /> @@ -313,7 +313,7 @@ export default { entitytype: 'node', bundle: 'concernement', nid: this.concernement.id, - field: 'field_caillou' + field: {field_name: 'field_caillou', value:'value'} }" /> diff --git a/src/components/editable/ContentEditable.vue b/src/components/editable/ContentEditable.vue index 57dca67..c116ecc 100644 --- a/src/components/editable/ContentEditable.vue +++ b/src/components/editable/ContentEditable.vue @@ -50,12 +50,21 @@ export default { const params = { type: this.data.bundle, nid: [{"value":this.data.nid}], - [this.data.field]: {value: content} + [this.data.field.field_name]: [{[this.data.field.value]: content}] }; + // we need additional values for image alt for example + // console.log('additional_values', this.data.field.additional_values); + if (this.data.field.additional_values) { + for (const key in this.data.field.additional_values) { + if (Object.hasOwnProperty.call(this.data.field.additional_values, key)) { + params[this.data.field.field_name][0][key] = this.data.field.additional_values[key] + } + } + } const configs = { headers: {'X-CSRF-Token': this.csrf_token} }; - REST.patch(`/node/${this.data.nid}?_format=json`, params, configs) + REST.patch(`/${this.data.entitytype}/${this.data.nid}?_format=json`, params, configs) .then(({ data }) => { console.log('user REST post node data', data) // TODO if success update the data in pinia diff --git a/src/components/editable/ImageEditable.vue b/src/components/editable/ImageEditable.vue index c29a3f5..2ca7ddd 100644 --- a/src/components/editable/ImageEditable.vue +++ b/src/components/editable/ImageEditable.vue @@ -7,6 +7,8 @@ import { mapActions, mapState } from 'pinia' import { ConcernementsStore } from '@stores/concernements' import { UserStore } from '@stores/user' +import ContentEditable from '@components/editable/ContentEditable.vue'; + import SvgIcon from '@jamescoyle/vue-icon'; import { mdiTrashCanOutline } from '@mdi/js'; import { mdiImagePlus } from '@mdi/js'; @@ -112,6 +114,7 @@ export default { }, components: { SvgIcon, + ContentEditable } } @@ -122,7 +125,23 @@ export default {