diff --git a/CHANGELOG.rst b/CHANGELOG.rst index e84fcd3a8eaab2cfb5f956536fee97ebe837e1f1..e40fc5f9fbd2c155670e5ed9c6ddc94f33320526 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -14,6 +14,7 @@ Changed * Announcements are shown in calendar. * DialogObjectForm is now slightly wider. +* [Dev] DialogObjectForm now implicitly handles a missing isCreate-prop depending on the presence of editItem. Fixed ~~~~~ diff --git a/aleksis/core/frontend/mixins/createOrPatchPropsMixin.js b/aleksis/core/frontend/mixins/createOrPatchPropsMixin.js index c9122136924a7d9f0c9f2d320745d6fe03d1c755..5b0cf78d2eadaccf173099737f296ed1bf40c66f 100644 --- a/aleksis/core/frontend/mixins/createOrPatchPropsMixin.js +++ b/aleksis/core/frontend/mixins/createOrPatchPropsMixin.js @@ -15,7 +15,7 @@ export default { isCreate: { type: Boolean, required: false, - default: true, + default: undefined, }, /** * The graphQL create mutation diff --git a/aleksis/core/frontend/mixins/objectFormMixin.js b/aleksis/core/frontend/mixins/objectFormMixin.js index 6797590d23f678da63fe456528c7ccce85443e5b..08bd7ff7875c1c5319d3b610baea7d67f0af13db 100644 --- a/aleksis/core/frontend/mixins/objectFormMixin.js +++ b/aleksis/core/frontend/mixins/objectFormMixin.js @@ -55,6 +55,13 @@ export default { this.resetModel(); }, resetModel() { + // Handle isCreate undefined, by deciding on the presence of editItem + // This implicit behaviour often makes more sense + // and doing it higher up (in parent) makes parent less flexible. + // Specifically not working anymore with CRUD. + if (!this.isCreate) { + this.isCreate = !this.editItem; + } this.itemModel = JSON.parse( JSON.stringify(this.isCreate ? this.defaultItem : this.editItem), );