diff --git a/dashboard-ui/apiclient/sync/mediasync.js b/dashboard-ui/apiclient/sync/mediasync.js index 1ba0b81b4d..620d894d03 100644 --- a/dashboard-ui/apiclient/sync/mediasync.js +++ b/dashboard-ui/apiclient/sync/mediasync.js @@ -234,7 +234,10 @@ require(['localassetmanager'], function () { - var url = apiClient.getUrl("Sync/JobItems/" + jobItem.SyncJobItemId + "/File"); + var url = apiClient.getUrl("Sync/JobItems/" + jobItem.SyncJobItemId + "/File", { + api_key: apiClient.accessToken() + }); + var localPath = localItem.LocalPath; Logger.log('Downloading media. Url: ' + url + '. Local path: ' + localPath); @@ -337,7 +340,8 @@ var imageUrl = apiClient.getImageUrl(itemId, { Tag: imageTag, - ImageType: imageType + ImageType: imageType, + api_key: apiClient.accessToken() }); LocalAssetManager.downloadImage(imageUrl, serverId, itemId, imageTag).done(function () { @@ -414,7 +418,8 @@ } var url = apiClient.getUrl("Sync/JobItems/" + jobItem.SyncJobItemId + "/AdditionalFiles", { - Name: file.Name + Name: file.Name, + api_key: apiClient.accessToken() }); require(['localassetmanager'], function () { diff --git a/dashboard-ui/components/imagedownloader/imagedownloader.js b/dashboard-ui/components/imagedownloader/imagedownloader.js index 1245b495b8..95ae7ff207 100644 --- a/dashboard-ui/components/imagedownloader/imagedownloader.js +++ b/dashboard-ui/components/imagedownloader/imagedownloader.js @@ -5,7 +5,9 @@ var currentDeferred; var hasChanges = false; - var browsableImagePageSize = 20; + // These images can be large and we're seeing memory problems in safari + var browsableImagePageSize = $.browser.safari ? 6 : 12; + var browsableImageStartIndex = 0; var browsableImageType = 'Primary'; var selectedProvider; diff --git a/dashboard-ui/components/imagedownloader/imagedownloader.template.html b/dashboard-ui/components/imagedownloader/imagedownloader.template.html index ecc7409ea2..33cbfd589c 100644 --- a/dashboard-ui/components/imagedownloader/imagedownloader.template.html +++ b/dashboard-ui/components/imagedownloader/imagedownloader.template.html @@ -3,15 +3,15 @@
-
-
+
- @@ -26,10 +26,9 @@
-
-
- - +
+
+ ${LabelAllLanguages}
diff --git a/dashboard-ui/components/paperdialoghelper.js b/dashboard-ui/components/paperdialoghelper.js index 6435ab5e60..3a48b48e29 100644 --- a/dashboard-ui/components/paperdialoghelper.js +++ b/dashboard-ui/components/paperdialoghelper.js @@ -17,17 +17,12 @@ } } } - - if (isActive) { - document.body.classList.add('bodyWithPopupOpen'); - } - else { - document.body.classList.remove('bodyWithPopupOpen'); - } } function onDialogClosed() { + Dashboard.onPopupClose(); + dlg = null; $(window).off('navigate', onHashChange); @@ -40,6 +35,7 @@ $(dlg).on('iron-overlay-closed', onDialogClosed); dlg.open(); + Dashboard.onPopupOpen(); window.location.hash = hash; diff --git a/dashboard-ui/cordova/localassetmanager.js b/dashboard-ui/cordova/localassetmanager.js index 30ef01d0f2..0454a58500 100644 --- a/dashboard-ui/cordova/localassetmanager.js +++ b/dashboard-ui/cordova/localassetmanager.js @@ -467,13 +467,37 @@ var deferred = DeferredBuilder.Deferred(); Logger.log('downloading: ' + url + ' to ' + localPath); - var ft = new FileTransfer(); - ft.download(url, localPath, function (entry) { - var localUrl = normalizeReturnUrl(entry.toURL()); + getFileSystem().done(function (fileSystem) { + + fileSystem.root.getFile(localPath.replace('file://', ''), {}, function (targetFile) { + + var downloader = new BackgroundTransfer.BackgroundDownloader(); + // Create a new download operation. + var download = downloader.createDownload(url, targetFile); + // Start the download and persist the promise to be able to cancel the download. + app.downloadPromise = download.startAsync().then(function () { + + // on success + var localUrl = normalizeReturnUrl(targetFile.toURL()); + + Logger.log('Downloaded local url: ' + localUrl); + deferred.resolveWith(null, [localUrl]); + + }, function () { + + // on error + Logger.log('download failed: ' + url + ' to ' + localPath); + deferred.reject(); + + }, function (value) { + + // on progress + Logger.log('download progress: ' + value); + + }); + }); - Logger.log('Downloaded local url: ' + localUrl); - deferred.resolveWith(null, [localUrl]); }); return deferred.promise(); @@ -537,7 +561,7 @@ } function getLocalId(serverId, itemId) { - + return serverId + '_' + itemId; } function hasImage(serverId, itemId, imageTag) { diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js index 3dac69ba4d..2a0841ca98 100644 --- a/dashboard-ui/scripts/site.js +++ b/dashboard-ui/scripts/site.js @@ -117,6 +117,20 @@ var Dashboard = { } }, + onPopupOpen: function(){ + Dashboard.popupCount = (Dashboard.popupCount || 0) + 1; + document.body.classList.add('bodyWithPopupOpen'); + }, + + onPopupClose: function(){ + + Dashboard.popupCount = (Dashboard.popupCount || 1) - 1; + + if (!Dashboard.popupCount) { + document.body.classList.remove('bodyWithPopupOpen'); + } + }, + getCurrentUser: function () { if (!Dashboard.getUserPromise) {