mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
change edit item metadata to allow multiple series air days
This commit is contained in:
parent
571cf7f0b9
commit
3c1648cc63
2 changed files with 35 additions and 20 deletions
|
@ -93,7 +93,23 @@
|
||||||
</div>
|
</div>
|
||||||
<div data-role="fieldcontain" id="fldAirDays" style="display: none;">
|
<div data-role="fieldcontain" id="fldAirDays" style="display: none;">
|
||||||
<label for="selectAirDays">Air Days:</label>
|
<label for="selectAirDays">Air Days:</label>
|
||||||
<select name="selectAirDays" id="selectAirDays" data-mini="true"></select>
|
<div data-role="editableListviewContainer" style="width: 78%; display: inline-block;">
|
||||||
|
<div>
|
||||||
|
<select name="selectAirDays" Id="selectAirDays" data-mini="true">
|
||||||
|
<option value=''></option>
|
||||||
|
<option value='Monday'>Monday</option>
|
||||||
|
<option value='Tuesday'>Tuesday</option>
|
||||||
|
<option value='Wednesday'>Wednesday</option>
|
||||||
|
<option value='Thursday'>Thursday</option>
|
||||||
|
<option value='Friday'>Friday</option>
|
||||||
|
<option value='Saturday'>Saturday</option>
|
||||||
|
<option value='Sunday'>Sunday</option>
|
||||||
|
</select>
|
||||||
|
<a data-role="button" data-theme="b" data-inline="true" data-mini="true" data-icon="plus" onclick="EditItemMetadataPage.AddElementToEditableListview(this,EditItemMetadataPage.sortDaysOfTheWeek)">Add</a>
|
||||||
|
</div>
|
||||||
|
<ul data-role="listview" data-inset="true" data-split-icon="delete" id="listAirDays"></ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div data-role="fieldcontain" id="fldAirTime" style="display: none;">
|
<div data-role="fieldcontain" id="fldAirTime" style="display: none;">
|
||||||
<label for="txtAirTime">Air Time:</label>
|
<label for="txtAirTime">Air Time:</label>
|
||||||
|
|
|
@ -187,9 +187,8 @@
|
||||||
var selectStatus = $('#selectStatus', page);
|
var selectStatus = $('#selectStatus', page);
|
||||||
populateStatus(selectStatus);
|
populateStatus(selectStatus);
|
||||||
selectStatus.val(item.Status || "").selectmenu('refresh');
|
selectStatus.val(item.Status || "").selectmenu('refresh');
|
||||||
var selectAirDays = $('#selectAirDays', page);
|
|
||||||
populateAirDays(selectAirDays);
|
populateListView($('#listAirDays', page), item.AirDays);
|
||||||
selectAirDays.val(item.AirDays || "").selectmenu('refresh');
|
|
||||||
populateListView($('#listGenres', page), item.Genres);
|
populateListView($('#listGenres', page), item.Genres);
|
||||||
populateListView($('#listStudios', page), item.Studios.map(function (element) { return element.Name || ''; }));
|
populateListView($('#listStudios', page), item.Studios.map(function (element) { return element.Name || ''; }));
|
||||||
populateListView($('#listTags', page), item.Tags);
|
populateListView($('#listTags', page), item.Tags);
|
||||||
|
@ -349,19 +348,13 @@
|
||||||
select.html(html).selectmenu("refresh");
|
select.html(html).selectmenu("refresh");
|
||||||
}
|
}
|
||||||
|
|
||||||
function populateAirDays(select) {
|
function populateListView(list, items, sortCallback) {
|
||||||
var days = new Array("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday");
|
|
||||||
var html = "";
|
|
||||||
html += "<option value=''></option>";
|
|
||||||
for (var i = 0; i < days.length; i++) {
|
|
||||||
html += "<option value='" + days[i] + "'>" + days[i] + "</option>";
|
|
||||||
}
|
|
||||||
select.html(html).selectmenu("refresh");
|
|
||||||
}
|
|
||||||
|
|
||||||
function populateListView(list, items) {
|
|
||||||
items = items || new Array();
|
items = items || new Array();
|
||||||
items.sort(function(a, b) { return a.toLowerCase().localeCompare(b.toLowerCase()); });
|
if (typeof(sortCallback) === 'undefined') {
|
||||||
|
items.sort(function (a, b) { return a.toLowerCase().localeCompare(b.toLowerCase()); });
|
||||||
|
} else {
|
||||||
|
items = sortCallback(items);
|
||||||
|
}
|
||||||
var html = '';
|
var html = '';
|
||||||
for (var i = 0; i < items.length; i++) {
|
for (var i = 0; i < items.length; i++) {
|
||||||
html += '<li><a class="data">' + items[i] + '</a><a onclick="EditItemMetadataPage.RemoveElementFromListview(this)"></a></li>';
|
html += '<li><a class="data">' + items[i] + '</a><a onclick="EditItemMetadataPage.RemoveElementFromListview(this)"></a></li>';
|
||||||
|
@ -401,7 +394,7 @@
|
||||||
Artists: [$('#txtArtist', form).val()],
|
Artists: [$('#txtArtist', form).val()],
|
||||||
Overview: $('#txtOverview', form).val(),
|
Overview: $('#txtOverview', form).val(),
|
||||||
Status: $('#selectStatus', form).val(),
|
Status: $('#selectStatus', form).val(),
|
||||||
AirDays: $('#selectAirDays', form).val(),
|
AirDays: editableListViewValues($("#listAirDays", form)),
|
||||||
AirTime: convertTo12HourFormat($('#txtAirTime', form).val()),
|
AirTime: convertTo12HourFormat($('#txtAirTime', form).val()),
|
||||||
Genres: editableListViewValues($("#listGenres", form)),
|
Genres: editableListViewValues($("#listGenres", form)),
|
||||||
Tags: editableListViewValues($("#listTags", form)),
|
Tags: editableListViewValues($("#listTags", form)),
|
||||||
|
@ -439,17 +432,23 @@
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
};
|
};
|
||||||
self.AddElementToEditableListview = function(source) {
|
self.AddElementToEditableListview = function(source, sortCallback) {
|
||||||
var input = $(source).parent().find('input[type="text"]');
|
var input = $(source).parent().find('input[type="text"], select');
|
||||||
var text = input.val();
|
var text = input.val();
|
||||||
input.val('');
|
input.val('');
|
||||||
if (text == '') return;
|
if (text == '') return;
|
||||||
var list = $(source).parents('[data-role="editableListviewContainer"]').find('ul[data-role="listview"]');
|
var list = $(source).parents('[data-role="editableListviewContainer"]').find('ul[data-role="listview"]');
|
||||||
var items = editableListViewValues(list);
|
var items = editableListViewValues(list);
|
||||||
items.push(text);
|
items.push(text);
|
||||||
populateListView(list, items);
|
populateListView(list, items, sortCallback);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
self.sortDaysOfTheWeek = function(list) {
|
||||||
|
var days = new Array("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday");
|
||||||
|
list.sort(function(a, b) { return days.indexOf(a) > days.indexOf(b); });
|
||||||
|
return list;
|
||||||
|
};
|
||||||
|
|
||||||
self.RemoveElementFromListview = function(source) {
|
self.RemoveElementFromListview = function(source) {
|
||||||
var list = $(source).parents('ul[data-role="listview"]');
|
var list = $(source).parents('ul[data-role="listview"]');
|
||||||
$(source).parent().remove();
|
$(source).parent().remove();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue