mirror of https://github.com/ghostfolio/ghostfolio
Thomas Kaul
8 months ago
committed by
GitHub
13 changed files with 431 additions and 424 deletions
@ -1,67 +1,72 @@ |
|||
<table class="gf-table w-100" mat-table [dataSource]="dataSource"> |
|||
<ng-container matColumnDef="alias"> |
|||
<th *matHeaderCellDef class="px-1" i18n mat-header-cell>Alias</th> |
|||
<td *matCellDef="let element" class="px-1" mat-cell> |
|||
{{ element.alias }} |
|||
</td> |
|||
</ng-container> |
|||
<div class="overflow-x-auto"> |
|||
<table class="gf-table w-100" mat-table [dataSource]="dataSource"> |
|||
<ng-container matColumnDef="alias"> |
|||
<th *matHeaderCellDef class="px-1" i18n mat-header-cell>Alias</th> |
|||
<td *matCellDef="let element" class="px-1" mat-cell> |
|||
{{ element.alias }} |
|||
</td> |
|||
</ng-container> |
|||
|
|||
<ng-container matColumnDef="grantee"> |
|||
<th *matHeaderCellDef class="px-1" i18n mat-header-cell>Grantee</th> |
|||
<td *matCellDef="let element" class="px-1" mat-cell> |
|||
{{ element.grantee }} |
|||
</td> |
|||
</ng-container> |
|||
<ng-container matColumnDef="grantee"> |
|||
<th *matHeaderCellDef class="px-1" i18n mat-header-cell>Grantee</th> |
|||
<td *matCellDef="let element" class="px-1" mat-cell> |
|||
{{ element.grantee }} |
|||
</td> |
|||
</ng-container> |
|||
|
|||
<ng-container matColumnDef="type"> |
|||
<th *matHeaderCellDef class="px-1" i18n mat-header-cell>Permission</th> |
|||
<td *matCellDef="let element" class="px-1 text-nowrap" mat-cell> |
|||
<div class="align-items-center d-flex"> |
|||
@if (element.permissions.includes('READ')) { |
|||
<ion-icon class="mr-1" name="lock-open-outline" /> |
|||
<ng-container i18n>View</ng-container> |
|||
} @else if (element.permissions.includes('READ_RESTRICTED')) { |
|||
<ion-icon class="mr-1" name="lock-closed-outline" /> |
|||
<ng-container i18n>Restricted view</ng-container> |
|||
} |
|||
</div> |
|||
</td> |
|||
</ng-container> |
|||
<ng-container matColumnDef="type"> |
|||
<th *matHeaderCellDef class="px-1" i18n mat-header-cell>Permission</th> |
|||
<td *matCellDef="let element" class="px-1 text-nowrap" mat-cell> |
|||
<div class="align-items-center d-flex"> |
|||
@if (element.permissions.includes('READ')) { |
|||
<ion-icon class="mr-1" name="lock-open-outline" /> |
|||
<ng-container i18n>View</ng-container> |
|||
} @else if (element.permissions.includes('READ_RESTRICTED')) { |
|||
<ion-icon class="mr-1" name="lock-closed-outline" /> |
|||
<ng-container i18n>Restricted view</ng-container> |
|||
} |
|||
</div> |
|||
</td> |
|||
</ng-container> |
|||
|
|||
<ng-container matColumnDef="details"> |
|||
<th *matHeaderCellDef class="px-1" i18n mat-header-cell>Details</th> |
|||
<td *matCellDef="let element" class="px-1 text-nowrap" mat-cell> |
|||
<div *ngIf="element.type === 'PUBLIC'" class="align-items-center d-flex"> |
|||
<ion-icon class="mr-1" name="link-outline" /> |
|||
<a |
|||
href="{{ baseUrl }}/{{ defaultLanguageCode }}/p/{{ element.id }}" |
|||
target="_blank" |
|||
>{{ baseUrl }}/{{ defaultLanguageCode }}/p/{{ element.id }}</a |
|||
<ng-container matColumnDef="details"> |
|||
<th *matHeaderCellDef class="px-1" i18n mat-header-cell>Details</th> |
|||
<td *matCellDef="let element" class="px-1 text-nowrap" mat-cell> |
|||
<div |
|||
*ngIf="element.type === 'PUBLIC'" |
|||
class="align-items-center d-flex" |
|||
> |
|||
</div> |
|||
</td> |
|||
</ng-container> |
|||
<ion-icon class="mr-1" name="link-outline" /> |
|||
<a |
|||
href="{{ baseUrl }}/{{ defaultLanguageCode }}/p/{{ element.id }}" |
|||
target="_blank" |
|||
>{{ baseUrl }}/{{ defaultLanguageCode }}/p/{{ element.id }}</a |
|||
> |
|||
</div> |
|||
</td> |
|||
</ng-container> |
|||
|
|||
<ng-container matColumnDef="actions" stickyEnd> |
|||
<th *matHeaderCellDef class="px-1 text-center" mat-header-cell></th> |
|||
<ng-container matColumnDef="actions" stickyEnd> |
|||
<th *matHeaderCellDef class="px-1 text-center" mat-header-cell></th> |
|||
|
|||
<td *matCellDef="let element" class="px-1 text-center" mat-cell> |
|||
<button |
|||
class="mx-1 no-min-width px-2" |
|||
mat-button |
|||
[matMenuTriggerFor]="transactionMenu" |
|||
(click)="$event.stopPropagation()" |
|||
> |
|||
<ion-icon name="ellipsis-horizontal" /> |
|||
</button> |
|||
<mat-menu #transactionMenu="matMenu" xPosition="before"> |
|||
<button mat-menu-item (click)="onDeleteAccess(element.id)"> |
|||
<ng-container i18n>Revoke</ng-container> |
|||
<td *matCellDef="let element" class="px-1 text-center" mat-cell> |
|||
<button |
|||
class="mx-1 no-min-width px-2" |
|||
mat-button |
|||
[matMenuTriggerFor]="transactionMenu" |
|||
(click)="$event.stopPropagation()" |
|||
> |
|||
<ion-icon name="ellipsis-horizontal" /> |
|||
</button> |
|||
</mat-menu> |
|||
</td> |
|||
</ng-container> |
|||
<mat-menu #transactionMenu="matMenu" xPosition="before"> |
|||
<button mat-menu-item (click)="onDeleteAccess(element.id)"> |
|||
<ng-container i18n>Revoke</ng-container> |
|||
</button> |
|||
</mat-menu> |
|||
</td> |
|||
</ng-container> |
|||
|
|||
<tr *matHeaderRowDef="displayedColumns" mat-header-row></tr> |
|||
<tr *matRowDef="let row; columns: displayedColumns" mat-row></tr> |
|||
</table> |
|||
<tr *matHeaderRowDef="displayedColumns" mat-header-row></tr> |
|||
<tr *matRowDef="let row; columns: displayedColumns" mat-row></tr> |
|||
</table> |
|||
</div> |
|||
|
@ -1,16 +1,12 @@ |
|||
:host { |
|||
display: block; |
|||
|
|||
.users { |
|||
overflow-x: auto; |
|||
.gf-table { |
|||
min-width: 100%; |
|||
|
|||
table { |
|||
min-width: 100%; |
|||
|
|||
.mat-mdc-row, |
|||
.mat-mdc-header-row { |
|||
width: 100%; |
|||
} |
|||
.mat-mdc-row, |
|||
.mat-mdc-header-row { |
|||
width: 100%; |
|||
} |
|||
} |
|||
} |
|||
|
@ -1,7 +1,3 @@ |
|||
:host { |
|||
display: block; |
|||
|
|||
.accounts { |
|||
overflow-x: auto; |
|||
} |
|||
} |
|||
|
@ -1,7 +1,3 @@ |
|||
:host { |
|||
display: block; |
|||
|
|||
.activities { |
|||
overflow-x: auto; |
|||
} |
|||
} |
|||
|
Loading…
Reference in new issue