From 205e11ea032150413bf555c855b560325ab78b8f Mon Sep 17 00:00:00 2001 From: Evren Ozkan Date: Thu, 10 Nov 2016 18:53:37 -0500 Subject: [PATCH] Check if the cine dialog is initially out of screen --- .../components/viewer/cineDialog/cineDialog.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Packages/viewerbase/client/components/viewer/cineDialog/cineDialog.js b/Packages/viewerbase/client/components/viewer/cineDialog/cineDialog.js index 50c38a1aa..ec09a2dcf 100644 --- a/Packages/viewerbase/client/components/viewer/cineDialog/cineDialog.js +++ b/Packages/viewerbase/client/components/viewer/cineDialog/cineDialog.js @@ -139,6 +139,7 @@ Template.cineDialog.onCreated(() => { */ instance.setOptimalPosition = (event, options) => { + const viewer = $('#viewer'); let toolbarElement = $('.toolbarSection .toolbarSectionTools:first'), cineDialog = $('#cineDialog'), @@ -181,6 +182,21 @@ Template.cineDialog.onCreated(() => { } } + // Check if it is out of screen + if (cineDialogCoords.top < 0) { + cineDialogCoords.top = 0; + } + else if (cineDialogCoords.top + cineDialogSize.height > viewer.height()) { + cineDialogCoords.top -= (cineDialogCoords.top + cineDialogSize.height) - viewer.height(); + } + + if (cineDialogCoords.left < 0) { + cineDialogCoords.left = 0; + } + else if (cineDialogCoords.left + cineDialogSize.width > viewer.width()) { + cineDialogCoords.left -= (cineDialogCoords.left + cineDialogSize.width) - viewer.width(); + } + cineDialog.css(cineDialogCoords); };