diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 1e322ecec6babbca594a522d92eebff1c0b32225..d69569cd1288fa97dfa0c959b12bf7a7c6f46f50 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), );