rsanchez
2017-03-21 a6e1ace2b6bdba8c08a4acfa42433f3ac073b747
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import { Router, ActivatedRoute } from '@angular/router';
import { MdDialog, MdDialogConfig } from '@angular/material';
import {
    ITdDataTableColumn,
    ITdDataTableSortChangeEvent,
    TdDataTableService,
    TdDataTableSortingOrder,
    TdPagingBarComponent
} from '@covalent/core';
import { IPageChangeEvent } from '@covalent/core';
import { Component, ViewChild, AfterViewInit } from '@angular/core';
import { TdMediaService } from '@covalent/core';
import { UsersService } from '../resources/users';
import { PackFormComponent } from '../forms/pack.form.component';
import { LocaleService } from '../common/i18n';
import { ListingBase } from './base';
var user_example = { username: 'rym',
    roles: [ 1 ],
    lastLogin: 1488885433000,
    modificationTimestamp: 1479898458000,
    email: 'rbouchair@curistec.com',
    first_name: 'Rym',
    last_name: 'Bouchair',
    creation_timestamp: 1479898458000,
    organizations_ids: [ 1, 2, 5, 6, 7, 8 ] }
@Component({
  selector: 'user-list',
  templateUrl: 'src/app/listing/user.list.component.html'
})
export class UserListComponent extends ListingBase implements AfterViewInit {
  columns: ITdDataTableColumn[] = [
    { name: 'username', label: 'Username', tooltip: 'Username to access app' },
    { name: 'fullname', label: 'Fullname' },
    { name: 'email', label: 'User email' },
    { name: 'lastLogin', label: 'Last login date' },
    { name: 'menu', label: '' }
  ];
  pack_menu_options : any[] = [{
    command: 'edit',
    name: 'Edit'
  },{
    command: 'cancel',
    name: 'Cancel'
  }]
  
  constructor(_dataTableService: TdDataTableService,
    private media: TdMediaService,
    private router: Router,
    private $L: LocaleService,
    private applicationForm: PackFormComponent,
    private users: UsersService) {
      super(_dataTableService);
      this.users.get().subscribe(
        (list : any[]) => {
          this.data = list;
          this.refresh();
        },
        (err: any) => console.error(err)
      );
  }
  packAction(action: any) {
    console.log(action.command);
  }
  isActionAvailable(pack : any) : boolean {
    return true;
  }
  create() : void {
    this.router.navigate(['users/create']);
  }
  edit(username: number | string) : void {
    this.router.navigate([`users/edit/${username}`]);
  }
}