diff --git a/pom.xml b/pom.xml index fa960ae23..c2d11dfe7 100644 --- a/pom.xml +++ b/pom.xml @@ -49,7 +49,7 @@ build:production osgi.extender;filter:="(osgi.extender=org.jahia.bundles.blueprint.extender.config)" MC0CFQCB6Tj/KAJ69o/12IxKX1yVVKkChwIUK3E0DtOtg4CPyj37SoctBH0yMFI= - app-shell=2.7,graphql-dxm-provider=2.19.1,jcontent=2.9 + app-shell=2.7,graphql-dxm-provider=2.22.0,jcontent=2.9 6.9 com.fasterxml.jackson.annotation;version="[2.10,3)", diff --git a/src/javascript/ContentEditor/updateNode/updateNode.gql-mutation.js b/src/javascript/ContentEditor/updateNode/updateNode.gql-mutation.js index e86832dab..ea2dd6f05 100644 --- a/src/javascript/ContentEditor/updateNode/updateNode.gql-mutation.js +++ b/src/javascript/ContentEditor/updateNode/updateNode.gql-mutation.js @@ -5,10 +5,9 @@ export const SavePropertiesMutation = gql` mutation saveNodeProperties( $uuid:String!, $propertiesToSave: [InputJCRProperty], - $propertiesToDelete: [String], + $propertiesToDelete: [InputJCRDeletedProperty], $mixinsToAdd: [String]!, $mixinsToDelete: [String]!, - $language: String, $shouldModifyChildren: Boolean!, $childrenOrder: [String]!, $shouldRename: Boolean!, @@ -27,9 +26,7 @@ export const SavePropertiesMutation = gql` setPropertiesBatch(properties: $propertiesToSave) { path } - mutateProperties(names: $propertiesToDelete) { - delete(language: $language) - } + deletePropertiesBatch(properties: $propertiesToDelete) reorderChildren(names: $childrenOrder) @include(if: $shouldModifyChildren) node { ...NodeCacheRequiredFields diff --git a/src/javascript/utils/fields.utils.js b/src/javascript/utils/fields.utils.js index 71bb03255..0c2cb1a5d 100644 --- a/src/javascript/utils/fields.utils.js +++ b/src/javascript/utils/fields.utils.js @@ -100,7 +100,10 @@ function updateValue({field, value, lang, nodeData, sections, mixinsToMutate, pr (fieldSetName && !mixinsToMutate.mixinsToDelete.includes(fieldSetName) && (hasNodeMixin(nodeData, fieldSetName) || mixinsToMutate.mixinsToAdd.includes(fieldSetName)))) { - propsToDelete.push(field.propertyName); + propsToDelete.push({ + name: field.propertyName, + language: lang + }); } } } diff --git a/src/javascript/utils/fields.utils.spec.js b/src/javascript/utils/fields.utils.spec.js index aee316b9a..99f086fcb 100644 --- a/src/javascript/utils/fields.utils.spec.js +++ b/src/javascript/utils/fields.utils.spec.js @@ -281,7 +281,10 @@ describe('EditPanel utils', () => { formValues: { [sections[0].fieldSets[2].name + '_prop']: '' }, - ExpectedPropsToDelete: ['prop'], + ExpectedPropsToDelete: [{ + language: 'fr', + name: 'prop' + }], expectedPropsFieldMapping: { prop: sections[0].fieldSets[2].name + '_prop' } @@ -299,7 +302,10 @@ describe('EditPanel utils', () => { formValues: { [sections[0].fieldSets[2].name + '_prop']: null }, - ExpectedPropsToDelete: ['prop'], + ExpectedPropsToDelete: [{ + language: 'fr', + name: 'prop' + }], expectedPropsFieldMapping: { prop: sections[0].fieldSets[2].name + '_prop' } @@ -317,7 +323,10 @@ describe('EditPanel utils', () => { formValues: { [sections[0].fieldSets[2].name + '_prop']: undefined }, - ExpectedPropsToDelete: ['prop'], + ExpectedPropsToDelete: [{ + language: 'fr', + name: 'prop' + }], expectedPropsFieldMapping: { prop: sections[0].fieldSets[2].name + '_prop' }