mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
commit
d7813ad330
16 changed files with 110 additions and 86 deletions
|
@ -1,4 +1,4 @@
|
||||||
<div id="libraryFileOrganizerLogPage" data-role="page" class="page type-interior organizePage withTabs fullWidthContent" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Auto-Organize" data-require="jqmtable,scripts/autoorganizelog,scripts/taskbutton,detailtablecss">
|
<div id="libraryFileOrganizerLogPage" data-role="page" class="page type-interior organizePage withTabs fullWidthContent" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Auto-Organize" data-require="jqmtable,scripts/autoorganizelog,detailtablecss">
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
|
|
|
@ -148,6 +148,8 @@
|
||||||
|
|
||||||
channelQuery.Limit = channelLimit;
|
channelQuery.Limit = channelLimit;
|
||||||
channelQuery.AddCurrentProgram = false;
|
channelQuery.AddCurrentProgram = false;
|
||||||
|
channelQuery.EnableUserData = false;
|
||||||
|
channelQuery.EnableImageTypes = "Primary";
|
||||||
|
|
||||||
channelsPromise = channelsPromise || apiClient.getLiveTvChannels(channelQuery);
|
channelsPromise = channelsPromise || apiClient.getLiveTvChannels(channelQuery);
|
||||||
|
|
||||||
|
@ -169,9 +171,10 @@
|
||||||
return c.Id;
|
return c.Id;
|
||||||
}).join(','),
|
}).join(','),
|
||||||
ImageTypeLimit: 1,
|
ImageTypeLimit: 1,
|
||||||
EnableImageTypes: "Primary,Backdrop",
|
EnableImageTypes: layoutManager.tv ? "Primary,Backdrop" : "Primary",
|
||||||
SortBy: "StartDate",
|
SortBy: "StartDate",
|
||||||
EnableTotalRecordCount: false
|
EnableTotalRecordCount: false,
|
||||||
|
EnableUserData: false
|
||||||
|
|
||||||
}).then(function (programsResult) {
|
}).then(function (programsResult) {
|
||||||
|
|
||||||
|
|
|
@ -198,6 +198,8 @@ globalize.translate('CancelSyncJobConfirmation');
|
||||||
|
|
||||||
if (listInstance.options.isLocalSync) {
|
if (listInstance.options.isLocalSync) {
|
||||||
options.TargetId = apiClient.deviceId();
|
options.TargetId = apiClient.deviceId();
|
||||||
|
} else {
|
||||||
|
options.ExcludeTargetIds = apiClient.deviceId();
|
||||||
}
|
}
|
||||||
|
|
||||||
return apiClient.getJSON(ApiClient.getUrl('Sync/Jobs', options)).then(function (response) {
|
return apiClient.getJSON(ApiClient.getUrl('Sync/Jobs', options)).then(function (response) {
|
||||||
|
@ -303,7 +305,7 @@ globalize.translate('CancelSyncJobConfirmation');
|
||||||
this.options = options;
|
this.options = options;
|
||||||
|
|
||||||
var onSyncJobsUpdatedHandler = onSyncJobsUpdated.bind(this);
|
var onSyncJobsUpdatedHandler = onSyncJobsUpdated.bind(this);
|
||||||
this.onSyncJobsUpdatedHandler = null;
|
this.onSyncJobsUpdatedHandler = onSyncJobsUpdatedHandler;
|
||||||
events.on(serverNotifications, 'SyncJobs', onSyncJobsUpdatedHandler);
|
events.on(serverNotifications, 'SyncJobs', onSyncJobsUpdatedHandler);
|
||||||
|
|
||||||
var onClickHandler = onElementClick.bind(this);
|
var onClickHandler = onElementClick.bind(this);
|
||||||
|
@ -318,15 +320,15 @@ globalize.translate('CancelSyncJobConfirmation');
|
||||||
|
|
||||||
stopListening(this);
|
stopListening(this);
|
||||||
|
|
||||||
this.options = null;
|
|
||||||
|
|
||||||
var onSyncJobsUpdatedHandler = this.onSyncJobsUpdatedHandler;
|
var onSyncJobsUpdatedHandler = this.onSyncJobsUpdatedHandler;
|
||||||
this.onSyncJobsUpdatedHandler = null;
|
this.onSyncJobsUpdatedHandler = null;
|
||||||
events.off(serverNotifications, 'SyncJobs', onSyncJobsUpdatedHandler);
|
events.off(serverNotifications, 'SyncJobs', onSyncJobsUpdatedHandler);
|
||||||
|
|
||||||
var onClickHandler = this.onClickHandler;
|
var onClickHandler = this.onClickHandler;
|
||||||
this.onClickHandler = null;
|
this.onClickHandler = null;
|
||||||
options.element.removeEventListener('click', onClickHandler);
|
this.options.element.removeEventListener('click', onClickHandler);
|
||||||
|
|
||||||
|
this.options = null;
|
||||||
};
|
};
|
||||||
|
|
||||||
return syncJobList;
|
return syncJobList;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<div id="mediaLibraryPage" data-role="page" class="page type-interior mediaLibraryPage librarySectionPage withTabs fullWidthContent" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Library%20setup" data-require="scripts/medialibrarypage,scripts/taskbutton">
|
<div id="mediaLibraryPage" data-role="page" class="page type-interior mediaLibraryPage librarySectionPage withTabs fullWidthContent" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Library%20setup" data-require="scripts/medialibrarypage">
|
||||||
|
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<div id="liveTvStatusPage" data-role="page" class="page type-interior liveTvSettingsPage withTabs" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Live%20TV" data-require="scripts/livetvstatus,scripts/taskbutton,emby-button">
|
<div id="liveTvStatusPage" data-role="page" class="page type-interior liveTvSettingsPage withTabs" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Live%20TV" data-require="scripts/livetvstatus,emby-button">
|
||||||
|
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
|
@ -2,9 +2,14 @@
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.status-text-icon {
|
.status-text-icon {
|
||||||
font-size: 80%;
|
font-size: 94%;
|
||||||
background-color: #444;
|
background-color: #444;
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
text-align: center;
|
||||||
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.zeroProgressStatus {
|
.zeroProgressStatus {
|
||||||
background-color: #444;
|
background-color: #444;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['jQuery', 'datetime', 'paper-icon-button-light'], function ($, datetime) {
|
define(['jQuery', 'scripts/taskbutton', 'datetime', 'paper-icon-button-light'], function ($, taskButton, datetime) {
|
||||||
|
|
||||||
var query = {
|
var query = {
|
||||||
|
|
||||||
|
@ -309,11 +309,12 @@
|
||||||
reloadItems(page);
|
reloadItems(page);
|
||||||
|
|
||||||
// on here
|
// on here
|
||||||
$('.btnOrganize', page).taskButton({
|
taskButton({
|
||||||
mode: 'on',
|
mode: 'on',
|
||||||
progressElem: page.querySelector('.organizeProgress'),
|
progressElem: page.querySelector('.organizeProgress'),
|
||||||
panel: page.querySelector('.organizeTaskPanel'),
|
panel: page.querySelector('.organizeTaskPanel'),
|
||||||
taskKey: 'AutoOrganize'
|
taskKey: 'AutoOrganize',
|
||||||
|
button: page.querySelector('.btnOrganize')
|
||||||
});
|
});
|
||||||
|
|
||||||
Events.on(ApiClient, 'websocketmessage', onWebSocketMessage);
|
Events.on(ApiClient, 'websocketmessage', onWebSocketMessage);
|
||||||
|
@ -325,8 +326,9 @@
|
||||||
currentResult = null;
|
currentResult = null;
|
||||||
|
|
||||||
// off here
|
// off here
|
||||||
$('.btnOrganize', page).taskButton({
|
taskButton({
|
||||||
mode: 'off'
|
mode: 'off',
|
||||||
|
button: page.querySelector('.btnOrganize')
|
||||||
});
|
});
|
||||||
|
|
||||||
Events.off(ApiClient, 'websocketmessage', onWebSocketMessage);
|
Events.off(ApiClient, 'websocketmessage', onWebSocketMessage);
|
||||||
|
|
|
@ -164,13 +164,18 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
ownerpage.addEventListener('viewbeforeshow', function () {
|
ownerpage.addEventListener('viewbeforeshow', function () {
|
||||||
if (tabs.triggerBeforeTabChange) {
|
if (tabs.triggerBeforeTabChange && this.firstTabIndex == null) {
|
||||||
tabs.triggerBeforeTabChange();
|
tabs.triggerBeforeTabChange();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
ownerpage.addEventListener('viewshow', function () {
|
ownerpage.addEventListener('viewshow', function () {
|
||||||
tabs.triggerTabChange();
|
if (this.firstTabIndex) {
|
||||||
|
tabs.selectedIndex(this.firstTabIndex);
|
||||||
|
this.firstTabIndex = null;
|
||||||
|
} else {
|
||||||
|
tabs.triggerTabChange();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
tabs.addEventListener('beforetabchange', function (e) {
|
tabs.addEventListener('beforetabchange', function (e) {
|
||||||
|
@ -195,10 +200,8 @@
|
||||||
|
|
||||||
var afterNavigate = function () {
|
var afterNavigate = function () {
|
||||||
|
|
||||||
document.removeEventListener('pagebeforeshow', afterNavigate);
|
document.removeEventListener('pageinit', afterNavigate);
|
||||||
|
|
||||||
if (window.location.href.toLowerCase().indexOf(url.toLowerCase()) != -1) {
|
if (window.location.href.toLowerCase().indexOf(url.toLowerCase()) != -1) {
|
||||||
|
|
||||||
this.firstTabIndex = index;
|
this.firstTabIndex = index;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -208,7 +211,7 @@
|
||||||
afterNavigate.call(viewManager.currentView());
|
afterNavigate.call(viewManager.currentView());
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
pageClassOn('pagebeforeshow', 'page', afterNavigate);
|
pageClassOn('pageinit', 'page', afterNavigate);
|
||||||
Dashboard.navigate(url);
|
Dashboard.navigate(url);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -674,7 +674,7 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
viewMenuBarTabs.querySelector('is=["emby-tabs"]').selectedIndex(selectedIndex);
|
viewMenuBarTabs.querySelector('[is="emby-tabs"]').selectedIndex(selectedIndex);
|
||||||
|
|
||||||
LibraryMenu.tabType = type;
|
LibraryMenu.tabType = type;
|
||||||
});
|
});
|
||||||
|
@ -797,11 +797,11 @@
|
||||||
else if (isReportsPage && itemId == 'reports') {
|
else if (isReportsPage && itemId == 'reports') {
|
||||||
lnkMediaFolder.classList.add('selectedMediaFolder');
|
lnkMediaFolder.classList.add('selectedMediaFolder');
|
||||||
}
|
}
|
||||||
else if (isMySyncPage && itemId == 'manageoffline') {
|
else if (isMySyncPage && itemId == 'manageoffline' && window.location.href.toString().indexOf('mode=offline') != -1) {
|
||||||
|
|
||||||
lnkMediaFolder.classList.add('selectedMediaFolder');
|
lnkMediaFolder.classList.add('selectedMediaFolder');
|
||||||
}
|
}
|
||||||
else if (isMySyncPage && itemId == 'syncotherdevices') {
|
else if (isMySyncPage && itemId == 'syncotherdevices' && window.location.href.toString().indexOf('mode=offline') == -1) {
|
||||||
|
|
||||||
lnkMediaFolder.classList.add('selectedMediaFolder');
|
lnkMediaFolder.classList.add('selectedMediaFolder');
|
||||||
}
|
}
|
||||||
|
@ -814,22 +814,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function replaceQueryString(url, param, value) {
|
|
||||||
var re = new RegExp("([?|&])" + param + "=.*?(&|$)", "i");
|
|
||||||
if (url.match(re))
|
|
||||||
return url.replace(re, '$1' + param + "=" + value + '$2');
|
|
||||||
else if (value) {
|
|
||||||
|
|
||||||
if (url.indexOf('?') == -1) {
|
|
||||||
return url + '?' + param + "=" + value;
|
|
||||||
}
|
|
||||||
|
|
||||||
return url + '&' + param + "=" + value;
|
|
||||||
}
|
|
||||||
|
|
||||||
return url;
|
|
||||||
}
|
|
||||||
|
|
||||||
function onWebSocketMessage(e, data) {
|
function onWebSocketMessage(e, data) {
|
||||||
|
|
||||||
var msg = data;
|
var msg = data;
|
||||||
|
@ -883,14 +867,10 @@
|
||||||
|
|
||||||
if (isDashboardPage) {
|
if (isDashboardPage) {
|
||||||
refreshDashboardInfoInDrawer(page);
|
refreshDashboardInfoInDrawer(page);
|
||||||
//mainDrawerPanel.forceNarrow = false;
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
if (navDrawerElement.classList.contains('adminDrawer')) {
|
if (navDrawerElement.classList.contains('adminDrawer')) {
|
||||||
refreshLibraryDrawer();
|
refreshLibraryDrawer();
|
||||||
}
|
}
|
||||||
|
|
||||||
//mainDrawerPanel.forceNarrow = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
setDrawerClass(page);
|
setDrawerClass(page);
|
||||||
|
|
|
@ -14,7 +14,8 @@
|
||||||
query: {
|
query: {
|
||||||
StartIndex: 0,
|
StartIndex: 0,
|
||||||
EnableFavoriteSorting: true,
|
EnableFavoriteSorting: true,
|
||||||
Limit: LibraryBrowser.getDefaultPageSize()
|
Limit: LibraryBrowser.getDefaultPageSize(),
|
||||||
|
Fields: "PrimaryImageAspectRatio"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['jQuery', 'listViewStyle'], function ($) {
|
define(['jQuery', 'scripts/taskbutton', 'listViewStyle'], function ($, taskButton) {
|
||||||
|
|
||||||
function resetTuner(page, id) {
|
function resetTuner(page, id) {
|
||||||
|
|
||||||
|
@ -595,10 +595,11 @@
|
||||||
reload(page);
|
reload(page);
|
||||||
|
|
||||||
// on here
|
// on here
|
||||||
$('.btnRefresh', page).taskButton({
|
taskButton({
|
||||||
mode: 'on',
|
mode: 'on',
|
||||||
progressElem: page.querySelector('.refreshGuideProgress'),
|
progressElem: page.querySelector('.refreshGuideProgress'),
|
||||||
taskKey: 'RefreshGuide'
|
taskKey: 'RefreshGuide',
|
||||||
|
button: page.querySelector('.btnRefresh')
|
||||||
});
|
});
|
||||||
|
|
||||||
}).on('pagehide', "#liveTvStatusPage", function () {
|
}).on('pagehide', "#liveTvStatusPage", function () {
|
||||||
|
@ -606,8 +607,11 @@
|
||||||
var page = this;
|
var page = this;
|
||||||
|
|
||||||
// off here
|
// off here
|
||||||
$('.btnRefreshGuide', page).taskButton({
|
taskButton({
|
||||||
mode: 'off'
|
mode: 'off',
|
||||||
|
progressElem: page.querySelector('.refreshGuideProgress'),
|
||||||
|
taskKey: 'RefreshGuide',
|
||||||
|
button: page.querySelector('.btnRefresh')
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['jQuery', 'apphost', 'cardStyle'], function ($, appHost) {
|
define(['jQuery', 'apphost', 'scripts/taskbutton', 'cardStyle'], function ($, appHost, taskButton) {
|
||||||
|
|
||||||
function changeCollectionType(page, virtualFolder) {
|
function changeCollectionType(page, virtualFolder) {
|
||||||
|
|
||||||
|
@ -461,10 +461,11 @@
|
||||||
var page = this;
|
var page = this;
|
||||||
|
|
||||||
// on here
|
// on here
|
||||||
$('.btnRefresh', page).taskButton({
|
taskButton({
|
||||||
mode: 'on',
|
mode: 'on',
|
||||||
progressElem: page.querySelector('.refreshProgress'),
|
progressElem: page.querySelector('.refreshProgress'),
|
||||||
taskKey: 'RefreshLibrary'
|
taskKey: 'RefreshLibrary',
|
||||||
|
button: page.querySelector('.btnRefresh')
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
@ -474,8 +475,11 @@
|
||||||
var page = this;
|
var page = this;
|
||||||
|
|
||||||
// off here
|
// off here
|
||||||
$('.btnRefresh', page).taskButton({
|
taskButton({
|
||||||
mode: 'off'
|
mode: 'off',
|
||||||
|
progressElem: page.querySelector('.refreshProgress'),
|
||||||
|
taskKey: 'RefreshLibrary',
|
||||||
|
button: page.querySelector('.btnRefresh')
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
@ -191,14 +191,12 @@
|
||||||
|
|
||||||
view.addEventListener('viewbeforeshow', function (e) {
|
view.addEventListener('viewbeforeshow', function (e) {
|
||||||
document.body.classList.add('hiddenViewMenuBar');
|
document.body.classList.add('hiddenViewMenuBar');
|
||||||
document.body.classList.add('hiddenNowPlayingBar');
|
|
||||||
LibraryMenu.setMenuButtonVisible(false);
|
LibraryMenu.setMenuButtonVisible(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
view.addEventListener('viewbeforehide', function (e) {
|
view.addEventListener('viewbeforehide', function (e) {
|
||||||
|
|
||||||
document.body.classList.remove('hiddenViewMenuBar');
|
document.body.classList.remove('hiddenViewMenuBar');
|
||||||
document.body.classList.remove('hiddenNowPlayingBar');
|
|
||||||
LibraryMenu.setMenuButtonVisible(true);
|
LibraryMenu.setMenuButtonVisible(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['loading', 'apphost', 'globalize', 'syncJobList', 'events', 'localsync', 'emby-button', 'paper-icon-button-light'], function (loading, appHost, globalize, syncJobList, events) {
|
define(['loading', 'apphost', 'globalize', 'syncJobList', 'events', 'scripts/taskbutton', 'localsync', 'emby-button', 'paper-icon-button-light'], function (loading, appHost, globalize, syncJobList, events, taskButton) {
|
||||||
|
|
||||||
function getTabs() {
|
function getTabs() {
|
||||||
return [
|
return [
|
||||||
|
@ -57,6 +57,22 @@
|
||||||
view.addEventListener('viewshow', function () {
|
view.addEventListener('viewshow', function () {
|
||||||
|
|
||||||
LibraryMenu.setTabs('syncadmin', 0, getTabs);
|
LibraryMenu.setTabs('syncadmin', 0, getTabs);
|
||||||
|
|
||||||
|
taskButton({
|
||||||
|
mode: 'on',
|
||||||
|
progressElem: view.querySelector('.syncProgress'),
|
||||||
|
taskKey: 'SyncPrepare',
|
||||||
|
button: view.querySelector('.btnSync')
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
view.addEventListener('viewbeforehide', function () {
|
||||||
|
|
||||||
|
taskButton({
|
||||||
|
mode: 'off',
|
||||||
|
taskKey: 'SyncPrepare',
|
||||||
|
button: view.querySelector('.btnSync')
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
view.addEventListener('viewdestroy', function () {
|
view.addEventListener('viewdestroy', function () {
|
||||||
|
|
|
@ -1,21 +1,19 @@
|
||||||
define(['appStorage', 'jQuery', 'emby-button'], function (appStorage, $) {
|
define(['appStorage', 'emby-button'], function (appStorage) {
|
||||||
|
|
||||||
$.fn.taskButton = function (options) {
|
return function (options) {
|
||||||
|
|
||||||
function pollTasks(button) {
|
var button = options.button;
|
||||||
|
|
||||||
|
function pollTasks() {
|
||||||
|
|
||||||
ApiClient.getScheduledTasks({
|
ApiClient.getScheduledTasks({
|
||||||
|
|
||||||
IsEnabled: true
|
IsEnabled: true
|
||||||
|
|
||||||
}).then(function (tasks) {
|
}).then(updateTasks);
|
||||||
|
|
||||||
updateTasks(button, tasks);
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateTasks(button, tasks) {
|
function updateTasks(tasks) {
|
||||||
|
|
||||||
var task = tasks.filter(function (t) {
|
var task = tasks.filter(function (t) {
|
||||||
|
|
||||||
|
@ -36,12 +34,12 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if (task.State == 'Idle') {
|
if (task.State == 'Idle') {
|
||||||
$(button).removeAttr('disabled');
|
button.removeAttribute('disabled');
|
||||||
} else {
|
} else {
|
||||||
$(button).attr('disabled', 'disabled');
|
button.setAttribute('disabled', 'disabled');
|
||||||
}
|
}
|
||||||
|
|
||||||
$(button).attr('data-taskid', task.Id);
|
button.setAttribute('data-taskid', task.Id);
|
||||||
|
|
||||||
var progress = (task.CurrentProgressPercentage || 0).toFixed(1);
|
var progress = (task.CurrentProgressPercentage || 0).toFixed(1);
|
||||||
|
|
||||||
|
@ -72,11 +70,8 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function onScheduledTaskMessageConfirmed(instance, id) {
|
function onScheduledTaskMessageConfirmed(id) {
|
||||||
ApiClient.startScheduledTask(id).then(function () {
|
ApiClient.startScheduledTask(id).then(pollTasks);
|
||||||
|
|
||||||
pollTasks(instance);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function onButtonClick() {
|
function onButtonClick() {
|
||||||
|
@ -88,7 +83,7 @@
|
||||||
var expectedValue = new Date().getMonth() + '6';
|
var expectedValue = new Date().getMonth() + '6';
|
||||||
|
|
||||||
if (appStorage.getItem(key) == expectedValue) {
|
if (appStorage.getItem(key) == expectedValue) {
|
||||||
onScheduledTaskMessageConfirmed(button, id);
|
onScheduledTaskMessageConfirmed(id);
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
var msg = Globalize.translate('ConfirmMessageScheduledTaskButton');
|
var msg = Globalize.translate('ConfirmMessageScheduledTaskButton');
|
||||||
|
@ -107,7 +102,7 @@
|
||||||
|
|
||||||
}).then(function () {
|
}).then(function () {
|
||||||
appStorage.setItem(key, expectedValue);
|
appStorage.setItem(key, expectedValue);
|
||||||
onScheduledTaskMessageConfirmed(button, id);
|
onScheduledTaskMessageConfirmed(id);
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
@ -123,17 +118,16 @@
|
||||||
|
|
||||||
var tasks = msg.Data;
|
var tasks = msg.Data;
|
||||||
|
|
||||||
updateTasks(self, tasks);
|
updateTasks(tasks);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var self = this;
|
|
||||||
var pollInterval;
|
var pollInterval;
|
||||||
|
|
||||||
function onPollIntervalFired() {
|
function onPollIntervalFired() {
|
||||||
|
|
||||||
if (!ApiClient.isWebSocketOpen()) {
|
if (!ApiClient.isWebSocketOpen()) {
|
||||||
pollTasks(self);
|
pollTasks();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -162,23 +156,21 @@
|
||||||
|
|
||||||
if (options.mode == 'off') {
|
if (options.mode == 'off') {
|
||||||
|
|
||||||
this.off('click', onButtonClick);
|
button.removeEventListener('click', onButtonClick);
|
||||||
Events.off(ApiClient, 'websocketmessage', onSocketMessage);
|
Events.off(ApiClient, 'websocketmessage', onSocketMessage);
|
||||||
Events.off(ApiClient, 'websocketopen', onSocketOpen);
|
Events.off(ApiClient, 'websocketopen', onSocketOpen);
|
||||||
stopInterval();
|
stopInterval();
|
||||||
|
|
||||||
} else if (this.length) {
|
} else {
|
||||||
|
|
||||||
this.on('click', onButtonClick);
|
button.addEventListener('click', onButtonClick);
|
||||||
|
|
||||||
pollTasks(self);
|
pollTasks();
|
||||||
|
|
||||||
startInterval();
|
startInterval();
|
||||||
|
|
||||||
Events.on(ApiClient, 'websocketmessage', onSocketMessage);
|
Events.on(ApiClient, 'websocketmessage', onSocketMessage);
|
||||||
Events.on(ApiClient, 'websocketopen', onSocketOpen);
|
Events.on(ApiClient, 'websocketopen', onSocketOpen);
|
||||||
}
|
}
|
||||||
|
|
||||||
return this;
|
|
||||||
};
|
};
|
||||||
});
|
});
|
|
@ -1,5 +1,19 @@
|
||||||
<div id="syncActivityPage" data-role="page" class="page type-interior syncConfigurationPage syncActivityPage withTabs fullWidthContent" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Sync">
|
<div id="syncActivityPage" data-role="page" class="page type-interior syncConfigurationPage syncActivityPage withTabs fullWidthContent" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Sync">
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.status-text-icon {
|
||||||
|
font-size: 94%;
|
||||||
|
background-color: #444;
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
text-align: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zeroProgressStatus {
|
||||||
|
background-color: #444;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
<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