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:
parent
efecb676cb
commit
45063b063e
6 changed files with 97 additions and 113 deletions
|
@ -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">
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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({
|
||||||
|
|
|
@ -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);
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
});
|
|
@ -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">
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue