From 3732d7cf701ff110ac297d3010e3aeb70a4b7e83 Mon Sep 17 00:00:00 2001 From: Bruno Alves de Faria Date: Sat, 20 Aug 2016 11:24:27 -0300 Subject: [PATCH] Throttling session calls due to performance issues --- Packages/viewerbase/lib/layoutManager.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Packages/viewerbase/lib/layoutManager.js b/Packages/viewerbase/lib/layoutManager.js index 00ff9da0b..0e1b07a32 100644 --- a/Packages/viewerbase/lib/layoutManager.js +++ b/Packages/viewerbase/lib/layoutManager.js @@ -15,16 +15,15 @@ LayoutManager = class LayoutManager { this.viewportData = []; this.isZoomed = false; + + const updateSessionFn = () => Tracker.afterFlush(() => Session.set('LayoutManagerUpdated', Random.id())); + this.updateSession = _.throttle(updateSessionFn, 300); } getNumberOfViewports() { return this.layoutProps.rows * this.layoutProps.columns; } - updateSession() { - Tracker.afterFlush(() => Session.set('LayoutManagerUpdated', Random.id())); - } - setDefaultViewportData() { var numViewports = this.getNumberOfViewports(); @@ -216,7 +215,7 @@ LayoutManager = class LayoutManager { // Don't enlarge the viewport if we only have one Viewport // to begin with if (this.getNumberOfViewports() > 1) { - this.enlargeViewport(viewportIndex); + this.enlargeViewport(viewportIndex); } } }