mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
progress on editing page
This commit is contained in:
parent
057f6bfabf
commit
11c73466e6
3 changed files with 213 additions and 74 deletions
|
@ -486,12 +486,12 @@ a.itemTag:hover {
|
|||
|
||||
.metadataFormFields {
|
||||
float: left;
|
||||
width: 70%;
|
||||
width: 75%;
|
||||
}
|
||||
|
||||
.metadataFormButtons {
|
||||
float: right;
|
||||
width: 28%;
|
||||
width: 23%;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -18,78 +18,135 @@
|
|||
|
||||
<form id="editItemMetadataForm" class="editMetadataForm">
|
||||
<div class="metadataFormFields">
|
||||
<div data-role="fieldcontain">
|
||||
<label for="txtName">Name:</label>
|
||||
<input type="text" id="txtName" name="txtName" required="required" data-mini="true" />
|
||||
|
||||
<div data-role="collapsible" data-collapsed="false">
|
||||
<h3>Basics</h3>
|
||||
<div>
|
||||
<div data-role="fieldcontain">
|
||||
<label for="txtName">Name:</label>
|
||||
<input type="text" id="txtName" name="txtName" required="required" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain">
|
||||
<label for="txtSortName">Sort name:</label>
|
||||
<input type="text" id="txtSortName" name="txtSortName" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain">
|
||||
<label for="txtDisplayMediaType">Display type:</label>
|
||||
<input type="text" id="txtDisplayMediaType" name="txtDisplayMediaType" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain" id="fldArtist" style="display: none;">
|
||||
<label for="txtArtist">Artist:</label>
|
||||
<input type="text" id="txtArtist" name="txtArtist" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain" id="fldAlbumArtist" style="display: none;">
|
||||
<label for="txtAlbumArtist">Album artist:</label>
|
||||
<input type="text" id="txtAlbumArtist" name="txtAlbumArtist" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain" id="fldAlbum" style="display: none;">
|
||||
<label for="txtAlbum">Album:</label>
|
||||
<input type="text" id="txtAlbum" name="txtAlbum" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain" id="fldParentIndexNumber" style="display: none;">
|
||||
<label id="lblParentIndexNumber" for="txtParentIndexNumber">Parent number:</label>
|
||||
<input type="number" id="txtParentIndexNumber" name="txtParentIndexNumber" data-mini="true" pattern="[0-9]*" />
|
||||
</div>
|
||||
<div data-role="fieldcontain" id="fldIndexNumber" style="display: none;">
|
||||
<label id="lblIndexNumber" for="txtIndexNumber">Number:</label>
|
||||
<input type="number" id="txtIndexNumber" name="txtIndexNumber" data-mini="true" pattern="[0-9]*" />
|
||||
</div>
|
||||
<div data-role="fieldcontain">
|
||||
<label for="txtCommunityRating">Community rating:</label>
|
||||
<input type="number" id="txtCommunityRating" name="txtCommunityRating" step=".1" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain" id="fldCriticRating" style="display: none;">
|
||||
<label for="txtCriticRating">Critic rating:</label>
|
||||
<input type="number" id="txtCriticRating" name="txtCriticRating" step=".1" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain" id="fldCriticRatingSummary" style="display: none;">
|
||||
<label for="txtCriticRatingSummary">Critic rating summary:</label>
|
||||
<input type="text" id="txtCriticRatingSummary" name="txtCriticRatingSummary" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain">
|
||||
<label for="txtHomePageUrl">Website:</label>
|
||||
<input type="url" id="txtHomePageUrl" name="txtHomePageUrl" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain">
|
||||
<label for="txtPremiereDate">Release date:</label>
|
||||
<input type="date" id="txtPremiereDate" name="txtPremiereDate" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain" id="fldEndDate" style="display: none;">
|
||||
<label for="txtEndDate">End date:</label>
|
||||
<input type="date" id="txtEndDate" name="txtEndDate" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain">
|
||||
<label for="txtProductionYear">Year:</label>
|
||||
<input type="number" id="txtProductionYear" name="txtProductionYear" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain">
|
||||
<label for="selectOfficialRating">Official rating:</label>
|
||||
<select name="selectOfficialRating" id="selectOfficialRating" data-mini="true"></select>
|
||||
</div>
|
||||
<div data-role="fieldcontain">
|
||||
<label for="selectCustomRating">Custom rating:</label>
|
||||
<select name="selectCustomRating" id="selectCustomRating" data-mini="true"></select>
|
||||
</div>
|
||||
<div data-role="fieldcontain" id="fldBudget" style="display: none;">
|
||||
<label for="txtBudget">Budget ($):</label>
|
||||
<input type="number" id="txtBudget" name="txtBudget" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain" id="fldRevenue" style="display: none;">
|
||||
<label for="txtRevenue">Revenue ($):</label>
|
||||
<input type="number" id="txtRevenue" name="txtRevenue" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain" id="fldOriginalAspectRatio" style="display: none;">
|
||||
<label for="txtOriginalAspectRatio">Original aspect ratio:</label>
|
||||
<input type="text" id="txtOriginalAspectRatio" name="txtOriginalAspectRatio" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain" style="display: none;">
|
||||
<label for="selectLanguage">Original language:</label>
|
||||
<select name="selectLanguage" id="selectLanguage" data-mini="true"></select>
|
||||
</div>
|
||||
<div data-role="fieldcontain" id="fldPlayers" style="display: none;">
|
||||
<label for="txtPlayers">Players:</label>
|
||||
<input type="number" id="txtPlayers" name="txtPlayers" data-mini="true" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div data-role="fieldcontain">
|
||||
<label for="txtSortName">Sort name:</label>
|
||||
<input type="text" id="txtSortName" name="txtSortName" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain">
|
||||
<label for="txtDisplayMediaType">Display type:</label>
|
||||
<input type="text" id="txtDisplayMediaType" name="txtDisplayMediaType" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain" id="fldParentIndexNumber" style="display: none;">
|
||||
<label id="lblParentIndexNumber" for="txtParentIndexNumber">Parent number:</label>
|
||||
<input type="number" id="txtParentIndexNumber" name="txtParentIndexNumber" data-mini="true" pattern="[0-9]*" />
|
||||
</div>
|
||||
<div data-role="fieldcontain" id="fldIndexNumber" style="display: none;">
|
||||
<label id="lblIndexNumber" for="txtIndexNumber">Number:</label>
|
||||
<input type="number" id="txtIndexNumber" name="txtIndexNumber" data-mini="true" pattern="[0-9]*" />
|
||||
</div>
|
||||
<div data-role="fieldcontain">
|
||||
<label for="txtCommunityRating">Community rating:</label>
|
||||
<input type="number" id="txtCommunityRating" name="txtCommunityRating" step=".1" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain">
|
||||
<label for="txtCriticRating">Critic rating:</label>
|
||||
<input type="number" id="txtCriticRating" name="txtCriticRating" step=".1" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain">
|
||||
<label for="txtCriticRatingSummary">Critic rating summary:</label>
|
||||
<input type="text" id="txtCriticRatingSummary" name="txtCriticRatingSummary" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain">
|
||||
<label for="txtHomePageUrl">Website:</label>
|
||||
<input type="url" id="txtHomePageUrl" name="txtHomePageUrl" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain">
|
||||
<label for="txtPremiereDate">Release date:</label>
|
||||
<input type="date" id="txtPremiereDate" name="txtPremiereDate" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain" id="fldEndDate" style="display: none;">
|
||||
<label for="txtEndDate">End date:</label>
|
||||
<input type="date" id="txtEndDate" name="txtEndDate" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain">
|
||||
<label for="txtProductionYear">Year:</label>
|
||||
<input type="number" id="txtProductionYear" name="txtProductionYear" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain">
|
||||
<label for="selectOfficialRating">Official rating:</label>
|
||||
<select name="selectOfficialRating" id="selectOfficialRating" data-mini="true"></select>
|
||||
</div>
|
||||
<div data-role="fieldcontain">
|
||||
<label for="selectCustomRating">Custom rating:</label>
|
||||
<select name="selectCustomRating" id="selectCustomRating" data-mini="true"></select>
|
||||
</div>
|
||||
<div data-role="fieldcontain" id="fldBudget" style="display: none;">
|
||||
<label for="txtBudget">Budget ($):</label>
|
||||
<input type="number" id="txtBudget" name="txtBudget" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain" id="fldRevenue" style="display: none;">
|
||||
<label for="txtRevenue">Revenue ($):</label>
|
||||
<input type="number" id="txtRevenue" name="txtRevenue" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain" id="fldOriginalAspectRatio" style="display: none;">
|
||||
<label for="txtOriginalAspectRatio">Original aspect ratio:</label>
|
||||
<input type="text" id="txtOriginalAspectRatio" name="txtOriginalAspectRatio" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain" style="display: none;">
|
||||
<label for="selectLanguage">Original language:</label>
|
||||
<select name="selectLanguage" id="selectLanguage" data-mini="true"></select>
|
||||
<div data-role="collapsible">
|
||||
<h3>External Id's</h3>
|
||||
<div>
|
||||
<div data-role="fieldcontain" id="fldGamesDb" style="display: none;">
|
||||
<label for="txtGamesDb">GamesDb:</label>
|
||||
<input id="txtGamesDb" name="txtGamesDb" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain" id="fldImdb" style="display: none;">
|
||||
<label for="txtImdb">Imdb:</label>
|
||||
<input id="txtImdb" name="txtImdb" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain" id="fldMusicBrainz" style="display: none;">
|
||||
<label for="txtMusicBrainz">MusicBrainz:</label>
|
||||
<input id="txtMusicBrainz" name="txtMusicBrainz" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain" id="fldRottenTomatoes" style="display: none;">
|
||||
<label for="txtRottenTomatoes">Rotten Tomatoes:</label>
|
||||
<input id="txtRottenTomatoes" name="txtRottenTomatoes" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain" id="fldTmdb" style="display: none;">
|
||||
<label for="txtTmdb">TheMovieDB:</label>
|
||||
<input id="txtTmdb" name="txtTmdb" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain" id="fldTvdb" style="display: none;">
|
||||
<label for="txtTvdb">TheTVDB:</label>
|
||||
<input id="txtTvdb" name="txtTvdb" data-mini="true" />
|
||||
</div>
|
||||
<div data-role="fieldcontain" id="fldTvCom" style="display: none;">
|
||||
<label for="txtTvCom">TV.com:</label>
|
||||
<input id="txtTvCom" name="txtTvCom" data-mini="true" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
<ul data-role="listview" class="ulForm">
|
||||
<li>
|
||||
<button type="submit" data-theme="b" data-icon="ok">
|
||||
|
@ -100,7 +157,7 @@
|
|||
</div>
|
||||
<div class="metadataFormButtons">
|
||||
|
||||
<div data-role="collapsible" data-content-theme="a" data-collapsed="false" data-mini="true">
|
||||
<div data-role="collapsible" data-content-theme="a" data-collapsed="false">
|
||||
<h3>Refresh Metadata</h3>
|
||||
<div>
|
||||
<div id="refreshLoading" style="display: none;">
|
||||
|
@ -108,6 +165,10 @@
|
|||
<div class="circle1"></div>
|
||||
<div style="margin-top: -15px;"></div>
|
||||
</div>
|
||||
<p id="fldRecursive" style="display: none;">
|
||||
<label for="chkRecursive">Recursive</label>
|
||||
<input type="checkbox" id="chkRecursive" name="chkRecursive" data-mini="true" />
|
||||
</p>
|
||||
<p>
|
||||
<button id="btnRefresh" type="button" data-icon="refresh" data-mini="true" data-theme="b">Refresh</button>
|
||||
</p>
|
||||
|
|
|
@ -10,6 +10,12 @@
|
|||
|
||||
ApiClient.getItem(Dashboard.getCurrentUserId(), id).done(function (item) {
|
||||
|
||||
if (item.IsFolder) {
|
||||
$('#fldRecursive', page).show();
|
||||
} else {
|
||||
$('#fldRecursive', page).hide();
|
||||
}
|
||||
|
||||
$('#btnRefresh', page).button('enable');
|
||||
|
||||
$('#refreshLoading', page).hide();
|
||||
|
@ -42,6 +48,60 @@
|
|||
$('#fldRevenue', page).hide();
|
||||
}
|
||||
|
||||
if (item.MediaType == "Game") {
|
||||
$('#fldPlayers', page).show();
|
||||
$('#fldGamesDb', page).show();
|
||||
} else {
|
||||
$('#fldPlayers', page).hide();
|
||||
$('#fldGamesDb', page).hide();
|
||||
}
|
||||
|
||||
if (item.Type == "Movie" || item.Type == "Trailer") {
|
||||
$('#fldCriticRating', page).show();
|
||||
$('#fldCriticRatingSummary', page).show();
|
||||
$('#fldRottenTomatoes', page).show();
|
||||
} else {
|
||||
$('#fldCriticRating', page).hide();
|
||||
$('#fldCriticRatingSummary', page).hide();
|
||||
$('#fldRottenTomatoes', page).hide();
|
||||
}
|
||||
|
||||
if (item.Type == "Movie" || item.Type == "Trailer" || item.Type == "Person" || item.Type == "BoxSet") {
|
||||
$('#fldTmdb', page).show();
|
||||
} else {
|
||||
$('#fldTmdb', page).hide();
|
||||
}
|
||||
|
||||
if (item.Type == "Series" || item.Type == "Season" || item.Type == "Episode") {
|
||||
$('#fldTvdb', page).show();
|
||||
$('#fldTvCom', page).show();
|
||||
} else {
|
||||
$('#fldTvdb', page).hide();
|
||||
$('#fldTvCom', page).hide();
|
||||
}
|
||||
|
||||
if (item.Type == "Audio") {
|
||||
$('#fldArtist', page).show();
|
||||
$('#fldAlbum', page).show();
|
||||
$('#fldAlbumArtist', page).show();
|
||||
} else {
|
||||
$('#fldArtist', page).hide();
|
||||
$('#fldAlbum', page).hide();
|
||||
$('#fldAlbumArtist', page).hide();
|
||||
}
|
||||
|
||||
if (item.Type == "Movie" || item.Type == "Trailer" || item.Type == "Person" || item.Type == "Series" || item.Type == "Season" || item.Type == "Episode") {
|
||||
$('#fldImdb', page).show();
|
||||
} else {
|
||||
$('#fldImdb', page).hide();
|
||||
}
|
||||
|
||||
if (item.Type == "Audio" || item.Type == "Artist" || item.Type == "MusicArtist" || item.Type == "MusicAlbum") {
|
||||
$('#fldMusicBrainz', page).show();
|
||||
} else {
|
||||
$('#fldMusicBrainz', page).hide();
|
||||
}
|
||||
|
||||
if (item.MediaType == "Video") {
|
||||
$('#fldOriginalAspectRatio', page).show();
|
||||
} else {
|
||||
|
@ -124,6 +184,13 @@
|
|||
|
||||
$('#txtIndexNumber', page).val(item.IndexNumber || "");
|
||||
$('#txtParentIndexNumber', page).val(item.ParentIndexNumber || "");
|
||||
$('#txtPlayers', page).val(item.Players || "");
|
||||
|
||||
$('#txtAlbum', page).val(item.Album || "");
|
||||
$('#txtAlbumArtist', page).val(item.AlbumArtist || "");
|
||||
|
||||
var artists = item.Artists || [];
|
||||
$('#txtArtist', page).val(artists.join(','));
|
||||
|
||||
var date;
|
||||
|
||||
|
@ -156,6 +223,17 @@
|
|||
$('#txtProductionYear', page).val(item.ProductionYear || "");
|
||||
|
||||
$('#txtOriginalAspectRatio', page).val(item.AspectRatio || "");
|
||||
|
||||
var providerIds = item.ProviderIds || {};
|
||||
|
||||
$('#txtGamesDb', page).val(providerIds.Gamesdb || "");
|
||||
$('#txtImdb', page).val(providerIds.Imdb || "");
|
||||
$('#txtTmdb', page).val(providerIds.Tmdb || "");
|
||||
$('#txtTvdb', page).val(providerIds.Tvdb || "");
|
||||
$('#txtTvCom', page).val(providerIds.Tvcom || "");
|
||||
$('#txtMusicBrainz', page).val(providerIds.Musicbrainz || "");
|
||||
$('#txtRottenTomatoes', page).val(providerIds.RottenTomatoes || "");
|
||||
|
||||
}
|
||||
|
||||
function populateLanguages(allCultures, select) {
|
||||
|
@ -224,7 +302,7 @@
|
|||
|
||||
$('#refreshLoading', page).show();
|
||||
|
||||
ApiClient.refreshItem(currentItem.Id, true, false).done(function () {
|
||||
ApiClient.refreshItem(currentItem.Id, true, $('#fldRecursive', page).checked()).done(function () {
|
||||
|
||||
reload(page);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue