define(["exports","./../emby-apiclient/connectionmanager.js","./../emby-apiclient/events.js","./../dialoghelper/dialoghelper.js","./../layoutmanager.js","./../common/globalize.js","./../common/datetime.js","./../common/textencoding.js","./../common/itemmanager/itemmanager.js","./../loading/loading.js","./../focusmanager.js","./../common/servicelocator.js","./../emby-elements/emby-checkbox/emby-checkbox.js","./../emby-elements/emby-toggle/emby-toggle.js","./../emby-elements/emby-input/emby-input.js","./../emby-elements/emby-select/emby-select.js","./../emby-elements/emby-textarea/emby-textarea.js","./../emby-elements/emby-button/emby-button.js","./../emby-elements/emby-button/paper-icon-button-light.js","./../emby-elements/emby-scroller/emby-scroller.js","./../emby-elements/emby-dialogclosebutton/emby-dialogclosebutton.js","./../common/input/api.js","./../listview/listview.js","./externalideditor.js"],function(_exports,_connectionmanager,_events,_dialoghelper,_layoutmanager,_globalize,_datetime,_textencoding,_itemmanager,_loading,_focusmanager,_servicelocator,_embyCheckbox,_embyToggle,_embyInput,_embySelect,_embyTextarea,_embyButton,_paperIconButtonLight,_embyScroller,_embyDialogclosebutton,_api,_listview,_externalideditor){function submitUpdatedItem(instance,form,item){var apiClient=_connectionmanager.default.getApiClient(instance.currentItem);!function(instance,form,item,apiClient){return"TvChannel"!==(item=instance.currentItem).Type||(instance=form.querySelector(".selectGuideDataProvider").value||null,form=form.querySelector(".selectGuideChannel").value||null,instance===item.ListingsProviderId&&form===item.ListingsChannelId)?Promise.resolve():apiClient.ajax({type:"POST",url:apiClient.getUrl("LiveTv/ChannelMappings"),data:{providerId:instance,tunerChannelId:item.ManagementId,providerChannelId:form},dataType:"json"})}(instance,form,0,apiClient).then(function(){apiClient.updateItem(item).then(function(){var options,context;instance.hasChanges=!0,options=_globalize.default.translate("MessageItemSaved"),Emby.importModule("./modules/toast/toast.js").then(function(toast){return toast(options)}),_loading.default.hide(),(context=instance.context).classList.contains("dialog")&&_dialoghelper.default.close(context)})})}function addElementToList(instance,source){var options;options={title:_globalize.default.translate("Add"),label:source.getAttribute("data-label"),confirmText:_globalize.default.translate("Add")},Emby.importModule("./modules/prompt/prompt.js").then(function(prompt){return prompt(options)}).then(function(text){var container=source.closest(".editableListviewContainer"),prop=source.getAttribute("data-field"),prop=(instance.currentItem[prop].push({Name:text}),container.querySelector(".itemsContainer").refreshItems(),container.querySelector(".chkLockedField"));prop&&(prop.checked=!0)})}function addOrEditPerson(instance,person){var isNew;return person||(person={},isNew=!0),Emby.importModule("./modules/metadataeditor/personeditor.js").then(function(personEditor){return personEditor.show(person).then(function(updatedPerson){isNew&&instance.currentItem.People.push(updatedPerson),isNew&&instance.refreshPeople();updatedPerson=instance.context.querySelector('.chkLockedField[data-field="Cast"]');updatedPerson&&(updatedPerson.checked=!0)})})}function onRejected(){}function afterDeleted(instance,item){var parentId=item.ParentId||item.SeasonId||item.SeriesId;parentId?reload(instance,parentId,item.ServerId):Emby.importModule("./modules/approuter.js").then(function(appRouter){appRouter.goHome()})}function onGuideDataProviderChange(e){var apiClient,section=this.context.querySelector(".channelMappingSection"),e=e.target.closest("select").value;e&&"none"!==e&&"tuner"!==e?(section.querySelector(".fldGuideChannelId").classList.remove("hide"),apiClient=_connectionmanager.default.getApiClient(this.currentItem),function(context,item,listingsProviderId,apiClient){apiClient.getJSON(apiClient.getUrl("LiveTv/ChannelMappingOptions",{ProviderId:listingsProviderId})).then(function(result){!function(context,item,channels){context=context.querySelector(".selectGuideChannel"),channels=channels.map(function(i){return'"}).join("");context.innerHTML=channels,context.value=item.ListingsChannelId}(context,item,result.ProviderChannels)})}(section,this.currentItem,e,apiClient)):section.querySelector(".fldGuideChannelId").classList.add("hide")}function onFieldInput(e){var container=this.closest(".inputContainer,.selectContainer").parentNode.closest(".inputContainer");container&&(container.querySelector(".chkLockedField").checked=!0)}function getLinkedItems(query){var instance=this.instance,type=this.type,property=this.property,icon=_itemmanager.default.getDefaultIcon({Type:type}),serverId=instance.serverId,sourceItems=instance.currentItem[property]||[],type=sourceItems.map(function(i,index){return{Type:"GenericListItem",Name:i.Name,CanDelete:!0,CanEdit:!1,Icon:icon,DeleteType:"remove",ShortOverview:i.Role,OriginalItem:i,CanReorder:!0,CanMoveUp:0")+"")+"",select.innerHTML=html}(parentalRatingOptions),parentalRatingOptions.value=item.Status||"",context.querySelector(".select3dFormat",context).value=item.Video3DFormat||"",item.LockData||!1);if(context.querySelector(".chkLockData").checked=select,context.querySelector(".txtPath").innerHTML=item.Path||"",context.querySelector(".txtName").value=item.Name||"",context.querySelector(".txtChannelNumber").value=item.ChannelNumber||"",context.querySelector(".txtOriginalName").value=item.OriginalTitle||"",context.querySelector(".txtOverview").value=item.Overview||"",context.querySelector(".txtTagline").value=item.Taglines&&item.Taglines.length?item.Taglines[0]:"",context.querySelector(".txtSortName").value=item.SortName||"",context.querySelector(".txtCommunityRating").value=null==item.CommunityRating?"":item.CommunityRating.toFixed(1),context.querySelector(".txtCriticRating").value=item.CriticRating||"",context.querySelector(".txtIndexNumber").value=null==item.IndexNumber?"":item.IndexNumber,context.querySelector(".txtParentIndexNumber").value=null==item.ParentIndexNumber?"":item.ParentIndexNumber,context.querySelector(".txtDisplaySeason").value="SortParentIndexNumber"in item?item.SortParentIndexNumber:"",context.querySelector(".txtDisplayEpisode").value="SortIndexNumber"in item?item.SortIndexNumber:"",context.querySelector(".txtAlbum").value=item.Album||"",context.querySelector(".txtAlbumArtist").value=(item.AlbumArtists||[]).map(function(a){return a.Name}).join(";"),"Series"===item.Type?(context.querySelector(".selectFileOrder").value=(item.DisplayOrder||"").toLowerCase(),context.querySelector(".selectDisplayOrder").value=""):(context.querySelector(".selectDisplayOrder").value=item.DisplayOrder||"",context.querySelector(".selectFileOrder").value=""),context.querySelector(".txtArtist").value=(item.ArtistItems||[]).map(function(a){return a.Name}).join(";"),context.querySelector(".txtComposer").value=(item.Composers||[]).map(function(a){return a.Name}).join(";"),item.DateCreated)try{context.querySelector(".txtDateAdded").valueAsNumberUtc=Date.parse(item.DateCreated)}catch(e){context.querySelector(".txtDateAdded").value=""}else context.querySelector(".txtDateAdded").value="";if(item.PremiereDate)try{context.querySelector(".txtPremiereDate").valueAsNumberUtc=Date.parse(item.PremiereDate)}catch(e){context.querySelector(".txtPremiereDate").value=""}else context.querySelector(".txtPremiereDate").value="";if(item.EndDate)try{context.querySelector(".txtEndDate").valueAsNumberUtc=Date.parse(item.EndDate)}catch(e){context.querySelector(".txtEndDate").value=""}else context.querySelector(".txtEndDate").value="";context.querySelector(".txtProductionYear").value=item.ProductionYear||"";for(var parentalRatingOptions=item.ProductionLocations&&item.ProductionLocations.length?item.ProductionLocations[0]:"",promises=(context.querySelector(".txtPlaceOfBirth").value=parentalRatingOptions,context.querySelector(".selectLanguage").value=item.PreferredMetadataLanguage||"",context.querySelector(".selectCountry").value=item.PreferredMetadataCountryCode||"",item.RunTimeTicks?(select=item.RunTimeTicks/6e8,context.querySelector(".txtSeriesRuntime").value=Math.round(select)):context.querySelector(".txtSeriesRuntime",context).value="",_loading.default.hide(),[]),itemsContainers=context.querySelectorAll(".itemsContainer"),i=0,length=itemsContainers.length;i'+i.Name+" "+_textencoding.default.htmlEncode(i.ListingsId||i.Path||"").trim()+""}).join(""),context.innerHTML=providers,context.value=item.ListingsProviderId,onGuideDataProviderChange.call(instance,{target:context,currentTarget:context})}(instance,context,item,result)})}function populateRatings(allParentalRatings,select,currentValue){for(var rating,html="",ratings=(html+="",[]),currentValueFound=!1,i=0,length=allParentalRatings.length;i"+rating.Name+"";select.innerHTML=html}function reload(instance,itemId,serverId){return _loading.default.show(),Promise.all([function(itemId,serverId){return serverId=_connectionmanager.default.getApiClient(serverId),itemId?serverId.getItem(serverId.getCurrentUserId(),itemId,{Fields:"ChannelMappingInfo",ExcludeFields:"Chapters,MediaSources,MediaStreams,Subviews"}):serverId.getRootFolder(serverId.getCurrentUserId())}(itemId,serverId),function(itemId,serverId){return serverId=_connectionmanager.default.getApiClient(serverId),itemId?serverId.getJSON(serverId.getUrl("Items/"+itemId+"/MetadataEditor")):Promise.resolve({})}(itemId,serverId)]).then(function(responses){var item=responses[0],responses=responses[1],context=instance.context,languages=(instance.currentItem=item,instance.hasChanges=!1,responses.Cultures),countries=responses.Countries,languages=(_externalideditor.default.embed(context.querySelector(".externalIdsSection"),item,responses.ExternalIdInfos),!function(context,item){for(var elems=context.querySelectorAll(".chkLockedField"),i=0,length=elems.length;i";for(var i=0,length=languages.length;i"+culture.DisplayName+""}select.innerHTML=html}(context.querySelector(".selectLanguage"),languages),context.querySelector(".selectCountry")),allCountries=countries,html="";html+="";for(var i=0,length=allCountries.length;i"+culture.DisplayName+""}languages.innerHTML=html;countries=_connectionmanager.default.getApiClient(item);return function(context,item){var itemType=item.Type;switch((item.Path?showElement:hideElement)(".fldPath",context),("Series"===item.Type||"Movie"===item.Type||"Trailer"===item.Type?showElement:hideElement)(".fldOriginalName",context),"Audio"===item.Type?(hideElement(".fldSortName",context),setRequired(context.querySelector(".txtSortName"),!1)):(showElement(".fldSortName",context),setRequired(context.querySelector(".txtSortName"),!0)),("Series"===item.Type?showElement:hideElement)(".fldSeriesRuntime",context),("Series"===item.Type||"Person"===item.Type?showElement:hideElement)(".fldEndDate",context),("MusicAlbum"===item.Type?showElement:hideElement)(".albumAssociationMessage",context),("Movie"===item.Type||"Trailer"===item.Type||"Series"===item.Type?showElement:hideElement)(".fldCriticRating",context),("Series"===item.Type?showElement:hideElement)(".fldStatus",context),("Video"===item.MediaType&&"TvChannel"!==item.Type?showElement:hideElement)(".fld3dFormat",context),("Audio"===item.Type?showElement:hideElement)(".fldAlbumArtist",context),("TvChannel"===item.Type?showElement:hideElement)(".fldChannelNumber",context),("Audio"===item.Type||"MusicVideo"===item.Type?(showElement(".fldArtist",context),showElement):(hideElement(".fldArtist",context),hideElement))(".fldAlbum",context),("Audio"===item.Type?showElement:hideElement)(".fldComposer",context),("Episode"===item.Type&&0===item.ParentIndexNumber?showElement:hideElement)(".collapsibleSpecialEpisodeInfo",context),("Person"===item.Type||"Genre"===item.Type||"Studio"===item.Type||"GameGenre"===item.Type||"MusicGenre"===item.Type||"TvChannel"===item.Type||"Book"===item.Type||"MusicArtist"===item.Type||"Channel"===item.Type||"TvChannel"===item.Type||"Folder"===item.Type?hideElement:showElement)(".peopleCollapsible",context),("Person"===item.Type||"Genre"===item.Type||"Studio"===item.Type||"GameGenre"===item.Type||"MusicGenre"===item.Type||"TvChannel"===item.Type||"Folder"===item.Type?(hideElement(".fldCommunityRating",context),hideElement(".genresCollapsible",context),hideElement(".studiosCollapsible",context),("TvChannel"===item.Type?showElement:hideElement)(".fldOfficialRating",context),hideElement):(showElement(".fldCommunityRating",context),showElement(".genresCollapsible",context),showElement(".studiosCollapsible",context),showElement(".fldOfficialRating",context),showElement))(".fldCustomRating",context),showElement(".tagsCollapsible",context),("TvChannel"===item.Type?(hideElement(".metadataSettingsCollapsible",context),hideElement):(showElement(".metadataSettingsCollapsible",context),showElement))(".fldDateAdded",context),itemType){case"TvChannel":case"Folder":hideElement(".fldPremiereDate",context);break;default:showElement(".fldPremiereDate",context)}switch(itemType){case"Person":case"TvChannel":case"Folder":hideElement(".fldYear",context);break;default:showElement(".fldYear",context)}("TvChannel"===item.Type||"Folder"===item.Type?hideElement:showElement)(".overviewContainer",context),("Person"===item.Type?(context.querySelector(".txtProductionYear").label(_globalize.default.translate("LabelBirthYear")),context.querySelector(".txtPremiereDate").label(_globalize.default.translate("LabelBirthDate")),context.querySelector(".txtEndDate").label(_globalize.default.translate("LabelDeathDate")),showElement):(context.querySelector(".txtProductionYear").label(_globalize.default.translate("Year")),context.querySelector(".txtPremiereDate").label(_globalize.default.translate("LabelReleaseDate")),context.querySelector(".txtEndDate").label(_globalize.default.translate("LabelEndDate")),hideElement))(".fldPlaceOfBirth"),"Audio"===item.Type||"Episode"===item.Type||"Season"===item.Type?(showElement(".fldIndexNumber"),"Episode"===item.Type?context.querySelector(".txtIndexNumber").label(_globalize.default.translate("LabelEpisodeNumber")):"Season"===item.Type?context.querySelector(".txtIndexNumber").label(_globalize.default.translate("LabelSeasonNumber")):"Audio"===item.Type?context.querySelector(".txtIndexNumber").label(_globalize.default.translate("LabelTrackNumber")):context.querySelector(".txtIndexNumber").label(_globalize.default.translate("LabelNumber"))):hideElement(".fldIndexNumber"),"Audio"===item.Type||"Episode"===item.Type?(showElement(".fldParentIndexNumber"),"Episode"===item.Type?context.querySelector(".txtParentIndexNumber").label(_globalize.default.translate("LabelSeasonNumber")):"Audio"===item.Type?context.querySelector(".txtParentIndexNumber").label(_globalize.default.translate("LabelDiscNumber")):context.querySelector(".txtParentIndexNumber").label(_globalize.default.translate("LabelParentNumber"))):hideElement(".fldParentIndexNumber",context),"BoxSet"===item.Type?(showElement(".fldDisplayOrder",context),hideElement(".fldFileOrder",context),context.querySelector(".selectDisplayOrder").innerHTML='",context.querySelector(".selectFileOrder").innerHTML=""):"Series"===item.Type?(hideElement(".fldDisplayOrder",context),showElement(".fldFileOrder",context),context.querySelector(".selectFileOrder").innerHTML='',context.querySelector(".selectDisplayOrder").innerHTML=""):(context.querySelector(".selectDisplayOrder").innerHTML="",context.querySelector(".selectFileOrder").innerHTML="",hideElement(".fldDisplayOrder",context),hideElement(".fldFileOrder",context))}(context,item),"TvChannel"===item.Type&&fillChannelMapping(instance,context,item,countries),("Video"===item.MediaType&&"Episode"!==item.Type&&"TvChannel"!==item.Type||"Series"===item.Type||"Game"===item.Type?showElement:hideElement)(".fldTagline",context),fillItemInfo(context,item,0,responses.ParentalRatingOptions)})}function show(instance,itemId,serverId){return _loading.default.show(),require(["text!modules/metadataeditor/metadataeditor.template.html"]).then(function(responses){var responses=responses[0],dialogOptions={removeOnClose:!0,scrollY:!1},dialogOptions=(_layoutmanager.default.tv?dialogOptions.size="fullscreen":dialogOptions.size="medium-tall",_dialoghelper.default.createDialog(dialogOptions)),html=(dialogOptions.classList.add("formDialog"),"");html+=_globalize.default.translateDocument(responses,"sharedcomponents"),dialogOptions.innerHTML=html;for(var elems=dialogOptions.querySelectorAll(".dayText"),date=new Date;0