update app footer

This commit is contained in:
Luke Pulverenti 2016-08-31 15:17:11 -04:00
parent a96b9dcefa
commit 5cd71abd36
27 changed files with 432 additions and 127 deletions

View file

@ -101,7 +101,6 @@
var context = params.context;
LibraryMenu.setBackButtonVisible(true);
LibraryMenu.setMenuButtonVisible(false);
LibraryBrowser.renderName(item, page.querySelector('.itemName'), false, context);
LibraryBrowser.renderParentName(item, page.querySelector('.parentName'), context);
@ -1142,7 +1141,7 @@
overlayText: true,
lazy: true,
showDetailsMenu: true,
overlayPlayButton: AppInfo.enableAppLayouts,
overlayPlayButton: AppInfo.enableAppLayouts
});
}
else if (item.Type == "GameSystem") {

View file

@ -1,9 +1,14 @@
define(['imageLoader', 'layoutManager', 'viewManager', 'navdrawer', 'libraryBrowser', 'apphost', 'paper-icon-button-light', 'material-icons'], function (imageLoader, layoutManager, viewManager, navdrawer, libraryBrowser, appHost) {
define(['imageLoader', 'layoutManager', 'viewManager', 'libraryBrowser', 'apphost', 'paper-icon-button-light', 'material-icons'], function (imageLoader, layoutManager, viewManager, libraryBrowser, appHost) {
var navDrawerElement = document.querySelector('.mainDrawer');
var navDrawerScrollContainer = navDrawerElement.querySelector('.scrollContainer');
var enableBottomTabs = AppInfo.isNativeApp;
var enableLibraryNavDrawer = !enableBottomTabs;
var navDrawerElement;
var navDrawerScrollContainer;
var navDrawerInstance;
var mainDrawerButton;
function renderHeader() {
var html = '';
@ -11,10 +16,10 @@
html += '<div class="primaryIcons">';
var backIcon = browserInfo.safari ? 'chevron_left' : '&#xE5C4;';
html += '<button type="button" is="paper-icon-button-light" class="headerButton headerButtonLeft headerBackButton hide autoSize"><i class="md-icon">' + backIcon + '</i></button>';
html += '<button type="button" is="paper-icon-button-light" class="headerButton headerButtonLeft headerBackButton hide"><i class="md-icon">' + backIcon + '</i></button>';
html += '<button type="button" is="paper-icon-button-light" class="headerButton mainDrawerButton barsMenuButton headerButtonLeft autoSize"><i class="md-icon">menu</i></button>';
html += '<button type="button" is="paper-icon-button-light" class="headerButton headerAppsButton barsMenuButton headerButtonLeft autoSize"><i class="md-icon">home</i></button>';
html += '<button type="button" is="paper-icon-button-light" class="headerButton mainDrawerButton barsMenuButton headerButtonLeft hide"><i class="md-icon">menu</i></button>';
html += '<button type="button" is="paper-icon-button-light" class="headerButton headerAppsButton barsMenuButton headerButtonLeft"><i class="md-icon">home</i></button>';
html += '<div class="libraryMenuButtonText headerButton">' + Globalize.translate('ButtonHome') + '</div>';
@ -179,7 +184,7 @@
function bindMenuEvents() {
var mainDrawerButton = document.querySelector('.mainDrawerButton');
mainDrawerButton = document.querySelector('.mainDrawerButton');
if (mainDrawerButton) {
mainDrawerButton.addEventListener('click', toggleMainDrawer);
@ -331,11 +336,13 @@
function refreshDashboardInfoInDrawer(page, user) {
if (!navDrawerScrollContainer.querySelector('.adminDrawerLogo')) {
createDashboardMenu(page);
} else {
updateDashboardMenuSelectedItem();
}
loadNavDrawer().then(function () {
if (!navDrawerScrollContainer.querySelector('.adminDrawerLogo')) {
createDashboardMenu(page);
} else {
updateDashboardMenuSelectedItem();
}
});
}
function updateDashboardMenuSelectedItem() {
@ -707,18 +714,6 @@
}
},
setMenuButtonVisible: function (visible) {
var mainDrawerButton = document.querySelector('.mainDrawerButton');
if (mainDrawerButton) {
if (!visible && browserInfo.mobile) {
mainDrawerButton.classList.remove('hide');
} else {
mainDrawerButton.classList.remove('hide');
}
}
},
setTransparentMenu: function (transparent) {
var viewMenuBar = document.querySelector('.viewMenuBar');
@ -861,9 +856,21 @@
var isDashboardPage = page.classList.contains('type-interior');
if (isDashboardPage) {
if (mainDrawerButton) {
mainDrawerButton.classList.remove('hide');
}
refreshDashboardInfoInDrawer(page);
} else {
if (navDrawerElement.classList.contains('adminDrawer')) {
if (mainDrawerButton) {
if (enableLibraryNavDrawer) {
mainDrawerButton.classList.remove('hide');
} else {
mainDrawerButton.classList.add('hide');
}
}
if ((navDrawerElement && navDrawerElement.classList.contains('adminDrawer')) || (!navDrawerElement && enableLibraryNavDrawer)) {
refreshLibraryDrawer();
}
}
@ -974,24 +981,34 @@
admin = true;
}
if (admin) {
navDrawerElement.classList.add('adminDrawer');
navDrawerElement.classList.remove('darkDrawer');
} else {
navDrawerElement.classList.add('darkDrawer');
navDrawerElement.classList.remove('adminDrawer');
var enableNavDrawer = admin || enableLibraryNavDrawer;
if (enableNavDrawer) {
loadNavDrawer().then(function () {
if (admin) {
navDrawerElement.classList.add('adminDrawer');
navDrawerElement.classList.remove('darkDrawer');
} else {
navDrawerElement.classList.add('darkDrawer');
navDrawerElement.classList.remove('adminDrawer');
}
});
}
}
function refreshLibraryDrawer(user) {
var promise = user ? Promise.resolve(user) : ConnectionManager.user(window.ApiClient);
if (!enableLibraryNavDrawer) {
return;
}
promise.then(function (user) {
refreshLibraryInfoInDrawer(user);
loadNavDrawer().then(function () {
var promise = user ? Promise.resolve(user) : ConnectionManager.user(window.ApiClient);
document.dispatchEvent(new CustomEvent("libraryMenuCreated", {}));
updateLibraryMenu(user.localUser);
promise.then(function (user) {
refreshLibraryInfoInDrawer(user);
updateLibraryMenu(user.localUser);
});
});
}
@ -1020,8 +1037,25 @@
};
}
navDrawerInstance = new navdrawer(getNavDrawerOptions());
navDrawerElement.classList.remove('hide');
function loadNavDrawer() {
if (navDrawerInstance) {
return Promise.resolve(navDrawerInstance);
}
return new Promise(function (resolve, reject) {
navDrawerElement = document.querySelector('.mainDrawer');
navDrawerScrollContainer = navDrawerElement.querySelector('.scrollContainer');
require(['navdrawer'], function (navdrawer) {
navDrawerInstance = new navdrawer(getNavDrawerOptions());
navDrawerElement.classList.remove('hide');
resolve(navDrawerInstance);
});
});
}
renderHeader();
Events.on(ConnectionManager, 'apiclientcreated', function (e, apiClient) {
@ -1041,9 +1075,11 @@
setDrawerClass();
//require(['appfooter-shared', 'dockedtabs'], function (footer, dockedtabs) {
// new dockedtabs({
// appFooter: footer
// });
//});
if (enableBottomTabs) {
require(['appfooter-shared', 'dockedtabs'], function (footer, dockedtabs) {
new dockedtabs({
appFooter: footer
});
});
}
});

View file

@ -1256,7 +1256,7 @@
errorMsg += '<br/>';
errorMsg += Globalize.translate('MessageEnsureOpenTuner');
}
if (mediaSource && mediaSource.VideoType != "VideoFile") {
else if (mediaSource && mediaSource.VideoType != "VideoFile") {
errorMsg += '<br/>';
errorMsg += '<br/>';
errorMsg += Globalize.translate('MessageFolderRipPlaybackExperimental');

View file

@ -317,7 +317,7 @@
return;
}
parentContainer.insertAdjacentHTML('beforeend', getNowPlayingBarHtml());
parentContainer.insertAdjacentHTML('afterbegin', getNowPlayingBarHtml());
nowPlayingBarElement = parentContainer.querySelector('.nowPlayingBar');
if (browser.safari && browser.slow) {

View file

@ -191,13 +191,11 @@
view.addEventListener('viewbeforeshow', function (e) {
document.body.classList.add('hiddenViewMenuBar');
LibraryMenu.setMenuButtonVisible(false);
});
view.addEventListener('viewbeforehide', function (e) {
document.body.classList.remove('hiddenViewMenuBar');
LibraryMenu.setMenuButtonVisible(true);
});
};

View file

@ -1248,6 +1248,8 @@ var AppInfo = {};
paths.serverdiscovery = apiClientBowerPath + "/serverdiscovery";
}
define("webActionSheet", [embyWebComponentsBowerPath + "/actionsheet/actionsheet"], returnFirstDependency);
if (Dashboard.isRunningInCordova()) {
paths.sharingMenu = "cordova/sharingwidget";
paths.wakeonlan = "cordova/wakeonlan";
@ -1256,7 +1258,7 @@ var AppInfo = {};
paths.wakeonlan = apiClientBowerPath + "/wakeonlan";
define("sharingMenu", [embyWebComponentsBowerPath + "/sharing/sharingmenu"], returnFirstDependency);
define("actionsheet", [embyWebComponentsBowerPath + "/actionsheet/actionsheet"], returnFirstDependency);
define("actionsheet", ["webActionSheet"], returnFirstDependency);
}
define("libjass", [bowerPath + "/libjass/libjass.min", "css!" + bowerPath + "/libjass/libjass"], returnFirstDependency);
@ -1619,7 +1621,11 @@ var AppInfo = {};
};
embyRouter.showFavorites = function () {
Dashboard.navigate('home.html?tab=3');
Dashboard.navigate('favorites.html');
};
embyRouter.showSettings = function () {
Dashboard.navigate('mypreferencesmenu.html');
};
function showItem(item, serverId, options) {
@ -2768,11 +2774,6 @@ var AppInfo = {};
postInitDependencies.push('scripts/nowplayingbar');
if (AppInfo.isNativeApp && browserInfo.safari) {
postInitDependencies.push('cordova/ios/tabbar');
}
postInitDependencies.push('components/remotecontrolautoplay');
// Prefer custom font over Segoe if on desktop windows