diff --git a/app/app.component.css b/app/app.component.css
index c8e3a034c..5f6db5169 100644
--- a/app/app.component.css
+++ b/app/app.component.css
@@ -167,3 +167,11 @@ footer a {
background-color: #fafafa;
color: rgba(0, 0, 0, 0.87);
}
+
+.md-chips .md-chip-input-container {
+width: 100%;
+}
+
+.md-chips .md-chip-input-container md-autocomplete md-autocomplete-wrap {
+width: 100%;
+}
diff --git a/app/feature-toggle/feature-groups/email-input/email-input.component.html b/app/feature-toggle/feature-groups/email-input/email-input.component.html
index 0f4fbd15f..a26b4522a 100644
--- a/app/feature-toggle/feature-groups/email-input/email-input.component.html
+++ b/app/feature-toggle/feature-groups/email-input/email-input.component.html
@@ -8,16 +8,20 @@
{{ item.email }}
- close
+ close
-
+
+
-
- {{ item.email }}
-
+ {{ item.email }}({{ item.id }})
+
diff --git a/app/feature-toggle/feature-groups/email-input/email-input.component.ts b/app/feature-toggle/feature-groups/email-input/email-input.component.ts
index a8fe06b7e..8d89a96df 100644
--- a/app/feature-toggle/feature-groups/email-input/email-input.component.ts
+++ b/app/feature-toggle/feature-groups/email-input/email-input.component.ts
@@ -20,11 +20,25 @@ import { UserService } from '../../../users/user.service';
display: flex;
align-items: center;
}
+ .list-item {
+ font-size: 15px;
+ }
+ .close {
+ padding-top: 12px;
+ }
+ ng2-dropdown-menu {
+ width: 420px !important;
+ }
+
+ .ng2-menu-item {
+ width: 420px !important;
+ }
+
`]
})
export class EmailInputComponent implements OnChanges, OnInit {
public errorMessage: any; // Handling error message
- public onlyEmails: string[] = [];
+ public onlyIds: string[] = [];
@Input() users: User[]; // List of Users added to tag-input
@Input() usersIds: string[] = []; // ids
@@ -34,36 +48,50 @@ export class EmailInputComponent implements OnChanges, OnInit {
@Input() readonly: false;
@Output() usersChange = new EventEmitter();
- constructor(private userService: UserService) {}
+ constructor(private userService: UserService) {
+ console.log('this.users', this.users);
+ }
ngOnInit() {
Object.assign(this.users, this.readonly);
}
ngOnChanges() {
- if (this.usersIds) {
- let users: User[] = [];
- for (let userId of this.usersIds) {
- let user = User.getEmptyUser();
- user.id = userId;
- user.email = userId;
- users.push(user);
- }
- this.users = users;
+ this.users = [];
+ if (this.usersIds.length) {
+ this.userService.getUsers({
+ includeOnly: this.usersIds
+ }).then((fetchedUsers: User[]) => {
+ this.usersIds.forEach((userId) => {
+ let _user = fetchedUsers.find((user) => {
+ return user.id === userId;
+ });
+ if (_user === undefined) {
+ let emptyUser = User.getEmptyUser();
+ emptyUser.id = userId;
+ emptyUser.email = userId;
+ this.users.push(emptyUser);
+ } else {
+ this.users.push(_user);
+ }
+ });
+ });
}
}
updateData() {
- this.onlyEmails = [];
- for (let k = 0; k < this.users.length; k++) {
- this.onlyEmails.push(this.users[k].email);
- }
- this.usersChange.emit(this.onlyEmails);
+ this.onlyIds = [];
+ this.users.forEach((user) => {
+ this.onlyIds.push(user.id);
+ });
+ this.usersChange.emit(this.onlyIds);
Object.assign(this.users, this.readonly);
}
requestAutoCompleteItems = (search: string): Observable => {
- return Observable.fromPromise(this.userService.getUsers(search, '')
+ return Observable.fromPromise(this.userService.getUsers({
+ emailId: search
+ })
.then(
(users: User[]) => {
return users;
diff --git a/app/feature-toggle/feature-toggle.component.html b/app/feature-toggle/feature-toggle.component.html
index c4e2b6cdc..831b79ae6 100644
--- a/app/feature-toggle/feature-toggle.component.html
+++ b/app/feature-toggle/feature-toggle.component.html
@@ -14,8 +14,12 @@ {{ 'feature toggles' | translate }}
{{ featureGroup.name }}
-
+