diff options
8 files changed, 34 insertions, 11 deletions
diff --git a/portal-FE-common/src/app/shared/services/users/users.service.ts b/portal-FE-common/src/app/shared/services/users/users.service.ts index 38ebedd8..d977f724 100644 --- a/portal-FE-common/src/app/shared/services/users/users.service.ts +++ b/portal-FE-common/src/app/shared/services/users/users.service.ts @@ -78,8 +78,7 @@ export class UsersService { addNewUser(newUserData){ console.log("User service : ", newUserData); - return this.http.post(this.api.saveNewUser, newUserData).subscribe((response)=>{ - }); + return this.http.post(this.api.saveNewUser, newUserData); } } diff --git a/portal-FE-os/src/app/.gitignore b/portal-FE-os/src/app/.gitignore index 75b6ddab..fe6b8ee1 100644 --- a/portal-FE-os/src/app/.gitignore +++ b/portal-FE-os/src/app/.gitignore @@ -1,5 +1,6 @@ /ng-material-module.ts /layout/ +!layout/components/search-users /modals/ /shared/ !shared/interceptors/ diff --git a/portal-FE-common/src/app/layout/components/search-users/search-users.component.html b/portal-FE-os/src/app/layout/components/search-users/search-users.component.html index 03624491..4c318f9f 100644 --- a/portal-FE-common/src/app/layout/components/search-users/search-users.component.html +++ b/portal-FE-os/src/app/layout/components/search-users/search-users.component.html @@ -67,4 +67,7 @@ <tr mat-row (click)="setSelectedUser(row)" id="table-row-{{i}}" [ngClass]="{ 'selected': row === selectedUser }" *matRowDef="let row; columns: displayedColumns; let i = index;"></tr> </table> +</div> +<div class="search-user-container" *ngIf="noUserFlag"> + <p>{{message}} Or <a href="javascript:void(0);" (click)="addNewUser()"><b>Click Here</b></a> to add <b>New User!</b></p> </div>
\ No newline at end of file diff --git a/portal-FE-common/src/app/layout/components/search-users/search-users.component.scss b/portal-FE-os/src/app/layout/components/search-users/search-users.component.scss index 95a2a5ec..95a2a5ec 100644 --- a/portal-FE-common/src/app/layout/components/search-users/search-users.component.scss +++ b/portal-FE-os/src/app/layout/components/search-users/search-users.component.scss diff --git a/portal-FE-common/src/app/layout/components/search-users/search-users.component.spec.ts b/portal-FE-os/src/app/layout/components/search-users/search-users.component.spec.ts index 9db3e395..9db3e395 100644 --- a/portal-FE-common/src/app/layout/components/search-users/search-users.component.spec.ts +++ b/portal-FE-os/src/app/layout/components/search-users/search-users.component.spec.ts diff --git a/portal-FE-common/src/app/layout/components/search-users/search-users.component.ts b/portal-FE-os/src/app/layout/components/search-users/search-users.component.ts index b93ffd61..10e4e041 100644 --- a/portal-FE-common/src/app/layout/components/search-users/search-users.component.ts +++ b/portal-FE-os/src/app/layout/components/search-users/search-users.component.ts @@ -56,6 +56,7 @@ export class SearchUsersComponent implements OnInit { @ViewChild(MatSort) sort: MatSort; @ViewChild(MatPaginator) paginator: MatPaginator; @Output() passBackSelectedUser: EventEmitter<any> = new EventEmitter(); + @Output() userNotFoundFlag = new EventEmitter<boolean>(); searchString: string; txtResults = 'result'; searchUsersResults: any; @@ -65,6 +66,8 @@ export class SearchUsersComponent implements OnInit { selectedUser: any; displayedColumns: string[] = ['firstName']; dataSourceMap = new MatTableDataSource(this.searchUsersResults); + submitted = false; + message = " No users found with your query. Please change your search and try again."; ngOnInit() { this.searchString = ''; @@ -77,6 +80,7 @@ export class SearchUsersComponent implements OnInit { this.passBackSelectedUser.emit(systemUser); } + noUserFlag: boolean = false; searchUsers() { if (!this.isSystemUser) { this.isLoading = true; @@ -85,11 +89,10 @@ export class SearchUsersComponent implements OnInit { this.userService.searchUsers(this.searchString).subscribe((_data: PortalAdmin) => { this.searchUsersResults = _data; if (this.searchUsersResults == null || this.searchUsersResults.length == 0) { - const modelRef = this.ngModal.open(ConfirmationModalComponent) - modelRef.componentInstance.title = "Confirmation"; - modelRef.componentInstance.message = " No users found with your query. Please change your search and try again." + this.noUserFlag = true; this.isLoading = false; } else { + this.noUserFlag = false; this.showUserTable = true; this.isLoading = false; this.dataSourceMap = new MatTableDataSource(this.searchUsersResults); @@ -104,4 +107,9 @@ export class SearchUsersComponent implements OnInit { this.passBackSelectedUser.emit(this.selectedUser); } + addNewUser() { + console.log("Emit the value to parent"); + this.userNotFoundFlag.emit(true); + } + } diff --git a/portal-FE-os/src/app/pages/users/user-details-form/user-details-form.component.html b/portal-FE-os/src/app/pages/users/user-details-form/user-details-form.component.html index 7fc35e44..bd9d69b6 100644 --- a/portal-FE-os/src/app/pages/users/user-details-form/user-details-form.component.html +++ b/portal-FE-os/src/app/pages/users/user-details-form/user-details-form.component.html @@ -113,6 +113,6 @@ </form> </div> <div class="modal-footer"> - <button type="submit" class="btn btn-primary" (click)="addUser()" [disabled]="addNewUserForm.invalid">Next</button> + <button type="submit" class="btn btn-primary" (click)="addUser()">Next</button> <button type="button" class="btn btn-primary" aria-label="Close" (click)="activeModal.dismiss('Cross')">Close</button> </div> diff --git a/portal-FE-os/src/app/pages/users/user-details-form/user-details-form.component.ts b/portal-FE-os/src/app/pages/users/user-details-form/user-details-form.component.ts index bea0fcdb..33d2b331 100644 --- a/portal-FE-os/src/app/pages/users/user-details-form/user-details-form.component.ts +++ b/portal-FE-os/src/app/pages/users/user-details-form/user-details-form.component.ts @@ -2,7 +2,8 @@ import { Component, OnInit } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { MustMatch } from 'src/app/shared/helpers/must-match-validator'; import { UsersService } from 'src/app/shared/services'; -import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; +import { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { ConfirmationModalComponent } from 'src/app/modals/confirmation-modal/confirmation-modal.component'; @Component({ selector: 'app-user-details-form', @@ -13,9 +14,10 @@ export class UserDetailsFormComponent implements OnInit { addNewUserForm: FormGroup; submitted = false; - constructor(private formBuilder: FormBuilder, + constructor(private formBuilder: FormBuilder, private usersService: UsersService, - public activeModal: NgbActiveModal) { } + public activeModal: NgbActiveModal, + public ngbModal: NgbModal) { } ngOnInit() { this.addNewUserForm = this.formBuilder.group({ @@ -24,7 +26,7 @@ export class UserDetailsFormComponent implements OnInit { lastName: ['', Validators.required], email: ['', [Validators.required, Validators.email]], loginId: ['', Validators.required], - loginPwd: ['', [Validators.required, Validators.minLength(6)]], + loginPwd: ['', Validators.required], confirmPassword: ['', Validators.required] }, { validator: MustMatch('loginPwd', 'confirmPassword') @@ -44,7 +46,17 @@ export class UserDetailsFormComponent implements OnInit { console.log("New user Json : " + JSON.stringify(this.addNewUserForm.value)); console.log("Get Raw value : " + this.addNewUserForm.getRawValue()); let newUserFormData = JSON.stringify(this.addNewUserForm.getRawValue()); - this.usersService.addNewUser(newUserFormData); + this.usersService.addNewUser(newUserFormData).subscribe(result => { + console.log("Result : ", result); + const modalSuccess = this.ngbModal.open(ConfirmationModalComponent); + modalSuccess.componentInstance.title = "Success"; + modalSuccess.componentInstance.message = 'User added Successfully!'; + }, error => { + console.log("Error : ", error); + const modalErrorRef = this.ngbModal.open(ConfirmationModalComponent); + modalErrorRef.componentInstance.title = "Error"; + modalErrorRef.componentInstance.message = 'Something went wrong. Error Message: ' + error.message; + }) this.activeModal.close(); } |