users.component.html 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <div dir="ltr">
  2. <button mat-button color="primary" (click)="edit()">
  3. افزودن کاربر جدید
  4. <mat-icon>add</mat-icon>
  5. </button>
  6. <button mat-button [matMenuTriggerFor]="menu">
  7. <mat-icon>more_vert</mat-icon>
  8. </button>
  9. <mat-menu #menu="matMenu">
  10. <button (click)='toggle(column)' *ngFor="let column of allColumns" mat-menu-item>
  11. <input
  12. type='checkbox'
  13. [id]="column.prop"
  14. [checked]='isChecked(column)'
  15. [disabled]="(column.prop == 'id')"
  16. />
  17. {{column.name}}
  18. </button>
  19. </mat-menu>
  20. </div>
  21. <ngx-datatable
  22. class="material"
  23. [rows]="rows"
  24. [columns]="columns"
  25. [columnMode]="'force'"
  26. [headerHeight]="30"
  27. [footerHeight]="50"
  28. [rowHeight]="30"
  29. [limit]="limit"
  30. [count]="count"
  31. [offset]="offset"
  32. [filterRow]="true"
  33. [externalSorting]="true"
  34. [loadingIndicator]="is_loading"
  35. [externalPaging]="true"
  36. [appUrl]="appUrl"
  37. (sort)="fetchList($event)"
  38. (page)='fetchList($event)'
  39. (perPage)="fetchList($event)"
  40. [filters]="filters"
  41. [sortDir]="sortDir"
  42. [sortProp]="sortProp"
  43. [includes]="includes"
  44. [resource]='listService.type'
  45. id='my-table'
  46. >
  47. <ngx-datatable-column *ngFor="let column of columns" prop="{{column.prop}}" name="{{column.name}}"
  48. [filterTemplate]="column.filter">
  49. <ng-template *ngIf="column.prop == 'id'" let-row="row" let-value="value" ngx-datatable-cell-template>
  50. <button mat-button color="primary" (click)="remove(value)">
  51. <mat-icon style="margin: 5px" svgIcon="delete"></mat-icon>
  52. </button>
  53. <button mat-button color="primary" (click)="edit(value)">
  54. <mat-icon>edit</mat-icon>
  55. </button>
  56. </ng-template>
  57. </ngx-datatable-column>
  58. </ngx-datatable>
  59. <ng-template #filter_name>
  60. <mat-form-field>
  61. <input matInput [(ngModel)]="filters['name']" (change)="fetchList('filter')">
  62. </mat-form-field>
  63. </ng-template>
  64. <ng-template #filter_mobile>
  65. <mat-form-field style="width: 100%" floatLabel="never">
  66. <input matInput [(ngModel)]="filters['mobile']" (change)="fetchList('filter')">
  67. </mat-form-field>
  68. </ng-template>
  69. <ng-template #filter_email>
  70. <mat-form-field style="width: 100%" floatLabel="never">
  71. <input matInput [(ngModel)]="filters['email']" (change)="fetchList('filter')">
  72. </mat-form-field>
  73. </ng-template>
  74. <ng-template #filter_id>
  75. <button mat-icon-button (click)="fetchList('refresh')">
  76. <mat-icon svgIcon="refresh"></mat-icon>
  77. </button>
  78. </ng-template>