diff --git a/src/controllers/myprofile.js b/src/controllers/myprofile.js
index be8f1b446e..9e08ee0099 100644
--- a/src/controllers/myprofile.js
+++ b/src/controllers/myprofile.js
@@ -1,4 +1,4 @@
-define(["controllers/userpasswordpage", "loading", "libraryMenu", "apphost", "emby-button"], function (Userpasswordpage, loading, libraryMenu, appHost) {
+define(["controllers/userpasswordpage", "loading", "libraryMenu", "apphost", "emby-button"], function (UserPasswordPage, loading, libraryMenu, appHost) {
"use strict";
function reloadUser(page) {
@@ -6,10 +6,8 @@ define(["controllers/userpasswordpage", "loading", "libraryMenu", "apphost", "em
loading.show();
ApiClient.getUser(userId).then(function (user) {
page.querySelector(".username").innerHTML = user.Name;
- var uploadUserImage = page.querySelector("#uploadUserImage");
- uploadUserImage.value = "";
- uploadUserImage.dispatchEvent(new CustomEvent("change", {}));
libraryMenu.setTitle(user.Name);
+
var imageUrl = "img/logindefault.png";
if (user.PrimaryImageTag) {
imageUrl = ApiClient.getUserImageUrl(user.Id, {
@@ -18,21 +16,17 @@ define(["controllers/userpasswordpage", "loading", "libraryMenu", "apphost", "em
type: "Primary"
});
}
- var fldImage = page.querySelector("#fldImage");
- fldImage.classList.remove("hide");
- fldImage.innerHTML = "";
- Dashboard.getCurrentUser().then(function (loggedInUser) {
- if (appHost.supports("fileinput") && (loggedInUser.Policy.IsAdministrator || user.Policy.EnableUserPreferenceAccess)) {
- page.querySelector(".newImageForm").classList.remove("hide");
- if (user.PrimaryImageTag) {
- page.querySelector("#btnDeleteImage").classList.remove("hide");
- } else {
- page.querySelector("#btnDeleteImage").classList.add("hide");
- }
- } else {
- page.querySelector(".newImageForm").classList.add("hide");
+ var userImage = page.querySelector("#image");
+ userImage.src = imageUrl;
+
+ Dashboard.getCurrentUser().then(function (loggedInUser) {
+ if (user.PrimaryImageTag) {
+ page.querySelector("#btnAddImage").classList.add("hide");
+ page.querySelector("#btnDeleteImage").classList.remove("hide");
+ } else if (appHost.supports("fileinput") && (loggedInUser.Policy.IsAdministrator || user.Policy.EnableUserPreferenceAccess)) {
page.querySelector("#btnDeleteImage").classList.add("hide");
+ page.querySelector("#btnAddImage").classList.remove("hide");
}
});
loading.hide();
@@ -47,13 +41,10 @@ define(["controllers/userpasswordpage", "loading", "libraryMenu", "apphost", "em
toast(Globalize.translate("FileNotFound"));
});
break;
- case evt.target.error.NOT_READABLE_ERR:
- require(["toast"], function (toast) {
- toast(Globalize.translate("FileReadError"));
- });
- break;
case evt.target.error.ABORT_ERR:
+ onFileReaderAbort();
break;
+ case evt.target.error.NOT_READABLE_ERR:
default:
require(["toast"], function (toast) {
toast(Globalize.translate("FileReadError"));
@@ -63,51 +54,37 @@ define(["controllers/userpasswordpage", "loading", "libraryMenu", "apphost", "em
function onFileReaderAbort(evt) {
loading.hide();
-
require(["toast"], function (toast) {
toast(Globalize.translate("FileReadCancelled"));
});
}
function setFiles(page, files) {
+ var userImage = page.querySelector("#image");
var file = files[0];
if (!file || !file.type.match("image.*")) {
- page.querySelector("#userImageOutput").innerHTML = "";
- page.querySelector("#fldUpload").classList.add("hide");
- return void (currentFile = null);
+ return false;
}
- currentFile = file;
var reader = new FileReader();
reader.onerror = onFileReaderError;
-
- reader.onloadstart = function () {
- page.querySelector("#fldUpload").classList.add("hide");
- };
-
reader.onabort = onFileReaderAbort;
-
reader.onload = function (evt) {
- var html = ['
'].join("");
- page.querySelector("#userImageOutput").innerHTML = html;
- page.querySelector("#fldUpload").classList.remove("hide");
+ userImage.src = evt.target.result;
+ var userId = getParameterByName("userId");
+ ApiClient.uploadUserImage(userId, "Primary", file).then(function () {
+ loading.hide();
+ reloadUser(page);
+ });
};
reader.readAsDataURL(file);
}
- function onImageDragOver(evt) {
- evt.preventDefault();
- evt.originalEvent.dataTransfer.dropEffect = "Copy";
- return false;
- }
-
- var currentFile;
return function (view, params) {
reloadUser(view);
- new Userpasswordpage(view, params);
- view.querySelector("#userImageDropZone").addEventListener("dragOver", onImageDragOver);
+ new UserPasswordPage(view, params);
view.querySelector("#btnDeleteImage").addEventListener("click", function () {
require(["confirm"], function (confirm) {
confirm(Globalize.translate("DeleteImageConfirmation"), Globalize.translate("DeleteImage")).then(function () {
@@ -120,25 +97,10 @@ define(["controllers/userpasswordpage", "loading", "libraryMenu", "apphost", "em
});
});
});
- view.querySelector(".btnBrowse").addEventListener("click", function () {
- view.querySelector("#uploadUserImage").click();
+ view.querySelector("#btnAddImage").addEventListener("click", function (evt) {
+ view.querySelector("#uploadImage").click();
});
- view.querySelector(".newImageForm").addEventListener("submit", function (evt) {
- var file = currentFile;
- if (!file || "image/png" != file.type && "image/jpeg" != file.type && "image/jpeg" != file.type) {
- return false;
- }
-
- loading.show();
- var userId = getParameterByName("userId");
- ApiClient.uploadUserImage(userId, "Primary", file).then(function () {
- loading.hide();
- reloadUser(view);
- });
- evt.preventDefault();
- return false;
- });
- view.querySelector("#uploadUserImage").addEventListener("change", function (evt) {
+ view.querySelector("#uploadImage").addEventListener("change", function (evt) {
setFiles(view, evt.target.files);
});
};
diff --git a/src/css/site.css b/src/css/site.css
index 87ce6841ae..631e011eee 100644
--- a/src/css/site.css
+++ b/src/css/site.css
@@ -80,29 +80,6 @@ div[data-role=page] {
}
}
-.imageDropZone {
- border: .2em dashed currentcolor;
- -webkit-border-radius: .25em;
- border-radius: .25em;
- text-align: center;
- position: relative;
- height: 12em;
- display: -webkit-box;
- display: -webkit-flex;
- display: flex;
- -webkit-box-align: center;
- -webkit-align-items: center;
- align-items: center;
- -webkit-box-pack: center;
- -webkit-justify-content: center;
- justify-content: center
-}
-
-.squareImageDropZone {
- height: 12em;
- width: 12em
-}
-
.headerHelpButton {
margin-left: 1.25em !important;
padding-bottom: .4em !important;
diff --git a/src/myprofile.html b/src/myprofile.html
index 7bfcb5bfd5..96ec06b4f7 100644
--- a/src/myprofile.html
+++ b/src/myprofile.html
@@ -1,46 +1,22 @@