1 line
6.6 KiB
JavaScript
1 line
6.6 KiB
JavaScript
|
|
import globalize from"./../../modules/common/globalize.js";import layoutManager from"./../../modules/layoutmanager.js";import loading from"./../../modules/loading/loading.js";import dialogHelper from"./../../modules/dialoghelper/dialoghelper.js";import libraryoptionseditor from"./../libraryoptionseditor/libraryoptionseditor.js";import listView from"./../../modules/listview/listview.js";import"./../../modules/emby-elements/emby-scroller/emby-scroller.js";import"./../../modules/emby-elements/emby-button/emby-button.js";import"./../../modules/emby-elements/emby-button/paper-icon-button-light.js";import"./../../modules/emby-elements/emby-input/emby-input.js";import"./../../modules/emby-elements/emby-select/emby-select.js";import"./../../modules/emby-elements/emby-checkbox/emby-checkbox.js";import"./../../modules/emby-elements/emby-toggle/emby-toggle.js";import"./../../modules/emby-elements/emby-dialogclosebutton/emby-dialogclosebutton.js";import"./../../modules/emby-elements/emby-itemscontainer/emby-itemscontainer.js";require(["flexStyles","formDialogStyle"]);let currentResolve,hasChanges,currentOptions,pathInfos=[];function showAlert(options){return Emby.importModule("./modules/common/dialogs/alert.js").then(function(alert){return alert(options)})}function onSubmit(e){if(e.preventDefault(),e.stopPropagation(),0===pathInfos.length)showAlert({text:globalize.translate("PleaseAddAtLeastOneFolder"),type:"error"});else{let form=this,dlg=form.closest(".dialog");form.querySelector(".button-submit").setAttribute("disabled","disabled");e=form.querySelector(".txtValue").value;let type=form.querySelector(".selectCollectionType").value;"mixed"===type&&(type=null);var libraryOptions=libraryoptionseditor.getLibraryOptions(dlg.querySelector(".libraryOptions"));libraryOptions.PathInfos=pathInfos,libraryOptions.ContentType=type,ApiClient.addVirtualFolder(e,type,currentOptions.refresh,libraryOptions).then(function(){hasChanges=!0,dialogHelper.close(dlg)},function(){form.querySelector(".button-submit").removeAttribute("disabled"),showAlert(globalize.translate("ErrorAddingMediaPathToVirtualFolder"))})}return!1}function getCollectionTypeOptionsHtml(collectionTypeOptions){return collectionTypeOptions.filter(function(i){return!1!==i.isSelectable}).map(function(i){return'<option value="'+i.value+'">'+i.name+"</option>"}).join("")}function initEditor(page,collectionTypeOptions){var selectCollectionType=page.querySelector(".selectCollectionType");selectCollectionType.innerHTML=getCollectionTypeOptionsHtml(collectionTypeOptions),selectCollectionType.value="",selectCollectionType.addEventListener("change",function(){let value=this.value;var dlg=this.closest(".dialog"),index=(libraryoptionseditor.setContentType(dlg.querySelector(".libraryOptions"),"mixed"===value?"":value),value?dlg.querySelector(".libraryOptions").classList.remove("hide"):dlg.querySelector(".libraryOptions").classList.add("hide"),this.selectedIndex);-1!==index&&(index=this.options[index].innerHTML.replace("*","").replace("&","&"),dlg.querySelector(".txtValue").value=index,index=collectionTypeOptions.filter(function(i){return i.value===value})[0],dlg.querySelector(".collectionTypeFieldDescription").innerHTML=index.message||"")}),page.querySelector(".btnAddFolder").addEventListener("click",onAddButtonClick),page.querySelector("form").addEventListener("submit",onSubmit),page.querySelector(".chkAdvanced").addEventListener("change",onToggleAdvancedChange)}function onToggleAdvancedChange(){var dlg=this.closest(".dlg-librarycreator");libraryoptionseditor.setAdvancedVisible(dlg.querySelector(".libraryOptions"),this.checked)}function onAddButtonClick(){let dlg=this.closest(".dlg-librarycreator");Emby.importModule("./modules/directorybrowser/directorybrowser.js").then(function(directoryBrowser){let picker=new directoryBrowser;picker.show({enableNetworkSharePath:!0,enableLoginCredentials:!0,callback:function(path,networkSharePath,username,password){path&&addMediaLocation(dlg,path,networkSharePath,username,password),picker.close()}})})}function renderPaths(page){let folderList=page.querySelec
|