mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update dialogs
This commit is contained in:
parent
c00d7cba09
commit
92b687f9a5
16 changed files with 242 additions and 71 deletions
|
@ -16,12 +16,12 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {},
|
"devDependencies": {},
|
||||||
"ignore": [],
|
"ignore": [],
|
||||||
"version": "1.3.44",
|
"version": "1.3.45",
|
||||||
"_release": "1.3.44",
|
"_release": "1.3.45",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "1.3.44",
|
"tag": "1.3.45",
|
||||||
"commit": "7634be33759be48574ff2531df4d111fa1177e54"
|
"commit": "dbaa46e3aa38a939b82f305c61e875e1a30da2fe"
|
||||||
},
|
},
|
||||||
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
||||||
"_target": "^1.2.0",
|
"_target": "^1.2.0",
|
||||||
|
|
|
@ -217,7 +217,16 @@
|
||||||
|
|
||||||
var keyframes = [
|
var keyframes = [
|
||||||
{ transform: 'scale(0)', offset: 0 },
|
{ transform: 'scale(0)', offset: 0 },
|
||||||
{ transform: 'scale(1,1)', offset: 1 }];
|
{ transform: 'none', offset: 1 }];
|
||||||
|
var timing = elem.animationConfig.entry.timing;
|
||||||
|
return elem.animate(keyframes, timing).onfinish = onFinish;
|
||||||
|
}
|
||||||
|
|
||||||
|
function slideUp(elem, onFinish) {
|
||||||
|
|
||||||
|
var keyframes = [
|
||||||
|
{ transform: 'translate3d(0,30%,0)', opacity: 0, offset: 0 },
|
||||||
|
{ transform: 'none', opacity: 1, offset: 1 }];
|
||||||
var timing = elem.animationConfig.entry.timing;
|
var timing = elem.animationConfig.entry.timing;
|
||||||
return elem.animate(keyframes, timing).onfinish = onFinish;
|
return elem.animate(keyframes, timing).onfinish = onFinish;
|
||||||
}
|
}
|
||||||
|
@ -240,6 +249,15 @@
|
||||||
return elem.animate(keyframes, timing);
|
return elem.animate(keyframes, timing);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function slideDown(elem, onFinish) {
|
||||||
|
|
||||||
|
var keyframes = [
|
||||||
|
{ transform: 'none', opacity: 1, offset: 0 },
|
||||||
|
{ transform: 'translate3d(0,30%,0)', opacity: 0, offset: 1 }];
|
||||||
|
var timing = elem.animationConfig.entry.timing;
|
||||||
|
return elem.animate(keyframes, timing);
|
||||||
|
}
|
||||||
|
|
||||||
function closeDialog(dlg) {
|
function closeDialog(dlg) {
|
||||||
|
|
||||||
if (!dlg.classList.contains('hide')) {
|
if (!dlg.classList.contains('hide')) {
|
||||||
|
@ -260,7 +278,18 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
fadeOut(dlg).onfinish = onAnimationFinish;
|
var animation;
|
||||||
|
|
||||||
|
if (dlg.animationConfig.exit.name == 'fadeout') {
|
||||||
|
animation = fadeOut(dlg);
|
||||||
|
} else if (dlg.animationConfig.exit.name == 'slidedown') {
|
||||||
|
animation = slideDown(dlg);
|
||||||
|
} else {
|
||||||
|
onAnimationFinish();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
animation.onfinish = onAnimationFinish;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -276,10 +305,12 @@
|
||||||
onAnimationFinish();
|
onAnimationFinish();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (dlg.animationConfig.entry.name == 'fade-in-animation') {
|
if (dlg.animationConfig.entry.name == 'fadein') {
|
||||||
fadeIn(dlg, onAnimationFinish);
|
fadeIn(dlg, onAnimationFinish);
|
||||||
} else if (dlg.animationConfig.entry.name == 'scale-up-animation') {
|
} else if (dlg.animationConfig.entry.name == 'scaleup') {
|
||||||
scaleUp(dlg, onAnimationFinish);
|
scaleUp(dlg, onAnimationFinish);
|
||||||
|
} else if (dlg.animationConfig.entry.name == 'slideup') {
|
||||||
|
slideUp(dlg, onAnimationFinish);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -355,9 +386,9 @@
|
||||||
dlg.setAttribute('data-autofocus', 'true');
|
dlg.setAttribute('data-autofocus', 'true');
|
||||||
}
|
}
|
||||||
|
|
||||||
var defaultEntryAnimation = browser.animate ? 'scale-up-animation' : 'fade-in-animation';
|
var defaultEntryAnimation = browser.animate ? 'scaleup' : 'fadein';
|
||||||
dlg.entryAnimation = options.entryAnimation || defaultEntryAnimation;
|
dlg.entryAnimation = options.entryAnimation || defaultEntryAnimation;
|
||||||
dlg.exitAnimation = 'fade-out-animation';
|
dlg.exitAnimation = 'fadeout';
|
||||||
|
|
||||||
// If it's not fullscreen then lower the default animation speed to make it open really fast
|
// If it's not fullscreen then lower the default animation speed to make it open really fast
|
||||||
var entryAnimationDuration = options.entryAnimationDuration || (options.size ? 200 : 300);
|
var entryAnimationDuration = options.entryAnimationDuration || (options.size ? 200 : 300);
|
||||||
|
|
55
dashboard-ui/bower_components/emby-webcomponents/strings/es-MX.json
vendored
Normal file
55
dashboard-ui/bower_components/emby-webcomponents/strings/es-MX.json
vendored
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
{
|
||||||
|
"ValueSpecialEpisodeName": "Especial - {0}",
|
||||||
|
"Share": "Compartir",
|
||||||
|
"ServerUpdateNeeded": "Este Servidor Emby necesita ser actualizado. Para descargar la ultima versi\u00f3n, por favor visite {0}",
|
||||||
|
"LiveTvGuideRequiresUnlock": "La Guia de TV en Vivo actualmente esta limitada a {0} canales. De clic en el bot\u00f3n Desbloquear para saber como desbloquear la experiencia completa.",
|
||||||
|
"AttributeNew": "Nuevo",
|
||||||
|
"AttributePremiere": "Fecha de Estreno",
|
||||||
|
"AttributeLive": "En Vivo",
|
||||||
|
"TrackCount": "{0} Pistas",
|
||||||
|
"ItemCount": "{0} \u00edtems",
|
||||||
|
"ValueSeriesYearToPresent": "{0}-Presente",
|
||||||
|
"ReleaseYearValue": "A\u00f1o de estreno: {0}",
|
||||||
|
"OriginalAirDateValue": "Fecha de transmisi\u00f3n original: {0}",
|
||||||
|
"EndsAtValue": "Termina a las {0}",
|
||||||
|
"OptionSundayShort": "Dom",
|
||||||
|
"OptionMondayShort": "Lun",
|
||||||
|
"OptionTuesdayShort": "Mar",
|
||||||
|
"OptionWednesdayShort": "Mie",
|
||||||
|
"OptionThursdayShort": "Jue",
|
||||||
|
"OptionFridayShort": "Vie",
|
||||||
|
"OptionSaturdayShort": "Sab",
|
||||||
|
"HeaderSelectDate": "Seleccionar fecha",
|
||||||
|
"ButtonOk": "Ok",
|
||||||
|
"ButtonCancel": "Cancelar",
|
||||||
|
"ButtonGotIt": "Hecho",
|
||||||
|
"RecordingScheduled": "Grabaci\u00f3n programada.",
|
||||||
|
"HeaderNewRecording": "Nueva Grabaci\u00f3n",
|
||||||
|
"Sunday": "Domingo",
|
||||||
|
"Monday": "Lunes",
|
||||||
|
"Tuesday": "Martes",
|
||||||
|
"Wednesday": "Mi\u00e9rcoles",
|
||||||
|
"Thursday": "Jueves",
|
||||||
|
"Friday": "Viernes",
|
||||||
|
"Saturday": "S\u00e1bado",
|
||||||
|
"Days": "D\u00edas",
|
||||||
|
"RecordSeries": "Grabar Series",
|
||||||
|
"LabelPrePaddingMinutes": "Minutos de protecci\u00f3n previos:",
|
||||||
|
"LabelPostPaddingMinutes": "Minutos de protecci\u00f3n posterior:",
|
||||||
|
"RecordOnAllChannels": "Grabar en todos los canales",
|
||||||
|
"RecordAnytime": "Grabar en cualquier momento",
|
||||||
|
"RecordOnlyNewEpisodes": "Grabar s\u00f3lo nuevos episodios",
|
||||||
|
"HeaderBecomeProjectSupporter": "Obtener Emby Premiere",
|
||||||
|
"HeaderEnjoyDayTrial": "Disfrute de una Prueba Gratuita por 14 D\u00edas",
|
||||||
|
"MessageActiveSubscriptionRequiredSeriesRecordings": "Se requiere de una suscripci\u00f3n de Emby Premiere para crear grabaciones automatizadas de series.",
|
||||||
|
"OptionConvertRecordingsToStreamingFormat": "Convertir autom\u00e1ticamente las grabaciones a un formato amigable para transmisi\u00f3n",
|
||||||
|
"OptionConvertRecordingsToStreamingFormatHelp": "Las grabaciones ser\u00e1n convertidas en tiempo real a MP4 para una f\u00e1cil reproducci\u00f3n en sus dispositivos.",
|
||||||
|
"FeatureRequiresEmbyPremiere": "Esta caracter\u00edstica requiere de una suscripci\u00f3n activa de Emby Premiere.",
|
||||||
|
"Record": "Grabar",
|
||||||
|
"Save": "Guardar",
|
||||||
|
"Edit": "Editar",
|
||||||
|
"Download": "Descargar",
|
||||||
|
"Advanced": "Avanzado",
|
||||||
|
"Refresh": "Actualizar",
|
||||||
|
"RefreshQueued": "Actualizaci\u00f3n programada"
|
||||||
|
}
|
55
dashboard-ui/bower_components/emby-webcomponents/strings/nb.json
vendored
Normal file
55
dashboard-ui/bower_components/emby-webcomponents/strings/nb.json
vendored
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
{
|
||||||
|
"ValueSpecialEpisodeName": "Spesial - {0}",
|
||||||
|
"Share": "Del",
|
||||||
|
"ServerUpdateNeeded": "Denne Emby serveren trenger en oppdatering. For \u00e5 laste ned nyeste versjon, vennligst bes\u00f8k: {0}",
|
||||||
|
"LiveTvGuideRequiresUnlock": "Live TV Guide er p\u00e5 n\u00e5v\u00e6rende tidspunkter begrenset til {0} Kanaler. Trykk p\u00e5 l\u00e5s opp knappen for \u00e5 l\u00e6re hvordan f\u00e5 full opplevelse.",
|
||||||
|
"AttributeNew": "Ny",
|
||||||
|
"AttributePremiere": "Premiere",
|
||||||
|
"AttributeLive": "Direkte",
|
||||||
|
"TrackCount": "{0} spor",
|
||||||
|
"ItemCount": "{0} elementer",
|
||||||
|
"ValueSeriesYearToPresent": "{0}-N\u00e5v\u00e6rende",
|
||||||
|
"ReleaseYearValue": "Utgivelse \u00e5r: {0}",
|
||||||
|
"OriginalAirDateValue": "Original slippdato: {0}",
|
||||||
|
"EndsAtValue": "Ender p\u00e5 {0}",
|
||||||
|
"OptionSundayShort": "S\u00f8n",
|
||||||
|
"OptionMondayShort": "Man",
|
||||||
|
"OptionTuesdayShort": "Tir",
|
||||||
|
"OptionWednesdayShort": "Ons",
|
||||||
|
"OptionThursdayShort": "Tor",
|
||||||
|
"OptionFridayShort": "Fre",
|
||||||
|
"OptionSaturdayShort": "L\u00f8r",
|
||||||
|
"HeaderSelectDate": "Velg dato",
|
||||||
|
"ButtonOk": "Ok",
|
||||||
|
"ButtonCancel": "Avbryt",
|
||||||
|
"ButtonGotIt": "Skj\u00f8nner",
|
||||||
|
"RecordingScheduled": "Planlagte opptak.",
|
||||||
|
"HeaderNewRecording": "Tar opp n\u00e5",
|
||||||
|
"Sunday": "S\u00f8ndag",
|
||||||
|
"Monday": "Mandag",
|
||||||
|
"Tuesday": "Tirsdag",
|
||||||
|
"Wednesday": "Onsdag",
|
||||||
|
"Thursday": "Torsdag",
|
||||||
|
"Friday": "Fredag",
|
||||||
|
"Saturday": "L\u00f8rdag",
|
||||||
|
"Days": "Dager",
|
||||||
|
"RecordSeries": "Ta opp serien",
|
||||||
|
"LabelPrePaddingMinutes": "Pre-padding minutter:",
|
||||||
|
"LabelPostPaddingMinutes": "Post-padding minutter:",
|
||||||
|
"RecordOnAllChannels": "Ta opp fra alle kanaler",
|
||||||
|
"RecordAnytime": "Ta opp n\u00e5r som helst",
|
||||||
|
"RecordOnlyNewEpisodes": "Ta opp kun nye episoder",
|
||||||
|
"HeaderBecomeProjectSupporter": "Skaff Emby Premiere",
|
||||||
|
"HeaderEnjoyDayTrial": "Nyt en 14 dagers gratis pr\u00f8ve versjon",
|
||||||
|
"MessageActiveSubscriptionRequiredSeriesRecordings": "En aktiv Emby Premiere abonnement er n\u00f8dvendig for \u00e5 skape automatiserte serie innspillinger.",
|
||||||
|
"OptionConvertRecordingsToStreamingFormat": "Automatisk konvertere opptak til en str\u00f8mnings vennlig format",
|
||||||
|
"OptionConvertRecordingsToStreamingFormatHelp": "Innspillinger vil automatisk bli konvertert til MP4 for enkel avspilling p\u00e5 dine enheter.",
|
||||||
|
"FeatureRequiresEmbyPremiere": "Denne funksjonen krever et aktivt Emby Premiere abonnement.",
|
||||||
|
"Record": "Ta opp",
|
||||||
|
"Save": "Lagre",
|
||||||
|
"Edit": "Endre",
|
||||||
|
"Download": "Last ned",
|
||||||
|
"Advanced": "Avansert",
|
||||||
|
"Refresh": "Oppdater",
|
||||||
|
"RefreshQueued": "Oppdatering k\u00f8"
|
||||||
|
}
|
|
@ -34,6 +34,6 @@
|
||||||
"commit": "11c987b2eb3c73b388a79fc8aaea8ca01624f514"
|
"commit": "11c987b2eb3c73b388a79fc8aaea8ca01624f514"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/Polymer/polymer.git",
|
"_source": "git://github.com/Polymer/polymer.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.1.0",
|
||||||
"_originalSource": "Polymer/polymer"
|
"_originalSource": "Polymer/polymer"
|
||||||
}
|
}
|
|
@ -123,7 +123,13 @@
|
||||||
|
|
||||||
html += '<form class="newCollectionForm" style="margin:auto;">';
|
html += '<form class="newCollectionForm" style="margin:auto;">';
|
||||||
|
|
||||||
|
html += '<div>';
|
||||||
|
html += Globalize.translate('CreateCollectionHelp');
|
||||||
|
html += '</div>';
|
||||||
|
|
||||||
html += '<div class="fldSelectCollection">';
|
html += '<div class="fldSelectCollection">';
|
||||||
|
html += '<br/>';
|
||||||
|
html += '<br/>';
|
||||||
html += '<label for="selectCollectionToAddTo" class="selectLabel">' + Globalize.translate('LabelSelectCollection') + '</label>';
|
html += '<label for="selectCollectionToAddTo" class="selectLabel">' + Globalize.translate('LabelSelectCollection') + '</label>';
|
||||||
html += '<select id="selectCollectionToAddTo" data-mini="true"></select>';
|
html += '<select id="selectCollectionToAddTo" data-mini="true"></select>';
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
|
@ -206,6 +212,9 @@
|
||||||
html += '<div class="dialogHeaderTitle">';
|
html += '<div class="dialogHeaderTitle">';
|
||||||
html += title;
|
html += title;
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
|
|
||||||
|
html += '<a href="https://github.com/MediaBrowser/Wiki/wiki/Collections" target="_blank" tabindex="-1" class="clearLink" style="margin-left:auto;margin-right:.5em;display:inline-block;" title="' + Globalize.translate('ButtonHelp') + '"><paper-button class="accent" style="margin:0;font-weight:normal;font-size:13px;padding:.25em;display:flex;align-items:center;"><iron-icon icon="info"></iron-icon><span>' + Globalize.translate('ButtonHelp') + '</span></paper-button></a>';
|
||||||
|
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
|
|
||||||
html += getEditorHtml();
|
html += getEditorHtml();
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<div id="dashboardHostingPage" data-role="page" class="page type-interior advancedConfigurationPage withTabs" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Hosting%20Settings" data-require="scripts/dashboardhosting,paper-checkbox,paper-input,paper-button">
|
<div id="dashboardHostingPage" data-role="page" class="page type-interior advancedConfigurationPage withTabs" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Hosting%20Settings">
|
||||||
|
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
@ -14,10 +14,6 @@
|
||||||
<paper-input type="number" label="${LabelPublicHttpPort}" id="txtPublicPort" pattern="[0-9]*" required="required" min="1"></paper-input>
|
<paper-input type="number" label="${LabelPublicHttpPort}" id="txtPublicPort" pattern="[0-9]*" required="required" min="1"></paper-input>
|
||||||
<div class="fieldDescription">${LabelPublicHttpPortHelp}</div>
|
<div class="fieldDescription">${LabelPublicHttpPortHelp}</div>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
|
||||||
<paper-input id="txtDdns" type="text" label="${LabelExternalDDNS}"></paper-input>
|
|
||||||
<div class="fieldDescription">${LabelExternalDDNSHelp}</div>
|
|
||||||
</li>
|
|
||||||
<li>
|
<li>
|
||||||
<paper-input type="number" id="txtHttpsPort" pattern="[0-9]*" required="required" min="1" label="${LabelHttpsPort}"></paper-input>
|
<paper-input type="number" id="txtHttpsPort" pattern="[0-9]*" required="required" min="1" label="${LabelHttpsPort}"></paper-input>
|
||||||
<div class="fieldDescription">${LabelHttpsPortHelp}</div>
|
<div class="fieldDescription">${LabelHttpsPortHelp}</div>
|
||||||
|
@ -31,6 +27,10 @@
|
||||||
<button type="button" is="paper-icon-button-light" id="btnSelectCertPath" title="${ButtonSelectDirectory}"><iron-icon icon="search"></iron-icon></button>
|
<button type="button" is="paper-icon-button-light" id="btnSelectCertPath" title="${ButtonSelectDirectory}"><iron-icon icon="search"></iron-icon></button>
|
||||||
<div class="fieldDescription">${LabelCustomCertificatePathHelp}</div>
|
<div class="fieldDescription">${LabelCustomCertificatePathHelp}</div>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<paper-input id="txtDdns" type="text" label="${LabelExternalDDNS}"></paper-input>
|
||||||
|
<div class="fieldDescription">${LabelExternalDDNSHelp}</div>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<paper-checkbox id="chkEnableHttps">${LabelEnableHttps}</paper-checkbox>
|
<paper-checkbox id="chkEnableHttps">${LabelEnableHttps}</paper-checkbox>
|
||||||
<div class="fieldDescription paperCheckboxFieldDescription">${LabelEnableHttpsHelp}</div>
|
<div class="fieldDescription paperCheckboxFieldDescription">${LabelEnableHttpsHelp}</div>
|
||||||
|
|
|
@ -61,13 +61,13 @@
|
||||||
<div class="listTopPaging">
|
<div class="listTopPaging">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<button type="button" is="paper-icon-button-light" class="btnNewCollection"><iron-icon icon="add"></iron-icon></button>
|
||||||
</div>
|
</div>
|
||||||
<div class="itemsContainer" style="text-align:center;"></div>
|
<div class="itemsContainer" style="text-align:center;"></div>
|
||||||
<div class="noItemsMessage" style="display: none; text-align: center;">
|
<div class="noItemsMessage" style="display: none; text-align: center;">
|
||||||
<p>${MessageNoCollectionsAvailable}</p>
|
<p>${MessageNoCollectionsAvailable}</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<paper-fab class="btnNewCollection bottomFab" icon="add" style="position:fixed;right:20px;background-color:#db4437;"></paper-fab>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="pageTabContent ehsContent" id="genresTab" data-index="4">
|
<div class="pageTabContent ehsContent" id="genresTab" data-index="4">
|
||||||
<div class="viewSettings">
|
<div class="viewSettings">
|
||||||
|
|
|
@ -1,22 +1,5 @@
|
||||||
define(['jQuery'], function ($) {
|
define(['jQuery'], function ($) {
|
||||||
|
|
||||||
function loadPage(page, config) {
|
|
||||||
|
|
||||||
$('#txtPortNumber', page).val(config.HttpServerPortNumber);
|
|
||||||
$('#txtPublicPort', page).val(config.PublicPort);
|
|
||||||
$('#txtPublicHttpsPort', page).val(config.PublicHttpsPort);
|
|
||||||
|
|
||||||
$('#chkEnableHttps', page).checked(config.EnableHttps);
|
|
||||||
$('#txtHttpsPort', page).val(config.HttpsPortNumber);
|
|
||||||
|
|
||||||
$('#txtDdns', page).val(config.WanDdns || '');
|
|
||||||
$('#txtCertificatePath', page).val(config.CertificatePath || '');
|
|
||||||
|
|
||||||
$('#chkEnableUpnp', page).checked(config.EnableUPnP);
|
|
||||||
|
|
||||||
Dashboard.hideLoadingMsg();
|
|
||||||
}
|
|
||||||
|
|
||||||
function onSubmit() {
|
function onSubmit() {
|
||||||
Dashboard.showLoadingMsg();
|
Dashboard.showLoadingMsg();
|
||||||
|
|
||||||
|
@ -52,24 +35,43 @@
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
$(document).on('pageshow', "#dashboardHostingPage", function () {
|
return function (view, params) {
|
||||||
|
|
||||||
LibraryMenu.setTabs('adminadvanced', 0, getTabs);
|
var self = this;
|
||||||
Dashboard.showLoadingMsg();
|
|
||||||
|
|
||||||
var page = this;
|
function loadPage(page, config) {
|
||||||
|
|
||||||
ApiClient.getServerConfiguration().then(function (config) {
|
$('#txtPortNumber', page).val(config.HttpServerPortNumber);
|
||||||
|
$('#txtPublicPort', page).val(config.PublicPort);
|
||||||
|
$('#txtPublicHttpsPort', page).val(config.PublicHttpsPort);
|
||||||
|
|
||||||
loadPage(page, config);
|
var chkEnableHttps = page.querySelector('#chkEnableHttps');
|
||||||
|
chkEnableHttps.checked = config.EnableHttps;
|
||||||
|
|
||||||
});
|
$('#txtHttpsPort', page).val(config.HttpsPortNumber);
|
||||||
|
|
||||||
}).on('pageinit', "#dashboardHostingPage", function () {
|
$('#txtDdns', page).val(config.WanDdns || '');
|
||||||
|
|
||||||
var page = this;
|
var txtCertificatePath = page.querySelector('#txtCertificatePath');
|
||||||
|
txtCertificatePath.value = config.CertificatePath || '';
|
||||||
|
|
||||||
$('#btnSelectCertPath', page).on("click.selectDirectory", function () {
|
$('#chkEnableUpnp', page).checked(config.EnableUPnP);
|
||||||
|
|
||||||
|
onCertPathChange.call(txtCertificatePath);
|
||||||
|
|
||||||
|
Dashboard.hideLoadingMsg();
|
||||||
|
}
|
||||||
|
|
||||||
|
function onCertPathChange() {
|
||||||
|
|
||||||
|
if (this.value) {
|
||||||
|
view.querySelector('#txtDdns').setAttribute('required', 'required');
|
||||||
|
} else {
|
||||||
|
view.querySelector('#txtDdns').removeAttribute('required');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#btnSelectCertPath', view).on("click.selectDirectory", function () {
|
||||||
|
|
||||||
require(['directorybrowser'], function (directoryBrowser) {
|
require(['directorybrowser'], function (directoryBrowser) {
|
||||||
|
|
||||||
|
@ -83,7 +85,7 @@
|
||||||
callback: function (path) {
|
callback: function (path) {
|
||||||
|
|
||||||
if (path) {
|
if (path) {
|
||||||
$('#txtCertificatePath', page).val(path);
|
$('#txtCertificatePath', view).val(path);
|
||||||
}
|
}
|
||||||
picker.close();
|
picker.close();
|
||||||
},
|
},
|
||||||
|
@ -94,6 +96,18 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
$('.dashboardHostingForm').off('submit', onSubmit).on('submit', onSubmit);
|
$('.dashboardHostingForm').off('submit', onSubmit).on('submit', onSubmit);
|
||||||
});
|
|
||||||
|
|
||||||
|
view.querySelector('#txtCertificatePath').addEventListener('change', onCertPathChange);
|
||||||
|
|
||||||
|
view.addEventListener('viewshow', function (e) {
|
||||||
|
LibraryMenu.setTabs('adminadvanced', 0, getTabs);
|
||||||
|
Dashboard.showLoadingMsg();
|
||||||
|
|
||||||
|
ApiClient.getServerConfiguration().then(function (config) {
|
||||||
|
|
||||||
|
loadPage(view, config);
|
||||||
|
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['layoutManager', 'datetime', 'jQuery', 'mediaInfo', 'scrollStyles'], function (layoutManager, datetime, $, mediaInfo) {
|
define(['layoutManager', 'datetime', 'jQuery', 'mediaInfo', 'backdrop', 'scrollStyles'], function (layoutManager, datetime, $, mediaInfo, backdrop) {
|
||||||
|
|
||||||
var currentItem;
|
var currentItem;
|
||||||
|
|
||||||
|
@ -75,14 +75,13 @@
|
||||||
// For these types, make the backdrop a little smaller so that the items are more quickly accessible
|
// For these types, make the backdrop a little smaller so that the items are more quickly accessible
|
||||||
if (item.Type == 'MusicArtist' || item.Type == "MusicAlbum" || item.Type == "Playlist" || item.Type == "BoxSet" || item.MediaType == "Audio" || !layoutManager.mobile) {
|
if (item.Type == 'MusicArtist' || item.Type == "MusicAlbum" || item.Type == "Playlist" || item.Type == "BoxSet" || item.MediaType == "Audio" || !layoutManager.mobile) {
|
||||||
$('#itemBackdrop', page).addClass('noBackdrop').css('background-image', 'none');
|
$('#itemBackdrop', page).addClass('noBackdrop').css('background-image', 'none');
|
||||||
require(['backdrop'], function (backdrop) {
|
backdrop.setBackdrops([item]);
|
||||||
backdrop.setBackdrops([item]);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
//$('#itemBackdrop', page).addClass('noBackdrop').css('background-image', 'none');
|
//$('#itemBackdrop', page).addClass('noBackdrop').css('background-image', 'none');
|
||||||
//Backdrops.setBackdrops(page, [item]);
|
//Backdrops.setBackdrops(page, [item]);
|
||||||
hasBackdrop = LibraryBrowser.renderDetailPageBackdrop(page, item);
|
hasBackdrop = LibraryBrowser.renderDetailPageBackdrop(page, item);
|
||||||
|
backdrop.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
var transparentHeader = hasBackdrop && page.classList.contains('noSecondaryNavPage');
|
var transparentHeader = hasBackdrop && page.classList.contains('noSecondaryNavPage');
|
||||||
|
@ -475,7 +474,7 @@
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
$('.itemGenres', page).each(function() {
|
$('.itemGenres', page).each(function () {
|
||||||
LibraryBrowser.renderGenres(this, item, null, isStatic);
|
LibraryBrowser.renderGenres(this, item, null, isStatic);
|
||||||
});
|
});
|
||||||
LibraryBrowser.renderStudios($('.itemStudios', page), item, isStatic);
|
LibraryBrowser.renderStudios($('.itemStudios', page), item, isStatic);
|
||||||
|
@ -1098,10 +1097,13 @@
|
||||||
|
|
||||||
html += '<div class="detailSection">';
|
html += '<div class="detailSection">';
|
||||||
|
|
||||||
|
html += '<div style="display:flex;align-items:center;">';
|
||||||
html += '<h1>';
|
html += '<h1>';
|
||||||
html += '<span>' + type.name + '</span>';
|
html += '<span>' + type.name + '</span>';
|
||||||
|
|
||||||
html += '</h1>';
|
html += '</h1>';
|
||||||
|
html += '<button class="btnAddToCollection" type="button" is="paper-icon-button-light" style="margin-left:1em;"><iron-icon icon="add"></iron-icon></button>';
|
||||||
|
html += '</div>';
|
||||||
|
|
||||||
html += '<div class="detailSectionContent itemsContainer">';
|
html += '<div class="detailSectionContent itemsContainer">';
|
||||||
|
|
||||||
|
@ -1131,6 +1133,15 @@
|
||||||
|
|
||||||
removeFromCollection(page, parentItem, [itemId], user, context);
|
removeFromCollection(page, parentItem, [itemId], user, context);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
collectionItems.querySelector('.btnAddToCollection').addEventListener('click', function () {
|
||||||
|
require(['alert'], function (alert) {
|
||||||
|
alert({
|
||||||
|
text: Globalize.translate('AddItemToCollectionHelp'),
|
||||||
|
html: Globalize.translate('AddItemToCollectionHelp') + '<br/><br/><a target="_blank" href="https://github.com/MediaBrowser/Wiki/wiki/Collections">' + Globalize.translate('ButtonLearnMore') + '</a>'
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function removeFromCollection(page, parentItem, itemIds, user, context) {
|
function removeFromCollection(page, parentItem, itemIds, user, context) {
|
||||||
|
|
|
@ -1066,7 +1066,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if (item.CollectionType == 'games') {
|
if (item.CollectionType == 'games') {
|
||||||
return 'gamesrecommended.html?topParentId=' + item.Id;
|
return id ? "itemlist.html?parentId=" + id : "#";
|
||||||
|
//return 'gamesrecommended.html?topParentId=' + item.Id;
|
||||||
}
|
}
|
||||||
if (item.CollectionType == 'playlists') {
|
if (item.CollectionType == 'playlists') {
|
||||||
return 'playlists.html?topParentId=' + item.Id;
|
return 'playlists.html?topParentId=' + item.Id;
|
||||||
|
|
|
@ -743,7 +743,7 @@
|
||||||
var helpUrl = page.getAttribute('data-helpurl');
|
var helpUrl = page.getAttribute('data-helpurl');
|
||||||
|
|
||||||
if (helpUrl) {
|
if (helpUrl) {
|
||||||
html += '<a href="' + helpUrl + '" target="_blank" class="clearLink" style="margin-left:2em;" title="' + Globalize.translate('ButtonHelp') + '"><paper-button class="accent" style="margin:0;font-weight:normal;font-size:13px;padding:.25em;display:flex;align-items:center;"><iron-icon icon="info"></iron-icon><span>Help</span></paper-button></a>';
|
html += '<a href="' + helpUrl + '" target="_blank" class="clearLink" style="margin-left:2em;" title="' + Globalize.translate('ButtonHelp') + '"><paper-button class="accent" style="margin:0;font-weight:normal;font-size:13px;padding:.25em;display:flex;align-items:center;"><iron-icon icon="info"></iron-icon><span>' + Globalize.translate('ButtonHelp') + '</span></paper-button></a>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,14 +8,6 @@
|
||||||
return enableScrollX() ? 'overflowPortrait' : 'portrait';
|
return enableScrollX() ? 'overflowPortrait' : 'portrait';
|
||||||
}
|
}
|
||||||
|
|
||||||
function getThumbShape() {
|
|
||||||
return enableScrollX() ? 'overflowBackdrop' : 'backdrop';
|
|
||||||
}
|
|
||||||
|
|
||||||
function getSquareShape() {
|
|
||||||
return enableScrollX() ? 'overflowSquare' : 'square';
|
|
||||||
}
|
|
||||||
|
|
||||||
function getLimit() {
|
function getLimit() {
|
||||||
|
|
||||||
return enableScrollX() ? 12 : 8;
|
return enableScrollX() ? 12 : 8;
|
||||||
|
@ -109,7 +101,7 @@
|
||||||
|
|
||||||
var html = libraryBrowser.getPosterViewHtml({
|
var html = libraryBrowser.getPosterViewHtml({
|
||||||
items: items,
|
items: items,
|
||||||
shape: shape || (enableScrollX() ? getSquareShape() : 'auto'),
|
shape: shape || (enableScrollX() ? 'autooverflow' : 'auto'),
|
||||||
showTitle: true,
|
showTitle: true,
|
||||||
centerText: true,
|
centerText: true,
|
||||||
coverImage: true,
|
coverImage: true,
|
||||||
|
|
|
@ -301,7 +301,7 @@
|
||||||
baseUrl += '?topParentId=' + topParentId;
|
baseUrl += '?topParentId=' + topParentId;
|
||||||
}
|
}
|
||||||
|
|
||||||
libraryBrowser.configurePaperLibraryTabs(view, mdlTabs, view.querySelectorAll('.pageTabContent'), [0, 4, 5]);
|
libraryBrowser.configurePaperLibraryTabs(view, mdlTabs, view.querySelectorAll('.pageTabContent'), [0, 3, 4, 5]);
|
||||||
|
|
||||||
var tabControllers = [];
|
var tabControllers = [];
|
||||||
var renderedTabs = [];
|
var renderedTabs = [];
|
||||||
|
|
|
@ -2243,7 +2243,7 @@ var AppInfo = {};
|
||||||
|
|
||||||
var baseUrl = 'bower_components/emby-webcomponents/strings/';
|
var baseUrl = 'bower_components/emby-webcomponents/strings/';
|
||||||
|
|
||||||
var languages = ['da', 'en-US', 'kk', 'nl', 'ru'];
|
var languages = ['da', 'en-US', 'es-MX', 'kk', 'nb', 'nl', 'ru'];
|
||||||
|
|
||||||
var translations = languages.map(function (i) {
|
var translations = languages.map(function (i) {
|
||||||
return {
|
return {
|
||||||
|
@ -2404,9 +2404,10 @@ var AppInfo = {};
|
||||||
|
|
||||||
defineRoute({
|
defineRoute({
|
||||||
path: '/dashboardhosting.html',
|
path: '/dashboardhosting.html',
|
||||||
dependencies: [],
|
dependencies: ['paper-checkbox', 'paper-input', 'paper-button'],
|
||||||
autoFocus: false,
|
autoFocus: false,
|
||||||
roles: 'admin'
|
roles: 'admin',
|
||||||
|
controller: 'scripts/dashboardhosting'
|
||||||
});
|
});
|
||||||
|
|
||||||
defineRoute({
|
defineRoute({
|
||||||
|
@ -2698,7 +2699,7 @@ var AppInfo = {};
|
||||||
|
|
||||||
defineRoute({
|
defineRoute({
|
||||||
path: '/movies.html',
|
path: '/movies.html',
|
||||||
dependencies: ['paper-checkbox', 'paper-fab', 'scripts/alphapicker', 'paper-button'],
|
dependencies: ['paper-checkbox', 'scripts/alphapicker', 'paper-button'],
|
||||||
autoFocus: false,
|
autoFocus: false,
|
||||||
controller: 'scripts/moviesrecommended',
|
controller: 'scripts/moviesrecommended',
|
||||||
transition: 'fade'
|
transition: 'fade'
|
||||||
|
|
|
@ -561,8 +561,8 @@
|
||||||
"LabelWebSocketPortNumber": "Web socket port number:",
|
"LabelWebSocketPortNumber": "Web socket port number:",
|
||||||
"LabelEnableAutomaticPortMap": "Enable automatic port mapping",
|
"LabelEnableAutomaticPortMap": "Enable automatic port mapping",
|
||||||
"LabelEnableAutomaticPortMapHelp": "Attempt to automatically map the public port to the local port via UPnP. This may not work with some router models.",
|
"LabelEnableAutomaticPortMapHelp": "Attempt to automatically map the public port to the local port via UPnP. This may not work with some router models.",
|
||||||
"LabelExternalDDNS": "External WAN Address:",
|
"LabelExternalDDNS": "External domain:",
|
||||||
"LabelExternalDDNSHelp": "If you have a dynamic DNS enter it here. Emby apps will use it when connecting remotely. Leave empty for automatic detection.",
|
"LabelExternalDDNSHelp": "If you have a dynamic DNS enter it here. Emby apps will use it when connecting remotely. This field is required when used with a custom https certificate.",
|
||||||
"TabResume": "Resume",
|
"TabResume": "Resume",
|
||||||
"TabWeather": "Weather",
|
"TabWeather": "Weather",
|
||||||
"TitleAppSettings": "App Settings",
|
"TitleAppSettings": "App Settings",
|
||||||
|
@ -2351,5 +2351,7 @@
|
||||||
"LabelOriginalTitle": "Original title:",
|
"LabelOriginalTitle": "Original title:",
|
||||||
"LabelSortTitle": "Sort title:",
|
"LabelSortTitle": "Sort title:",
|
||||||
"OptionConvertRecordingPreserveAudio": "Preserve original audio when converting recordings",
|
"OptionConvertRecordingPreserveAudio": "Preserve original audio when converting recordings",
|
||||||
"OptionConvertRecordingPreserveAudioHelp": "This will provide better audio but may require transcoding during playback on some devices."
|
"OptionConvertRecordingPreserveAudioHelp": "This will provide better audio but may require transcoding during playback on some devices.",
|
||||||
|
"CreateCollectionHelp": "Collections allow you to create personalized groupings of movies and other library content.",
|
||||||
|
"AddItemToCollectionHelp": "Add items to collections by searching for them and using their right-click or tap menus to add them to a collection."
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue