I have a drop-down menu that lists groups. Each group contains a property (boolean) that determines whether the group owner is a user or another group
If the group owner is a user, I get the group owner identifier and compare it with an array of users to determine which user matches that identifier and set it as selectedOwner. However, if the group owner is a group, I will try to skip all my groups to find a match, and set this group asselectedOwner
This is my controller function:
$scope.groupOwner = function (){
var temp = $scope.selectedGroup.ownerIsUser ? $scope.users : $scope.groups;
var index = temp.length;
console.dir(temp);
while(index--){
if($scope.selectedGroup.owner === temp[index].id){
$scope.selectedOwner = temp[index];
console.log($scope.selectedOwner);
break;
};
};
};
, , groupOwner, selectedUser.ownerIsUser, , , users groups.
, true, , selectedGroup.
:
User = {
name: Demo Administrator,
id: 90,
domain: i:0#.w|itun\demoadmin_compulite,
email: ,
isAdmin: False
}
selectedGroup = {
name: Test Group,
id: 10,
description: ,
owner: 88,
ownerIsUser: False
}
HTML:
<div class="topRow">
<label for="entityDropDown">Select a Group:</label>
<select id="entityDropDown" ng-model="selectedGroup" ng-options="group as group.name for group in groups" ng-change="getGroupInfo(selectedGroup)"></select>
<div class="delGroupBtn"><a>✖</a>
</div>
</div>
:
Object {name: "Test Group 4", id: "117", description: "", owner: "71", ownerIsUser: "False"…}
description: ""
id: "117"
name: "Test Group 4"
owner: "71"
ownerIsUser: "False"
__proto__: Object
:
$scope.groupOwner = function (){
var isUser = $scope.selectedGroup.ownerIsUser === "True"? true : false;
var owner = isUser ? $scope.user : $scope.group;
var index = owner.length;
console.dir(owner);
while(index--){
if($scope.selectedGroup.owner === owner[index].id){
$scope.selectedOwner = owner[index];
console.log($scope.selectedOwner);
break;
};
};
};