From 8a7a4f303381c58722608d6f9e8f9ace2eeafb8b Mon Sep 17 00:00:00 2001 From: Martin Filser Date: Tue, 26 Sep 2023 10:48:06 +0200 Subject: [PATCH] fix empty parentId in cards - if the parentId is undefined or empty, the code run in a infinite loop and the browser "hangs" --- models/cards.js | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/models/cards.js b/models/cards.js index 5e9fffddc..ec0173d49 100644 --- a/models/cards.js +++ b/models/cards.js @@ -982,15 +982,16 @@ Cards.helpers({ }, parentCard() { - if (this.parentId === '') { - return null; + let ret = null; + if (this.parentId) { + ret = ReactiveCache.getCard(this.parentId); } - return ReactiveCache.getCard(this.parentId); + return ret; }, parentCardName() { let result = ''; - if (this.parentId !== '') { + if (this.parentId) { const card = ReactiveCache.getCard(this.parentId); if (card) { result = card.title; @@ -1002,7 +1003,7 @@ Cards.helpers({ parentListId() { const result = []; let crtParentId = this.parentId; - while (crtParentId !== '') { + while (crtParentId) { const crt = ReactiveCache.getCard(crtParentId); if (crt === null || crt === undefined) { // maybe it has been deleted @@ -1022,7 +1023,7 @@ Cards.helpers({ const resultId = []; const result = []; let crtParentId = this.parentId; - while (crtParentId !== '') { + while (crtParentId) { const crt = ReactiveCache.getCard(crtParentId); if (crt === null || crt === undefined) { // maybe it has been deleted @@ -1048,7 +1049,11 @@ Cards.helpers({ }, isTopLevel() { - return this.parentId === ''; + let ret = false; + if (this.parentId) { + ret = true; + } + return ret; }, isLinkedCard() {