Skip to content

Commit

Permalink
#78 - Releasing members from the dataElementGroup dialog leads to errors
Browse files Browse the repository at this point in the history
- Allow releasing members from the dataElementGroup dialog without errors.
  • Loading branch information
ammarbarakat committed Aug 4, 2022
1 parent 299e096 commit 1710574
Showing 1 changed file with 55 additions and 53 deletions.
108 changes: 55 additions & 53 deletions pages/all-elements.vue
Original file line number Diff line number Diff line change
Expand Up @@ -308,64 +308,66 @@ export default {
}
const currentElement = this.getJsonObjects(this.treeItems, 'urn', element.previousUrn)[0]
const parentElement = this.getJsonObjects(this.treeItems, 'urn', this.dialog.parentUrn)[0]
const item = {
id: this.generateItemId(),
urn: element.identification.urn,
editable: true,
name: element.definitions[0].designation,
elementType: element.identification.elementType,
children: element.identification.elementType === 'DATAELEMENT' ? undefined : [],
isPreferredLanguage: Ajax.preferredLanguage.includes(element.definitions[0].language)
}
switch (element.identification.elementType) {
case 'NAMESPACE': {
if (element.action === 'CREATE') {
item.children = []
this.treeItems.push(item)
} else if (element.action === 'UPDATE') {
const previousItem =
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)
this.changeActiveElement(item.urn)
} else {
this.treeItems =
findAnd.removeObject(this.treeItems, { urn: element.identification.urn })
}
break
if (currentElement !== undefined && parentElement !== undefined) {
const item = {
id: this.generateItemId(),
urn: element.identification.urn,
editable: true,
name: element.definitions[0].designation,
elementType: element.identification.elementType,
children: element.identification.elementType === 'DATAELEMENT' ? undefined : [],
isPreferredLanguage: Ajax.preferredLanguage.includes(element.definitions[0].language)
}
case 'RECORD':
case 'DATAELEMENTGROUP':
case 'DATAELEMENT': {
item.parentUrn = this.dialog.parentUrn
if (element.action === 'UPDATE') {
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)
this.treeItems =
findAnd.changeProps(this.treeItems, { urn: parentElement.urn }, parentElement.children)
if (element.identification.elementType === 'DATAELEMENTGROUP' ||
element.identification.elementType === 'RECORD') {
this.fetchAndReplaceMembers(item)
this.openNodes = findAnd.replaceObject(this.openNodes, { urn: element.previousUrn }, item)
switch (element.identification.elementType) {
case 'NAMESPACE': {
if (element.action === 'CREATE') {
item.children = []
this.treeItems.push(item)
} else if (element.action === 'UPDATE') {
const previousItem =
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)
this.changeActiveElement(item.urn)
} else {
this.treeItems =
findAnd.removeObject(this.treeItems, { urn: element.identification.urn })
}
this.changeActiveElement(item.urn)
break
}
if (element.action === 'CREATE') {
parentElement.children.push(item)
if (parentElement.children.length === 1) {
this.fetchAndReplaceMembers(parentElement)
case 'RECORD':
case 'DATAELEMENTGROUP':
case 'DATAELEMENT': {
item.parentUrn = this.dialog.parentUrn
if (element.action === 'UPDATE') {
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)
this.treeItems =
findAnd.changeProps(this.treeItems, { urn: parentElement.urn }, parentElement.children)
if (element.identification.elementType === 'DATAELEMENTGROUP' ||
element.identification.elementType === 'RECORD') {
this.fetchAndReplaceMembers(item)
this.openNodes = findAnd.replaceObject(this.openNodes, { urn: element.previousUrn }, item)
}
this.changeActiveElement(item.urn)
}
this.treeItems =
findAnd.changeProps(this.treeItems,
{ urn: this.dialog.parentUrn },
{ children: parentElement.children })
if (element.action === 'CREATE') {
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 })
}
break
}
break
}
}
this.UpdateAllOpenNodes()
Expand Down

0 comments on commit 1710574

Please sign in to comment.