1 line
5.6 KiB
JavaScript
1 line
5.6 KiB
JavaScript
|
|
import ListPage from"./../list/list.js";import globalize from"./../modules/common/globalize.js";import{appHost,appLogger}from"./../modules/common/servicelocator.js";import"./../modules/emby-elements/emby-scroller/emby-scroller.js";import"./../modules/emby-elements/emby-button/emby-button.js";import"./../modules/emby-elements/emby-toggle/emby-toggle.js";import textEncoding from"./../modules/common/textencoding.js";import commandProcessor from"./../modules/commandprocessor.js";import itemManager from"./../modules/common/itemmanager/itemmanager.js";function onDownloadClick(){commandProcessor.executeCommand("download",[this.getParentItem()],{Sanitize:this.view.querySelector(".chkSanitize")?.checked})}function onShareClick(){commandProcessor.executeCommand("share",[this.getParentItem()],{Sanitize:this.view.querySelector(".chkSanitize")?.checked})}function onSanitizeChange(){this.setNewWindowHref(),this.itemsContainer.refreshItems()}function LogPage(view,params){this.supportsViewSettings=!1,this.enableTotalRecordCountDisplay=!1,this.enableAlphaNumericShortcuts=!1;let html="";html=(html=(html+="<div>")+'<h2 style="margin-top:0;">'+textEncoding.htmlEncode(params.name)+"</h2>")+'<div class="readOnlyContent"><div class="buttonItems focuscontainer-x" style="margin-bottom:1.5em;">',params.logType=params.serverId?"server":"app","server"===params.logType&&(html=(html=(html+='<div class="buttonItems-item toggleContainer fldSanitize" style="margin-top:0;margin-bottom:0;margin-inline-end:1em;"><label style="width:auto;">')+'<input type="checkbox" is="emby-toggle" class="chkSanitize" label="'+globalize.translate("AnonymizeLogContents")+'" checked />')+"</label></div>"),html=(html+='<button is="emby-button" type="button" class="buttonItems-item raised raised-mini btnDownload hide"><i class="md-icon button-icon button-icon-left"></i>'+globalize.translate("Download")+"</button>")+'<button is="emby-button" type="button" class="buttonItems-item raised raised-mini btnShare hide"><i class="md-icon button-icon button-icon-left">share</i>'+globalize.translate("Share")+"</button>","server"===params.logType&&appHost.supports("targetblank")&&(html+='<a is="emby-linkbutton" href="#" target="_blank" class="buttonItems-item raised raised-mini btnOpen"><i class="md-icon button-icon button-icon-left autortl"></i>'+globalize.translate("HeaderOpenInNewWindow")+"</a>"),html=(html+="</div>")+"</div></div>",view.querySelector(".itemsViewSettingsContainer").insertAdjacentHTML("beforebegin",html);var btnDownload=view.querySelector(".btnDownload"),btnDownload=(btnDownload&&btnDownload.addEventListener("click",onDownloadClick.bind(this)),view.querySelector(".btnShare"));btnDownload&&btnDownload.addEventListener("click",onShareClick.bind(this)),view.querySelector(".chkSanitize")?.addEventListener("change",onSanitizeChange.bind(this)),view.classList.add("logView"),ListPage.call(this,view,params),this.scroller.classList.add("logViewScroller"),this.setNewWindowHref()}require(["flexStyles","css!logs/log.css"]),Object.assign(LogPage.prototype,ListPage.prototype),LogPage.prototype.fetchItem=function(){let defaultItem={Name:this.params.name,Type:"Log",ServerId:this.params.serverId},logsPromise;return(logsPromise=this.params.serverId?this.getApiClient().getLogs({}):appLogger.getLogFiles({})).then(function(result){var items=result.Items;for(let i=0,length=items.length;i<length;i++)if(items[i].Name===defaultItem.Name)return items[i];return defaultItem})},LogPage.prototype.onItemRefreshed=function(item){return itemManager.canDownload(item)?this.view.querySelector(".btnDownload").classList.remove("hide"):this.view.querySelector(".btnDownload").classList.add("hide"),item.CanShare?this.view.querySelector(".btnShare").classList.remove("hide"):this.view.querySelector(".btnShare").classList.add("hide"),ListPage.prototype.onItemRefreshed.apply(this,arguments)},LogPage.prototype.getBaseQuery=function(item){var query=ListPage.prototype.getBaseQuery.apply(this,arguments),chkSanitize=(query.name=this.params.name,this.view.querySelector(".chkSanitize"));return chkSanitiz
|