diff --git a/components/dialogs/check-unreleased-members.vue b/components/dialogs/check-unreleased-members.vue index 9224d9c..bc7385e 100644 --- a/components/dialogs/check-unreleased-members.vue +++ b/components/dialogs/check-unreleased-members.vue @@ -58,7 +58,7 @@ :key="editDialog.show" :urn="editDialog.urn" :show="editDialog.show" - @save="$emit('save', $event); removeIfReleased(editDialog.urn)" + @saveSuccess="$emit('saveSuccess', $event); removeIfReleased(editDialog.urn)" @saveFailure="$emit('saveFailure', $event)" @dialogClosed="editDialog.show = false" /> @@ -73,7 +73,7 @@ :show="editDialog.show" :urn="editDialog.urn" :element-type="dialog.elementType" - @save="$emit('save', $event); removeIfReleased(editDialog.urn)" + @saveSuccess="$emit('saveSuccess', $event); removeIfReleased(editDialog.urn)" @saveFailure="$emit('saveFailure', $event)" @dialogClosed="editDialog.show = false" /> @@ -128,9 +128,9 @@ export default { await this.$axios.$get(this.ajax.dataElementUrl + urn, Ajax.header.ignoreLanguage) .then(function (res) { this.$log.debug('Check unreleased members: Fetching DataElement details ...') - if (res.identification.status === 'RELEASED') { - const urn = res.identification.urn - this.items = this.items.filter(elem => !elem.id.toLowerCase().includes(urn)) + if (res.identification.status.toUpperCase() === 'RELEASED') { + const urn = res.identification.urn.toUpperCase() + this.items = this.items.filter(elem => !elem.id.toUpperCase().includes(urn)) this.$emit('released', urn) } }.bind(this)) diff --git a/components/dialogs/group-record-dialog.vue b/components/dialogs/group-record-dialog.vue index afb247a..16bc7f3 100644 --- a/components/dialogs/group-record-dialog.vue +++ b/components/dialogs/group-record-dialog.vue @@ -299,8 +299,10 @@ export default { return true }, markAsReleased (urn) { - this.element.members.find(elem => elem.elementUrn.toLowerCase().includes(urn)).status = - 'RELEASED' + this.element.members.find(elem => elem.elementUrn.toUpperCase().includes(urn)).status = 'RELEASED' + if (this.containsNoDraftMembers()) { + this.unreleasedMembersDialog.show = false + } }, defaultElement () { return this.elementType === 'RECORD' diff --git a/components/item/meta-data.vue b/components/item/meta-data.vue index b8ead8a..a172f78 100644 --- a/components/item/meta-data.vue +++ b/components/item/meta-data.vue @@ -26,7 +26,7 @@ style="max-width: 300px;" > diff --git a/components/views/data-element-detail-view.vue b/components/views/data-element-detail-view.vue index 1f57d09..1785228 100644 --- a/components/views/data-element-detail-view.vue +++ b/components/views/data-element-detail-view.vue @@ -84,7 +84,7 @@ diff --git a/pages/all-elements.vue b/pages/all-elements.vue index cfb02af..12d20c3 100644 --- a/pages/all-elements.vue +++ b/pages/all-elements.vue @@ -324,15 +324,15 @@ export default { this.treeItems.push(item) } else if (element.action === 'UPDATE') { const previousItem = - this.getJsonObjects(this.treeItems, 'urn', element.previousUrn)[0] + this.getJsonObjects(this.treeItems, 'urn', element.previousUrn)[0] item.children = previousItem.children item.id = previousItem.id this.treeItems = - findAnd.replaceObject(this.treeItems, { urn: element.previousUrn }, item) + findAnd.replaceObject(this.treeItems, { urn: element.previousUrn }, item) this.changeActiveElement(item.urn) } else { this.treeItems = - findAnd.removeObject(this.treeItems, { urn: element.identification.urn }) + findAnd.removeObject(this.treeItems, { urn: element.identification.urn }) } break } @@ -340,30 +340,30 @@ export default { case 'DATAELEMENTGROUP': case 'DATAELEMENT': { item.parentUrn = this.dialog.parentUrn - if (element.action === 'UPDATE') { + if (element.action === 'UPDATE' && currentElement !== undefined) { const parentElement = this.getJsonObjects(this.treeItems, 'urn', currentElement.parentUrn)[0] item.parentUrn = currentElement.parentUrn item.id = currentElement.id parentElement.children = - findAnd.replaceObject(parentElement.children, { urn: element.previousUrn }, item) + findAnd.replaceObject(parentElement.children, { urn: element.previousUrn }, item) this.treeItems = - findAnd.changeProps(this.treeItems, { urn: parentElement.urn }, parentElement.children) + findAnd.changeProps(this.treeItems, { urn: parentElement.urn }, parentElement.children) if (element.identification.elementType === 'DATAELEMENTGROUP' || - element.identification.elementType === 'RECORD') { + element.identification.elementType === 'RECORD') { this.fetchAndReplaceMembers(item) this.openNodes = findAnd.replaceObject(this.openNodes, { urn: element.previousUrn }, item) } this.changeActiveElement(item.urn) } - if (element.action === 'CREATE') { + if (element.action === 'CREATE' && parentElement !== undefined) { parentElement.children.push(item) if (parentElement.children.length === 1) { this.fetchAndReplaceMembers(parentElement) } this.treeItems = - findAnd.changeProps(this.treeItems, - { urn: this.dialog.parentUrn }, - { children: parentElement.children }) + findAnd.changeProps(this.treeItems, + { urn: this.dialog.parentUrn }, + { children: parentElement.children }) } break }