Skip to content

Commit 336fa3c

Browse files
committed
VCST-2698: variant 3 after review
1 parent a58bd6f commit 336fa3c

File tree

6 files changed

+31
-22
lines changed

6 files changed

+31
-22
lines changed

src/VirtoCommerce.Platform.Web/wwwroot/js/app/navigation/blade/bladeContainer.tpl.html

+3-3
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,13 @@
4242
</div>
4343

4444
<div class="blade-header">
45-
<i ng-if="!blade.currentEntity.iconUrl" ng-class="blade.headIcon ? blade.headIcon : 'fa fa-folder'" class="blade-header__icon"></i>
45+
<i ng-if="!blade.currentEntity.iconUrl && !blade.iconUrl" ng-class="blade.headIcon ? blade.headIcon : 'fa fa-folder'" class="blade-header__icon"></i>
4646

47-
<img ng-if="blade.currentEntity.iconUrl" ng-src="{{ blade.currentEntity.iconUrl }}" fallback-src="{{ blade.fallbackIconUrl }}" class="blade-header__img" />
47+
<img ng-if="blade.currentEntity.iconUrl || blade.iconUrl" ng-src="{{ blade.iconUrl || blade.currentEntity.iconUrl }}" fallback-src="{{ blade.fallbackIconUrl }}" class="blade-header__img" />
4848

4949
<div class="blade-header__title">{{ blade.title | translate: blade.titleValues }}</div>
5050

51-
<span ng-if="pageSettings.totalItems" class="vc-badge">{{ pageSettings.totalItems | number: 0 }}</ span>
51+
<span ng-if="pageSettings.totalItems" class="vc-badge">{{ pageSettings.totalItems | number: 0 }}</span>
5252
</div>
5353

5454
<div class="blade-toolbar">

src/VirtoCommerce.Platform.Web/wwwroot/js/app/security/login/headerUserProfileWidget.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
angular.module('platformWebApp')
2-
.directive('vaHeaderUserProfileWidget', ['$document', '$state', 'platformWebApp.authService', 'platformWebApp.dialogService', 'platformWebApp.login',
3-
function ($document, $state, authService, dialogService, loginResources) {
2+
.directive('vaHeaderUserProfileWidget', ['$document', '$state', 'platformWebApp.authService', 'platformWebApp.dialogService', 'platformWebApp.login', 'platformWebApp.userProfileIconService',
3+
function ($document, $state, authService, dialogService, loginResources, userProfileIconService) {
44

55
return {
66
restrict: 'E',
@@ -28,7 +28,7 @@ angular.module('platformWebApp')
2828
scope.userType = '';
2929
scope.isAdministrator = false;
3030
scope.isSsoAuthenticationMethod = false;
31-
scope.iconUrl = null;
31+
scope.userIconUrl = userProfileIconService.userIconUrl;
3232

3333
function handleClickEvent(event) {
3434
var dropdownElement = $document.find('[userProfileWidget]');
@@ -71,9 +71,9 @@ angular.module('platformWebApp')
7171
});
7272

7373
scope.$watch(function () {
74-
return authService.member;
74+
return userProfileIconService.userIconUrl;
7575
}, function () {
76-
scope.iconUrl = authService.member ? authService.member.iconUrl : null;
76+
scope.userIconUrl = userProfileIconService.userIconUrl;
7777
});
7878

7979
$document.bind('click', handleClickEvent);

src/VirtoCommerce.Platform.Web/wwwroot/js/app/security/login/headerUserProfileWidget.tpl.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<span class="account-user" va-tooltip tooltip="{{'platform.menu.user-profile' | translate}}"
44
tooltip-placement="bottom" tooltip-animation="false" tooltip-popup-delay="{{$parent.tooltipPopupDelay}}">
55
<span class="account-user__img">
6-
<img src="{{iconUrl ? iconUrl : '/images/userpic.svg'}}" alt="" class="account-user__pic" style="border-radius: 9999px">
6+
<img src="{{userIconUrl ? userIconUrl : '/images/userpic.svg'}}" alt="" class="account-user__pic">
77
</span>
88
<span class="account-user__info">
99
<span class="account-user__name">{{fullName || userLogin}}</span>

src/VirtoCommerce.Platform.Web/wwwroot/js/app/security/services/auth.js

+1-7
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ angular.module('platformWebApp')
77
fullName: null,
88
permissions: null,
99
isAuthenticated: false,
10-
memberId: null,
11-
member: null
10+
memberId: null
1211
};
1312

1413
authContext.fillAuthData = function () {
@@ -147,7 +146,6 @@ angular.module('platformWebApp')
147146
authContext.fullName = user.userLogin;
148147
authContext.isAuthenticated = user.userName != null;
149148
authContext.memberId = user.memberId;
150-
authContext.member = null;
151149

152150
// Interpolate permissions to replace some template to real value
153151
if (authContext.permissions) {
@@ -159,9 +157,5 @@ angular.module('platformWebApp')
159157
$rootScope.$broadcast('loginStatusChanged', authContext);
160158
}
161159

162-
$rootScope.$on("memberIconChanged", function (event, member) {
163-
authContext.member = member;
164-
});
165-
166160
return authContext;
167161
}]);

src/VirtoCommerce.Platform.Web/wwwroot/js/app/userProfile/blades/userProfile.js

+11-6
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,17 @@
11
angular.module('platformWebApp')
2-
.controller('platformWebApp.userProfile.userProfileController', ['$rootScope', '$scope', 'platformWebApp.i18n', 'platformWebApp.userProfile', 'platformWebApp.common.languages', 'platformWebApp.common.locales', 'platformWebApp.common.timeZones', 'platformWebApp.userProfileApi', 'platformWebApp.authService',
3-
function ($rootScope, $scope, i18n, userProfile, languages, locales, timeZones, userProfileApi, authService) {
2+
.controller('platformWebApp.userProfile.userProfileController', ['$rootScope', '$scope', 'platformWebApp.i18n', 'platformWebApp.userProfile', 'platformWebApp.common.languages', 'platformWebApp.common.locales', 'platformWebApp.common.timeZones', 'platformWebApp.userProfileApi', 'platformWebApp.userProfileIconService',
3+
function ($rootScope, $scope, i18n, userProfile, languages, locales, timeZones, userProfileApi, userProfileIconService) {
44
var blade = $scope.blade;
55
blade.headIcon = 'fa fa-user';
66
blade.title = 'platform.blades.user-profile.title';
7+
blade.iconUrl = userProfileIconService.userIconUrl;
78

89
blade.currentLanguage = i18n.getLanguage();
910
blade.currentRegionalFormat = i18n.getRegionalFormat();
1011
blade.currentTimeZone = i18n.getTimeZone();
1112
blade.currentTimeAgoSettings = i18n.getTimeAgoSettings();
1213
blade.currentTimeSettings = i18n.getTimeSettings();
13-
blade.currentEntity = authService.member;
14-
// This flag is used to save icon immediately in the MemberIcon blade of the Customer model
15-
blade.saveIconImmediately = true;
16-
14+
1715
userProfile.load().then(function () {
1816
initializeBlade();
1917
});
@@ -55,6 +53,7 @@ angular.module('platformWebApp')
5553
blade.currentTimeZone = getNameByCode($scope.timeZones, blade.currentTimeZone);
5654
blade.currentTimeAgoSettings = userProfile.timeAgoSettings;
5755
blade.currentTimeSettings = userProfile.timeSettings;
56+
blade.currentMemberId = userProfile.memberId;
5857
}
5958

6059
function isLoading() {
@@ -115,4 +114,10 @@ angular.module('platformWebApp')
115114
userProfile.save();
116115
}
117116
}
117+
118+
$scope.$watch(function () {
119+
return userProfileIconService.userIconUrl;
120+
}, function () {
121+
blade.iconUrl = userProfileIconService.userIconUrl;
122+
});
118123
}]);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
angular.module('platformWebApp')
2+
.factory('platformWebApp.userProfileIconService', ['$http', '$rootScope', '$interpolate', '$q', '$window', 'platformWebApp.authDataStorage', 'platformWebApp.externalSignInStorage', function ($http, $rootScope, $interpolate, $q, $window, authDataStorage, externalSignInStorage) {
3+
4+
var service = {
5+
userIconUrl: null,
6+
userId: null
7+
};
8+
9+
return service;
10+
}]);

0 commit comments

Comments
 (0)