選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 

68 行
3.0 KiB

  1. <div class="spt-container">
  2. <div class="d-flex justify-content-between align-items-start">
  3. <h2>{{ 'basic.products' | translate }}</h2>
  4. <button class="btn btn-primary" (click)="openModalNewProduct()">{{ 'basic.new-product' | translate }}</button>
  5. </div>
  6. <table mat-table [dataSource]="productsDataSource" matSort (matSortChange)="onSortChange($event)"
  7. class="mat-elevation-z8 mb-3">
  8. <ng-container matColumnDef="pos">
  9. <th mat-header-cell *matHeaderCellDef>
  10. {{ 'overview.number' | translate }}
  11. </th>
  12. <td mat-cell
  13. *matCellDef="let element">{{ (productsPageSize * productsPageIndex) + productsDataSource.filteredData.indexOf(element) + 1 }}
  14. </td>
  15. </ng-container>
  16. <ng-container matColumnDef="image">
  17. <th mat-header-cell *matHeaderCellDef>
  18. {{ 'overview.image' | translate }}
  19. </th>
  20. <td mat-cell *matCellDef="let element">
  21. <img role="button" src="{{ element.imageUrl }}" (click)="navigateToProductDetails(element)" width="40"
  22. height="40"/>
  23. </td>
  24. </ng-container>
  25. <ng-container matColumnDef="name">
  26. <th mat-header-cell *matHeaderCellDef mat-sort-header
  27. sortActionDescription="{{ 'overview.sort' | translate }}: {{ 'overview.productname' | translate }}">
  28. {{ 'overview.productname' | translate }}
  29. </th>
  30. <td mat-cell *matCellDef="let element"><span role="button"
  31. (click)="navigateToProductDetails(element)">{{ element.name }}</span>
  32. </td>
  33. </ng-container>
  34. <ng-container matColumnDef="storage">
  35. <th mat-header-cell *matHeaderCellDef mat-sort-header
  36. sortActionDescription="{{ 'overview.sort' | translate }}: {{ 'overview.storage' | translate }}">
  37. {{ 'overview.storage' | translate }}
  38. </th>
  39. <td mat-cell *matCellDef="let element">{{ element.storage }}
  40. </td>
  41. </ng-container>
  42. <ng-container matColumnDef="number">
  43. <th mat-header-cell *matHeaderCellDef mat-sort-header
  44. sortActionDescription="{{ 'overview.sort' | translate }}: {{ 'overview.number-long' | translate }}">
  45. {{ 'overview.number-long' | translate }}
  46. </th>
  47. <td mat-cell *matCellDef="let element">{{ element.number }}
  48. </td>
  49. </ng-container>
  50. <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
  51. <tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
  52. </table>
  53. <mat-paginator class="rounded-1"
  54. [pageSizeOptions]="[10,25,50]"
  55. [length]="productsLength"
  56. (page)="handlePageEvent($event)"
  57. [pageSize]="productsPageSize"
  58. [pageIndex]="productsPageIndex"
  59. showFirstLastButtons>
  60. </mat-paginator>
  61. </div>