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

update tabs

This commit is contained in:
Luke Pulverenti 2016-09-01 12:36:11 -04:00
parent 23f753f239
commit a0fac36101
13 changed files with 81 additions and 81 deletions

View file

@ -238,7 +238,7 @@
this.selectionBar = null;
};
EmbyTabs.selectedIndex = function (selected) {
EmbyTabs.selectedIndex = function (selected, triggerEvent) {
var tabs = this;
@ -253,7 +253,7 @@
var tabButtons = tabs.querySelectorAll('.' + buttonClass);
if (current == selected) {
if (current == selected || triggerEvent === false) {
tabs.dispatchEvent(new CustomEvent("beforetabchange", {
detail: {
@ -266,7 +266,13 @@
}
}));
moveSelectionBar(tabs, tabButtons[selected], tabButtons[selected], false);
var currentTabButton = tabButtons[current];
moveSelectionBar(tabs, tabButtons[selected], currentTabButton, false);
if (current != selected && currentTabButton) {
currentTabButton.classList.remove(activeButtonClass);
}
} else {
tabButtons[selected].click();
}

View file

@ -17,12 +17,12 @@
border-width: 0 !important;
}
.dockedtabs-tab-button:not(.hide) {
display: flex !important;
}
.dockedtabs-tab-button {
display: flex;
}
.dockedtabs-tab-button-noflex:not(.hide) {
display: block !important;
.dockedtabs-tab-button-noflex {
display: block;
}
.dockedtabs-tab-button, .dockedtabs-tab-button-foreground {

View file

@ -1,4 +1,7 @@
define(['apphost', 'connectionManager', 'events', 'globalize', 'browser', 'css!./dockedtabs', 'emby-tabs'], function (appHost, connectionManager, events, globalize, browser) {
define(['apphost', 'connectionManager', 'events', 'globalize', 'browser', 'require', 'dom', 'emby-tabs'], function (appHost, connectionManager, events, globalize, browser, require, dom) {
// Make sure this is pulled in after button and tab css
require(['css!./dockedtabs']);
var currentUser = {};
var currentUserViews = [];
@ -31,7 +34,7 @@
Dashboard.navigate('reports.html');
break;
case 'metadatamanager':
Dashboard.navigate('metadatamanager.html');
Dashboard.navigate('edititemmetadata.html');
break;
case 'manageserver':
Dashboard.navigate('dashboard.html');
@ -45,7 +48,7 @@
}
}
function showMenu(menuItems, button) {
function showMenu(menuItems, button, tabIndex) {
var actionSheetType = browser.safari ? 'actionsheet' : 'webActionSheet';
@ -59,12 +62,19 @@
exitAnimation: 'fadeout',
entryAnimationDuration: 160,
exitAnimationDuration: 100,
offsetTop: -30,
offsetTop: -35,
positionY: 'top',
dialogClass: 'dockedtabs-dlg',
menuItemClass: 'dockedtabs-dlg-menuitem'
}).then(executeCommand);
}).then(function (id) {
executeCommand(id);
if (id) {
var tabs = dom.parentWithClass(button, 'dockedtabs-tabs');
tabs.selectedIndex(tabIndex, false);
}
});
});
}
@ -78,7 +88,7 @@
};
});
showMenu(commands, button);
showMenu(commands, button, 1);
}
function showMoreMenu(button) {
@ -91,10 +101,14 @@
name: globalize.translate('ButtonManageServer'),
id: 'manageserver'
});
if (dom.getWindowSize().innerWidth >= 800) {
commands.push({
name: globalize.translate('MetadataManager'),
id: 'metadatamanager'
});
}
commands.push({
name: globalize.translate('ButtonReports'),
id: 'reports'
@ -125,7 +139,7 @@
id: 'signout'
});
showMenu(commands, button);
showMenu(commands, button, 5);
}
function onTabClick(e) {
@ -163,7 +177,7 @@
function addNoFlexClass(buttons) {
setTimeout(function() {
setTimeout(function () {
for (var i = 0, length = buttons.length; i < length; i++) {
var button = buttons[i];

View file

@ -845,7 +845,6 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
position: fixed;
right: 0;
bottom: 0;
z-index: 999;
text-align: center;
font-size: 90%;
display: none;

View file

@ -81,12 +81,10 @@
loadTab(view, parseInt(e.detail.selectedTabIndex));
});
if (AppInfo.enableHeadRoom) {
require(["headroom-window"], function (headroom) {
headroom.add(viewTabs);
self.headroom = headroom;
});
}
view.addEventListener('viewdestroy', function (e) {

View file

@ -4,7 +4,7 @@
function getDefaultSection(index) {
if (AppInfo.isNativeApp && browserInfo.safari) {
if (AppInfo.isNativeApp) {
switch (index) {
@ -24,7 +24,6 @@
return '';
}
}
switch (index) {
case 0:
@ -371,12 +370,10 @@
Events.off(ApiClient, "websocketmessage", onWebSocketMessage);
});
if (AppInfo.enableHeadRoom) {
require(["headroom-window"], function (headroom) {
headroom.add(viewTabs);
self.headroom = headroom;
});
}
view.addEventListener('viewdestroy', function (e) {
if (self.headroom) {

View file

@ -28,9 +28,7 @@
html += '<span class="headerSelectedPlayer"></span>';
html += '<button is="paper-icon-button-light" class="btnCast headerButton headerButtonRight hide autoSize"><i class="md-icon">cast</i></button>';
if (AppInfo.enableSearchInTopMenu) {
html += '<button type="button" is="paper-icon-button-light" class="headerButton headerButtonRight headerSearchButton hide autoSize"><i class="md-icon">search</i></button>';
}
html += '<button is="paper-icon-button-light" class="headerButton headerButtonRight headerVoiceButton hide autoSize"><i class="md-icon">mic</i></button>';
@ -948,10 +946,6 @@
function initHeadRoom(elem) {
if (!AppInfo.enableHeadRoom) {
return;
}
require(["headroom-window"], function (headroom) {
headroom.add(elem);

View file

@ -211,12 +211,10 @@
document.body.classList.remove('autoScrollY');
});
if (AppInfo.enableHeadRoom) {
require(["headroom-window"], function (headroom) {
headroom.add(viewTabs);
self.headroom = headroom;
});
}
view.addEventListener('viewdestroy', function (e) {

View file

@ -330,12 +330,10 @@
Events.off(MediaController, 'playbackstop', onPlaybackStop);
});
if (AppInfo.enableHeadRoom) {
require(["headroom-window"], function (headroom) {
headroom.add(viewTabs);
self.headroom = headroom;
});
}
view.addEventListener('viewdestroy', function (e) {
if (self.headroom) {

View file

@ -360,12 +360,10 @@
loadTab(view, parseInt(e.detail.selectedTabIndex));
});
if (AppInfo.enableHeadRoom) {
require(["headroom-window"], function (headroom) {
headroom.add(viewTabs);
self.headroom = headroom;
});
}
view.addEventListener('viewdestroy', function (e) {

View file

@ -347,7 +347,8 @@
lazy: true,
context: 'home',
centerText: true,
overlayPlayButton: true
overlayPlayButton: true,
allowBottomPadding: !enableScrollX()
});
html += '</div>';
}
@ -390,7 +391,8 @@
showChildCountIndicator: true,
lazy: true,
context: 'home',
overlayPlayButton: true
overlayPlayButton: true,
allowBottomPadding: !enableScrollX()
});
html += '</div>';
}
@ -451,14 +453,12 @@
if (items.length) {
var screenWidth = dom.getWindowSize().innerWidth;
html += '<div>';
html += '<h1 class="listHeader">' + Globalize.translate('HeaderMyMedia') + '</h1>';
html += '</div>';
var scrollX = enableScrollX() && browserInfo.safari && screenWidth > 800;
var scrollX = enableScrollX() && dom.getWindowSize().innerWidth >= 640;
if (scrollX) {
html += '<div is="emby-itemscontainer" class="hiddenScrollX itemsContainer">';
@ -472,7 +472,8 @@
centerText: true,
lazy: true,
autoThumb: true,
transition: false
transition: false,
allowBottomPadding: !enableScrollX()
});
html += '</div>';
}
@ -535,7 +536,8 @@
showDetailsMenu: true,
overlayPlayButton: true,
context: 'home',
centerText: true
centerText: true,
allowBottomPadding: !enableScrollX()
});
html += '</div>';
}
@ -578,7 +580,8 @@
lazy: true,
overlayPlayButton: true,
context: 'home',
centerText: true
centerText: true,
allowBottomPadding: !enableScrollX()
});
html += '</div>';
}
@ -705,7 +708,9 @@
lazy: true,
showDetailsMenu: true,
centerText: true,
overlayPlayButton: true
overlayPlayButton: true,
allowBottomPadding: !enableScrollX()
});
html += '</div>';

View file

@ -923,7 +923,6 @@ var AppInfo = {};
var isCordova = Dashboard.isRunningInCordova();
AppInfo.enableSearchInTopMenu = true;
AppInfo.enableHomeFavorites = true;
AppInfo.enableHomeTabs = true;
AppInfo.enableNowPlayingPageBottomTabs = true;
@ -941,9 +940,7 @@ var AppInfo = {};
if (isCordova) {
//AppInfo.enableSectionTransitions = true;
AppInfo.enableSearchInTopMenu = false;
AppInfo.enableHomeFavorites = false;
AppInfo.enableHomeTabs = false;
AppInfo.enableNowPlayingPageBottomTabs = false;
}
}
@ -954,6 +951,7 @@ var AppInfo = {};
AppInfo.enableAppLayouts = true;
AppInfo.supportsExternalPlayerMenu = true;
AppInfo.isNativeApp = true;
AppInfo.enableHomeTabs = false;
if (isIOS) {
AppInfo.supportsExternalPlayers = false;
@ -963,9 +961,6 @@ var AppInfo = {};
AppInfo.enableSupporterMembership = true;
}
// This doesn't perform well on iOS
AppInfo.enableHeadRoom = !isIOS && !browserInfo.msie;
// This currently isn't working on android, unfortunately
AppInfo.supportsFileInput = !(AppInfo.isNativeApp && isAndroid);

View file

@ -272,12 +272,10 @@
Events.off(ApiClient, "websocketmessage", onWebSocketMessage);
});
if (AppInfo.enableHeadRoom) {
require(["headroom-window"], function (headroom) {
headroom.add(viewTabs);
self.headroom = headroom;
});
}
view.addEventListener('viewdestroy', function (e) {