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

continue jquery reduction

This commit is contained in:
Luke Pulverenti 2016-06-19 12:53:53 -04:00
parent de7178ecec
commit 72c0f869f8
13 changed files with 238 additions and 270 deletions

View file

@ -93,6 +93,7 @@
<div style="text-align: center; display: flex; flex-wrap: wrap; align-items: center; justify-content: center;padding:.7em .5em;"> <div style="text-align: center; display: flex; flex-wrap: wrap; align-items: center; justify-content: center;padding:.7em .5em;">
<div class="paging"></div> <div class="paging"></div>
<button is="paper-icon-button-light" class="btnSelectView autoSize" title="${ButtonSelectView}"><i class="md-icon">view_comfy</i></button> <button is="paper-icon-button-light" class="btnSelectView autoSize" title="${ButtonSelectView}"><i class="md-icon">view_comfy</i></button>
<button is="paper-icon-button-light" class="btnSort autoSize" title="${ButtonSort}"><i class="md-icon">sort_by_alpha</i></button>
<button is="paper-icon-button-light" class="btnFilter autoSize" title="${ButtonFilter}"><i class="md-icon">filter_list</i></button> <button is="paper-icon-button-light" class="btnFilter autoSize" title="${ButtonFilter}"><i class="md-icon">filter_list</i></button>
</div> </div>

View file

@ -1,4 +1,4 @@
<div id="displayPreferencesPage" data-role="page" class="page libraryPage userPreferencesPage noSecondaryNavPage" data-title="${HeaderDisplaySettings}" data-require="scripts/mypreferencesdisplay,emby-checkbox,emby-button,emby-select" data-backbutton="true" data-menubutton="false"> <div id="displayPreferencesPage" data-role="page" class="page libraryPage userPreferencesPage noSecondaryNavPage" data-title="${HeaderDisplaySettings}" data-backbutton="true" data-menubutton="false">
<div data-role="content"> <div data-role="content">
<form class="displayPreferencesForm userProfileSettingsForm" style="margin: 0 auto;"> <form class="displayPreferencesForm userProfileSettingsForm" style="margin: 0 auto;">
<div class="detailSection languageSection hide"> <div class="detailSection languageSection hide">
@ -64,7 +64,7 @@
<div class="fieldDescription">${LabelEnableThemeSongsHelp}</div> <div class="fieldDescription">${LabelEnableThemeSongsHelp}</div>
</div> </div>
<br /> <br />
<div class="fldEnableBackdrops selectContainer" style="display:none;"> <div class="fldEnableBackdrops selectContainer">
<select id="selectBackdrop" is="emby-select" label="${LabelEnableBackdrops}"> <select id="selectBackdrop" is="emby-select" label="${LabelEnableBackdrops}">
<option value="">${OptionAuto}</option> <option value="">${OptionAuto}</option>
<option value="1">${OptionYes}</option> <option value="1">${OptionYes}</option>

View file

@ -1,4 +1,4 @@
<div id="languagePreferencesPage" data-role="page" class="page libraryPage userPreferencesPage noSecondaryNavPage" data-title="${HeaderPlaybackSettings}" data-require="scripts/mypreferenceslanguages,emby-checkbox,emby-button" data-backbutton="true" data-menubutton="false"> <div id="languagePreferencesPage" data-role="page" class="page libraryPage userPreferencesPage noSecondaryNavPage" data-title="${HeaderPlaybackSettings}" data-backbutton="true" data-menubutton="false">
<div data-role="content"> <div data-role="content">
@ -40,14 +40,14 @@
<option value="Always">${OptionAlwaysPlaySubtitles}</option> <option value="Always">${OptionAlwaysPlaySubtitles}</option>
<option value="None">${OptionNoSubtitles}</option> <option value="None">${OptionNoSubtitles}</option>
</select> </select>
<div class="fieldDescription subtitlesDefaultHelp subtitlesHelp" style="display: none;">${OptionDefaultSubtitlesHelp}</div> <div class="fieldDescription subtitlesDefaultHelp subtitlesHelp hide">${OptionDefaultSubtitlesHelp}</div>
<div class="fieldDescription subtitlesSmartHelp subtitlesHelp" style="display: none;">${OptionSmartSubtitlesHelp}</div> <div class="fieldDescription subtitlesSmartHelp subtitlesHelp hide">${OptionSmartSubtitlesHelp}</div>
<div class="fieldDescription subtitlesAlwaysHelp subtitlesHelp" style="display: none;">${OptionAlwaysPlaySubtitlesHelp}</div> <div class="fieldDescription subtitlesAlwaysHelp subtitlesHelp hide">${OptionAlwaysPlaySubtitlesHelp}</div>
<div class="fieldDescription subtitlesOnlyForcedHelp subtitlesHelp" style="display: none;">${OptionOnlyForcedSubtitlesHelp}</div> <div class="fieldDescription subtitlesOnlyForcedHelp subtitlesHelp hide">${OptionOnlyForcedSubtitlesHelp}</div>
<div class="fieldDescription subtitlesNoneHelp subtitlesHelp" style="display: none;">${OptionNoSubtitlesHelp}</div> <div class="fieldDescription subtitlesNoneHelp subtitlesHelp hide">${OptionNoSubtitlesHelp}</div>
</div> </div>
<div class="detailSection cinemaModeOptions" style="display:none;"> <div class="detailSection cinemaModeOptions hide">
<h1> <h1>
${HeaderCinemaMode} ${HeaderCinemaMode}
</h1> </h1>
@ -88,8 +88,8 @@
<span>${OptionEnableExternalVideoPlayers}</span> <span>${OptionEnableExternalVideoPlayers}</span>
</label> </label>
<div class="fieldDescription checkboxFieldDescription"> <div class="fieldDescription checkboxFieldDescription">
<div style="display:none;" class="labelGenericExternalPlayers">${LabelExternalPlayersHelp}</div> <div class="labelGenericExternalPlayers hide">${LabelExternalPlayersHelp}</div>
<div style="display:none;" class="labelNativeExternalPlayers">${LabelNativeExternalPlayersHelp}</div> <div class="labelNativeExternalPlayers hide">${LabelNativeExternalPlayersHelp}</div>
</div> </div>
</div> </div>
</div> </div>

View file

@ -1,4 +1,4 @@
<div id="mySyncActivityPage" data-role="page" class="page libraryPage syncActivityPage mySyncPage noSecondaryNavPage" data-contextname="${TitleSync}" data-require="scripts/syncactivity,scripts/taskbutton,scripts/mysync,paper-spinner,paper-fab,emby-button"> <div id="mySyncActivityPage" data-role="page" class="page libraryPage syncActivityPage mySyncPage noSecondaryNavPage" data-contextname="${TitleSync}">
<div data-role="content"> <div data-role="content">

View file

@ -1,4 +1,4 @@
<div id="syncPreferencesPage" data-role="page" class="page libraryPage userPreferencesPage noSecondaryNavPage" data-title="${ButtonSyncSettings}" data-require="scripts/mysyncsettings,emby-checkbox,emby-input,emby-button,paper-icon-button-light" data-backbutton="true" data-menubutton="false"> <div id="syncPreferencesPage" data-role="page" class="page libraryPage userPreferencesPage noSecondaryNavPage" data-title="${ButtonSyncSettings}" data-backbutton="true" data-menubutton="false">
<div data-role="content"> <div data-role="content">
<form class="userProfileSettingsForm" style="margin: 0 auto;"> <form class="userProfileSettingsForm" style="margin: 0 auto;">

View file

@ -91,7 +91,7 @@
} }
if (headerUserButton) { if (headerUserButton) {
updateHeaderUserButton(headerUserButton, url, null); updateHeaderUserButton(headerUserButton, url);
hasImage = true; hasImage = true;
} }
} }
@ -99,7 +99,7 @@
if (headerUserButton && !hasImage) { if (headerUserButton && !hasImage) {
updateHeaderUserButton(headerUserButton, null, 'person'); updateHeaderUserButton(headerUserButton, null);
} }
if (user) { if (user) {
updateLocalUser(user.localUser); updateLocalUser(user.localUser);
@ -108,19 +108,16 @@
requiresUserRefresh = false; requiresUserRefresh = false;
} }
function updateHeaderUserButton(headerUserButton, src, icon) { function updateHeaderUserButton(headerUserButton, src) {
if (src) { if (src) {
headerUserButton.classList.add('headerUserButtonRound'); headerUserButton.classList.add('headerUserButtonRound');
headerUserButton.classList.remove('autoSize'); headerUserButton.classList.remove('autoSize');
headerUserButton.innerHTML = '<img src="' + src + '" />'; headerUserButton.innerHTML = '<img src="' + src + '" />';
} else if (icon) {
headerUserButton.classList.remove('headerUserButtonRound');
headerUserButton.classList.add('autoSize');
headerUserButton.innerHTML = '<i class="md-icon>' + icon + '</i>';
} else { } else {
headerUserButton.classList.add('autoSize');
headerUserButton.classList.remove('headerUserButtonRound'); headerUserButton.classList.remove('headerUserButtonRound');
headerUserButton.classList.add('autoSize');
headerUserButton.innerHTML = '<i class="md-icon">person</i>';
} }
} }

View file

@ -1,5 +1,17 @@
define([], function () { define([], function () {
function getApiClient() {
var serverId = getParameterByName('serverid');
if (serverId) {
return ConnectionManager.getOrCreateApiClient(serverId);
} else {
return ApiClient;
}
}
var LoginPage = { var LoginPage = {
showVisualForm: function (page) { showVisualForm: function (page) {
@ -68,18 +80,6 @@
}); });
} }
function getApiClient() {
var serverId = getParameterByName('serverid');
if (serverId) {
return Promise.resolve(ConnectionManager.getOrCreateApiClient(serverId));
} else {
return Promise.resolve(ApiClient);
}
}
function showManualForm(context, showCancel, focusPassword) { function showManualForm(context, showCancel, focusPassword) {
context.querySelector('.manualLoginForm').classList.remove('hide'); context.querySelector('.manualLoginForm').classList.remove('hide');
@ -198,9 +198,9 @@
}); });
view.querySelector('.manualLoginForm').addEventListener('submit', function (e) { view.querySelector('.manualLoginForm').addEventListener('submit', function (e) {
getApiClient().then(function (apiClient) {
var apiClient = getApiClient();
LoginPage.authenticateUserByName(view, apiClient, view.querySelector('#txtManualName').value, view.querySelector('#txtManualPassword').value); LoginPage.authenticateUserByName(view, apiClient, view.querySelector('#txtManualName').value, view.querySelector('#txtManualPassword').value);
});
e.preventDefault(); e.preventDefault();
// Disable default form submission // Disable default form submission
@ -222,8 +222,7 @@
view.addEventListener('viewshow', function (e) { view.addEventListener('viewshow', function (e) {
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
getApiClient().then(function (apiClient) { var apiClient = getApiClient();
apiClient.getPublicUsers().then(function (users) { apiClient.getPublicUsers().then(function (users) {
if (!users.length) { if (!users.length) {
@ -243,7 +242,6 @@
view.querySelector('.disclaimer').innerHTML = options.LoginDisclaimer || ''; view.querySelector('.disclaimer').innerHTML = options.LoginDisclaimer || '';
}); });
});
if (Dashboard.isConnectMode()) { if (Dashboard.isConnectMode()) {
view.querySelector('.connectButtons').classList.remove('hide'); view.querySelector('.connectButtons').classList.remove('hide');

View file

@ -1,14 +1,14 @@
define(['userSettings', 'appStorage', 'jQuery'], function (userSettings, appStorage, $) { define(['userSettings', 'appStorage'], function (userSettings, appStorage) {
function loadForm(page, user) { function loadForm(page, user) {
page.querySelector('.chkDisplayMissingEpisodes').checked = user.Configuration.DisplayMissingEpisodes || false; page.querySelector('.chkDisplayMissingEpisodes').checked = user.Configuration.DisplayMissingEpisodes || false;
page.querySelector('.chkDisplayUnairedEpisodes').checked = user.Configuration.DisplayUnairedEpisodes || false; page.querySelector('.chkDisplayUnairedEpisodes').checked = user.Configuration.DisplayUnairedEpisodes || false;
$('#selectThemeSong', page).val(appStorage.getItem('enableThemeSongs-' + user.Id) || ''); page.querySelector('#selectThemeSong').value = appStorage.getItem('enableThemeSongs-' + user.Id) || '';
$('#selectBackdrop', page).val(appStorage.getItem('enableBackdrops-' + user.Id) || ''); page.querySelector('#selectBackdrop').value = appStorage.getItem('enableBackdrops-' + user.Id) || '';
$('#selectLanguage', page).val(userSettings.language() || ''); page.querySelector('#selectLanguage').value = userSettings.language() || '';
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
} }
@ -20,8 +20,8 @@
userSettings.language(page.querySelector('#selectLanguage').value); userSettings.language(page.querySelector('#selectLanguage').value);
appStorage.setItem('enableThemeSongs-' + user.Id, $('#selectThemeSong', page).val()); appStorage.setItem('enableThemeSongs-' + user.Id, page.querySelector('#selectThemeSong').value);
appStorage.setItem('enableBackdrops-' + user.Id, $('#selectBackdrop', page).val()); appStorage.setItem('enableBackdrops-' + user.Id, page.querySelector('#selectBackdrop').value);
return ApiClient.updateUserConfiguration(user.Id, user.Configuration); return ApiClient.updateUserConfiguration(user.Id, user.Configuration);
} }
@ -52,31 +52,22 @@
}); });
} }
function onSubmit() { return function (view, params) {
var page = $(this).parents('.page')[0];
save(page);
view.querySelector('.displayPreferencesForm').addEventListener('submit', function (e) {
save(view);
e.preventDefault();
// Disable default form submission // Disable default form submission
return false; return false;
} });
pageIdOn('pageinit', "displayPreferencesPage", function () {
var page = this;
$('.displayPreferencesForm').off('submit', onSubmit).on('submit', onSubmit);
if (AppInfo.enableAutoSave) { if (AppInfo.enableAutoSave) {
page.querySelector('.btnSave').classList.add('hide'); view.querySelector('.btnSave').classList.add('hide');
} else { } else {
page.querySelector('.btnSave').classList.remove('hide'); view.querySelector('.btnSave').classList.remove('hide');
} }
}); view.addEventListener('viewshow', function () {
pageIdOn('pageshow', "displayPreferencesPage", function () {
var page = this; var page = this;
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
@ -87,30 +78,30 @@
loadForm(page, user); loadForm(page, user);
var requiresUserPreferences = view.querySelectorAll('.requiresUserPreferences');
for (var i = 0, length = requiresUserPreferences.length; i < length; i++) {
if (user.Policy.EnableUserPreferenceAccess) { if (user.Policy.EnableUserPreferenceAccess) {
$('.requiresUserPreferences', page).show(); requiresUserPreferences[i].classList.remove('hide');
} else { } else {
$('.requiresUserPreferences', page).hide(); requiresUserPreferences[i].classList.add('hide');
}
} }
}); });
$('.fldEnableBackdrops', page).show();
if (AppInfo.supportsUserDisplayLanguageSetting) { if (AppInfo.supportsUserDisplayLanguageSetting) {
page.querySelector('.languageSection').classList.remove('hide'); page.querySelector('.languageSection').classList.remove('hide');
} else { } else {
page.querySelector('.languageSection').classList.add('hide'); page.querySelector('.languageSection').classList.add('hide');
} }
}); });
pageIdOn('pagebeforehide', "displayPreferencesPage", function () {
view.addEventListener('viewbeforehide', function () {
var page = this; var page = this;
if (AppInfo.enableAutoSave) { if (AppInfo.enableAutoSave) {
save(page); save(page);
} }
});
}); };
}); });

View file

@ -1,4 +1,4 @@
define(['appSettings', 'userSettings', 'jQuery'], function (appSettings, userSettings, $) { define(['appSettings', 'userSettings'], function (appSettings, userSettings) {
function populateLanguages(select, languages) { function populateLanguages(select, languages) {
@ -13,22 +13,22 @@
html += "<option value='" + culture.ThreeLetterISOLanguageName + "'>" + culture.DisplayName + "</option>"; html += "<option value='" + culture.ThreeLetterISOLanguageName + "'>" + culture.DisplayName + "</option>";
} }
$(select).html(html); select.innerHTML = html;
} }
function loadForm(page, user, loggedInUser, allCulturesPromise) { function loadForm(page, user, loggedInUser, allCulturesPromise) {
allCulturesPromise.then(function (allCultures) { allCulturesPromise.then(function (allCultures) {
populateLanguages($('#selectAudioLanguage', page), allCultures); populateLanguages(page.querySelector('#selectAudioLanguage'), allCultures);
populateLanguages($('#selectSubtitleLanguage', page), allCultures); populateLanguages(page.querySelector('#selectSubtitleLanguage'), allCultures);
$('#selectAudioLanguage', page).val(user.Configuration.AudioLanguagePreference || ""); page.querySelector('#selectAudioLanguage', page).value = user.Configuration.AudioLanguagePreference || "";
$('#selectSubtitleLanguage', page).val(user.Configuration.SubtitleLanguagePreference || ""); page.querySelector('#selectSubtitleLanguage', page).value = user.Configuration.SubtitleLanguagePreference || "";
page.querySelector('.chkEpisodeAutoPlay').checked = user.Configuration.EnableNextEpisodeAutoPlay || false; page.querySelector('.chkEpisodeAutoPlay').checked = user.Configuration.EnableNextEpisodeAutoPlay || false;
}); });
$('#selectSubtitlePlaybackMode', page).val(user.Configuration.SubtitleMode || "").trigger('change'); page.querySelector('#selectSubtitlePlaybackMode').value = user.Configuration.SubtitleMode || "";
page.querySelector('.chkPlayDefaultAudioTrack').checked = user.Configuration.PlayDefaultAudioTrack || false; page.querySelector('.chkPlayDefaultAudioTrack').checked = user.Configuration.PlayDefaultAudioTrack || false;
page.querySelector('.chkEnableCinemaMode').checked = userSettings.enableCinemaMode(); page.querySelector('.chkEnableCinemaMode').checked = userSettings.enableCinemaMode();
@ -44,16 +44,16 @@
bitrateOptions = '<option value="">' + Globalize.translate('OptionAutomatic') + '</option>' + bitrateOptions; bitrateOptions = '<option value="">' + Globalize.translate('OptionAutomatic') + '</option>' + bitrateOptions;
$('#selectMaxBitrate', page).html(bitrateOptions); page.querySelector('#selectMaxBitrate').innerHTML = bitrateOptions;
$('#selectMaxChromecastBitrate', page).html(bitrateOptions); page.querySelector('#selectMaxChromecastBitrate').innerHTML = bitrateOptions;
if (appSettings.enableAutomaticBitrateDetection()) { if (appSettings.enableAutomaticBitrateDetection()) {
$('#selectMaxBitrate', page).val(''); page.querySelector('#selectMaxBitrate').value = '';
} else { } else {
$('#selectMaxBitrate', page).val(appSettings.maxStreamingBitrate()); page.querySelector('#selectMaxBitrate').value = appSettings.maxStreamingBitrate();
} }
$('#selectMaxChromecastBitrate', page).val(appSettings.maxChromecastBitrate()); page.querySelector('#selectMaxChromecastBitrate').value = appSettings.maxChromecastBitrate();
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
}); });
@ -80,19 +80,19 @@
ApiClient.getNamedConfiguration("cinemamode").then(function (cinemaConfig) { ApiClient.getNamedConfiguration("cinemamode").then(function (cinemaConfig) {
if (cinemaConfig.EnableIntrosForMovies || cinemaConfig.EnableIntrosForEpisodes) { if (cinemaConfig.EnableIntrosForMovies || cinemaConfig.EnableIntrosForEpisodes) {
$('.cinemaModeOptions', page).show(); page.querySelector('.cinemaModeOptions').classList.remove('hide');
} else { } else {
$('.cinemaModeOptions', page).hide(); page.querySelector('.cinemaModeOptions').classList.add('hide');
} }
}); });
} }
function saveUser(page, user) { function saveUser(page, user) {
user.Configuration.AudioLanguagePreference = $('#selectAudioLanguage', page).val(); user.Configuration.AudioLanguagePreference = page.querySelector('#selectAudioLanguage').value;
user.Configuration.SubtitleLanguagePreference = $('#selectSubtitleLanguage', page).val(); user.Configuration.SubtitleLanguagePreference = page.querySelector('#selectSubtitleLanguage').value;
user.Configuration.SubtitleMode = $('#selectSubtitlePlaybackMode', page).val(); user.Configuration.SubtitleMode = page.querySelector('#selectSubtitlePlaybackMode').value;
user.Configuration.PlayDefaultAudioTrack = page.querySelector('.chkPlayDefaultAudioTrack').checked; user.Configuration.PlayDefaultAudioTrack = page.querySelector('.chkPlayDefaultAudioTrack').checked;
user.Configuration.EnableNextEpisodeAutoPlay = page.querySelector('.chkEpisodeAutoPlay').checked; user.Configuration.EnableNextEpisodeAutoPlay = page.querySelector('.chkEpisodeAutoPlay').checked;
userSettings.enableCinemaMode(page.querySelector('.chkEnableCinemaMode').checked); userSettings.enableCinemaMode(page.querySelector('.chkEnableCinemaMode').checked);
@ -104,14 +104,14 @@
appSettings.enableExternalPlayers(page.querySelector('.chkExternalVideoPlayer').checked); appSettings.enableExternalPlayers(page.querySelector('.chkExternalVideoPlayer').checked);
if ($('#selectMaxBitrate', page).val()) { if (page.querySelector('#selectMaxBitrate').value) {
appSettings.maxStreamingBitrate($('#selectMaxBitrate', page).val()); appSettings.maxStreamingBitrate(page.querySelector('#selectMaxBitrate').value);
appSettings.enableAutomaticBitrateDetection(false); appSettings.enableAutomaticBitrateDetection(false);
} else { } else {
appSettings.enableAutomaticBitrateDetection(true); appSettings.enableAutomaticBitrateDetection(true);
} }
appSettings.maxChromecastBitrate($('#selectMaxChromecastBitrate', page).val()); appSettings.maxChromecastBitrate(page.querySelector('#selectMaxChromecastBitrate').value);
var userId = getParameterByName('userId') || Dashboard.getCurrentUserId(); var userId = getParameterByName('userId') || Dashboard.getCurrentUserId();
@ -137,63 +137,57 @@
}); });
} }
function onSubmit() { return function (view, params) {
var page = $(this).parents('.page')[0]; view.querySelector('#selectSubtitlePlaybackMode').addEventListener('change', function () {
save(page); var subtitlesHelp = view.querySelectorAll('.subtitlesHelp');
for (var i = 0, length = subtitlesHelp.length; i < length; i++) {
subtitlesHelp[i].classList.add('hide');
}
view.querySelector('.subtitles' + this.value + 'Help').classList.remove('hide');
});
view.querySelector('.languagePreferencesForm').addEventListener('submit', function (e) {
save(view);
// Disable default form submission // Disable default form submission
e.preventDefault();
return false; return false;
}
pageIdOn('pageinit', "languagePreferencesPage", function () {
var page = this;
$('#selectSubtitlePlaybackMode', page).on('change', function () {
$('.subtitlesHelp', page).hide();
$('.subtitles' + this.value + 'Help', page).show();
}); });
$('.languagePreferencesForm').off('submit', onSubmit).on('submit', onSubmit);
if (AppInfo.enableAutoSave) { if (AppInfo.enableAutoSave) {
page.querySelector('.btnSave').classList.add('hide'); view.querySelector('.btnSave').classList.add('hide');
} else { } else {
page.querySelector('.btnSave').classList.remove('hide'); view.querySelector('.btnSave').classList.remove('hide');
} }
});
pageIdOn('pageshow', "languagePreferencesPage", function () { view.addEventListener('viewshow', function () {
var page = this;
if (AppInfo.supportsExternalPlayers) { if (AppInfo.supportsExternalPlayers) {
$('.fldExternalPlayer', page).show(); view.querySelector('.fldExternalPlayer').classList.remove('hide');
} else { } else {
$('.fldExternalPlayer', page).hide(); view.querySelector('.fldExternalPlayer').classList.add('hide');
} }
if (AppInfo.supportsExternalPlayerMenu) { if (AppInfo.supportsExternalPlayerMenu) {
$('.labelNativeExternalPlayers', page).show(); view.querySelector('.labelNativeExternalPlayers').classList.remove('hide');
$('.labelGenericExternalPlayers', page).hide(); view.querySelector('.labelGenericExternalPlayers').classList.add('hide');
} else { } else {
$('.labelGenericExternalPlayers', page).show(); view.querySelector('.labelGenericExternalPlayers').classList.remove('hide');
$('.labelNativeExternalPlayers', page).hide(); view.querySelector('.labelNativeExternalPlayers').classList.add('hide');
} }
loadPage(page); loadPage(view);
}); });
pageIdOn('pagebeforehide', "languagePreferencesPage", function () { view.addEventListener('viewbeforehide', function () {
var page = this; var page = this;
if (AppInfo.enableAutoSave) { if (AppInfo.enableAutoSave) {
save(page); save(page);
} }
}); });
};
}); });

View file

@ -1,9 +1,7 @@
define(['jQuery'], function ($) { define(['localsync'], function () {
function refreshSyncStatus(page) { function refreshSyncStatus(page) {
require(['localsync'], function () {
if (LocalSync.isSupported()) { if (LocalSync.isSupported()) {
var status = LocalSync.getSyncStatus(); var status = LocalSync.getSyncStatus();
@ -19,45 +17,35 @@
} }
} }
});
} }
function syncNow(page) { function syncNow(page) {
require(['localsync'], function () {
LocalSync.sync(); LocalSync.sync();
require(['toast'], function (toast) { require(['toast'], function (toast) {
toast(Globalize.translate('MessageSyncStarted')); toast(Globalize.translate('MessageSyncStarted'));
}); });
refreshSyncStatus(page); refreshSyncStatus(page);
});
} }
return function (view, params) {
var interval; var interval;
$(document).on('pageinit', "#mySyncActivityPage", function () { view.querySelector('.btnSyncNow').addEventListener('click', function () {
syncNow(view);
var page = this;
$('.btnSyncNow', page).on('click', function () {
syncNow(page);
}); });
require(['localsync'], function () {
if (LocalSync.isSupported()) { if (LocalSync.isSupported()) {
page.querySelector('.localSyncStatus').classList.remove('hide'); view.querySelector('.localSyncStatus').classList.remove('hide');
} else { } else {
page.querySelector('.localSyncStatus').classList.add('hide'); view.querySelector('.localSyncStatus').classList.add('hide');
page.querySelector('.syncSpinner').active = false; view.querySelector('.syncSpinner').active = false;
} }
});
}).on('pagebeforeshow', "#mySyncActivityPage", function () {
view.addEventListener('viewbeforeshow', function () {
var page = this; var page = this;
refreshSyncStatus(page); refreshSyncStatus(page);
@ -65,9 +53,9 @@
interval = setInterval(function () { interval = setInterval(function () {
refreshSyncStatus(page); refreshSyncStatus(page);
}, 5000); }, 5000);
});
}).on('pagebeforehide', "#mySyncActivityPage", function () { view.addEventListener('viewbeforehide', function () {
var page = this; var page = this;
page.querySelector('.syncSpinner').active = false; page.querySelector('.syncSpinner').active = false;
@ -77,5 +65,5 @@
interval = null; interval = null;
} }
}); });
};
}); });

View file

@ -1,4 +1,4 @@
define(['appSettings', 'jQuery'], function (appSettings, $) { define(['appSettings'], function (appSettings) {
function loadForm(page, user) { function loadForm(page, user) {
@ -26,14 +26,14 @@
appSettings.syncPath(syncPath); appSettings.syncPath(syncPath);
appSettings.syncOnlyOnWifi(page.querySelector('#chkWifi').checked); appSettings.syncOnlyOnWifi(page.querySelector('#chkWifi').checked);
var cameraUploadServers = $(".chkUploadServer", page).get().filter(function (i) { var chkUploadServer = page.querySelectorAll('.chkUploadServer');
var cameraUploadServers = [];
return i.checked; for (var i = 0, length = chkUploadServer.length; i < length; i++) {
if (chkUploadServer[i].checked) {
}).map(function (i) { cameraUploadServers.push(chkUploadServer[i].getAttribute('data-id'));
}
return i.getAttribute('data-id'); }
});
appSettings.cameraUploadServers(cameraUploadServers); appSettings.cameraUploadServers(cameraUploadServers);
@ -49,9 +49,9 @@
} }
} }
function onSubmit() { return function (view, params) {
var page = $(this).parents('.page')[0]; view.querySelector('form').addEventListener('submit', function (e) {
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
@ -59,34 +59,28 @@
ApiClient.getUser(userId).then(function (user) { ApiClient.getUser(userId).then(function (user) {
saveUser(page, user); saveUser(view, user);
}); });
// Disable default form submission // Disable default form submission
e.preventDefault();
return false; return false;
} });
$(document).on('pageinit', "#syncPreferencesPage", function () { view.querySelector('#btnSelectSyncPath').addEventListener('click', function () {
var page = this;
$('form', page).off('submit', onSubmit).on('submit', onSubmit);
$('#btnSelectSyncPath', page).on('click', function () {
require(['nativedirectorychooser'], function () { require(['nativedirectorychooser'], function () {
NativeDirectoryChooser.chooseDirectory().then(function (path) { NativeDirectoryChooser.chooseDirectory().then(function (path) {
if (path) { if (path) {
$('#txtSyncPath', page).val(path); view.querySelector('#txtSyncPath').value = path;
} }
}); });
}); });
}); });
}).on('pageshow', "#syncPreferencesPage", function () { view.addEventListener('viewshow', function () {
var page = this; var page = this;
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
@ -104,5 +98,6 @@
page.querySelector('.fldSyncPath').classList.add('hide'); page.querySelector('.fldSyncPath').classList.add('hide');
} }
}); });
};
}); });

View file

@ -2771,9 +2771,10 @@ var AppInfo = {};
defineRoute({ defineRoute({
path: '/mypreferencesdisplay.html', path: '/mypreferencesdisplay.html',
dependencies: ['emby-button'], dependencies: ['emby-checkbox', 'emby-button', 'emby-select'],
autoFocus: false, autoFocus: false,
transition: 'fade' transition: 'fade',
controller: 'scripts/mypreferencesdisplay'
}); });
defineRoute({ defineRoute({
@ -2785,9 +2786,10 @@ var AppInfo = {};
defineRoute({ defineRoute({
path: '/mypreferenceslanguages.html', path: '/mypreferenceslanguages.html',
dependencies: ['emby-button'], dependencies: ['emby-button', 'emby-checkbox'],
autoFocus: false, autoFocus: false,
transition: 'fade' transition: 'fade',
controller: 'scripts/mypreferenceslanguages'
}); });
defineRoute({ defineRoute({
@ -2806,9 +2808,10 @@ var AppInfo = {};
defineRoute({ defineRoute({
path: '/mysync.html', path: '/mysync.html',
dependencies: [], dependencies: ['scripts/syncactivity', 'scripts/taskbutton', 'paper-spinner', 'paper-fab', 'emby-button'],
autoFocus: false, autoFocus: false,
transition: 'fade' transition: 'fade',
controller: 'scripts/mysync'
}); });
defineRoute({ defineRoute({
@ -2821,9 +2824,10 @@ var AppInfo = {};
defineRoute({ defineRoute({
path: '/mysyncsettings.html', path: '/mysyncsettings.html',
dependencies: [], dependencies: ['emby-checkbox', 'emby-input', 'emby-button', 'paper-icon-button-light'],
autoFocus: false, autoFocus: false,
transition: 'fade' transition: 'fade',
controller: 'scripts/mysyncsettings'
}); });
defineRoute({ defineRoute({

View file

@ -122,7 +122,7 @@
html += '<div class="' + imageClass + '" style="background-image:url(\'' + imgUrl + '\');">'; html += '<div class="' + imageClass + '" style="background-image:url(\'' + imgUrl + '\');">';
if (user.ConnectUserId && addConnectIndicator) { if (user.ConnectUserId && addConnectIndicator) {
html += '<div class="playedIndicator" title="' + Globalize.translate('TooltipLinkedToEmbyConnect') + '"><iron-icon icon="cloud"></iron-icon></div>'; html += '<div class="playedIndicator" title="' + Globalize.translate('TooltipLinkedToEmbyConnect') + '"><i class="md-icon">cloud</i></div>';
} }
html += "</div>"; html += "</div>";
@ -136,7 +136,7 @@
html += '<div class="cardFooter">'; html += '<div class="cardFooter">';
html += '<div class="cardText" style="text-align:right; float:right;padding:0;">'; html += '<div class="cardText" style="text-align:right; float:right;padding:0;">';
html += '<button type="button" is="paper-icon-button-light" class="btnUserMenu"><iron-icon icon="' + AppInfo.moreIcon + '"></iron-icon></button>'; html += '<button type="button" is="paper-icon-button-light" class="btnUserMenu autoSize"><i class="md-icon">' + AppInfo.moreIcon.replace('-', '_') + '</i></button>';
html += "</div>"; html += "</div>";
html += '<div class="cardText" style="padding-top:10px;padding-bottom:10px;">'; html += '<div class="cardText" style="padding-top:10px;padding-bottom:10px;">';