fixed a memory leak

see #1580
This commit is contained in:
antelle 2021-04-26 19:20:29 +02:00
parent 66d3623f90
commit 7a35ebec73
No known key found for this signature in database
GPG Key ID: 63C9777AAB7C563C
2 changed files with 7 additions and 0 deletions

View File

@ -17,6 +17,10 @@ EntryPresenter.prototype = {
} }
return this; return this;
}, },
reset() {
this.entry = null;
this.group = null;
},
get id() { get id() {
return this.entry ? this.entry.id : this.group.id; return this.entry ? this.entry.id : this.group.id;
}, },

View File

@ -112,6 +112,7 @@ class ListView extends View {
presenter.present(this.items[0]); presenter.present(this.items[0]);
const itemTemplate = this.getItemTemplate(); const itemTemplate = this.getItemTemplate();
const itemsHtml = itemTemplate(presenter, DefaultTemplateOptions); const itemsHtml = itemTemplate(presenter, DefaultTemplateOptions);
presenter.reset();
const html = itemsTemplate( const html = itemsTemplate(
{ itemsHtml, columns: this.tableColumns }, { itemsHtml, columns: this.tableColumns },
@ -186,6 +187,7 @@ class ListView extends View {
itemsHtml += itemTemplate(presenter, DefaultTemplateOptions); itemsHtml += itemTemplate(presenter, DefaultTemplateOptions);
renderedIndices.push(ix); renderedIndices.push(ix);
} }
presenter.reset();
const tempEl = document.createElement('div'); const tempEl = document.createElement('div');
tempEl.innerHTML = itemsHtml; tempEl.innerHTML = itemsHtml;
@ -221,6 +223,7 @@ class ListView extends View {
this.presenter.present(item); this.presenter.present(item);
const itemHtml = itemTemplate(this.presenter, DefaultTemplateOptions); const itemHtml = itemTemplate(this.presenter, DefaultTemplateOptions);
this.presenter.reset();
const tempEl = document.createElement('div'); const tempEl = document.createElement('div');
tempEl.innerHTML = itemHtml; tempEl.innerHTML = itemHtml;