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