mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
merge from upstream
This commit is contained in:
commit
093a9b1ebd
68 changed files with 20499 additions and 19536 deletions
|
@ -143,7 +143,8 @@ define(["appSettings", "browser", "events", "htmlMediaHelper"], function(appSett
|
|||
features.push("displaylanguage");
|
||||
features.push("otherapppromotions");
|
||||
features.push("targetblank");
|
||||
features.push("multiserver");
|
||||
// allows users to connect to more than one server
|
||||
//features.push("multiserver");
|
||||
browser.orsay || browser.tizen || browser.msie || !(browser.firefox || browser.ps4 || browser.edge || cueSupported()) || features.push("subtitleappearancesettings");
|
||||
browser.orsay || browser.tizen || features.push("subtitleburnsettings");
|
||||
browser.tv || browser.ps4 || browser.xboxOne || features.push("fileinput");
|
||||
|
|
|
@ -751,7 +751,7 @@ define(['browser'], function (browser) {
|
|||
Condition: 'Equals',
|
||||
Property: 'IsSecondaryAudio',
|
||||
Value: 'false',
|
||||
IsRequired: 'false'
|
||||
IsRequired: false
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -780,7 +780,7 @@ define(['browser'], function (browser) {
|
|||
Condition: 'Equals',
|
||||
Property: 'IsSecondaryAudio',
|
||||
Value: 'false',
|
||||
IsRequired: 'false'
|
||||
IsRequired: false
|
||||
}
|
||||
]
|
||||
});
|
||||
|
@ -913,4 +913,4 @@ define(['browser'], function (browser) {
|
|||
|
||||
return profile;
|
||||
};
|
||||
});
|
||||
});
|
||||
|
|
|
@ -18,18 +18,18 @@ define(['loading', 'dialogHelper', 'dom', 'listViewStyle', 'emby-input', 'emby-b
|
|||
if (path && typeof path !== 'string') {
|
||||
throw new Error("invalid path");
|
||||
}
|
||||
|
||||
|
||||
loading.show();
|
||||
|
||||
|
||||
var promises = [];
|
||||
|
||||
if ("Network" === path) {
|
||||
promises.push(ApiClient.getNetworkDevices())
|
||||
} else {
|
||||
if (path) {
|
||||
if (path) {
|
||||
promises.push(ApiClient.getDirectoryContents(path, fileOptions));
|
||||
promises.push(ApiClient.getParentPath(path));
|
||||
} else {
|
||||
} else {
|
||||
promises.push(ApiClient.getDrives());
|
||||
}
|
||||
}
|
||||
|
@ -42,7 +42,7 @@ define(['loading', 'dialogHelper', 'dom', 'listViewStyle', 'emby-input', 'emby-b
|
|||
|
||||
page.querySelector(".results").scrollTop = 0;
|
||||
page.querySelector("#txtDirectoryPickerPath").value = path || "";
|
||||
|
||||
|
||||
if (path) {
|
||||
html += getItem("lnkPath lnkDirectory", "", parentPath, "...");
|
||||
}
|
||||
|
@ -51,7 +51,7 @@ define(['loading', 'dialogHelper', 'dom', 'listViewStyle', 'emby-input', 'emby-b
|
|||
var cssClass = "File" === folder.Type ? "lnkPath lnkFile" : "lnkPath lnkDirectory";
|
||||
html += getItem(cssClass, folder.Type, folder.Path, folder.Name);
|
||||
}
|
||||
|
||||
|
||||
if (!path) {
|
||||
html += getItem("lnkPath lnkDirectory", "", "Network", Globalize.translate("ButtonNetwork"));
|
||||
}
|
||||
|
@ -128,7 +128,7 @@ define(['loading', 'dialogHelper', 'dom', 'listViewStyle', 'emby-input', 'emby-b
|
|||
html += '<button type="button" is="paper-icon-button-light" class="btnRefreshDirectories emby-input-iconbutton" title="' + Globalize.translate("ButtonRefresh") + '"><i class="md-icon">search</i></button>';
|
||||
}
|
||||
html += "</div>";
|
||||
if (!readOnlyAttribute) {
|
||||
if (!readOnlyAttribute) {
|
||||
html += '<div class="results paperList" style="max-height: 200px; overflow-y: auto;"></div>';
|
||||
}
|
||||
if (options.enableNetworkSharePath) {
|
||||
|
@ -222,11 +222,7 @@ define(['loading', 'dialogHelper', 'dom', 'listViewStyle', 'emby-input', 'emby-b
|
|||
var networkSharePath = this.querySelector("#txtNetworkPath");
|
||||
networkSharePath = networkSharePath ? networkSharePath.value : null;
|
||||
var path = this.querySelector("#txtDirectoryPickerPath").value;
|
||||
validatePath(path, options.validateWriteable, ApiClient).then(
|
||||
function() {
|
||||
options.callback(path, networkSharePath);
|
||||
}
|
||||
);
|
||||
validatePath(path, options.validateWriteable, ApiClient).then(options.callback(path, networkSharePath));
|
||||
}
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
|
||||
.scrollbuttoncontainer {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
top: 10%;
|
||||
bottom: 35%;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
z-index: 1;
|
||||
|
|
|
@ -119,38 +119,66 @@
|
|||
height: 1.2em !important;
|
||||
}
|
||||
|
||||
@media all and (max-width: 87.5em) {
|
||||
|
||||
.nowPlayingBarUserDataButtons {
|
||||
@media all and (max-width: 70em) {
|
||||
|
||||
.nowPlayingBarRight .nowPlayingBarUserDataButtons {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-width: 68.75em) {
|
||||
|
||||
.nowPlayingBarVolumeSliderContainer, .nowPlayingBar .muteButton, .nowPlayingBar .unmuteButton {
|
||||
@media all and (max-width: 66em) {
|
||||
.toggleRepeatButton {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-width: 50em) {
|
||||
|
||||
@media all and (max-width: 62em) {
|
||||
|
||||
.nowPlayingBarCenter .nowPlayingBarCurrentTime {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media all and (max-width: 56em) {
|
||||
|
||||
.nowPlayingBarCenter {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.toggleRepeatButton {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (min-width: 50em) {
|
||||
|
||||
@media all and (min-width: 56em) {
|
||||
|
||||
.nowPlayingBarRight .playPauseButton {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.nowPlayingBarInfoContainer {
|
||||
max-width: 40%;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-width: 40em) {
|
||||
|
||||
.nowPlayingBarInfoContainer .nowPlayingImage {
|
||||
display: none;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media all and (max-width: 36em) {
|
||||
|
||||
.nowPlayingBarRight .nowPlayingBarVolumeSliderContainer {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media all and (max-width: 24em) {
|
||||
|
||||
.nowPlayingBar .muteButton, .nowPlayingBar .unmuteButton {
|
||||
display: none;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader',
|
|||
|
||||
html += '<button is="paper-icon-button-light" class="muteButton mediaButton"><i class="md-icon"></i></button>';
|
||||
|
||||
html += '<div class="sliderContainer nowPlayingBarVolumeSliderContainer hide" style="width:100px;vertical-align:middle;display:inline-flex;">';
|
||||
html += '<div class="sliderContainer nowPlayingBarVolumeSliderContainer hide" style="width:9em;vertical-align:middle;display:inline-flex;">';
|
||||
html += '<input type="range" is="emby-slider" pin step="1" min="0" max="100" value="0" class="slider-medium-thumb nowPlayingBarVolumeSlider"/>';
|
||||
html += '</div>';
|
||||
|
||||
|
@ -191,9 +191,9 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader',
|
|||
currentPlayer.setVolume(this.value);
|
||||
}
|
||||
}
|
||||
volumeSlider.addEventListener('change', setVolume.bind(this));
|
||||
volumeSlider.addEventListener('mousemove', setVolume.bind(this));
|
||||
volumeSlider.addEventListener('touchmove', setVolume.bind(this));
|
||||
volumeSlider.addEventListener('change', setVolume);
|
||||
volumeSlider.addEventListener('mousemove', setVolume);
|
||||
volumeSlider.addEventListener('touchmove', setVolume);
|
||||
|
||||
|
||||
positionSlider = elem.querySelector('.nowPlayingBarPositionSlider');
|
||||
|
|
|
@ -1806,6 +1806,12 @@ define(['events', 'datetime', 'appSettings', 'itemHelper', 'pluginManager', 'pla
|
|||
}
|
||||
|
||||
function translateItemsForPlayback(items, options) {
|
||||
if (items.length > 1 && options && options.ids) {
|
||||
// Use the original request id array for sorting the result in the proper order
|
||||
items.sort(function (a, b) {
|
||||
return options.ids.indexOf(a.Id) - options.ids.indexOf(b.Id);
|
||||
});
|
||||
}
|
||||
|
||||
var firstItem = items[0];
|
||||
var promise;
|
||||
|
|
|
@ -429,6 +429,7 @@ define(["browser", "datetime", "backdrop", "libraryBrowser", "listView", "imageL
|
|||
if (!state.NextMediaType) {
|
||||
updatePlayerState(player, dlg, {});
|
||||
loadPlaylist(dlg);
|
||||
Emby.Page.back();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue