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

update metadata editor

This commit is contained in:
Luke Pulverenti 2016-07-26 23:11:47 -04:00
parent 1bdfae7682
commit 9ce277ff9d

View file

@ -55,9 +55,9 @@
}
function getSelectedAirDays(form) {
var checked = form.querySelectorAll('.chkAirDay:checked') || [];
return Array.prototype.map.call(checked, function () {
return this.getAttribute('data-day');
var checkedItems = form.querySelectorAll('.chkAirDay:checked') || [];
return Array.prototype.map.call(checkedItems, function (c) {
return c.getAttribute('data-day');
});
}
@ -121,98 +121,93 @@
var form = this;
try {
var item = {
Id: currentItem.Id,
Name: form.querySelector('#txtName').value,
OriginalTitle: form.querySelector('#txtOriginalName').value,
ForcedSortName: form.querySelector('#txtSortName').value,
DisplayMediaType: form.querySelector('#txtDisplayMediaType').value,
CommunityRating: form.querySelector('#txtCommunityRating').value,
VoteCount: form.querySelector('#txtCommunityVoteCount').value,
HomePageUrl: form.querySelector('#txtHomePageUrl').value,
Budget: form.querySelector('#txtBudget').value,
Revenue: form.querySelector('#txtRevenue').value,
CriticRating: form.querySelector('#txtCriticRating').value,
CriticRatingSummary: form.querySelector('#txtCriticRatingSummary').value,
IndexNumber: form.querySelector('#txtIndexNumber').value || null,
AbsoluteEpisodeNumber: form.querySelector('#txtAbsoluteEpisodeNumber').value,
DvdEpisodeNumber: form.querySelector('#txtDvdEpisodeNumber').value,
DvdSeasonNumber: form.querySelector('#txtDvdSeasonNumber').value,
AirsBeforeSeasonNumber: form.querySelector('#txtAirsBeforeSeason').value,
AirsAfterSeasonNumber: form.querySelector('#txtAirsAfterSeason').value,
AirsBeforeEpisodeNumber: form.querySelector('#txtAirsBeforeEpisode').value,
ParentIndexNumber: form.querySelector('#txtParentIndexNumber').value || null,
DisplayOrder: form.querySelector('#selectDisplayOrder').value,
Players: form.querySelector('#txtPlayers').value,
Album: form.querySelector('#txtAlbum').value,
AlbumArtist: getAlbumArtists(form),
ArtistItems: getArtists(form),
Metascore: form.querySelector('#txtMetascore').value,
AwardSummary: form.querySelector('#txtAwardSummary').value,
Overview: form.querySelector('#txtOverview').value,
ShortOverview: form.querySelector('#txtShortOverview').value,
Status: form.querySelector('#selectStatus').value,
AirDays: getSelectedAirDays(form),
AirTime: form.querySelector('#txtAirTime').value,
Genres: editableListViewValues(form.querySelector("#listGenres")),
ProductionLocations: editableListViewValues(form.querySelector("#listCountries")),
Tags: editableListViewValues(form.querySelector("#listTags")),
Keywords: editableListViewValues(form.querySelector("#listKeywords")),
Studios: editableListViewValues(form.querySelector("#listStudios")).map(function (element) { return { Name: element }; }),
var item = {
Id: currentItem.Id,
Name: form.querySelector('#txtName').value,
OriginalTitle: form.querySelector('#txtOriginalName').value,
ForcedSortName: form.querySelector('#txtSortName').value,
DisplayMediaType: form.querySelector('#txtDisplayMediaType').value,
CommunityRating: form.querySelector('#txtCommunityRating').value,
VoteCount: form.querySelector('#txtCommunityVoteCount').value,
HomePageUrl: form.querySelector('#txtHomePageUrl').value,
Budget: form.querySelector('#txtBudget').value,
Revenue: form.querySelector('#txtRevenue').value,
CriticRating: form.querySelector('#txtCriticRating').value,
CriticRatingSummary: form.querySelector('#txtCriticRatingSummary').value,
IndexNumber: form.querySelector('#txtIndexNumber').value || null,
AbsoluteEpisodeNumber: form.querySelector('#txtAbsoluteEpisodeNumber').value,
DvdEpisodeNumber: form.querySelector('#txtDvdEpisodeNumber').value,
DvdSeasonNumber: form.querySelector('#txtDvdSeasonNumber').value,
AirsBeforeSeasonNumber: form.querySelector('#txtAirsBeforeSeason').value,
AirsAfterSeasonNumber: form.querySelector('#txtAirsAfterSeason').value,
AirsBeforeEpisodeNumber: form.querySelector('#txtAirsBeforeEpisode').value,
ParentIndexNumber: form.querySelector('#txtParentIndexNumber').value || null,
DisplayOrder: form.querySelector('#selectDisplayOrder').value,
Players: form.querySelector('#txtPlayers').value,
Album: form.querySelector('#txtAlbum').value,
AlbumArtist: getAlbumArtists(form),
ArtistItems: getArtists(form),
Metascore: form.querySelector('#txtMetascore').value,
AwardSummary: form.querySelector('#txtAwardSummary').value,
Overview: form.querySelector('#txtOverview').value,
ShortOverview: form.querySelector('#txtShortOverview').value,
Status: form.querySelector('#selectStatus').value,
AirDays: getSelectedAirDays(form),
AirTime: form.querySelector('#txtAirTime').value,
Genres: editableListViewValues(form.querySelector("#listGenres")),
ProductionLocations: editableListViewValues(form.querySelector("#listCountries")),
Tags: editableListViewValues(form.querySelector("#listTags")),
Keywords: editableListViewValues(form.querySelector("#listKeywords")),
Studios: editableListViewValues(form.querySelector("#listStudios")).map(function (element) { return { Name: element }; }),
PremiereDate: getDateFromForm(form, '#txtPremiereDate', 'PremiereDate'),
DateCreated: getDateFromForm(form, '#txtDateAdded', 'DateCreated'),
EndDate: getDateFromForm(form, '#txtEndDate', 'EndDate'),
ProductionYear: form.querySelector('#txtProductionYear').value,
AspectRatio: form.querySelector('#txtOriginalAspectRatio').value,
Video3DFormat: form.querySelector('#select3dFormat').value,
PremiereDate: getDateFromForm(form, '#txtPremiereDate', 'PremiereDate'),
DateCreated: getDateFromForm(form, '#txtDateAdded', 'DateCreated'),
EndDate: getDateFromForm(form, '#txtEndDate', 'EndDate'),
ProductionYear: form.querySelector('#txtProductionYear').value,
AspectRatio: form.querySelector('#txtOriginalAspectRatio').value,
Video3DFormat: form.querySelector('#select3dFormat').value,
OfficialRating: form.querySelector('#selectOfficialRating').value,
CustomRating: form.querySelector('#selectCustomRating').value,
People: currentItem.People,
LockData: form.querySelector("#chkLockData").checked,
LockedFields: Array.prototype.filter.call(form.querySelectorAll('.selectLockedField'), function (c) {
return !c.checked;
}).map(function (c) {
return c.getAttribute('data-value');
})
};
OfficialRating: form.querySelector('#selectOfficialRating').value,
CustomRating: form.querySelector('#selectCustomRating').value,
People: currentItem.People,
LockData: form.querySelector("#chkLockData").checked,
LockedFields: Array.prototype.filter.call(form.querySelectorAll('.selectLockedField'), function (c) {
return !c.checked;
}).map(function (c) {
return c.getAttribute('data-value');
})
};
item.ProviderIds = Object.assign({}, currentItem.ProviderIds);
item.ProviderIds = Object.assign({}, currentItem.ProviderIds);
var idElements = form.querySelectorAll('.txtExternalId');
Array.prototype.map.call(idElements, function (idElem) {
var providerKey = idElem.getAttribute('data-providerkey');
item.ProviderIds[providerKey] = idElem.value;
});
var idElements = form.querySelectorAll('.txtExternalId');
Array.prototype.map.call(idElements, function (idElem) {
var providerKey = idElem.getAttribute('data-providerkey');
item.ProviderIds[providerKey] = idElem.value;
});
item.PreferredMetadataLanguage = form.querySelector('#selectLanguage').value;
item.PreferredMetadataCountryCode = form.querySelector('#selectCountry').value;
item.PreferredMetadataLanguage = form.querySelector('#selectLanguage').value;
item.PreferredMetadataCountryCode = form.querySelector('#selectCountry').value;
if (currentItem.Type == "Person") {
if (currentItem.Type == "Person") {
var placeOfBirth = form.querySelector('#txtPlaceOfBirth').value;
var placeOfBirth = form.querySelector('#txtPlaceOfBirth').value;
item.ProductionLocations = placeOfBirth ? [placeOfBirth] : [];
}
if (currentItem.Type == "Series") {
// 600000000
var seriesRuntime = form.querySelector('#txtSeriesRuntime').value;
item.RunTimeTicks = seriesRuntime ? (seriesRuntime * 600000000) : null;
}
var tagline = form.querySelector('#txtTagline').value;
item.Taglines = tagline ? [tagline] : [];
submitUpdatedItem(form, item);
} catch (err) {
alert(err);
item.ProductionLocations = placeOfBirth ? [placeOfBirth] : [];
}
if (currentItem.Type == "Series") {
// 600000000
var seriesRuntime = form.querySelector('#txtSeriesRuntime').value;
item.RunTimeTicks = seriesRuntime ? (seriesRuntime * 600000000) : null;
}
var tagline = form.querySelector('#txtTagline').value;
item.Taglines = tagline ? [tagline] : [];
submitUpdatedItem(form, item);
e.preventDefault();
e.stopPropagation();
@ -1044,7 +1039,7 @@
elem.innerHTML = html;
var deleteButton = elem.querySelector('.btnDeletePerson')
var deleteButton = elem.querySelector('.btnDeletePerson');
if (deleteButton) {
deleteButton.addEventListener('click', function () {
@ -1055,7 +1050,7 @@
}.bind(deleteButton));
}
var editButton = elem.querySelector('.btnEditPerson')
var editButton = elem.querySelector('.btnEditPerson');
if (editButton) {
editButton.addEventListener('click', function () {