diff --git a/src/styles/components/_presentation.scss b/src/styles/components/_presentation.scss index f40b2158..a69bc298 100644 --- a/src/styles/components/_presentation.scss +++ b/src/styles/components/_presentation.scss @@ -99,6 +99,10 @@ line-height: 28px; } +.overlaybar-content .pagecontrol { + height: 30px; +} + .presentation .overlaybar a.btn-prev { left: 40px; } @@ -118,13 +122,16 @@ color: #333; margin-top: 20px; width: 160px; + height: 122px; display: inline-block; margin-left: 20px; cursor: pointer; position: relative; + vertical-align: middle; } .presentation .thumbnail:first-child { + cursor: default; margin-left: 0; } @@ -145,6 +152,8 @@ position: absolute; left: 0; right: 0; + top: 0; + bottom: 0; text-align: center; } diff --git a/static/js/directives/presentation.js b/static/js/directives/presentation.js index 0d1300c6..54416533 100644 --- a/static/js/directives/presentation.js +++ b/static/js/directives/presentation.js @@ -36,7 +36,7 @@ define(['jquery', 'underscore', 'text!partials/presentation.html', 'bigscreen'], $scope.currentFileInfo = null; $scope.currentPage = null; $scope.receivedPage = null; - $scope.downloading = false; + $scope.loading = false; $scope.downloadSize = 0; $scope.downloadProgress = 0; $scope.sharedFilesCache = {}; @@ -70,17 +70,14 @@ define(['jquery', 'underscore', 'text!partials/presentation.html', 'bigscreen'], } }; - $scope.resetProperties = function(keepControlsBar) { + $scope.resetProperties = function() { $scope.isPresenter = false; - $scope.hideControlsBar = !keepControlsBar; $scope.currentFileInfo = null; $scope.currentPage = null; $scope.receivedPage = null; }; $scope.$on("pdfLoaded", function(event, source, doc) { - $scope.downloading = false; - $scope.hideControlsBar = !$scope.isPresenter; $scope.currentPageNumber = -1; if ($scope.isPresenter) { $scope.$emit("showPdfPage", 1); @@ -94,7 +91,7 @@ define(['jquery', 'underscore', 'text!partials/presentation.html', 'bigscreen'], }); $scope.$on("pdfLoadError", function(event, source, errorMessage, moreInfo) { - $scope.downloading = false; + $scope.loading = false; alertify.dialog.alert(errorMessage); }); @@ -133,6 +130,7 @@ define(['jquery', 'underscore', 'text!partials/presentation.html', 'bigscreen'], downloadScope.$on("writeComplete", function(event, url, fileInfo) { event.stopPropagation(); + $scope.downloadSize = 0; // need to store for internal file it and received token // to allow cleanup and prevent duplicate download fileInfo.url = url; @@ -155,6 +153,7 @@ define(['jquery', 'underscore', 'text!partials/presentation.html', 'bigscreen'], $scope.presentationLoaded = false; $scope.pendingPageRequest = null; + $scope.loading = true; var token = fileInfo.id; var existing = $scope.sharedFilesCache[token]; @@ -167,7 +166,6 @@ define(['jquery', 'underscore', 'text!partials/presentation.html', 'bigscreen'], downloadProgressBar.style.width = '0%'; $scope.downloadProgress = 0; $scope.downloadSize = fileInfo.size; - $scope.downloading = true; downloadScope.info = fileInfo; downloadScope.handler = mediaStream.tokens.on(token, function(event, currenttoken, to, data, type, to2, from, xfer) { @@ -319,6 +317,7 @@ define(['jquery', 'underscore', 'text!partials/presentation.html', 'bigscreen'], }; $scope.$on("pdfPageLoading", function(event, page) { + $scope.loading = false; $scope.currentPageNumber = page; if ($scope.receivedPage === page) { // we received this page request, don't publish to others @@ -336,10 +335,12 @@ define(['jquery', 'underscore', 'text!partials/presentation.html', 'bigscreen'], }); $scope.$on("pdfPageLoadError", function(event, page, errorMessage) { + $scope.loading = false; alertify.dialog.alert(errorMessage); }); $scope.$on("pdfPageRenderError", function(event, pageNumber, maxPageNumber, errorMessage) { + $scope.loading = false; alertify.dialog.alert(errorMessage); }); @@ -357,6 +358,7 @@ define(['jquery', 'underscore', 'text!partials/presentation.html', 'bigscreen'], $scope.isPresenter = true; $scope.currentFileInfo = fileInfo; $scope.receivedPage = null; + $scope.loading = true; $scope.$emit("openPdf", file); addVisibleSharedFile(file); $scope.sharedFilesCache[fileInfo.id] = file; @@ -401,6 +403,15 @@ define(['jquery', 'underscore', 'text!partials/presentation.html', 'bigscreen'], return namespace + "_" + $scope.myid; }; + var uploadBinder = fileUpload.bindClick(namespace, $element.find('.thumbnail button')[0], function(files) { + console.log("Files selected", files); + filesSelected(files); + }); + uploadBinder.namespace = function() { + // Inject own id into namespace. + return namespace + "_" + $scope.myid; + }; + $scope.showPresentation = function() { console.log("Presentation active"); $scope.layout.presentation = true; diff --git a/static/partials/presentation.html b/static/partials/presentation.html index 061e1e61..10d49107 100644 --- a/static/partials/presentation.html +++ b/static/partials/presentation.html @@ -1,13 +1,13 @@
{{_('Documents are shared with everyone in this call.')}}
@@ -15,17 +15,25 @@{{_('You can drag files here too.')}}