diff --git a/dashboard-ui/mypreferenceshome.html b/dashboard-ui/mypreferenceshome.html
index 1cc73580d7..6c292caf91 100644
--- a/dashboard-ui/mypreferenceshome.html
+++ b/dashboard-ui/mypreferenceshome.html
@@ -1,4 +1,4 @@
-
+
';
- $('.folderGroupList', page).html(folderHtml);
+ page.querySelector('.folderGroupList').innerHTML = folderHtml;
}
function renderLatestItems(page, user, result) {
@@ -55,7 +55,7 @@
folderHtml += '
';
- $('.latestItemsList', page).html(folderHtml);
+ page.querySelector('.latestItemsList').innerHTML = folderHtml;
}
function renderViewOrder(page, user, result) {
@@ -97,7 +97,7 @@
}).join('');
- $('.viewOrderList', page).html(html);
+ page.querySelector('.viewOrderList').innerHTML = html;
}
function loadForm(page, user, displayPreferences) {
@@ -105,10 +105,10 @@
page.querySelector('.chkHidePlayedFromLatest').checked = user.Configuration.HidePlayedInLatest || false;
page.querySelector('.chkDisplayChannelsInline').checked = !(user.Configuration.EnableChannelView || false);
- $('#selectHomeSection1', page).val(displayPreferences.CustomPrefs.home0 || '');
- $('#selectHomeSection2', page).val(displayPreferences.CustomPrefs.home1 || '');
- $('#selectHomeSection3', page).val(displayPreferences.CustomPrefs.home2 || '');
- $('#selectHomeSection4', page).val(displayPreferences.CustomPrefs.home3 || '');
+ page.querySelector('#selectHomeSection1').value = displayPreferences.CustomPrefs.home0 || '';
+ page.querySelector('#selectHomeSection2').value = displayPreferences.CustomPrefs.home1 || '';
+ page.querySelector('#selectHomeSection3').value = displayPreferences.CustomPrefs.home2 || '';
+ page.querySelector('#selectHomeSection4').value = displayPreferences.CustomPrefs.home3 || '';
var promise1 = ApiClient.getItems(user.Id, {
sortBy: "SortName"
@@ -133,41 +133,53 @@
return 'webclient';
}
+
+ function getCheckboxItems(selector, page, isChecked) {
+
+ var inputs = page.querySelectorAll(selector);
+ var list = [];
+
+ for (var i = 0, length = inputs.length; i < length; i++) {
+
+ if (inputs[i].checked == isChecked) {
+ list.push(inputs[i]);
+ }
+
+ }
+
+ return list;
+ }
+
function saveUser(page, user, displayPreferences) {
user.Configuration.HidePlayedInLatest = page.querySelector('.chkHidePlayedFromLatest').checked;
user.Configuration.EnableChannelView = !page.querySelector('.chkDisplayChannelsInline').checked;
- user.Configuration.LatestItemsExcludes = $(".chkIncludeInLatest", page).get().filter(function (i) {
-
- return !i.checked;
-
- }).map(function (i) {
+ user.Configuration.LatestItemsExcludes = getCheckboxItems(".chkIncludeInLatest", page, false).map(function (i) {
return i.getAttribute('data-folderid');
});
user.Configuration.ExcludeFoldersFromGrouping = null;
- user.Configuration.GroupedFolders = $(".chkGroupFolder", page).get().filter(function (i) {
-
- return i.checked;
-
- }).map(function (i) {
+ user.Configuration.GroupedFolders = getCheckboxItems(".chkGroupFolder", page, true).map(function (i) {
return i.getAttribute('data-folderid');
});
- user.Configuration.OrderedViews = $(".viewItem", page).get().map(function (i) {
+ var viewItems = page.querySelectorAll('.viewItem');
+ var orderedViews = [];
+ for (var i = 0, length = viewItems.length; i < length; i++) {
+ orderedViews.push(viewItems[i].getAttribute('data-viewid'));
+ }
- return i.getAttribute('data-viewid');
- });
+ user.Configuration.OrderedViews = orderedViews;
- displayPreferences.CustomPrefs.home0 = $('#selectHomeSection1', page).val();
- displayPreferences.CustomPrefs.home1 = $('#selectHomeSection2', page).val();
- displayPreferences.CustomPrefs.home2 = $('#selectHomeSection3', page).val();
- displayPreferences.CustomPrefs.home3 = $('#selectHomeSection4', page).val();
+ displayPreferences.CustomPrefs.home0 = page.querySelector('#selectHomeSection1').value;
+ displayPreferences.CustomPrefs.home1 = page.querySelector('#selectHomeSection2').value;
+ displayPreferences.CustomPrefs.home2 = page.querySelector('#selectHomeSection3').value;
+ displayPreferences.CustomPrefs.home3 = page.querySelector('#selectHomeSection4').value;
return ApiClient.updateDisplayPreferences('home', displayPreferences, user.Id, displayPreferencesKey()).then(function () {
@@ -206,43 +218,80 @@
});
}
- function onSubmit() {
+ function parentWithClass(elem, className) {
- var page = $(this).parents('.page')[0];
+ while (!elem.classList || !elem.classList.contains(className)) {
+ elem = elem.parentNode;
- save(page);
+ if (!elem) {
+ return null;
+ }
+ }
- // Disable default form submission
- return false;
+ return elem;
}
- pageIdOn('pageinit', "homeScreenPreferencesPage", function () {
+ function getSibling(elem, type, className) {
- var page = this;
+ var sibling = elem[type];
- $('.viewOrderList', page).on('click', '.btnViewItemMove', function () {
+ while (sibling != null) {
+ if (sibling.classList.contains(className)) {
+ break;
+ }
+ }
- var li = $(this).parents('.viewItem');
- var ul = li.parents('.paperList');
+ if (sibling != null) {
+ if (!sibling.classList.contains(className)) {
+ sibling = null;
+ }
+ }
- if ($(this).hasClass('btnViewItemDown')) {
+ return sibling;
+ }
- var next = li.next();
+ return function (view, params) {
- li.remove().insertAfter(next);
+ function onSubmit(e) {
+
+ save(view);
+
+ // Disable default form submission
+ e.preventDefault();
+ return false;
+ }
+
+ view.querySelector('.viewOrderList').addEventListener('click', function (e) {
+
+ var target = parentWithClass(e.target, 'btnViewItemMove');
+
+ var li = parentWithClass(target, 'viewItem');
+ var ul = parentWithClass(li, 'paperList');
+
+ if (target.classList.contains('btnViewItemDown')) {
+
+ var next = li.nextSibling;
+
+ li.parentNode.removeChild(li);
+ next.parentNode.insertBefore(li, next.nextSibling);
} else {
- var prev = li.prev();
+ var prev = li.previousSibling;
- li.remove().insertBefore(prev);
+ li.parentNode.removeChild(li);
+ prev.parentNode.insertBefore(li, prev);
}
- $('.viewItem', ul).each(function () {
+ var viewItems = ul.querySelectorAll('.viewItem');
+ for (var i = 0, length = viewItems.length; i < length; i++) {
+ var viewItem = viewItems[i];
- var btn = $('.btnViewItemMove', this)[0];
+ var btn = viewItem.querySelector('.btnViewItemMove');
- if ($(this).prev('.viewItem').length) {
+ var prevViewItem = getSibling(viewItem, 'previousSibling', 'viewItem');
+
+ if (prevViewItem) {
btn.classList.add('btnViewItemUp');
btn.classList.remove('btnViewItemDown');
@@ -253,45 +302,40 @@
btn.classList.add('btnViewItemDown');
btn.icon = 'keyboard-arrow-down';
}
-
- });
+ }
});
- $('.homeScreenPreferencesForm').off('submit', onSubmit).on('submit', onSubmit);
+ view.querySelector('.homeScreenPreferencesForm').addEventListener('submit', onSubmit);
if (AppInfo.enableAutoSave) {
- page.querySelector('.btnSave').classList.add('hide');
+ view.querySelector('.btnSave').classList.add('hide');
} else {
- page.querySelector('.btnSave').classList.remove('hide');
+ view.querySelector('.btnSave').classList.remove('hide');
}
- });
+ view.addEventListener('viewshow', function () {
+ var page = this;
- pageIdOn('pageshow', "homeScreenPreferencesPage", function () {
+ Dashboard.showLoadingMsg();
- var page = this;
+ var userId = getParameterByName('userId') || Dashboard.getCurrentUserId();
- Dashboard.showLoadingMsg();
+ ApiClient.getUser(userId).then(function (user) {
- var userId = getParameterByName('userId') || Dashboard.getCurrentUserId();
+ ApiClient.getDisplayPreferences('home', user.Id, displayPreferencesKey()).then(function (result) {
- ApiClient.getUser(userId).then(function (user) {
-
- ApiClient.getDisplayPreferences('home', user.Id, displayPreferencesKey()).then(function (result) {
-
- loadForm(page, user, result);
+ loadForm(page, user, result);
+ });
});
});
- });
- pageIdOn('pagebeforehide', "homeScreenPreferencesPage", function () {
-
- var page = this;
-
- if (AppInfo.enableAutoSave) {
- save(page);
- }
- });
+ view.addEventListener('viewbeforehide', function () {
+ var page = this;
+ if (AppInfo.enableAutoSave) {
+ save(page);
+ }
+ });
+ };
});
\ No newline at end of file
diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js
index 33abeae9c2..0da12ee26e 100644
--- a/dashboard-ui/scripts/site.js
+++ b/dashboard-ui/scripts/site.js
@@ -2769,9 +2769,10 @@ var AppInfo = {};
defineRoute({
path: '/mypreferenceshome.html',
- dependencies: ['emby-button'],
+ dependencies: ['emby-checkbox', 'paper-fab', 'paper-item-body', 'paper-icon-item', 'emby-button'],
autoFocus: false,
- transition: 'fade'
+ transition: 'fade',
+ controller: 'scripts/mypreferenceshome'
});
defineRoute({