1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

Merge pull request #1438 from MediaBrowser/dev

Dev
This commit is contained in:
Luke 2016-02-09 13:07:32 -05:00
commit 0b82afacf2
16 changed files with 106 additions and 67 deletions

View file

@ -30,21 +30,17 @@
<div class="fieldDescription"> <div class="fieldDescription">
<div>${LabelWatchFolderHelp}</div> <div>${LabelWatchFolderHelp}</div>
</div> </div>
<br />
</li> </li>
<li> <li>
<label for="txtMinFileSize">${LabelMinFileSizeForOrganize}</label> <paper-input type="number" id="txtMinFileSize" name="txtMinFileSize" label="${LabelMinFileSizeForOrganize}" pattern="[0-9]*" min="0" required></paper-input>
<input type="number" id="txtMinFileSize" name="txtMinFileSize" pattern="[0-9]*" required="required" min="0" />
<div class="fieldDescription">${LabelMinFileSizeForOrganizeHelp}</div> <div class="fieldDescription">${LabelMinFileSizeForOrganizeHelp}</div>
</li> </li>
<li> <li>
<label for="txtSeasonFolderPattern">${LabelSeasonFolderPattern}</label> <paper-input type="text" id="txtSeasonFolderPattern" name="txtSeasonFolderPattern" label="${LabelSeasonFolderPattern}" required></paper-input>
<input type="text" id="txtSeasonFolderPattern" name="txtSeasonFolderPattern" required="required" />
<div class="fieldDescription seasonFolderFieldDescription"></div> <div class="fieldDescription seasonFolderFieldDescription"></div>
</li> </li>
<li> <li>
<label for="txtSeasonZeroName">${LabelSeasonZeroFolderName}</label> <paper-input type="text" id="txtSeasonZeroName" name="txtSeasonZeroName" label="${LabelSeasonZeroFolderName}" required></paper-input>
<input type="text" id="txtSeasonZeroName" name="txtSeasonZeroName" required="required" />
</li> </li>
</ul> </ul>
<div data-role="collapsible"> <div data-role="collapsible">
@ -52,14 +48,12 @@
<div> <div>
<br /> <br />
<div> <div>
<label for="txtEpisodePattern">${LabelEpisodePattern}</label> <paper-input type="text" id="txtEpisodePattern" name="txtEpisodePattern" label="${LabelEpisodePattern}" required></paper-input>
<input type="text" id="txtEpisodePattern" name="txtEpisodePattern" required="required" />
<div class="fieldDescription episodePatternDescription"></div> <div class="fieldDescription episodePatternDescription"></div>
</div> </div>
<br /> <br />
<div> <div>
<label for="txtMultiEpisodePattern">${LabelMultiEpisodePattern}</label> <paper-input type="text" id="txtMultiEpisodePattern" name="txtMultiEpisodePattern" label="${LabelMultiEpisodePattern}" required></paper-input>
<input type="text" id="txtMultiEpisodePattern" name="txtMultiEpisodePattern" required="required" />
<div class="fieldDescription multiEpisodePatternDescription"></div> <div class="fieldDescription multiEpisodePatternDescription"></div>
</div> </div>
@ -143,7 +137,7 @@
<br /> <br />
<ul data-role="listview" class="ulForm"> <ul data-role="listview" class="ulForm">
<li> <li>
<label for="copyOrMoveFile">${LabelTransferMethod}</label> <label for="copyOrMoveFile" class="selectLabel">${LabelTransferMethod}</label>
<select id="copyOrMoveFile" data-mini="true"> <select id="copyOrMoveFile" data-mini="true">
<option value="true">${OptionCopy}</option> <option value="true">${OptionCopy}</option>
<option value="false">${OptionMove}</option> <option value="false">${OptionMove}</option>
@ -155,8 +149,7 @@
<label for="chkOverwriteExistingEpisodes">${OptionOverwriteExistingEpisodes}</label> <label for="chkOverwriteExistingEpisodes">${OptionOverwriteExistingEpisodes}</label>
</li> </li>
<li> <li>
<label for="txtDeleteLeftOverFiles">${LabelDeleteLeftOverFiles}</label> <paper-input type="text" id="txtDeleteLeftOverFiles" name="txtDeleteLeftOverFiles" label="${LabelDeleteLeftOverFiles}"></paper-input>
<input type="text" id="txtDeleteLeftOverFiles" name="txtDeleteLeftOverFiles" />
<div class="fieldDescription">${LabelDeleteLeftOverFilesHelp}</div> <div class="fieldDescription">${LabelDeleteLeftOverFilesHelp}</div>
</li> </li>
<li> <li>

View file

@ -16,12 +16,12 @@
}, },
"devDependencies": {}, "devDependencies": {},
"ignore": [], "ignore": [],
"version": "1.0.34", "version": "1.0.35",
"_release": "1.0.34", "_release": "1.0.35",
"_resolution": { "_resolution": {
"type": "version", "type": "version",
"tag": "1.0.34", "tag": "1.0.35",
"commit": "1bbacdd65aa7c7af955cdd7f0500a4419064a98b" "commit": "d84b62c2a98faed179e07ef805e54cd7e6d2e036"
}, },
"_source": "git://github.com/MediaBrowser/Emby.ApiClient.Javascript.git", "_source": "git://github.com/MediaBrowser/Emby.ApiClient.Javascript.git",
"_target": "~1.0.3", "_target": "~1.0.3",

View file

@ -3414,5 +3414,35 @@
return self.getJSON(url); return self.getJSON(url);
}; };
self.getSmartMatchInfos = function (options) {
options = options || {};
var url = self.getUrl("Library/FileOrganizations/SmartMatches", options);
return self.ajax({
type: "GET",
url: url,
dataType: "json"
});
};
self.deleteSmartMatchEntry = function (name, options) {
var url = self.getUrl("Library/FileOrganizations/SmartMatches", options || {});
var postData = {
Name: name
};
return self.ajax({
type: "POST",
url: url,
data: JSON.stringify(postData),
contentType: "application/json"
});
};
}; };
}); });

View file

@ -1056,7 +1056,7 @@
var template = this.response; var template = this.response;
var dlg = paperDialogHelper.createDialog({ var dlg = paperDialogHelper.createDialog({
removeOnClose: true, removeOnClose: true,
size: 'small' size: 'medium'
}); });
dlg.classList.add('ui-body-b'); dlg.classList.add('ui-body-b');

View file

@ -9,7 +9,7 @@
</paper-button> </paper-button>
</div> </div>
<form class="editItemMetadataForm editMetadataForm "> <form class="editItemMetadataForm editMetadataForm" style="margin:0;">
<div class="metadataFormFields"> <div class="metadataFormFields">
<div style="padding: 0 0 10px;"> <div style="padding: 0 0 10px;">

View file

@ -12,7 +12,7 @@
var template = this.response; var template = this.response;
var dlg = paperDialogHelper.createDialog({ var dlg = paperDialogHelper.createDialog({
removeOnClose: true, removeOnClose: true,
size: 'small' size: 'medium'
}); });
dlg.classList.add('ui-body-b'); dlg.classList.add('ui-body-b');
@ -28,9 +28,9 @@
dlg.innerHTML = html; dlg.innerHTML = html;
document.body.appendChild(dlg); document.body.appendChild(dlg);
$('#txtPersonName', dlg).val(person.Name || ''); $('.txtPersonName', dlg).val(person.Name || '');
$('#selectPersonType', dlg).val(person.Type || ''); $('.selectPersonType', dlg).val(person.Type || '');
$('#txtPersonRole', dlg).val(person.Role || ''); $('.txtPersonRole', dlg).val(person.Role || '');
paperDialogHelper.open(dlg); paperDialogHelper.open(dlg);
@ -52,9 +52,9 @@
submitted = true; submitted = true;
person.Name = $('#txtPersonName', dlg).val(); person.Name = $('.txtPersonName', dlg).val();
person.Type = $('#selectPersonType', dlg).val(); person.Type = $('.selectPersonType', dlg).val();
person.Role = $('#txtPersonRole', dlg).val() || null; person.Role = $('.txtPersonRole', dlg).val() || null;
paperDialogHelper.close(dlg); paperDialogHelper.close(dlg);

View file

@ -8,13 +8,13 @@
<form class="popupEditPersonForm" style="max-width: none;margin:0;"> <form class="popupEditPersonForm" style="max-width: none;margin:0;">
<div> <div>
<paper-input type="text" id="txtPersonName" required="required" label="${LabelName}"></paper-input> <paper-input type="text" class="txtPersonName" required="required" label="${LabelName}"></paper-input>
</div> </div>
<br /> <br />
<div> <div>
<label for="selectPersonType" class="selectLabel">${LabelType}</label> <label for="selectPersonType" class="selectLabel">${LabelType}</label>
<select id="selectPersonType" data-mini="true"> <select id="selectPersonType" class="selectPersonType" data-mini="true">
<option value=""></option> <option value=""></option>
<option value="Actor">${OptionActor}</option> <option value="Actor">${OptionActor}</option>
<option value="Composer">${OptionComposer}</option> <option value="Composer">${OptionComposer}</option>
@ -25,7 +25,7 @@
</select> </select>
</div> </div>
<div> <div>
<paper-input type="text" id="txtPersonRole" label="${LabelPersonRole}"></paper-input> <paper-input type="text" class="txtPersonRole" label="${LabelPersonRole}"></paper-input>
<div class="fieldDescription">${LabelPersonRoleHelp}</div> <div class="fieldDescription">${LabelPersonRoleHelp}</div>
</div> </div>
<br /> <br />

View file

@ -551,15 +551,18 @@
function updateCastIcon(context) { function updateCastIcon(context) {
var info = MediaController.getPlayerInfo(); var info = MediaController.getPlayerInfo();
var btnCast = context.querySelector('.nowPlayingCastIcon');
if (info.isLocalPlayer) { if (info.isLocalPlayer) {
context.querySelector('.nowPlayingCastIcon').icon = 'cast'; btnCast.icon = 'cast';
btnCast.classList.remove('btnActiveCast');
context.querySelector('.nowPlayingSelectedPlayer').innerHTML = ''; context.querySelector('.nowPlayingSelectedPlayer').innerHTML = '';
} else { } else {
context.querySelector('.nowPlayingCastIcon').icon = 'cast-connected'; btnCast.icon = 'cast-connected';
btnCast.classList.add('btnActiveCast');
context.querySelector('.nowPlayingSelectedPlayer').innerHTML = info.deviceName || info.name; context.querySelector('.nowPlayingSelectedPlayer').innerHTML = info.deviceName || info.name;
} }
} }

View file

@ -4,7 +4,7 @@
<title>${TitleDlna}</title> <title>${TitleDlna}</title>
</head> </head>
<body> <body>
<div id="dlnaSettingsPage" data-role="page" class="page type-interior dlnaPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Play%20to" data-require="scripts/dlnasettings,paper-input"> <div id="dlnaSettingsPage" data-role="page" class="page type-interior dlnaPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Play%20to" data-require="scripts/dlnasettings,paper-input,paper-checkbox">
<div data-role="content"> <div data-role="content">
<div class="content-primary"> <div class="content-primary">
@ -19,14 +19,12 @@
<ul data-role="listview" class="ulForm"> <ul data-role="listview" class="ulForm">
<li> <li>
<label for="chkEnablePlayTo">${LabelEnableDlnaPlayTo}</label> <paper-checkbox type="checkbox" id="chkEnablePlayTo">${LabelEnableDlnaPlayTo}</paper-checkbox>
<input type="checkbox" id="chkEnablePlayTo" data-mini="true" /> <div class="fieldDescription paperCheckboxFieldDescription">${LabelEnableDlnaPlayToHelp}</div>
<div class="fieldDescription">${LabelEnableDlnaPlayToHelp}</div>
</li> </li>
<li> <li>
<label for="chkEnableDlnaDebugLogging">${LabelEnableDlnaDebugLogging}</label> <paper-checkbox type="checkbox" id="chkEnableDlnaDebugLogging">${LabelEnableDlnaDebugLogging}</paper-checkbox>
<input type="checkbox" id="chkEnableDlnaDebugLogging" data-mini="true" /> <div class="fieldDescription paperCheckboxFieldDescription">${LabelEnableDlnaDebugLoggingHelp}</div>
<div class="fieldDescription">${LabelEnableDlnaDebugLoggingHelp}</div>
</li> </li>
<li> <li>
<paper-input type="number" id="txtClientDiscoveryInterval" min="1" max="300" label="${LabelEnableDlnaClientDiscoveryInterval}"></paper-input> <paper-input type="number" id="txtClientDiscoveryInterval" min="1" max="300" label="${LabelEnableDlnaClientDiscoveryInterval}"></paper-input>

View file

@ -19,8 +19,11 @@
populateList(page, infos); populateList(page, infos);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
}, onApiFailure);
}, function () {
Dashboard.hideLoadingMsg();
});
} }
function populateList(page, result) { function populateList(page, result) {
@ -55,8 +58,7 @@
if (info.OrganizerType != currentType) { if (info.OrganizerType != currentType) {
currentType = info.OrganizerType; currentType = info.OrganizerType;
if (html.length > 0) if (html.length > 0) {
{
html += "</ul>"; html += "</ul>";
} }
@ -74,7 +76,7 @@
html += "<p>" + info.MatchStrings[n] + "</p>"; html += "<p>" + info.MatchStrings[n] + "</p>";
html += "<a id='btnDeleteMatchEntry" + info.Id + "' class='btnDeleteMatchEntry' href='#' data-id='" + info.Id + "' data-matchstring='" + info.MatchStrings[n] + "' data-icon='delete'>" + Globalize.translate('ButtonDelete') + "</a>"; html += "<a id='btnDeleteMatchEntry" + info.Id + "' class='btnDeleteMatchEntry' href='#' data-id='" + info.Id + "' data-matchstring='" + info.MatchStrings[n] + "' data-icon='delete'>" + Globalize.translate('ButtonDelete') + "</a>";
html += "</a>"; html += "</a>";
@ -92,8 +94,7 @@
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
Dashboard.alert({ Dashboard.alert({
title: Globalize.translate('AutoOrganizeError'), message: Globalize.translate('DefaultErrorMessage')
message: Globalize.translate('ErrorOrganizingFileWithErrorCode', e.getResponseHeader("X-Application-Error-Code"))
}); });
} }

View file

@ -2,8 +2,9 @@
function loadPage(page, config) { function loadPage(page, config) {
$('#chkEnablePlayTo', page).checked(config.EnablePlayTo).checkboxradio("refresh"); page.querySelector('#chkEnablePlayTo').checked = config.EnablePlayTo;
$('#chkEnableDlnaDebugLogging', page).checked(config.EnableDebugLogging).checkboxradio("refresh"); page.querySelector('#chkEnableDlnaDebugLogging').checked = config.EnableDebugLogging;
$('#txtClientDiscoveryInterval', page).val(config.ClientDiscoveryIntervalSeconds); $('#txtClientDiscoveryInterval', page).val(config.ClientDiscoveryIntervalSeconds);
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
@ -17,8 +18,9 @@
ApiClient.getNamedConfiguration("dlna").then(function (config) { ApiClient.getNamedConfiguration("dlna").then(function (config) {
config.EnablePlayTo = $('#chkEnablePlayTo', form).checked(); config.EnablePlayTo = form.querySelector('#chkEnablePlayTo').checked;
config.EnableDebugLogging = $('#chkEnableDlnaDebugLogging', form).checked(); config.EnableDebugLogging = form.querySelector('#chkEnableDlnaDebugLogging').checked;
config.ClientDiscoveryIntervalSeconds = $('#txtClientDiscoveryInterval', form).val(); config.ClientDiscoveryIntervalSeconds = $('#txtClientDiscoveryInterval', form).val();
ApiClient.updateNamedConfiguration("dlna", config).then(Dashboard.processServerConfigurationUpdateResult); ApiClient.updateNamedConfiguration("dlna", config).then(Dashboard.processServerConfigurationUpdateResult);

View file

@ -2,7 +2,6 @@
function loadPage(page, config) { function loadPage(page, config) {
$('#chkEnableDebugEncodingLogging', page).checked(config.EnableDebugLogging).checkboxradio('refresh');
page.querySelector('#chkEnableThrottle').checked = config.EnableThrottling; page.querySelector('#chkEnableThrottle').checked = config.EnableThrottling;
$('.radioEncodingQuality', page).each(function () { $('.radioEncodingQuality', page).each(function () {
@ -28,7 +27,6 @@
ApiClient.getNamedConfiguration("encoding").then(function (config) { ApiClient.getNamedConfiguration("encoding").then(function (config) {
config.EnableDebugLogging = $('#chkEnableDebugEncodingLogging', form).checked();
config.EncodingQuality = $('.radioEncodingQuality:checked', form).val(); config.EncodingQuality = $('.radioEncodingQuality:checked', form).val();
config.DownMixAudioBoost = $('#txtDownMixAudioBoost', form).val(); config.DownMixAudioBoost = $('#txtDownMixAudioBoost', form).val();
config.TranscodingTempPath = $('#txtTranscodingTempPath', form).val(); config.TranscodingTempPath = $('#txtTranscodingTempPath', form).val();

View file

@ -674,22 +674,24 @@
function updateCastIcon() { function updateCastIcon() {
var context = document;
var btnCast = context.querySelector('.btnCast');
var info = MediaController.getPlayerInfo(); var info = MediaController.getPlayerInfo();
if (info.isLocalPlayer) { if (info.isLocalPlayer) {
$('.btnCast').removeClass('btnActiveCast').each(function () { btnCast.icon = 'cast';
this.icon = 'cast'; btnCast.classList.remove('btnActiveCast');
});
$('.headerSelectedPlayer').html(''); context.querySelector('.headerSelectedPlayer').innerHTML = '';
} else { } else {
$('.btnCast').addClass('btnActiveCast').each(function () { btnCast.icon = 'cast-connected';
this.icon = 'cast-connected'; btnCast.classList.add('btnActiveCast');
}); context.querySelector('.headerSelectedPlayer').innerHTML = info.deviceName || info.name;
$('.headerSelectedPlayer').html((info.deviceName || info.name));
} }
} }
@ -792,6 +794,21 @@
} }
} }
pageClassOn('pageinit', 'page', function () {
var page = this;
var isLibraryPage = page.classList.contains('libraryPage');
if (isLibraryPage) {
var navs = page.querySelectorAll('.libraryViewNav');
for (var i = 0, length = navs.length; i < length; i++) {
initHeadRoom(navs[i]);
}
}
});
pageClassOn('pagebeforeshow', 'page', function () { pageClassOn('pagebeforeshow', 'page', function () {
var page = this; var page = this;
@ -823,11 +840,6 @@
document.body.classList.add('libraryDocument'); document.body.classList.add('libraryDocument');
document.body.classList.remove('dashboardDocument'); document.body.classList.remove('dashboardDocument');
document.body.classList.remove('hideMainDrawer'); document.body.classList.remove('hideMainDrawer');
var navs = page.querySelectorAll('.libraryViewNav');
for (var i = 0, length = navs.length; i < length; i++) {
initHeadRoom(navs[i]);
}
} }
else if (page.classList.contains('type-interior')) { else if (page.classList.contains('type-interior')) {

View file

@ -64,7 +64,7 @@
}); });
} }
function showPlayerSelection(button) { function showPlayerSelection(button, enableHistory) {
var playerInfo = MediaController.getPlayerInfo(); var playerInfo = MediaController.getPlayerInfo();
@ -101,6 +101,7 @@
title: Globalize.translate('HeaderSelectPlayer'), title: Globalize.translate('HeaderSelectPlayer'),
items: menuItems, items: menuItems,
positionTo: button, positionTo: button,
enableHistory: enableHistory !== false,
callback: function (id) { callback: function (id) {
var target = targets.filter(function (t) { var target = targets.filter(function (t) {

View file

@ -743,6 +743,7 @@
html += '<paper-slider pin step="1" min="0" max="100" value="0" class="videoVolumeSlider" style="width:100px;vertical-align:middle;margin-left:-1em;margin-right:2em;display:inline-block;"></paper-slider>'; html += '<paper-slider pin step="1" min="0" max="100" value="0" class="videoVolumeSlider" style="width:100px;vertical-align:middle;margin-left:-1em;margin-right:2em;display:inline-block;"></paper-slider>';
html += '<paper-icon-button icon="cast" class="mediaButton castButton" onclick="MediaController.showPlayerSelection(this, false);" style="width:32px;height:32px;"></paper-icon-button>';
html += '<paper-icon-button icon="fullscreen" class="mediaButton fullscreenButton" onclick="MediaPlayer.toggleFullscreen();" id="video-fullscreenButton"></paper-icon-button>'; html += '<paper-icon-button icon="fullscreen" class="mediaButton fullscreenButton" onclick="MediaPlayer.toggleFullscreen();" id="video-fullscreenButton"></paper-icon-button>';
html += '<paper-icon-button icon="info" class="mediaButton infoButton" onclick="MediaPlayer.toggleInfo();"></paper-icon-button>'; html += '<paper-icon-button icon="info" class="mediaButton infoButton" onclick="MediaPlayer.toggleInfo();"></paper-icon-button>';
//html += '<paper-icon-button icon="dvr" class="mediaButton guideButton" onclick="MediaPlayer.toggleGuide();"></paper-icon-button>'; //html += '<paper-icon-button icon="dvr" class="mediaButton guideButton" onclick="MediaPlayer.toggleGuide();"></paper-icon-button>';

View file

@ -1640,7 +1640,7 @@ var AppInfo = {};
function initializeApiClient(apiClient) { function initializeApiClient(apiClient) {
if (AppInfo.enableAppStorePolicy) { if (AppInfo.enableAppStorePolicy) {
apiClient.getAvailablePlugins = function() { apiClient.getAvailablePlugins = function () {
return Promise.resolve([]); return Promise.resolve([]);
}; };
apiClient.getInstalledPlugins = function () { apiClient.getInstalledPlugins = function () {