mirror of
https://github.com/jellyfin/jellyfin-web.git
synced 2024-11-17 19:08:18 -07:00
reduce rescanning due to IsOffline
This commit is contained in:
parent
521b20f86a
commit
cbca3a20ae
@ -14,12 +14,12 @@
|
||||
},
|
||||
"devDependencies": {},
|
||||
"ignore": [],
|
||||
"version": "1.4.182",
|
||||
"_release": "1.4.182",
|
||||
"version": "1.4.183",
|
||||
"_release": "1.4.183",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "1.4.182",
|
||||
"commit": "d4c701ce17ff5a243470cf9cae99babde51f7179"
|
||||
"tag": "1.4.183",
|
||||
"commit": "0548902d94131fb45ba17c421186014b0bed5e18"
|
||||
},
|
||||
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
||||
"_target": "^1.2.1",
|
||||
|
@ -36,7 +36,7 @@
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.vertical-wrap .card {
|
||||
.vertical-wrap > .card {
|
||||
contain: layout style;
|
||||
}
|
||||
|
||||
@ -135,19 +135,18 @@
|
||||
position: relative;
|
||||
background-clip: content-box !important;
|
||||
color: #fff;
|
||||
/* This is only needed for scalable cards */
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
@media all and (min-width: 600px) {
|
||||
|
||||
.cardImageContainer {
|
||||
/* Should be 0 with visualCardBox, but not really noticeable */
|
||||
border-radius: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
.visualCardBox .cardImageContainer {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.chapterCardImageContainer {
|
||||
background-color: #000;
|
||||
border-radius: 0;
|
||||
@ -178,10 +177,6 @@
|
||||
display: block;
|
||||
}
|
||||
|
||||
.scalableCard .cardImageContainer {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.cardImage {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
@ -206,7 +201,7 @@
|
||||
padding: .5em .3em;
|
||||
}
|
||||
|
||||
.visualCardBox .cardScalable, .visualCardBox-cardFooter {
|
||||
.visualCardBox-cardScalable, .visualCardBox-cardFooter {
|
||||
background-color: #222326;
|
||||
}
|
||||
|
||||
|
@ -1133,7 +1133,9 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo
|
||||
cardContentClose = '</button>';
|
||||
}
|
||||
cardImageContainerOpen = imgUrl ? ('<div class="' + cardImageContainerClass + ' lazy" data-src="' + imgUrl + '">') : ('<div class="' + cardImageContainerClass + '">');
|
||||
cardImageContainerOpen = '<div class="' + cardBoxClass + '"><div class="cardScalable"><div class="cardPadder-' + options.shape + '"></div>' + cardContentOpen + cardImageContainerOpen;
|
||||
|
||||
var cardScalableClass = options.cardLayout ? 'cardScalable visualCardBox-cardScalable' : 'cardScalable';
|
||||
cardImageContainerOpen = '<div class="' + cardBoxClass + '"><div class="' + cardScalableClass + '"><div class="cardPadder-' + options.shape + '"></div>' + cardContentOpen + cardImageContainerOpen;
|
||||
cardBoxClose = '</div>';
|
||||
cardScalableClose = '</div>';
|
||||
cardImageContainerClose = '</div>';
|
||||
|
@ -86,7 +86,7 @@ define(['imageLoader', 'itemShortcuts', 'connectionManager', 'layoutManager'], f
|
||||
var html = '\
|
||||
<button type="button" data-isfolder="' + person.IsFolder + '" data-type="' + person.Type + '" data-action="link" data-id="' + person.Id + '" data-serverid="' + serverId + '" raised class="' + className + '"> \
|
||||
<div class="' + cardBoxCssClass + '">\
|
||||
<div class="cardScalable">\
|
||||
<div class="cardScalable visualCardBox-cardScalable">\
|
||||
<div class="cardPadder-portrait"></div>\
|
||||
<div class="cardContent">\
|
||||
' + cardImageContainer + '\
|
||||
|
@ -187,7 +187,7 @@
|
||||
|
||||
html += '<button type="button" class="' + cssClass + '" data-index="' + index + '">';
|
||||
html += '<div class="cardBox visualCardBox">';
|
||||
html += '<div class="cardScalable">';
|
||||
html += '<div class="cardScalable visualCardBox-cardScalable">';
|
||||
html += '<div class="cardPadder-portrait"></div>';
|
||||
|
||||
html += '<div class="cardContent searchImage">';
|
||||
|
@ -372,6 +372,11 @@ define(['loading', 'viewManager', 'skinManager', 'pluginManager', 'backdrop', 'b
|
||||
|
||||
function handleBackToDefault() {
|
||||
|
||||
if (!appHost.supports('exitmenu') && appHost.supports('exit')) {
|
||||
appHost.exit();
|
||||
return;
|
||||
}
|
||||
|
||||
isDummyBackToHome = true;
|
||||
skinManager.loadUserSkin();
|
||||
|
||||
|
@ -32,14 +32,14 @@
|
||||
"iron-component-page": "polymerElements/iron-component-page#^1.1.6"
|
||||
},
|
||||
"private": true,
|
||||
"homepage": "https://github.com/polymer/polymer",
|
||||
"homepage": "https://github.com/Polymer/polymer",
|
||||
"_release": "1.6.1",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.6.1",
|
||||
"commit": "1f197d9d7874b1e5808b2a5c26f34446a7d912fc"
|
||||
},
|
||||
"_source": "git://github.com/polymer/polymer.git",
|
||||
"_source": "git://github.com/Polymer/polymer.git",
|
||||
"_target": "^1.1.0",
|
||||
"_originalSource": "polymer/polymer"
|
||||
"_originalSource": "Polymer/polymer"
|
||||
}
|
@ -49,7 +49,17 @@ define(['appStorage', 'browser'], function (appStorage, browser) {
|
||||
function getDeviceName() {
|
||||
var deviceName;
|
||||
|
||||
if (browser.chrome) {
|
||||
if (browser.tizen) {
|
||||
deviceName = "Samsung Smart TV";
|
||||
} else if (browser.web0S) {
|
||||
deviceName = "LG Smart TV";
|
||||
} else if (browser.operaTv) {
|
||||
deviceName = "Opera TV";
|
||||
} else if (browser.xboxOne) {
|
||||
deviceName = "Xbox One";
|
||||
} else if (browser.ps4) {
|
||||
deviceName = "Sony PS4";
|
||||
} else if (browser.chrome) {
|
||||
deviceName = "Chrome";
|
||||
} else if (browser.edge) {
|
||||
deviceName = "Edge";
|
||||
@ -77,6 +87,11 @@ define(['appStorage', 'browser'], function (appStorage, browser) {
|
||||
}
|
||||
|
||||
function supportsVoiceInput() {
|
||||
|
||||
if (browser.tv) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return window.SpeechRecognition ||
|
||||
window.webkitSpeechRecognition ||
|
||||
window.mozSpeechRecognition ||
|
||||
@ -95,24 +110,57 @@ define(['appStorage', 'browser'], function (appStorage, browser) {
|
||||
alert('setWindowState is not supported and should not be called');
|
||||
},
|
||||
exit: function () {
|
||||
alert('exit is not supported and should not be called');
|
||||
|
||||
if (browser.tizen) {
|
||||
try {
|
||||
tizen.application.getCurrentApplication().exit();
|
||||
} catch (err) {
|
||||
console.log('error closing application: ' + err);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
window.close();
|
||||
},
|
||||
supports: function (command) {
|
||||
|
||||
var features = [
|
||||
'filedownload',
|
||||
'externalpremium',
|
||||
'sharing'
|
||||
'sharing',
|
||||
'externalpremium'
|
||||
];
|
||||
|
||||
features.push('externallinks');
|
||||
if (browser.operaTv || browser.tizen || browser.web0s) {
|
||||
features.push('exit');
|
||||
} else {
|
||||
features.push('exitmenu');
|
||||
}
|
||||
|
||||
if (!browser.operaTv) {
|
||||
features.push('externallinks');
|
||||
}
|
||||
|
||||
if (supportsVoiceInput()) {
|
||||
features.push('voiceinput');
|
||||
}
|
||||
|
||||
var userAgent = navigator.userAgent.toLowerCase();
|
||||
|
||||
if (!browser.mobile || userAgent.indexOf('msapphost') != -1) {
|
||||
features.push('htmlaudioautoplay');
|
||||
features.push('htmlvideoautoplay');
|
||||
}
|
||||
|
||||
return features.indexOf(command.toLowerCase()) != -1;
|
||||
},
|
||||
unlockedFeatures: function () {
|
||||
|
||||
var features = [];
|
||||
|
||||
features.push('playback');
|
||||
|
||||
return features;
|
||||
},
|
||||
appInfo: function () {
|
||||
|
||||
if (appInfo) {
|
||||
|
@ -620,7 +620,7 @@ progress {
|
||||
}
|
||||
|
||||
|
||||
.ui-body-a .visualCardBox .cardScalable, .ui-body-a .visualCardBox-cardFooter {
|
||||
.ui-body-a .visualCardBox-cardScalable, .ui-body-a .visualCardBox-cardFooter {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
|
@ -15,6 +15,9 @@
|
||||
</select>
|
||||
<div class="fieldDescription">${LabelHardwareAccelerationTypeHelp}</div>
|
||||
</div>
|
||||
<div class="inputContainer hide fldVaapiDevice">
|
||||
<input is="emby-input" type="text" id="txtVaapiDevice" label="${LabelVaapiDevice}" />
|
||||
</div>
|
||||
<div class="selectContainer">
|
||||
<select is="emby-select" id="selectThreadCount" label="${LabelTranscodingThreadCount}">
|
||||
<option value="-1">${OptionAuto}</option>
|
||||
|
@ -30,15 +30,6 @@
|
||||
appSettings.cameraUploadServers(cameraUploadServers);
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
require(['toast'], function (toast) {
|
||||
toast(Globalize.translate('SettingsSaved'));
|
||||
});
|
||||
|
||||
if (cameraUploadServers.length) {
|
||||
if (window.MainActivity) {
|
||||
MainActivity.authorizeStorage();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return function (view, params) {
|
||||
@ -59,7 +50,7 @@
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
var userId = getParameterByName('userId') || Dashboard.getCurrentUserId();
|
||||
var userId = params.userId || Dashboard.getCurrentUserId();
|
||||
|
||||
ApiClient.getUser(userId).then(function (user) {
|
||||
|
||||
|
@ -90,9 +90,9 @@
|
||||
});
|
||||
}
|
||||
|
||||
function loadPage(page) {
|
||||
function loadPage(page, params) {
|
||||
|
||||
var mode = getParameterByName('mode') || 'auto';
|
||||
var mode = params.mode || 'auto';
|
||||
|
||||
if (mode == 'auto') {
|
||||
|
||||
@ -295,11 +295,11 @@
|
||||
});
|
||||
|
||||
view.querySelector('.btnCancelSignup').addEventListener('click', function () {
|
||||
history.back();
|
||||
Emby.Page.back();
|
||||
});
|
||||
|
||||
view.querySelector('.btnCancelManualServer').addEventListener('click', function () {
|
||||
history.back();
|
||||
Emby.Page.back();
|
||||
});
|
||||
|
||||
view.querySelector('.btnWelcomeNext').addEventListener('click', function () {
|
||||
@ -336,7 +336,7 @@
|
||||
});
|
||||
|
||||
view.addEventListener('viewshow', function () {
|
||||
loadPage(view);
|
||||
loadPage(view, params);
|
||||
});
|
||||
};
|
||||
});
|
@ -318,7 +318,7 @@
|
||||
html += '<div class="' + className + '" id="' + rowId + '">';
|
||||
|
||||
html += '<div class="cardBox visualCardBox">';
|
||||
html += '<div class="cardScalable">';
|
||||
html += '<div class="cardScalable visualCardBox-cardScalable">';
|
||||
|
||||
html += '<div class="cardPadder cardPadder-backdrop"></div>';
|
||||
html += '<div class="cardContent">';
|
||||
|
@ -9,12 +9,17 @@
|
||||
$('#txtDownMixAudioBoost', page).val(config.DownMixAudioBoost);
|
||||
page.querySelector('.txtEncoderPath').value = config.EncoderAppPath || '';
|
||||
$('#txtTranscodingTempPath', page).val(config.TranscodingTempPath || '');
|
||||
$('#txtVaapiDevice', page).val(config.VaapiDevice || '');
|
||||
|
||||
var selectEncoderPath = page.querySelector('#selectEncoderPath');
|
||||
|
||||
selectEncoderPath.value = systemInfo.EncoderLocationType;
|
||||
onSelectEncoderPathChange.call(selectEncoderPath);
|
||||
|
||||
page.querySelector('#selectVideoDecoder').dispatchEvent(new CustomEvent('change', {
|
||||
bubbles: true
|
||||
}));
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
}
|
||||
|
||||
@ -64,6 +69,7 @@
|
||||
config.TranscodingTempPath = $('#txtTranscodingTempPath', form).val();
|
||||
config.EncodingThreadCount = $('#selectThreadCount', form).val();
|
||||
config.HardwareAccelerationType = $('#selectVideoDecoder', form).val();
|
||||
config.VaapiDevice = $('#txtVaapiDevice', form).val();
|
||||
|
||||
config.EnableThrottling = form.querySelector('#chkEnableThrottle').checked;
|
||||
|
||||
@ -129,6 +135,19 @@
|
||||
|
||||
var page = this;
|
||||
|
||||
page.querySelector('#selectVideoDecoder').addEventListener('change', function () {
|
||||
|
||||
if (this.value == 'vaapi') {
|
||||
|
||||
page.querySelector('.fldVaapiDevice').classList.remove('hide');
|
||||
page.querySelector('#txtVaapiDevice').setAttribute('required', 'required');
|
||||
|
||||
} else {
|
||||
page.querySelector('.fldVaapiDevice').classList.add('hide');
|
||||
page.querySelector('#txtVaapiDevice').removeAttribute('required');
|
||||
}
|
||||
});
|
||||
|
||||
$('#btnSelectEncoderPath', page).on("click.selectDirectory", function () {
|
||||
|
||||
require(['directorybrowser'], function (directoryBrowser) {
|
||||
|
@ -57,12 +57,7 @@
|
||||
|
||||
function onBackClick() {
|
||||
|
||||
if (Dashboard.exitOnBack()) {
|
||||
Dashboard.exit();
|
||||
}
|
||||
else {
|
||||
history.back();
|
||||
}
|
||||
Emby.Page.back();
|
||||
}
|
||||
|
||||
function updateUserInHeader(user) {
|
||||
|
@ -133,7 +133,7 @@
|
||||
|
||||
html += '<div class="card squareCard scalableCard"><div class="cardBox cardBox-bottompadded visualCardBox">';
|
||||
|
||||
html += '<div class="cardScalable">';
|
||||
html += '<div class="cardScalable visualCardBox-cardScalable">';
|
||||
|
||||
html += '<div class="cardPadder cardPadder-square"></div>';
|
||||
html += '<a class="cardContent" href="#" data-ajax="false" data-haspw="' + user.HasPassword + '" data-username="' + user.Name + '" data-userid="' + user.Id + '">';
|
||||
|
@ -300,7 +300,7 @@
|
||||
html += '<div class="card backdropCard scalableCard" style="' + style + '" data-index="' + index + '">';
|
||||
|
||||
html += '<div class="cardBox visualCardBox">';
|
||||
html += '<div class="cardScalable">';
|
||||
html += '<div class="cardScalable visualCardBox-cardScalable">';
|
||||
|
||||
html += '<div class="cardPadder cardPadder-backdrop"></div>';
|
||||
|
||||
|
@ -499,7 +499,7 @@
|
||||
var width = 240;
|
||||
var chapterHtml = '<a class="card backdropCard chapterCard" href="#" style="margin-right:1em;width:' + width + 'px;" data-position="' + c.StartPositionTicks + '">';
|
||||
chapterHtml += '<div class="cardBox">';
|
||||
chapterHtml += '<div class="cardScalable">';
|
||||
chapterHtml += '<div class="cardScalable visualCardBox-cardScalable">';
|
||||
chapterHtml += '<div class="cardPadder cardPadder-backdrop"></div>';
|
||||
|
||||
chapterHtml += '<div class="cardContent">';
|
||||
|
@ -191,7 +191,7 @@
|
||||
html += "<div class='card backdropCard scalableCard'>";
|
||||
|
||||
html += '<div class="cardBox cardBox-bottompadded visualCardBox">';
|
||||
html += '<div class="cardScalable">';
|
||||
html += '<div class="cardScalable visualCardBox-cardScalable">';
|
||||
|
||||
html += '<div class="cardPadder cardPadder-backdrop"></div>';
|
||||
|
||||
|
@ -46,7 +46,7 @@
|
||||
html += "<div data-id='" + plugin.Id + "' data-name='" + plugin.Name + "' class='card backdropCard scalableCard'>";
|
||||
|
||||
html += '<div class="cardBox cardBox-bottompadded visualCardBox">';
|
||||
html += '<div class="cardScalable">';
|
||||
html += '<div class="cardScalable visualCardBox-cardScalable">';
|
||||
|
||||
html += '<div class="cardPadder cardPadder-backdrop"></div>';
|
||||
|
||||
|
@ -716,16 +716,6 @@ var Dashboard = {
|
||||
});
|
||||
},
|
||||
|
||||
exitOnBack: function () {
|
||||
|
||||
var currentView = ViewManager.currentView();
|
||||
return !currentView || currentView.id == 'indexPage';
|
||||
},
|
||||
|
||||
exit: function () {
|
||||
Dashboard.logout();
|
||||
},
|
||||
|
||||
getDeviceProfile: function (maxHeight) {
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
@ -2709,8 +2699,6 @@ var AppInfo = {};
|
||||
if (Dashboard.isRunningInCordova()) {
|
||||
deps.push('registrationservices');
|
||||
|
||||
deps.push('cordova/back');
|
||||
|
||||
if (browserInfo.android) {
|
||||
deps.push('cordova/android/androidcredentials');
|
||||
}
|
||||
|
@ -94,7 +94,7 @@
|
||||
html += "<div data-userid='" + user.Id + "' class='" + cssClass + "'>";
|
||||
|
||||
html += '<div class="cardBox visualCardBox">';
|
||||
html += '<div class="cardScalable">';
|
||||
html += '<div class="cardScalable visualCardBox-cardScalable">';
|
||||
|
||||
html += '<div class="cardPadder cardPadder-square"></div>';
|
||||
|
||||
@ -235,7 +235,7 @@
|
||||
html += "<div data-id='" + user.Id + "' class='" + cssClass + "'>";
|
||||
|
||||
html += '<div class="cardBox cardBox-bottompadded visualCardBox">';
|
||||
html += '<div class="cardScalable">';
|
||||
html += '<div class="cardScalable visualCardBox-cardScalable">';
|
||||
|
||||
html += '<div class="cardPadder cardPadder-square"></div>';
|
||||
|
||||
|
@ -2322,5 +2322,6 @@
|
||||
"RememberMe": "Remember me",
|
||||
"HeaderOfflineSync": "Offline Sync",
|
||||
"LabelMaxAudioFileBitrate": "Max audio file bitrate:",
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space."
|
||||
"LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.",
|
||||
"LabelVaapiDevice": "VA API Device:"
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user