define(["exports","./../emby-apiclient/connectionmanager.js","./../common/globalize.js","./../layoutmanager.js","./../focusmanager.js","./../loading/loading.js","./../emby-elements/emby-scroller/emby-scroller.js","./../emby-elements/emby-input/emby-input.js","./../listview/listview.js","./../emby-elements/emby-button/paper-icon-button-light.js","./../emby-elements/emby-button/emby-button.js","./../emby-elements/emby-dialogclosebutton/emby-dialogclosebutton.js","./../dialoghelper/dialoghelper.js","./../dom.js","./../common/responsehelper.js"],function(_exports,_connectionmanager,_globalize,_layoutmanager,_focusmanager,_loading,_embyScroller,_embyInput,_listview,_paperIconButtonLight,_embyButton,_embyDialogclosebutton,_dialoghelper,_dom,_responsehelper){function initEditor(instance,content,options,apiClient){var btnRefreshDirectories=content.querySelector(".btnRefreshDirectories");function onPathTextChange(e){var value=this.value,value=value&&(value.startsWith("\\\\")||value.toLowerCase().startsWith("smb://")),fldUsername=content.querySelector(".fldUsername"),fldPassword=content.querySelector(".fldPassword");value?(fldUsername&&fldUsername.classList.remove("hide"),fldPassword&&fldPassword.classList.remove("hide")):(fldUsername&&fldUsername.classList.add("hide"),fldPassword&&fldPassword.classList.add("hide"))}btnRefreshDirectories&&btnRefreshDirectories.addEventListener("click",function(e){var _content$querySelecto;instance.path=content.querySelector(".txtDirectoryPickerPath").value,instance.username=null==(_content$querySelecto=content.querySelector(".txtUsername"))?void 0:_content$querySelecto.value,instance.password=null==(_content$querySelecto=content.querySelector(".txtPassword"))?void 0:_content$querySelecto.value,instance.itemsContainer.resume({refresh:!0}).catch(_responsehelper.default.handleErrorResponse)}),content.querySelector(".txtDirectoryPickerPath").addEventListener("change",onPathTextChange),content.querySelector(".txtDirectoryPickerPath").addEventListener("input",onPathTextChange),content.querySelector("form").addEventListener("submit",function(e){var _this$querySelector,path,username,password,networkSharePath;return options.callback&&(path=this.querySelector(".txtDirectoryPickerPath").value,username=(null==(_this$querySelector=this.querySelector(".txtUsername"))?void 0:_this$querySelector.value)||null,password=(null==(_this$querySelector=this.querySelector(".txtPassword"))?void 0:_this$querySelector.value)||null,networkSharePath=(null==(_this$querySelector=this.querySelector(".txtNetworkPath"))?void 0:_this$querySelector.value)||null,function(path,validateWriteable,username,password,apiClient){return apiClient.ajax({type:"POST",url:apiClient.getUrl("Environment/ValidatePath"),data:{ValidateWriteable:validateWriteable,Path:path,Username:username,Password:password}}).catch(_responsehelper.default.handleErrorResponse)}(path,options.validateWriteable,username,password,apiClient).then(function(){options.callback(path,networkSharePath,username,password)})),e.preventDefault(),e.stopPropagation(),!1})}function getListOptions(items){return{renderer:_listview.default,options:{enableDefaultIcon:!0,action:"custom",fields:["Name"],draggable:!1,draggableXActions:!1,multiSelect:!1,contextMenu:!1,hoverPlayButton:!1,enableUserDataButtons:!1,mediaInfo:!1,defaultBackground:!1,enableFocusScaling:!1,allowBorderXOffset:!1,playQueueIndicator:!1},virtualScrollLayout:"vertical-list"}}function onItemsContainerUpgraded(){this.itemsContainer.resume({refresh:!0}).then(function(){var context=this.dlg;_focusmanager.default.autoFocus(context,{skipIfNotEnabled:!0})}.bind(this))}function DirectoryBrowser(){}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,require(["formDialogStyle"]),DirectoryBrowser.prototype.show=function(options){var fileOptions={includeDirectories:!0},apiClient=(null!=(options=options||{}).includeDirectories&&(fileOptions.includeDirectories=options.includeDirectories),null!=options.includeFiles&&(fileOptions.includeFiles=options.includeFiles),_connectionmanager.default.currentApiClient()),instance=this;return instance.fileOptions=fileOptions,instance.apiClient=apiClient,instance.options=options,Promise.all([apiClient.getSystemInfo(),function(options,apiClient){return options.path?Promise.resolve(options.path):apiClient.getJSON(apiClient.getUrl("Environment/DefaultDirectoryBrowser")).then(function(result){return result.Path||""},function(){return""})}(options,apiClient)]).then(function(responses){var systemInfo=responses[0],responses=responses[1],dlg=_dialoghelper.default.createDialog({size:_layoutmanager.default.tv?"fullscreen":"medium-tall",removeOnClose:!0,scrollY:!1}),html=((instance.dlg=dlg).classList.add("ui-body-a"),dlg.classList.add("background-theme-a"),dlg.classList.add("directoryPicker"),dlg.classList.add("formDialog"),""),systemInfo=(html=(html=(html=(html=(html+='
')+''+'

')+(options.header||_globalize.default.translate("HeaderSelectPath")))+"

"+"
")+function(options,apiClient,systemInfo){var html="",labelKey=(html=html+'
'+'
',options.pathReadOnly||(html=(html=(html+='
')+'
'+(options.instruction?options.instruction+"

":""))+_globalize.default.translate("MessageDirectoryPickerInstruction").replace("{0}","\\\\server").replace("{1}","\\\\192.168.1.101"),"synology"===(systemInfo.PackageName||"").toLowerCase()?html=(html+="

")+''+_globalize.default.translate("LearnHowToCreateSynologyShares")+"":"bsd"===systemInfo.OperatingSystem.toLowerCase()?html=(html=(html+="

")+_globalize.default.translate("MessageDirectoryPickerBSDInstruction")+"
")+''+_globalize.default.translate("LearnMore")+"":"linux"===systemInfo.OperatingSystem.toLowerCase()&&(html=(html+="

")+_globalize.default.translate("MessageDirectoryPickerLinuxInstruction")+"
"),html+="
"),!0!==options.includeFiles?"Folder":"LabelPath"),readOnlyAttribute=options.pathReadOnly?" readonly":"";return html=(html=(html+='
')+'
'+'
')+('')+"
",readOnlyAttribute||(html+=''),html+="
",options.enableLoginCredentials&&"windows"!==systemInfo.OperatingSystem.toLowerCase()&&apiClient.isMinServerVersion("4.8.0.40")&&(html=(html=(html=(html=(html+='
')+'
')+_globalize.default.translate("UsernameForFolderHelp")+'
')+'
')+_globalize.default.translate("PasswordForFolderHelp")+"
"),readOnlyAttribute||(html+='
'),options.enableNetworkSharePath&&(html=(html=(html+='
')+'
')+_globalize.default.translate("LabelOptionalNetworkPathHelp")+"
"),html=(html=(html=(html+='
')+('")+"
")+"
"+"
")+"
"+""}(options,apiClient,systemInfo),dlg.innerHTML=html,initEditor(instance,dlg,options,apiClient),dlg.addEventListener("close",function(){_loading.default.hide(),this.destroy()}.bind(instance)),dlg.querySelector(".itemsContainer")),html=(systemInfo&&(systemInfo.addEventListener("action-null",function(e){var path=(e=e.detail.item).Path;"File"===e.FileType?(this.dlg.querySelector(".txtDirectoryPickerPath").value=path,this.dlg.querySelector(".txtDirectoryPickerPath").dispatchEvent(new CustomEvent("change",{bubbles:!0}))):(this.path=path,this.username=null==(e=this.dlg.querySelector(".txtUsername"))?void 0:e.value,this.password=null==(path=this.dlg.querySelector(".txtPassword"))?void 0:path.value,this.itemsContainer.resume({refresh:!0}))}.bind(instance)),systemInfo.fetchData=function(query){var instance,apiClient,promises,fileOptions,path=this.path;return path&&"string"!=typeof path||(instance=this).options.pathReadOnly?Promise.resolve({Items:[],TotalRecordCount:0}):(apiClient=this.apiClient,fileOptions=this.fileOptions,promises=[],"Network"===path?promises.push(apiClient.getNetworkDevices()):path?((fileOptions=Object.assign({},fileOptions)).username=this.username,fileOptions.password=this.password,promises.push(apiClient.getDirectoryContents(path,fileOptions)),promises.push(apiClient.getParentPath(path))):promises.push(apiClient.getDrives()),Promise.all(promises).then(function(responses){var folders=responses[0],responses=responses[1]||"",items=(instance.dlg.querySelector(".txtDirectoryPickerPath").value=path||"",[]);path&&items.push({Path:responses,Name:".. ["+_globalize.default.translate("Back")+"]",Icon:"arrow_back"}),items=items.concat(folders.map(function(f){return{Path:f.Path,Name:f.Name,FileType:f.Type,Icon:"File"===f.Type?"description":"folder"}})),path||items.push({Path:"Network",Name:_globalize.default.translate("Network"),Icon:"wifi"});for(var i=0,length=items.length;i