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,7 +144,42 @@
return false; return false;
} }
function myProfilePage() { $(document).on('pageinit', "#userImagePage", function () {
var page = this;
reloadUser(page);
$("#userImageDropZone", page).on('dragover', onImageDragOver).on('drop', function(e) {
e.preventDefault();
setFiles(page, e.originalEvent.dataTransfer.files);
return false;
});
$('#btnDeleteImage', page).on('click', function () {
require(['confirm'], function (confirm) {
confirm(Globalize.translate('DeleteImageConfirmation'), Globalize.translate('DeleteImage')).then(function () {
Dashboard.showLoadingMsg();
var userId = getParameterByName("userId");
ApiClient.deleteUserImage(userId, "primary").then(function () {
Dashboard.hideLoadingMsg();
reloadUser(page);
});
});
});
});
$('.newImageForm').on('submit', function () {
var self = this; var self = this;
@ -185,38 +199,16 @@
var userId = getParameterByName("userId"); var userId = getParameterByName("userId");
ApiClient.uploadUserImage(userId, 'Primary', file).then(processImageChangeResult); ApiClient.uploadUserImage(userId, 'Primary', file).then(function () {
Dashboard.hideLoadingMsg();
reloadUser(page);
});
return false; return false;
}; };
}
window.MyProfilePage = new myProfilePage();
$(document).on('pageinit', "#userImagePage", function () {
var page = this;
reloadUser(page);
$("#userImageDropZone", page).on('dragover', onImageDragOver).on('drop', onImageDrop);
$('#btnDeleteImage', page).on('click', function () {
require(['confirm'], function (confirm) {
confirm(Globalize.translate('DeleteImageConfirmation'), Globalize.translate('DeleteImage')).then(function () {
Dashboard.showLoadingMsg();
var userId = getParameterByName("userId");
ApiClient.deleteUserImage(userId, "primary").then(processImageChangeResult);
}); });
});
});
$('.newImageForm').off('submit', MyProfilePage.onImageSubmit).on('submit', MyProfilePage.onImageSubmit);
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,12 +364,19 @@
} }
return function (view, params) {
view.querySelector('.syncJobForm').addEventListener('submit', function (e) {
saveJob(view);
e.preventDefault();
return false;
});
function onWebSocketMessage(e, msg) { function onWebSocketMessage(e, msg) {
var page = $.mobile.activePage;
if (msg.MessageType == "SyncJob") { if (msg.MessageType == "SyncJob") {
loadJobInfo(page, msg.Data.Job, msg.Data.JobItems); loadJobInfo(view, msg.Data.Job, msg.Data.JobItems);
} }
} }
@ -385,7 +389,6 @@
if (ApiClient.isWebSocketOpen()) { if (ApiClient.isWebSocketOpen()) {
ApiClient.sendWebSocketMessage("SyncJobStart", startParams); ApiClient.sendWebSocketMessage("SyncJobStart", startParams);
} }
} }
function stopListening() { function stopListening() {
@ -396,34 +399,19 @@
} }
function onSubmit() { view.addEventListener('viewshow', function () {
var form = this;
var page = $(form).parents('.page');
saveJob(page);
return false;
}
$(document).on('pageinit', ".syncJobPage", function () {
$('.syncJobForm').off('submit', onSubmit).on('submit', onSubmit);
}).on('pageshow', ".syncJobPage", function () {
var page = this; var page = this;
loadJob(page); loadJob(page);
startListening(page); startListening(page);
Events.on(ApiClient, "websocketmessage", onWebSocketMessage); Events.on(ApiClient, "websocketmessage", onWebSocketMessage);
});
}).on('pagebeforehide', ".syncJobPage", function () { view.addEventListener('viewbeforehide', function () {
var page = this;
stopListening(); stopListening();
Events.off(ApiClient, "websocketmessage", onWebSocketMessage); 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">