1 line
5.7 KiB
JavaScript
1 line
5.7 KiB
JavaScript
|
|
import BaseView from"./../modules/viewmanager/baseview.js";import loading from"./../modules/loading/loading.js";import globalize from"./../modules/common/globalize.js";import"./../modules/emby-elements/emby-input/emby-input.js";import"./../modules/emby-elements/emby-button/emby-button.js";import"./../modules/emby-elements/emby-checkbox/emby-checkbox.js";import"./../modules/emby-elements/emby-select/emby-select.js";import"./../modules/emby-elements/emby-scroller/emby-scroller.js";import connectionManager from"./../modules/emby-apiclient/connectionmanager.js";import{appHost}from"./../modules/common/servicelocator.js";import appRouter from"./../modules/approuter.js";import UserPasswordController from"./userpasswordcontroller.js";import textEncoding from"./../modules/common/textencoding.js";function showAlert(options){return Emby.importModule("./modules/common/dialogs/alert.js").then(function(alert){return alert(options)})}function showConfirm(options){return Emby.importModule("./modules/common/dialogs/confirm.js").then(function(confirm){return confirm(options)})}require(["css!settings/profile.css"]);let currentFile;function reloadUser(page,apiClient,userId){loading.show(),apiClient.getUser(userId).then(function(user){page.querySelector(".username").innerHTML=user.Name;var imageUrl,uploadUserImage=page.querySelector(".uploadUserImage"),uploadUserImage=(uploadUserImage.value="",uploadUserImage.dispatchEvent(new CustomEvent("change",{bubbles:!0})),appRouter.setTitle(user.Name),page.querySelector(".fldImage"));user.PrimaryImageTag?(imageUrl=apiClient.getUserImageUrl(user.Id,{height:200,tag:user.PrimaryImageTag,type:"Primary"}),uploadUserImage.innerHTML='<img style="border-radius:.3em;width:7em;margin-right:1em;" src="'+imageUrl+'" />'):uploadUserImage.innerHTML='<i class="md-icon" style="font-size:6em;margin:0 .25em;">person</i>',uploadUserImage.classList.remove("hide");apiClient.getCurrentUser().then(function(loggedInUser){appHost.supports("fileinput")&&(loggedInUser.Policy.IsAdministrator||user.Policy.EnableUserPreferenceAccess)?(page.querySelector(".newImageForm").classList.remove("hide"),user.PrimaryImageTag?page.querySelector(".btnDeleteImage").classList.remove("hide"):page.querySelector(".btnDeleteImage").classList.add("hide")):(page.querySelector(".newImageForm").classList.add("hide"),page.querySelector(".btnDeleteImage").classList.add("hide"))}),loading.hide()})}function displayFileError(text){showAlert(globalize.translate(text))}function onFileReaderError(evt){switch(loading.hide(),evt.target.error.code){case evt.target.error.NOT_FOUND_ERR:displayFileError("FileNotFound");break;case evt.target.error.NOT_READABLE_ERR:displayFileError("FileReadError");break;case evt.target.error.ABORT_ERR:break;default:displayFileError("FileReadError")}}function onFileReaderAbort(evt){loading.hide(),displayFileError("FileReadCancelled")}function setFiles(page,files){let file=(files=filterFilesForSupportedTypes(files))[0];file&&file.type.match("image.*")?(currentFile=file,(files=new FileReader).onerror=onFileReaderError,files.onloadstart=function(){page.querySelector(".fldUpload").classList.add("hide")},files.onabort=onFileReaderAbort,files.onload=function(e){e=['<img style="max-width:100%;max-height:100%;" src="',e.target.result,'" title="',textEncoding.htmlEncode(file.name||""),'"/>'].join("");page.querySelector(".userImageOutput").innerHTML=e,page.querySelector(".fldUpload").classList.remove("hide")},files.readAsDataURL(file)):(page.querySelector(".userImageOutput").innerHTML="",page.querySelector(".fldUpload").classList.add("hide"),currentFile=null)}function onImageDragOver(e){return e.preventDefault(),!(e.originalEvent.dataTransfer.dropEffect="Copy")}function filterFilesForSupportedTypes(files){var list=[];for(let i=0,length=files.length;i<length;i++)validateImage(files[i],!1)&&list.push(files[i]);return list}let supportedImageTypes=["image/png","image/jpeg"];function validateImage(file){return!!supportedImageTypes.includes(file.type)}function View(view,params){BaseView.apply(this,arguments);let apiClient=connectionManager.getApiCli
|