mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update tabs
This commit is contained in:
parent
23f753f239
commit
a0fac36101
13 changed files with 81 additions and 81 deletions
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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];
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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) {
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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) {
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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) {
|
||||
|
||||
|
|
|
@ -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>';
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue