import BaseView from"./../viewmanager/basesettingsview.js";import globalize from"./../common/globalize.js";import"./../emby-elements/emby-button/emby-button.js";import"./../emby-elements/emby-button/paper-icon-button-light.js";import"./../emby-elements/emby-scroller/emby-scroller.js";import appSettings from"./../common/appsettings.js";import layoutManager from"./../layoutmanager.js";import pluginManager from"./../common/pluginmanager.js";import appRouter from"./../approuter.js";import"./../listview/listview.js";function showActionSheet(options){return Emby.importModule("./modules/actionsheet/actionsheet.js").then(function(ActionSheet){return ActionSheet.show(options)})}function getPlayerHtml(player){let html="",icon="live_tv";"Game"===player.mediaType?icon="games":"Audio"===player.mediaType&&(icon="audiotrack");var tagName=layoutManager.tv?"button":"div";return html=(html+="<"+tagName+' class="playerItem '+(layoutManager.tv?"listItem btnOptions playerItem":"listItem playerItem")+'" data-id="'+(player.id||"")+'">')+(''+icon+"")+'
',player.mediaType&&(html=(html+="
")+globalize.translate(player.mediaType)+"
"),player.path&&(html=(html+='
')+player.path+"
"),html+="
",layoutManager.tv||(html+=''),html+=""}function loadPlayers(view){var html=getPlayers().map(getPlayerHtml).join("");view.querySelector(".players").innerHTML=html}function getPlayers(){return JSON.parse(appSettings.get("externalplayers")||"[]")}function View(view,params){BaseView.apply(this,arguments);let instance=this;function editPlayer(id){let url=pluginManager.mapRoute("externalplayer","externalplayer.html");id&&(url+="?id="+id),appRouter.show(url)}view.querySelector(".btnAdd").addEventListener("click",function(){editPlayer()}),view.querySelector(".players").addEventListener("click",function(e){var playerItem=e.target.closest(".playerItem");playerItem&&(e=e.target.closest(".btnOptions"),layoutManager.tv||e)&&(playerId=>{var player=getPlayers().filter(function(p){return p.id===playerId})[0];player&&((player=[]).push({name:globalize.translate("Edit"),id:"edit"}),player.push({name:globalize.translate("Delete"),id:"delete"}),showActionSheet({items:player,title:globalize.translate("ExternalPlayer")}).then(function(id){switch(id){case"edit":editPlayer(playerId);break;case"delete":(id=>{var players=getPlayers().filter(function(p){return p.id!==id});appSettings.set("externalplayers",JSON.stringify(players)),instance.loadSettings({autoFocus:!0})})(playerId)}}))})(playerItem.getAttribute("data-id"))})}require(["material-icons"]),Object.assign(View.prototype,BaseView.prototype),View.prototype.loadSettingsInternal=function(){return loadPlayers(this.view),Promise.resolve()};export default View;