fix wrong array handling in viewMotion updates
This commit is contained in:
parent
39c7a51218
commit
924ec7580e
@ -483,13 +483,21 @@ export class ViewMotion extends BaseAgendaViewModel implements Searchable {
|
|||||||
public updateUser(update: ViewUser): void {
|
public updateUser(update: ViewUser): void {
|
||||||
if (this.motion.submitters && this.motion.submitters.findIndex(user => user.user_id === update.id)) {
|
if (this.motion.submitters && this.motion.submitters.findIndex(user => user.user_id === update.id)) {
|
||||||
const userIndex = this.submitters.findIndex(user => user.id === update.id);
|
const userIndex = this.submitters.findIndex(user => user.id === update.id);
|
||||||
|
if (userIndex < 0) {
|
||||||
|
this.submitters.push(update);
|
||||||
|
} else {
|
||||||
this.submitters[userIndex] = update;
|
this.submitters[userIndex] = update;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (this.motion.supporters_id && this.motion.supporters_id.includes(update.id)) {
|
if (this.motion.supporters_id && this.motion.supporters_id.includes(update.id)) {
|
||||||
const userIndex = this.supporters.findIndex(user => user.id === update.id);
|
const userIndex = this.supporters.findIndex(user => user.id === update.id);
|
||||||
|
if (userIndex < 0) {
|
||||||
|
this.supporters.push(update);
|
||||||
|
} else {
|
||||||
this.supporters[userIndex] = update;
|
this.supporters[userIndex] = update;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update routine for attachments
|
* Update routine for attachments
|
||||||
@ -499,16 +507,24 @@ export class ViewMotion extends BaseAgendaViewModel implements Searchable {
|
|||||||
public updateAttachments(mediafile: ViewMediafile): void {
|
public updateAttachments(mediafile: ViewMediafile): void {
|
||||||
if (this.attachments_id && this.attachments_id.includes(mediafile.id)) {
|
if (this.attachments_id && this.attachments_id.includes(mediafile.id)) {
|
||||||
const attachmentIndex = this.attachments.findIndex(_mediafile => _mediafile.id === mediafile.id);
|
const attachmentIndex = this.attachments.findIndex(_mediafile => _mediafile.id === mediafile.id);
|
||||||
|
if (attachmentIndex < 0) {
|
||||||
|
this.attachments.push(mediafile);
|
||||||
|
} else {
|
||||||
this.attachments[attachmentIndex] = mediafile;
|
this.attachments[attachmentIndex] = mediafile;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public updateTags(tag: ViewTag): void {
|
public updateTags(tag: ViewTag): void {
|
||||||
if (this.tags_id && this.tags_id.includes(tag.id)) {
|
if (this.tags_id && this.tags_id.includes(tag.id)) {
|
||||||
const tagIndex = this.tags.findIndex(_tag => _tag.id === tag.id);
|
const tagIndex = this.tags.findIndex(_tag => _tag.id === tag.id);
|
||||||
|
if (tagIndex < 0) {
|
||||||
|
this.tags.push(tag);
|
||||||
|
} else {
|
||||||
this.tags[tagIndex] = tag;
|
this.tags[tagIndex] = tag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public updateParent(parent: ViewMotion): void {
|
public updateParent(parent: ViewMotion): void {
|
||||||
if (this.parent_id && this.parent_id === parent.id) {
|
if (this.parent_id && this.parent_id === parent.id) {
|
||||||
|
Loading…
Reference in New Issue
Block a user