open-learning-exchange/planet

View on GitHub
src/app/manager-dashboard/requests/requests-table.component.html

Summary

Maintainability
Test Coverage
<mat-table #table [dataSource]="communities" matSort [matSortDisableClear]="true">
  <ng-container matColumnDef="name">
    <mat-header-cell *matHeaderCellDef mat-sort-header="name" i18n>Name</mat-header-cell>
    <mat-cell *matCellDef="let element">{{element.nameDoc?.name || element.doc.name}}</mat-cell>
  </ng-container>
  <ng-container matColumnDef="code">
    <mat-header-cell *matHeaderCellDef mat-sort-header="code" i18n>Code</mat-header-cell>
    <mat-cell *matCellDef="let element">{{element.doc.code}}</mat-cell>
  </ng-container>
  <ng-container matColumnDef="localDomain">
    <mat-header-cell *matHeaderCellDef mat-sort-header="localDomain" i18n>URL</mat-header-cell>
    <mat-cell *matCellDef="let element">{{element.doc.localDomain}}</mat-cell>
  </ng-container>
  <ng-container matColumnDef="createdDate">
    <mat-header-cell *matHeaderCellDef mat-sort-header="createdDate" i18n>Created Date</mat-header-cell>
    <mat-cell *matCellDef="let element">{{element.doc.createdDate | date: 'mediumDate'}}</mat-cell>
  </ng-container>
  <ng-container matColumnDef="action">
    <mat-header-cell *matHeaderCellDef i18n>Actions</mat-header-cell>
    <mat-cell *matCellDef="let element">
      <button mat-raised-button color="primary" (click)="view(element.doc)" i18n>View</button>
      <ng-container *ngIf="element.doc.registrationRequest === 'accepted'">
        <button *ngIf="element.doc.planetType === 'nation'" mat-raised-button color="primary" (click)="getChildPlanet(element.doc.localDomain)" i18n>
          Communities
        </button>
        <button mat-raised-button color="primary" i18n [matMenuTriggerFor]="hubMenu" *ngIf="(hub==='sandbox' && hubs.length > 0) || hubs.length > 1">
          { hub, select,
            sandbox {Add to { planetType, select, nation {Network} center {Region} }}
            other {Move { planetType, select, nation {Networks} center {Regions} }}
          }
        </button>
        <mat-menu #hubMenu="matMenu">
          <ng-container *ngFor="let h of hubs">
            <button *ngIf="h.name!==hub.name" (click)="addHubClick(element.doc.code, h.name)" mat-menu-item>{{h.name}}</button>
          </ng-container>
          <button (click)="removeHubClick(element.doc.code)" *ngIf="hub!=='sandbox'" mat-menu-item i18n>Sandbox</button>
        </mat-menu>
        <button mat-raised-button color="primary" (click)="openEditChildNameDialog(element)" i18n>
          Edit Name
        </button>
      </ng-container>
      <ng-container *ngIf="element.doc.registrationRequest === 'pending'">
        <button mat-raised-button color="primary" (click)="updateClick(element, 'accept')" i18n>
          <mat-icon>link</mat-icon>Accept
        </button>
      </ng-container>
      <button mat-raised-button color="warn" (click)="updateClick(element, 'delete')" i18n>
        <mat-icon>delete</mat-icon>Delete
      </button>
    </mat-cell>
  </ng-container>
  <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>
  <mat-row *matRowDef="let row; columns: displayedColumns;"></mat-row>
</mat-table>
<mat-paginator #paginator
  [pageSize]="50"
  [pageSizeOptions]="[5, 10, 20, 50, 100, 200]">
</mat-paginator>