(function ($, document, window) { var currentItem; function reload(page) { var id = getParameterByName('id'); Dashboard.showLoadingMsg(); 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(); currentItem = item; LibraryBrowser.renderName(item, $('.itemName', page), true); LibraryBrowser.renderParentName(item, $('.parentName', page)); setFieldVisibilities(page, item); fillItemInfo(page, item); Dashboard.hideLoadingMsg(); }); } function setFieldVisibilities(page, item) { if (item.Type == "Series" || item.Type == "Person") { $('#fldEndDate', page).show(); } else { $('#fldEndDate', page).hide(); } if (item.Type == "Movie" || item.MediaType == "Game" || item.MediaType == "Trailer" || item.Type == "MusicVideo") { $('#fldBudget', page).show(); $('#fldRevenue', page).show(); } else { $('#fldBudget', page).hide(); $('#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" || item.Type == "MusicVideo") { $('#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" || item.Type == "MusicVideo") { $('#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 { $('#fldOriginalAspectRatio', page).hide(); } if (item.Type == "Audio" || item.Type == "Episode" || item.Type == "Season") { $('#fldIndexNumber', page).show(); if (item.Type == "Episode") { $('#lblIndexNumber', page).html('Episode number'); } else if (item.Type == "Season") { $('#lblIndexNumber', page).html('Season number'); } else if (item.Type == "Audio") { $('#lblIndexNumber', page).html('Track number'); } else { $('#lblIndexNumber', page).html('Number'); } } else { $('#fldIndexNumber', page).hide(); } if (item.Type == "Audio" || item.Type == "Episode") { $('#fldParentIndexNumber', page).show(); if (item.Type == "Episode") { $('#lblParentIndexNumber', page).html('Season number'); } else if (item.Type == "Audio") { $('#lblParentIndexNumber', page).html('Disc number'); } else { $('#lblParentIndexNumber', page).html('Parent number'); } } else { $('#fldParentIndexNumber', page).hide(); } } function fillItemInfo(page, item) { ApiClient.getCultures().done(function (result) { var select = $('#selectLanguage', page); populateLanguages(result, select); select.val(item.Language || "").selectmenu('refresh'); }); ApiClient.getParentalRatings().done(function (result) { var select = $('#selectOfficialRating', page); populateRatings(result, select); select.val(item.OfficialRating || "").selectmenu('refresh'); select = $('#selectCustomRating', page); populateRatings(result, select); select.val(item.CustomRating || "").selectmenu('refresh'); }); $('#txtName', page).val(item.Name || ""); $('#txtSortName', page).val(item.SortName || ""); $('#txtDisplayMediaType', page).val(item.DisplayMediaType || ""); $('#txtCommunityRating', page).val(item.CommunityRating || ""); $('#txtHomePageUrl', page).val(item.HomePageUrl || ""); $('#txtBudget', page).val(item.Budget || ""); $('#txtRevenue', page).val(item.Revenue || ""); $('#txtCriticRating', page).val(item.CriticRating || ""); $('#txtCriticRatingSummary', page).val(item.CriticRatingSummary || ""); $('#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; if (item.PremiereDate) { try { date = parseISO8601Date(item.PremiereDate, { toLocal: true }); $('#txtPremiereDate', page).val(date.toISOString().slice(0, 10)); } catch (e) { $('#txtPremiereDate', page).val(''); } } else { $('#txtPremiereDate', page).val(''); } if (item.EndDate) { try { date = parseISO8601Date(item.EndDate, { toLocal: true }); $('#txtEndDate', page).val(date.toISOString().slice(0, 10)); } catch (e) { $('#txtEndDate', page).val(''); } } else { $('#txtEndDate', page).val(''); } $('#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) { var html = ""; html += ""; for (var i = 0, length = allCultures.length; i < length; i++) { var culture = allCultures[i]; html += ""; } select.html(html).selectmenu("refresh"); } function populateRatings(allParentalRatings, select) { var html = ""; html += ""; var ratings = []; var i, length, rating; for (i = 0, length = allParentalRatings.length; i < length; i++) { rating = allParentalRatings[i]; ratings.push({ Name: rating.Name, Value: rating.Name }); } for (i = 0, length = ratings.length; i < length; i++) { rating = ratings[i]; html += ""; } select.html(html).selectmenu("refresh"); } function editItemMetadataPage() { var self = this; self.onSubmit = function () { var form = this; var item = { Id: getParameterByName('id'), Name: $('#txtName', form).val(), SortName: $('#txtSortName', form).val(), DisplayMediaType: $('#txtDisplayMediaType', form).val(), CommunityRating: $('#txtCommunityRating', form).val(), HomePageUrl: $('#txtHomePageUrl', form).val(), Budget: $('#txtBudget', form).val(), Revenue: $('#txtRevenue', form).val(), CriticRating: $('#txtCriticRating', form).val(), CriticRatingSummary: $('#txtCriticRatingSummary', form).val(), IndexNumber: $('#txtIndexNumber', form).val(), ParentIndexNumber: $('#txtParentIndexNumber', form).val(), Players: $('#txtPlayers', form).val(), Album: $('#txtAlbum', form).val(), AlbumArtist: $('#txtAlbumArtist', form).val(), Artists: [$('#txtArtist', form).val()], PremiereDate: $('#txtPremiereDate', form).val(), EndDate: $('#txtEndDate', form).val(), ProductionYear: $('#txtProductionYear', form).val(), AspectRatio: $('#txtOriginalAspectRatio', form).val(), Language: $('#selectLanguage', form).val(), OfficialRating: $('#selectOfficialRating', form).val(), CustomRating: $('#selectCustomRating', form).val(), ProviderIds: { Gamesdb: $('#txtGamesDb', form).val(), Imdb: $('#txtImdb', form).val(), Tmdb: $('#txtTmdb', form).val(), Tvdb: $('#txtTvdb', form).val(), Tvcom: $('#txtTvCom', form).val(), Musicbrainz: $('#txtMusicBrainz', form).val(), RottenTomatoes: $('#txtRottenTomatoes', form).val() } }; ApiClient.updateItem(item).done(function () { Dashboard.alert('Item saved.'); }); return false; }; } window.EditItemMetadataPage = new editItemMetadataPage(); $(document).on('pageinit', "#editItemMetadataPage", function () { var page = this; $('#btnRefresh', this).on('click', function () { $(this).button('disable'); $('#refreshLoading', page).show(); ApiClient.refreshItem(currentItem.Id, true, $('#fldRecursive', page).checked()).done(function () { reload(page); }); }); }).on('pageshow', "#editItemMetadataPage", function () { var page = this; reload(page); }).on('pagehide', "#editItemMetadataPage", function () { var page = this; currentItem = null; }); })(jQuery, document, window);