function pinPanel() { var hidingPanel = $(".hidingPanel"); hidingPanel.css({ width: '122px' }); hidingPanel.find('.hidingPanelContent').css({ transform: 'translate(130px)' }); // Calculate newWidth of viewportAndLesionTable var viewerWidth = $('#viewer').width(); var newWidth = 100 - 122 / viewerWidth * 100; $("#viewportAndLesionTable").css('width', newWidth + '%'); } function unpinPanel() { // Calculate newWidth of viewportAndLesionTable $("#viewportAndLesionTable").css('width', '99%'); } Template.hidingPanel.events({ 'mouseover div.hidingPanel': function(e, template) { var isPinned = template.isPinned.get(); if (isPinned) { return; } var hidingPanel = $(e.currentTarget); hidingPanel.css({ width: '122px' }); // Set panel as open template.panelOpen.set(true); // Rotate Arrow Icon $('.arrowIcon').addClass('fa-flip-horizontal'); // Set panel content opacity //hidingPanel.find('.hidingPanelContent').css('opacity', '1'); hidingPanel.find('.hidingPanelContent').css({ transform: 'translate(130px)' }); }, 'mouseout div.hidingPanel': function(e, template) { var isPinned = template.isPinned.get(); if (isPinned) { return; } var hidingPanel = $(e.currentTarget); hidingPanel.css({ width: '1%' }); // Set panel as closed template.panelOpen.set(false); // Rotate Arrow Icon $('.arrowIcon').removeClass('fa-flip-horizontal'); // Set panel content opacity //hidingPanel.find('.hidingPanelContent').css('opacity', '0'); hidingPanel.find('.hidingPanelContent').css({ transform: 'translate(-130px)' }); }, 'click button.btnPin': function(e, template) { var isPinned = template.isPinned.get(); isPinned = !isPinned; template.isPinned.set(isPinned); // Set isPanelPinned of ViewerData var contentId = template.data.contentId; ViewerData[contentId].isPanelPinned = isPinned; Session.set('ViewerData', ViewerData); if (isPinned) { pinPanel(); } else { unpinPanel(); } resizeViewportElements(); } }); Template.hidingPanel.helpers({ studyDateIsShown: function() { return true; }, isPinned: function() { return Template.instance().isPinned.get(); } }); Template.hidingPanel.onRendered(function() { var contentId = this.data.contentId; var isPanelPinned = ViewerData[contentId].isPanelPinned; if (isPanelPinned) { pinPanel(); } }); Template.hidingPanel.onCreated(function() { this.panelOpen = new ReactiveVar(false); var contentId = this.data.contentId; var isPanelPinned = ViewerData[contentId].isPanelPinned; if (!isPanelPinned) { isPanelPinned = false; } this.isPinned = new ReactiveVar(isPanelPinned); });