reset the app icon on show

This commit is contained in:
Girish Ramakrishnan
2019-06-21 12:40:38 -07:00
parent 712883373a
commit c550416c9d
2 changed files with 21 additions and 17 deletions

View File

@@ -49,10 +49,20 @@ angular.module('Application').controller('AppsController', ['$scope', '$location
ftp: false,
tags: '',
label: '',
icon: { file: null, data: null, url: null },
icon: { data: null },
action: 'location',
iconUrl: function () {
if ($scope.appConfigure.icon.data === '__original__') { // user clicked reset
return $scope.appConfigure.app.iconUrl + '&original=true';
} else if ($scope.appConfigure.icon.data) { // user uploaded icon
return $scope.appConfigure.icon.data;
} else { // current icon
return $scope.appConfigure.app.iconUrl;
}
},
isAccessRestrictionValid: function () {
var tmp = $scope.appConfigure.accessRestriction;
return !!(tmp.users.length || tmp.groups.length);
@@ -131,17 +141,14 @@ angular.module('Application').controller('AppsController', ['$scope', '$location
// translate for tag-input
$scope.appConfigure.tags = app.tags ? app.tags.join(',') : '';
$scope.appConfigure.icon = { data: null };
$('#iconFileInput').get(0).onchange = function (event) {
var fr = new FileReader();
fr.onload = function () {
$scope.$apply(function () {
var tmp = {
file: event.target.files[0],
data: fr.result,
url: null
};
$scope.appConfigure.icon = tmp;
// var file = event.target.files[0];
$scope.appConfigure.icon.data = fr.result;
});
};
fr.readAsDataURL(event.target.files[0]);
@@ -204,12 +211,10 @@ angular.module('Application').controller('AppsController', ['$scope', '$location
data.mailboxName = '';
}
if ($scope.appConfigure.icon) {
if ($scope.appConfigure.icon.data) {
data.icon = $scope.appConfigure.icon.data.replace(/^data:image\/[a-z]+;base64,/, '');
} else { // reset the icon
data.icon = '';
}
if ($scope.appConfigure.icon.data === '__original__') { // user reset the icon
data.icon = '';
} else if ($scope.appConfigure.icon.data) { // user loaded custom icon
data.icon = $scope.appConfigure.icon.data.replace(/^data:image\/[a-z]+;base64,/, '');
}
Client.configureApp($scope.appConfigure.app.id, data, function (error) {
@@ -262,8 +267,7 @@ angular.module('Application').controller('AppsController', ['$scope', '$location
},
resetCustomIcon: function () {
$scope.appConfigure.icon.data = '';
$scope.appConfigure.icon.url = $scope.appConfigure.app.iconUrl + '&original=true';
$scope.appConfigure.icon.data = '__original__';
},
showCustomIconSelector: function () {