mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
auto-organize - support new series
This commit is contained in:
parent
9cadc0ddff
commit
57684befac
3 changed files with 165 additions and 36 deletions
|
@ -1,5 +1,10 @@
|
|||
define(['paperdialoghelper', 'paper-checkbox', 'paper-input', 'paper-button'], function (paperDialogHelper) {
|
||||
|
||||
var extractedName;
|
||||
var extractedYear;
|
||||
var currentNewItem;
|
||||
var existingSeriesHtml;
|
||||
|
||||
function onApiFailure(e) {
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
|
@ -24,6 +29,10 @@
|
|||
$('#txtSeason', context).val(item.ExtractedSeasonNumber);
|
||||
$('#txtEpisode', context).val(item.ExtractedEpisodeNumber);
|
||||
$('#txtEndingEpisode', context).val(item.ExtractedEndingEpisodeNumber);
|
||||
$('.extractedName', context).html(item.ExtractedName);
|
||||
|
||||
extractedName = item.ExtractedName;
|
||||
extractedYear = item.ExtractedYear;
|
||||
|
||||
$('#chkRememberCorrection', context).val(false);
|
||||
|
||||
|
@ -36,15 +45,15 @@
|
|||
|
||||
}).then(function (result) {
|
||||
|
||||
var seriesHtml = result.Items.map(function (s) {
|
||||
existingSeriesHtml = result.Items.map(function (s) {
|
||||
|
||||
return '<option value="' + s.Id + '">' + s.Name + '</option>';
|
||||
|
||||
}).join('');
|
||||
|
||||
seriesHtml = '<option value=""></option>' + seriesHtml;
|
||||
existingSeriesHtml = '<option value=""></option>' + existingSeriesHtml;
|
||||
|
||||
$('#selectSeries', context).html(seriesHtml);
|
||||
$('#selectSeries', context).html(existingSeriesHtml);
|
||||
|
||||
}, onApiFailure);
|
||||
}
|
||||
|
@ -74,10 +83,35 @@
|
|||
}, onApiFailure);
|
||||
}
|
||||
|
||||
function showNewSeriesDialog(dlg) {
|
||||
|
||||
require(['components/itemidentifier/itemidentifier'], function (itemidentifier) {
|
||||
|
||||
itemidentifier.showFindNew(extractedName, extractedYear, 'Series').then(function (newItem) {
|
||||
|
||||
currentNewItem = newItem;
|
||||
|
||||
var seriesHtml = existingSeriesHtml;
|
||||
|
||||
if (currentNewItem != null) {
|
||||
seriesHtml = seriesHtml + '<option selected value="##NEW##">' + currentNewItem.Name + '</option>';
|
||||
}
|
||||
|
||||
$('#selectSeries', dlg).html(seriesHtml);
|
||||
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
return {
|
||||
show: function (item) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
extractedName = null;
|
||||
extractedYear = null;
|
||||
currentNewItem = null;
|
||||
existingSeriesHtml = null;
|
||||
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open('GET', 'components/fileorganizer/fileorganizer.template.html', true);
|
||||
|
||||
|
@ -127,6 +161,11 @@
|
|||
return false;
|
||||
});
|
||||
|
||||
dlg.querySelector('#btnNewSeries').addEventListener('click', function (e) {
|
||||
|
||||
showNewSeriesDialog(dlg);
|
||||
});
|
||||
|
||||
initEpisodeForm(dlg, item);
|
||||
}
|
||||
|
||||
|
|
|
@ -8,9 +8,12 @@
|
|||
|
||||
<p><span class="inputFile"></span></p>
|
||||
|
||||
<div style="margin: 1em 0 1em; min-width: 250px;">
|
||||
<label for="selectSeries" class="selectLabel">${LabelSeries}</label>
|
||||
<select id="selectSeries" data-mini="true" required="required"></select>
|
||||
<div style="margin: 1em 0 1em;">
|
||||
<div style="width:85%;display:inline-block;">
|
||||
<label for="selectSeries" class="selectLabel">${LabelSeries}</label>
|
||||
<select id="selectSeries" data-mini="true" required="required"></select>
|
||||
</div>
|
||||
<paper-icon-button id="btnNewSeries" icon="add" title="${ButtonNew}"></paper-icon-button>
|
||||
</div>
|
||||
<div style="margin: 1em 0;">
|
||||
<paper-input id="txtSeason" type="number" pattern="[0-9]*" required min="0" label="${LabelSeasonNumber}"></paper-input>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue