|
1 |
| -function userPickerController($scope, usersResource , iconHelper, editorService, overlayService){ |
| 1 | +function userPickerController($scope, iconHelper, editorService, overlayService, entityResource) { |
2 | 2 |
|
3 | 3 | function trim(str, chr) {
|
4 | 4 | var rgxtrim = (!chr) ? new RegExp('^\\s+|\\s+$', 'g') : new RegExp('^' + chr + '+|' + chr + '+$', 'g');
|
@@ -92,17 +92,22 @@ function userPickerController($scope, usersResource , iconHelper, editorService,
|
92 | 92 | unsubscribe();
|
93 | 93 | });
|
94 | 94 |
|
95 |
| - //load user data |
96 |
| - var modelIds = $scope.model.value ? $scope.model.value.split(',') : []; |
97 |
| - |
98 |
| - // entityResource.getByIds doesn't support "User" and we would like to show avatars in umb-user-preview as well. |
99 |
| - usersResource.getUsers(modelIds).then(function (data) { |
100 |
| - _.each(data, function (item, i) { |
101 |
| - // set default icon if it's missing |
102 |
| - item.icon = item.icon ? iconHelper.convertFromLegacyIcon(item.icon) : "icon-user"; |
103 |
| - $scope.renderModel.push({ name: item.name, id: item.id, udi: item.udi, icon: item.icon, avatars: item.avatars }); |
104 |
| - }); |
105 |
| - }); |
| 95 | + //load user data - split to an array of ints (map) |
| 96 | + const modelIds = $scope.model.value ? $scope.model.value.split(',').map(x => +x) : []; |
| 97 | + if(modelIds.length !== 0) { |
| 98 | + entityResource.getAll("User").then(function (users) { |
| 99 | + const filteredUsers = users.filter(user => modelIds.indexOf(user.id) !== -1); |
| 100 | + filteredUsers.forEach(item => { |
| 101 | + $scope.renderModel.push({ |
| 102 | + name: item.name, |
| 103 | + id: item.id, |
| 104 | + udi: item.udi, |
| 105 | + icon: item.icon = item.icon ? iconHelper.convertFromLegacyIcon(item.icon) : "icon-user", |
| 106 | + avatars: item.avatars |
| 107 | + }); |
| 108 | + }); |
| 109 | + }); |
| 110 | + } |
106 | 111 | }
|
107 | 112 |
|
108 | 113 |
|
|
0 commit comments