From d56f77debeb3697196b9389a6f6d45335e489d7e Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Mon, 28 Jan 2019 16:02:56 +0100 Subject: [PATCH] ignore updates that don't change anything --- src/resizer/distributors/roomsublist2.js | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/resizer/distributors/roomsublist2.js b/src/resizer/distributors/roomsublist2.js index 8e9112ebb3..96ce96d4ff 100644 --- a/src/resizer/distributors/roomsublist2.js +++ b/src/resizer/distributors/roomsublist2.js @@ -58,11 +58,25 @@ export class Layout { this._applyNewSize(); } - // [{id, count}] update(sections, availableHeight) { - if (Number.isFinite(availableHeight)) { + let heightChanged = false; + + if (Number.isFinite(availableHeight) && availableHeight !== this._availableHeight) { + heightChanged = true; this._availableHeight = availableHeight; } + + const sectionsChanged = + sections.length !== this._sections.length || + sections.some((a, i) => { + const b = this._sections[i]; + return a.id !== b.id || a.count !== b.count; + }); + + if (!heightChanged && !sectionsChanged) { + return; + } + this._sections = sections; const totalHeight = this._getAvailableHeight(); this._sections.forEach((section, i) => {