mp-common
Version:
This is XPO MarketPlace common libary
82 lines (73 loc) • 2.92 kB
text/typescript
import { Component, OnInit, Pipe, PipeTransform } from '@angular/core';
import { XpoDialog, XpoDialogConfig, XpoDialogRef, BreadCrumbService } from '@xpo/common';
import { UserDialogComponent } from '../user-dialog/user-dialog.component';
import { User, UserService } from '../../shared';
import { PaginatePipe, PaginationService } from '../../../core';
export class SearchFilter implements PipeTransform {
transform(items: any[], criteria: any, field1: any, field2: any, field3: any): any {
if (items != undefined) {
return (items.filter(item => {
if ((item[ field1 ] && ("" + item[ field1 ].toLowerCase()).includes(criteria.toLowerCase()))
|| (item[ field2 ] && ("" + item[ field2 ].toLowerCase()).includes(criteria.toLowerCase()))
|| (item[ field3 ] && ("" + item[ field3 ].toLowerCase()).includes(criteria.toLowerCase()))) {
return true;
}
return false;
}));
}
else
return [];
}
}
export class UserListComponent implements OnInit {
public editUserInfo: User;
private dialogConfig: XpoDialogConfig;
private searchBoxModel: string;
private allUsersList: User[];
private usersListLength: number;
constructor(private dialog: XpoDialog, private userService: UserService, private paginationService: PaginationService, private searchFilter: SearchFilter, private bcService: BreadCrumbService) {
this.dialogConfig = new XpoDialogConfig();
this.dialogConfig.width = '500';
this.searchBoxModel = "";
this.bcService.setCrumbs({ breadcrumb: [ { name: 'count users', link: './' }] });
}
ngOnInit() {
this.paginationService.total.subscribe(total => this.usersListLength = total);
this.userService.getUsers().then(user => {
this.allUsersList = user;
this.usersListLength = this.allUsersList.length;
})
}
onSearchClick() {
this.userService.search();
}
onNewUser() {
this.dialogConfig.data = "create";
let newUser: User = new User(null, "", "", "", "", [ { divisionId: 0, roleId: 0, divisionName: "", roleName: "" }]);
this.userService.setEditUserInfo(newUser);
this.dialog
.open(UserDialogComponent, this.dialogConfig)
.afterClosed()
.subscribe((result) => this.ngOnInit);
}
onEditUser(userId) {
this.dialogConfig.data = "edit";
this.userService.getEditDetails(userId).then(user => {
this.editUserInfo = user;
this.userService.setEditUserInfo(this.editUserInfo);
this.dialog
.open(UserDialogComponent, this.dialogConfig)
.afterClosed()
.subscribe((result) => this.ngOnInit);
});
}
}