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;
|
this.selectionBar = null;
|
||||||
};
|
};
|
||||||
|
|
||||||
EmbyTabs.selectedIndex = function (selected) {
|
EmbyTabs.selectedIndex = function (selected, triggerEvent) {
|
||||||
|
|
||||||
var tabs = this;
|
var tabs = this;
|
||||||
|
|
||||||
|
@ -253,7 +253,7 @@
|
||||||
|
|
||||||
var tabButtons = tabs.querySelectorAll('.' + buttonClass);
|
var tabButtons = tabs.querySelectorAll('.' + buttonClass);
|
||||||
|
|
||||||
if (current == selected) {
|
if (current == selected || triggerEvent === false) {
|
||||||
|
|
||||||
tabs.dispatchEvent(new CustomEvent("beforetabchange", {
|
tabs.dispatchEvent(new CustomEvent("beforetabchange", {
|
||||||
detail: {
|
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 {
|
} else {
|
||||||
tabButtons[selected].click();
|
tabButtons[selected].click();
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,12 +17,12 @@
|
||||||
border-width: 0 !important;
|
border-width: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dockedtabs-tab-button:not(.hide) {
|
.dockedtabs-tab-button {
|
||||||
display: flex !important;
|
display: flex;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dockedtabs-tab-button-noflex:not(.hide) {
|
.dockedtabs-tab-button-noflex {
|
||||||
display: block !important;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dockedtabs-tab-button, .dockedtabs-tab-button-foreground {
|
.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 currentUser = {};
|
||||||
var currentUserViews = [];
|
var currentUserViews = [];
|
||||||
|
@ -31,7 +34,7 @@
|
||||||
Dashboard.navigate('reports.html');
|
Dashboard.navigate('reports.html');
|
||||||
break;
|
break;
|
||||||
case 'metadatamanager':
|
case 'metadatamanager':
|
||||||
Dashboard.navigate('metadatamanager.html');
|
Dashboard.navigate('edititemmetadata.html');
|
||||||
break;
|
break;
|
||||||
case 'manageserver':
|
case 'manageserver':
|
||||||
Dashboard.navigate('dashboard.html');
|
Dashboard.navigate('dashboard.html');
|
||||||
|
@ -45,7 +48,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function showMenu(menuItems, button) {
|
function showMenu(menuItems, button, tabIndex) {
|
||||||
|
|
||||||
var actionSheetType = browser.safari ? 'actionsheet' : 'webActionSheet';
|
var actionSheetType = browser.safari ? 'actionsheet' : 'webActionSheet';
|
||||||
|
|
||||||
|
@ -59,12 +62,19 @@
|
||||||
exitAnimation: 'fadeout',
|
exitAnimation: 'fadeout',
|
||||||
entryAnimationDuration: 160,
|
entryAnimationDuration: 160,
|
||||||
exitAnimationDuration: 100,
|
exitAnimationDuration: 100,
|
||||||
offsetTop: -30,
|
offsetTop: -35,
|
||||||
positionY: 'top',
|
positionY: 'top',
|
||||||
dialogClass: 'dockedtabs-dlg',
|
dialogClass: 'dockedtabs-dlg',
|
||||||
menuItemClass: 'dockedtabs-dlg-menuitem'
|
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) {
|
function showMoreMenu(button) {
|
||||||
|
@ -91,10 +101,14 @@
|
||||||
name: globalize.translate('ButtonManageServer'),
|
name: globalize.translate('ButtonManageServer'),
|
||||||
id: 'manageserver'
|
id: 'manageserver'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (dom.getWindowSize().innerWidth >= 800) {
|
||||||
commands.push({
|
commands.push({
|
||||||
name: globalize.translate('MetadataManager'),
|
name: globalize.translate('MetadataManager'),
|
||||||
id: 'metadatamanager'
|
id: 'metadatamanager'
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
commands.push({
|
commands.push({
|
||||||
name: globalize.translate('ButtonReports'),
|
name: globalize.translate('ButtonReports'),
|
||||||
id: 'reports'
|
id: 'reports'
|
||||||
|
@ -125,7 +139,7 @@
|
||||||
id: 'signout'
|
id: 'signout'
|
||||||
});
|
});
|
||||||
|
|
||||||
showMenu(commands, button);
|
showMenu(commands, button, 5);
|
||||||
}
|
}
|
||||||
|
|
||||||
function onTabClick(e) {
|
function onTabClick(e) {
|
||||||
|
@ -163,7 +177,7 @@
|
||||||
|
|
||||||
function addNoFlexClass(buttons) {
|
function addNoFlexClass(buttons) {
|
||||||
|
|
||||||
setTimeout(function() {
|
setTimeout(function () {
|
||||||
for (var i = 0, length = buttons.length; i < length; i++) {
|
for (var i = 0, length = buttons.length; i < length; i++) {
|
||||||
|
|
||||||
var button = buttons[i];
|
var button = buttons[i];
|
||||||
|
|
|
@ -845,7 +845,6 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
right: 0;
|
right: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
z-index: 999;
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 90%;
|
font-size: 90%;
|
||||||
display: none;
|
display: none;
|
||||||
|
|
|
@ -81,12 +81,10 @@
|
||||||
loadTab(view, parseInt(e.detail.selectedTabIndex));
|
loadTab(view, parseInt(e.detail.selectedTabIndex));
|
||||||
});
|
});
|
||||||
|
|
||||||
if (AppInfo.enableHeadRoom) {
|
|
||||||
require(["headroom-window"], function (headroom) {
|
require(["headroom-window"], function (headroom) {
|
||||||
headroom.add(viewTabs);
|
headroom.add(viewTabs);
|
||||||
self.headroom = headroom;
|
self.headroom = headroom;
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
view.addEventListener('viewdestroy', function (e) {
|
view.addEventListener('viewdestroy', function (e) {
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
function getDefaultSection(index) {
|
function getDefaultSection(index) {
|
||||||
|
|
||||||
if (AppInfo.isNativeApp && browserInfo.safari) {
|
if (AppInfo.isNativeApp) {
|
||||||
|
|
||||||
switch (index) {
|
switch (index) {
|
||||||
|
|
||||||
|
@ -24,7 +24,6 @@
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (index) {
|
switch (index) {
|
||||||
|
|
||||||
case 0:
|
case 0:
|
||||||
|
@ -371,12 +370,10 @@
|
||||||
Events.off(ApiClient, "websocketmessage", onWebSocketMessage);
|
Events.off(ApiClient, "websocketmessage", onWebSocketMessage);
|
||||||
});
|
});
|
||||||
|
|
||||||
if (AppInfo.enableHeadRoom) {
|
|
||||||
require(["headroom-window"], function (headroom) {
|
require(["headroom-window"], function (headroom) {
|
||||||
headroom.add(viewTabs);
|
headroom.add(viewTabs);
|
||||||
self.headroom = headroom;
|
self.headroom = headroom;
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
view.addEventListener('viewdestroy', function (e) {
|
view.addEventListener('viewdestroy', function (e) {
|
||||||
if (self.headroom) {
|
if (self.headroom) {
|
||||||
|
|
|
@ -28,9 +28,7 @@
|
||||||
html += '<span class="headerSelectedPlayer"></span>';
|
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>';
|
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 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>';
|
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) {
|
function initHeadRoom(elem) {
|
||||||
|
|
||||||
if (!AppInfo.enableHeadRoom) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
require(["headroom-window"], function (headroom) {
|
require(["headroom-window"], function (headroom) {
|
||||||
|
|
||||||
headroom.add(elem);
|
headroom.add(elem);
|
||||||
|
|
|
@ -211,12 +211,10 @@
|
||||||
document.body.classList.remove('autoScrollY');
|
document.body.classList.remove('autoScrollY');
|
||||||
});
|
});
|
||||||
|
|
||||||
if (AppInfo.enableHeadRoom) {
|
|
||||||
require(["headroom-window"], function (headroom) {
|
require(["headroom-window"], function (headroom) {
|
||||||
headroom.add(viewTabs);
|
headroom.add(viewTabs);
|
||||||
self.headroom = headroom;
|
self.headroom = headroom;
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
view.addEventListener('viewdestroy', function (e) {
|
view.addEventListener('viewdestroy', function (e) {
|
||||||
|
|
||||||
|
|
|
@ -330,12 +330,10 @@
|
||||||
Events.off(MediaController, 'playbackstop', onPlaybackStop);
|
Events.off(MediaController, 'playbackstop', onPlaybackStop);
|
||||||
});
|
});
|
||||||
|
|
||||||
if (AppInfo.enableHeadRoom) {
|
|
||||||
require(["headroom-window"], function (headroom) {
|
require(["headroom-window"], function (headroom) {
|
||||||
headroom.add(viewTabs);
|
headroom.add(viewTabs);
|
||||||
self.headroom = headroom;
|
self.headroom = headroom;
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
view.addEventListener('viewdestroy', function (e) {
|
view.addEventListener('viewdestroy', function (e) {
|
||||||
if (self.headroom) {
|
if (self.headroom) {
|
||||||
|
|
|
@ -360,12 +360,10 @@
|
||||||
loadTab(view, parseInt(e.detail.selectedTabIndex));
|
loadTab(view, parseInt(e.detail.selectedTabIndex));
|
||||||
});
|
});
|
||||||
|
|
||||||
if (AppInfo.enableHeadRoom) {
|
|
||||||
require(["headroom-window"], function (headroom) {
|
require(["headroom-window"], function (headroom) {
|
||||||
headroom.add(viewTabs);
|
headroom.add(viewTabs);
|
||||||
self.headroom = headroom;
|
self.headroom = headroom;
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
view.addEventListener('viewdestroy', function (e) {
|
view.addEventListener('viewdestroy', function (e) {
|
||||||
|
|
||||||
|
|
|
@ -347,7 +347,8 @@
|
||||||
lazy: true,
|
lazy: true,
|
||||||
context: 'home',
|
context: 'home',
|
||||||
centerText: true,
|
centerText: true,
|
||||||
overlayPlayButton: true
|
overlayPlayButton: true,
|
||||||
|
allowBottomPadding: !enableScrollX()
|
||||||
});
|
});
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
}
|
}
|
||||||
|
@ -390,7 +391,8 @@
|
||||||
showChildCountIndicator: true,
|
showChildCountIndicator: true,
|
||||||
lazy: true,
|
lazy: true,
|
||||||
context: 'home',
|
context: 'home',
|
||||||
overlayPlayButton: true
|
overlayPlayButton: true,
|
||||||
|
allowBottomPadding: !enableScrollX()
|
||||||
});
|
});
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
}
|
}
|
||||||
|
@ -451,14 +453,12 @@
|
||||||
|
|
||||||
if (items.length) {
|
if (items.length) {
|
||||||
|
|
||||||
var screenWidth = dom.getWindowSize().innerWidth;
|
|
||||||
|
|
||||||
html += '<div>';
|
html += '<div>';
|
||||||
html += '<h1 class="listHeader">' + Globalize.translate('HeaderMyMedia') + '</h1>';
|
html += '<h1 class="listHeader">' + Globalize.translate('HeaderMyMedia') + '</h1>';
|
||||||
|
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
|
|
||||||
var scrollX = enableScrollX() && browserInfo.safari && screenWidth > 800;
|
var scrollX = enableScrollX() && dom.getWindowSize().innerWidth >= 640;
|
||||||
|
|
||||||
if (scrollX) {
|
if (scrollX) {
|
||||||
html += '<div is="emby-itemscontainer" class="hiddenScrollX itemsContainer">';
|
html += '<div is="emby-itemscontainer" class="hiddenScrollX itemsContainer">';
|
||||||
|
@ -472,7 +472,8 @@
|
||||||
centerText: true,
|
centerText: true,
|
||||||
lazy: true,
|
lazy: true,
|
||||||
autoThumb: true,
|
autoThumb: true,
|
||||||
transition: false
|
transition: false,
|
||||||
|
allowBottomPadding: !enableScrollX()
|
||||||
});
|
});
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
}
|
}
|
||||||
|
@ -535,7 +536,8 @@
|
||||||
showDetailsMenu: true,
|
showDetailsMenu: true,
|
||||||
overlayPlayButton: true,
|
overlayPlayButton: true,
|
||||||
context: 'home',
|
context: 'home',
|
||||||
centerText: true
|
centerText: true,
|
||||||
|
allowBottomPadding: !enableScrollX()
|
||||||
});
|
});
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
}
|
}
|
||||||
|
@ -578,7 +580,8 @@
|
||||||
lazy: true,
|
lazy: true,
|
||||||
overlayPlayButton: true,
|
overlayPlayButton: true,
|
||||||
context: 'home',
|
context: 'home',
|
||||||
centerText: true
|
centerText: true,
|
||||||
|
allowBottomPadding: !enableScrollX()
|
||||||
});
|
});
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
}
|
}
|
||||||
|
@ -705,7 +708,9 @@
|
||||||
lazy: true,
|
lazy: true,
|
||||||
showDetailsMenu: true,
|
showDetailsMenu: true,
|
||||||
centerText: true,
|
centerText: true,
|
||||||
overlayPlayButton: true
|
overlayPlayButton: true,
|
||||||
|
allowBottomPadding: !enableScrollX()
|
||||||
|
|
||||||
});
|
});
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
|
|
||||||
|
|
|
@ -923,7 +923,6 @@ var AppInfo = {};
|
||||||
|
|
||||||
var isCordova = Dashboard.isRunningInCordova();
|
var isCordova = Dashboard.isRunningInCordova();
|
||||||
|
|
||||||
AppInfo.enableSearchInTopMenu = true;
|
|
||||||
AppInfo.enableHomeFavorites = true;
|
AppInfo.enableHomeFavorites = true;
|
||||||
AppInfo.enableHomeTabs = true;
|
AppInfo.enableHomeTabs = true;
|
||||||
AppInfo.enableNowPlayingPageBottomTabs = true;
|
AppInfo.enableNowPlayingPageBottomTabs = true;
|
||||||
|
@ -941,9 +940,7 @@ var AppInfo = {};
|
||||||
|
|
||||||
if (isCordova) {
|
if (isCordova) {
|
||||||
//AppInfo.enableSectionTransitions = true;
|
//AppInfo.enableSectionTransitions = true;
|
||||||
AppInfo.enableSearchInTopMenu = false;
|
|
||||||
AppInfo.enableHomeFavorites = false;
|
AppInfo.enableHomeFavorites = false;
|
||||||
AppInfo.enableHomeTabs = false;
|
|
||||||
AppInfo.enableNowPlayingPageBottomTabs = false;
|
AppInfo.enableNowPlayingPageBottomTabs = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -954,6 +951,7 @@ var AppInfo = {};
|
||||||
AppInfo.enableAppLayouts = true;
|
AppInfo.enableAppLayouts = true;
|
||||||
AppInfo.supportsExternalPlayerMenu = true;
|
AppInfo.supportsExternalPlayerMenu = true;
|
||||||
AppInfo.isNativeApp = true;
|
AppInfo.isNativeApp = true;
|
||||||
|
AppInfo.enableHomeTabs = false;
|
||||||
|
|
||||||
if (isIOS) {
|
if (isIOS) {
|
||||||
AppInfo.supportsExternalPlayers = false;
|
AppInfo.supportsExternalPlayers = false;
|
||||||
|
@ -963,9 +961,6 @@ var AppInfo = {};
|
||||||
AppInfo.enableSupporterMembership = true;
|
AppInfo.enableSupporterMembership = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This doesn't perform well on iOS
|
|
||||||
AppInfo.enableHeadRoom = !isIOS && !browserInfo.msie;
|
|
||||||
|
|
||||||
// This currently isn't working on android, unfortunately
|
// This currently isn't working on android, unfortunately
|
||||||
AppInfo.supportsFileInput = !(AppInfo.isNativeApp && isAndroid);
|
AppInfo.supportsFileInput = !(AppInfo.isNativeApp && isAndroid);
|
||||||
|
|
||||||
|
|
|
@ -272,12 +272,10 @@
|
||||||
Events.off(ApiClient, "websocketmessage", onWebSocketMessage);
|
Events.off(ApiClient, "websocketmessage", onWebSocketMessage);
|
||||||
});
|
});
|
||||||
|
|
||||||
if (AppInfo.enableHeadRoom) {
|
|
||||||
require(["headroom-window"], function (headroom) {
|
require(["headroom-window"], function (headroom) {
|
||||||
headroom.add(viewTabs);
|
headroom.add(viewTabs);
|
||||||
self.headroom = headroom;
|
self.headroom = headroom;
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
view.addEventListener('viewdestroy', function (e) {
|
view.addEventListener('viewdestroy', function (e) {
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue