1 line
No EOL
3.3 KiB
JavaScript
1 line
No EOL
3.3 KiB
JavaScript
import loading from"./../modules/loading/loading.js";import LibraryTree from"./librarytree.js";import MetadataEditor from"./../modules/metadataeditor/metadataeditor.js";import BaseView from"./../modules/viewmanager/baseview.js";import"./../modules/emby-elements/emby-scroller/emby-scroller.js";import globalize from"./../modules/common/globalize.js";import ListPage from"./../list/list.js";require(["css!metadatamanager/metadatamanager.css"]);let idPrefix="category_";function loadList(instance,item){require(["text!list/list.html"]).then(function(responses){var responses=responses[0],responses=(instance.contentElement.classList.remove("padded-top-page"),instance.contentElement.innerHTML=globalize.translateDocument(responses),instance.contentElement.querySelector(".view")),params=(responses.classList.remove("view"),responses.classList.add("flex-grow","editorListView"),{setTitle:!1,defaultView:"datagrid"});switch(item.Id){case idPrefix+"videos":params.mediaTypes="Video";break;case idPrefix+"games":params.mediaTypes="Game";break;case idPrefix+"books":params.mediaTypes="Book";break;case idPrefix+"photos":params.mediaTypes="Photo";break;case idPrefix+"audio":params.mediaTypes="Audio";break;case idPrefix+"missingepisodes":params.type="missingepisodes"}instance.editor=new ListPage(responses,params),instance.editor.onResume({refresh:!0})})}function refresh(instance,item){loading.show(),instance.destroyCurrentContent(),item?item.Id.startsWith(idPrefix)?loadList(instance,item):(instance.contentElement.classList.add("padded-top-page"),instance.currentMetadataEditor&&(instance.currentMetadataEditor.destroy(),instance.currentMetadataEditor=null),instance.currentMetadataEditor=new MetadataEditor,instance.currentMetadataEditor.embed(instance.contentElement,item.Id,item.ServerId)):(instance.contentElement.innerHTML="",loading.hide())}function MetadataManagerView(view,params){BaseView.apply(this,arguments);var libraryTreeElem=view.querySelector(".libraryTree");this.libraryTree=new LibraryTree({view:libraryTreeElem,apiClient:this.getApiClient()});let instance=this;this.contentElement=view.querySelector(".editPageInnerContent"),libraryTreeElem.addEventListener("itemchange",function(event){event=event.detail.item;refresh(instance,event)})}Object.assign(MetadataManagerView.prototype,BaseView.prototype),MetadataManagerView.prototype.onResume=function(options){BaseView.prototype.onResume.apply(this,arguments),options.refresh&&(refresh(this,this.libraryTree.getCurrentItem()),this.libraryTree.resume(options)),this.editor?.onResume&&this.editor.onResume(options),this.currentMetadataEditor?.resume(options)},MetadataManagerView.prototype.onPause=function(){BaseView.prototype.onResume.apply(this,arguments),this.editor?.onPause&&this.editor.onPause(),this.currentMetadataEditor?.pause()},MetadataManagerView.prototype.destroyCurrentContent=function(){var editor=this.editor;editor&&(editor.onPause&&editor.onPause(),editor.destroy&&editor.destroy(),this.editor=null)},MetadataManagerView.prototype.destroy=function(){BaseView.prototype.destroy.apply(this,arguments),this.destroyCurrentContent(),this.currentMetadataEditor&&(this.currentMetadataEditor.destroy(),this.currentMetadataEditor=null),this.libraryTree&&(this.libraryTree.destroy(),this.libraryTree=null),this.contentElement=null};export default MetadataManagerView; |