1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

reduce uses of mobile.activepage

This commit is contained in:
Luke Pulverenti 2016-06-11 13:10:06 -04:00
parent efecb676cb
commit 45063b063e
6 changed files with 97 additions and 113 deletions

View file

@ -1,4 +1,4 @@
<div id="mySyncJobPage" data-role="page" class="page libraryPage syncJobPage mySyncPage noSecondaryNavPage" data-contextname="${TitleSync}" data-require="scripts/syncjob,paper-fab,paper-item-body,paper-icon-item" data-backbutton="true" data-menubutton="false"> <div id="mySyncJobPage" data-role="page" class="page libraryPage syncJobPage mySyncPage noSecondaryNavPage" data-contextname="${TitleSync}" data-backbutton="true" data-menubutton="false">
<div data-role="content"> <div data-role="content">

View file

@ -1,4 +1,4 @@
define(['scrollHelper', 'appSettings', 'appStorage', 'apphost', 'datetime', 'itemHelper', 'mediaInfo', 'scrollStyles'], function (scrollHelper, appSettings, appStorage, appHost, datetime, itemHelper, mediaInfo) { define(['scrollHelper', 'viewManager', 'appSettings', 'appStorage', 'apphost', 'datetime', 'itemHelper', 'mediaInfo', 'scrollStyles'], function (scrollHelper, viewManager, appSettings, appStorage, appHost, datetime, itemHelper, mediaInfo) {
function parentWithClass(elem, className) { function parentWithClass(elem, className) {
@ -381,9 +381,7 @@
if (window.location.href.toLowerCase().indexOf(url.toLowerCase()) != -1) { if (window.location.href.toLowerCase().indexOf(url.toLowerCase()) != -1) {
if (window.$) { afterNavigate.call(viewManager.currentView());
afterNavigate.call($.mobile.activePage);
}
} else { } else {
pageClassOn('pagebeforeshow', 'page', afterNavigate); pageClassOn('pagebeforeshow', 'page', afterNavigate);

View file

@ -65,15 +65,6 @@
} }
function processImageChangeResult() {
Dashboard.hideLoadingMsg();
var page = $($.mobile.activePage)[0];
reloadUser(page);
}
function onFileReaderError(evt) { function onFileReaderError(evt) {
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
@ -101,11 +92,6 @@
}; };
} }
function onFileReaderOnloadStart(evt) {
$('#fldUpload', $.mobile.activePage).hide();
}
function onFileReaderAbort(evt) { function onFileReaderAbort(evt) {
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
@ -130,7 +116,9 @@
var reader = new FileReader(); var reader = new FileReader();
reader.onerror = onFileReaderError; reader.onerror = onFileReaderError;
reader.onloadstart = onFileReaderOnloadStart; reader.onloadstart = function() {
$('#fldUpload', page).hide();
};
reader.onabort = onFileReaderAbort; reader.onabort = onFileReaderAbort;
// Closure to capture the file information. // Closure to capture the file information.
@ -147,15 +135,6 @@
reader.readAsDataURL(file); reader.readAsDataURL(file);
} }
function onImageDrop(e) {
e.preventDefault();
setFiles($.mobile.activePage, e.originalEvent.dataTransfer.files);
return false;
}
function onImageDragOver(e) { function onImageDragOver(e) {
e.preventDefault(); e.preventDefault();
@ -165,41 +144,20 @@
return false; return false;
} }
function myProfilePage() {
var self = this;
self.onImageSubmit = function () {
var file = currentFile;
if (!file) {
return false;
}
if (file.type != "image/png" && file.type != "image/jpeg" && file.type != "image/jpeg") {
return false;
}
Dashboard.showLoadingMsg();
var userId = getParameterByName("userId");
ApiClient.uploadUserImage(userId, 'Primary', file).then(processImageChangeResult);
return false;
};
}
window.MyProfilePage = new myProfilePage();
$(document).on('pageinit', "#userImagePage", function () { $(document).on('pageinit', "#userImagePage", function () {
var page = this; var page = this;
reloadUser(page); reloadUser(page);
$("#userImageDropZone", page).on('dragover', onImageDragOver).on('drop', onImageDrop); $("#userImageDropZone", page).on('dragover', onImageDragOver).on('drop', function(e) {
e.preventDefault();
setFiles(page, e.originalEvent.dataTransfer.files);
return false;
});
$('#btnDeleteImage', page).on('click', function () { $('#btnDeleteImage', page).on('click', function () {
@ -211,12 +169,46 @@
var userId = getParameterByName("userId"); var userId = getParameterByName("userId");
ApiClient.deleteUserImage(userId, "primary").then(processImageChangeResult); ApiClient.deleteUserImage(userId, "primary").then(function () {
Dashboard.hideLoadingMsg();
reloadUser(page);
});
}); });
}); });
}); });
$('.newImageForm').off('submit', MyProfilePage.onImageSubmit).on('submit', MyProfilePage.onImageSubmit); $('.newImageForm').on('submit', function () {
var self = this;
self.onImageSubmit = function () {
var file = currentFile;
if (!file) {
return false;
}
if (file.type != "image/png" && file.type != "image/jpeg" && file.type != "image/jpeg") {
return false;
}
Dashboard.showLoadingMsg();
var userId = getParameterByName("userId");
ApiClient.uploadUserImage(userId, 'Primary', file).then(function () {
Dashboard.hideLoadingMsg();
reloadUser(page);
});
return false;
};
});
page.querySelector('#uploadUserImage').addEventListener('change', function (e) { page.querySelector('#uploadUserImage').addEventListener('change', function (e) {
setFiles(page, e.target.files); setFiles(page, e.target.files);

View file

@ -52,7 +52,7 @@ var Dashboard = {
// Bounce to the login screen, but not if a password entry fails, obviously // Bounce to the login screen, but not if a password entry fails, obviously
if (url.indexOf('/password') == -1 && if (url.indexOf('/password') == -1 &&
url.indexOf('/authenticate') == -1 && url.indexOf('/authenticate') == -1 &&
!$($.mobile.activePage).is('.standalonePage')) { !ViewManager.currentView().classList.contains('.standalonePage')) {
if (data.errorCode == "ParentalControl") { if (data.errorCode == "ParentalControl") {
@ -1221,7 +1221,9 @@ var Dashboard = {
}, },
exitOnBack: function () { exitOnBack: function () {
return $($.mobile.activePage).is('#indexPage');
var currentView = ViewManager.currentView();
return !currentView || currentView.id == 'indexPage';
}, },
exit: function () { exit: function () {
@ -1811,6 +1813,7 @@ var AppInfo = {};
define("tvguide", [embyWebComponentsBowerPath + "/guide/guide", 'embyRouter'], returnFirstDependency); define("tvguide", [embyWebComponentsBowerPath + "/guide/guide", 'embyRouter'], returnFirstDependency);
define("viewManager", [embyWebComponentsBowerPath + "/viewmanager/viewmanager"], function (viewManager) { define("viewManager", [embyWebComponentsBowerPath + "/viewmanager/viewmanager"], function (viewManager) {
window.ViewManager = viewManager;
viewManager.dispatchPageEvents(true); viewManager.dispatchPageEvents(true);
return viewManager; return viewManager;
}); });
@ -2813,9 +2816,10 @@ var AppInfo = {};
defineRoute({ defineRoute({
path: '/mysyncjob.html', path: '/mysyncjob.html',
dependencies: [], dependencies: ['paper-fab', 'paper-item-body', 'paper-icon-item'],
autoFocus: false, autoFocus: false,
transition: 'fade' transition: 'fade',
controller: 'scripts/syncjob'
}); });
defineRoute({ defineRoute({
@ -2972,8 +2976,10 @@ var AppInfo = {};
defineRoute({ defineRoute({
path: '/syncjob.html', path: '/syncjob.html',
dependencies: [], dependencies: ['paper-fab', 'paper-item-body', 'paper-icon-item'],
autoFocus: false autoFocus: false,
transition: 'fade',
controller: 'scripts/syncjob'
}); });
defineRoute({ defineRoute({

View file

@ -33,10 +33,7 @@
return function (targetId) { return function (targetId) {
var deferred = $.Deferred(); return Promise.resolve(dialogOptions);
deferred.resolveWith(null, [dialogOptions]);
return deferred.promise();
}; };
} }
@ -367,63 +364,54 @@
} }
function onWebSocketMessage(e, msg) { return function (view, params) {
var page = $.mobile.activePage; view.querySelector('.syncJobForm').addEventListener('submit', function (e) {
if (msg.MessageType == "SyncJob") { saveJob(view);
loadJobInfo(page, msg.Data.Job, msg.Data.JobItems); e.preventDefault();
} return false;
} });
function startListening(page) { function onWebSocketMessage(e, msg) {
var startParams = "0,1500"; if (msg.MessageType == "SyncJob") {
loadJobInfo(view, msg.Data.Job, msg.Data.JobItems);
startParams += "," + getParameterByName('id'); }
if (ApiClient.isWebSocketOpen()) {
ApiClient.sendWebSocketMessage("SyncJobStart", startParams);
} }
} function startListening(page) {
function stopListening() { var startParams = "0,1500";
if (ApiClient.isWebSocketOpen()) { startParams += "," + getParameterByName('id');
ApiClient.sendWebSocketMessage("SyncJobStop", "");
if (ApiClient.isWebSocketOpen()) {
ApiClient.sendWebSocketMessage("SyncJobStart", startParams);
}
} }
} function stopListening() {
function onSubmit() { if (ApiClient.isWebSocketOpen()) {
var form = this; ApiClient.sendWebSocketMessage("SyncJobStop", "");
}
var page = $(form).parents('.page'); }
saveJob(page); view.addEventListener('viewshow', function () {
var page = this;
loadJob(page);
return false; startListening(page);
} Events.on(ApiClient, "websocketmessage", onWebSocketMessage);
});
$(document).on('pageinit', ".syncJobPage", function () { view.addEventListener('viewbeforehide', function () {
$('.syncJobForm').off('submit', onSubmit).on('submit', onSubmit); stopListening();
Events.off(ApiClient, "websocketmessage", onWebSocketMessage);
}).on('pageshow', ".syncJobPage", function () { });
};
var page = this;
loadJob(page);
startListening(page);
Events.on(ApiClient, "websocketmessage", onWebSocketMessage);
}).on('pagebeforehide', ".syncJobPage", function () {
var page = this;
stopListening();
Events.off(ApiClient, "websocketmessage", onWebSocketMessage);
});
}); });

View file

@ -1,4 +1,4 @@
<div id="syncJobPage" data-role="page" class="page type-interior syncConfigurationPage syncJobPage withTabs" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Sync" data-require="scripts/syncjob,paper-fab,paper-item-body,paper-icon-item"> <div id="syncJobPage" data-role="page" class="page type-interior syncConfigurationPage syncJobPage withTabs" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Sync">
<div data-role="content"> <div data-role="content">
<div class="content-primary"> <div class="content-primary">