Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit 8583757d authored by Joze RIHTARSIC's avatar Joze RIHTARSIC
Browse files

[EDELIVERY-13777] Access token - add relevant data to collapsed

parent 7fe0630c
No related branches found
No related tags found
No related merge requests found
...@@ -16,9 +16,7 @@ ...@@ -16,9 +16,7 @@
@include access-token-panel.set-component-colors($theme); @include access-token-panel.set-component-colors($theme);
@include expandable-panel.set-component-colors($theme); @include expandable-panel.set-component-colors($theme);
/* shared classes*/ /* shared classes*/
.smp-data-panel:hover {
background-color: smp.get-theme-color($theme, primary, 300);
}
.datatable-row-odd { .datatable-row-odd {
background-color: smp.get-theme-color($theme, primary, 50, 0.2) !important; background-color: smp.get-theme-color($theme, primary, 50, 0.2) !important;
......
...@@ -116,6 +116,12 @@ export class GlobalLookups { ...@@ -116,6 +116,12 @@ export class GlobalLookups {
return result; return result;
} }
public getDateFormat(): string {
let locale = this.getCurrentLocale();
locale = locale ? locale : this.DEFAULT_LOCALE;
return getLocaleDateFormat(locale, FormatWidth.Short);
}
private format(str, opt_values) { private format(str, opt_values) {
if (opt_values) { if (opt_values) {
str = str.replace(/\{([^}]+)}/g, function (match, key) { str = str.replace(/\{([^}]+)}/g, function (match, key) {
......
@use '../../../../_smp-theme-helper' as smp; @use '../../../../_smp-theme-helper' as smp;
@mixin set-component-colors($theme) { @mixin set-component-colors($theme) {
.access-token:hover {
background-color: smp.get-theme-color($theme, primary, 0.2);
}
} }
<mat-expansion-panel [expanded]="_expanded"> <mat-expansion-panel [expanded]="_expanded">
<mat-expansion-panel-header style="height: 72px"> <mat-expansion-panel-header style="height: 80px">
<div style="display: flex; flex-direction: column;width: 100%; padding-right: 10px"> <div style="display: flex; flex-direction: column;width: 100%;margin-right: 10px;" >
<smp-warning-panel *ngIf="!!_credential?.expired;" class="smp-certificate-warning-panel" <smp-warning-panel *ngIf="!!_credential?.expired;" class="smp-certificate-warning-panel"
[padding]="false" [padding]="false"
icon="error" icon="error"
...@@ -27,9 +27,15 @@ ...@@ -27,9 +27,15 @@
</button> </button>
</div> </div>
</div> </div>
<div style="display: flex; flex-direction: row; font-size: 0.8em; ">
<span>{{ credentialForm.controls["activeFrom"].value | date: dateFormat }}</span>
&nbsp;&nbsp;-&nbsp;&nbsp;
<span>{{ credentialForm.controls["expireOn"].value | date: dateFormat }}</span>;
<span>{{ credentialForm.controls["description"].value }}</span>
</div>
</div> </div>
</mat-expansion-panel-header> </mat-expansion-panel-header>
<div class="panel smp-data-panel" [formGroup]="credentialForm"> <div class="smp-data-panel" [formGroup]="credentialForm">
<mat-form-field style="width: 100%"> <mat-form-field style="width: 100%">
<mat-label>{{ "access.token.panel.label.description" | translate }}</mat-label> <mat-label>{{ "access.token.panel.label.description" | translate }}</mat-label>
<input matInput <input matInput
......
.access-token-panel {
border-bottom: 1px solid #e0e0e0;
}
...@@ -6,6 +6,7 @@ import { ...@@ -6,6 +6,7 @@ import {
} from "@angular/forms"; } from "@angular/forms";
import {CredentialRo} from "../../../security/credential.model"; import {CredentialRo} from "../../../security/credential.model";
import {BeforeLeaveGuard} from "../../../window/sidenav/navigation-on-leave-guard"; import {BeforeLeaveGuard} from "../../../window/sidenav/navigation-on-leave-guard";
import {GlobalLookups} from "../../../common/global-lookups";
@Component({ @Component({
...@@ -23,7 +24,8 @@ export class AccessTokenPanelComponent implements BeforeLeaveGuard { ...@@ -23,7 +24,8 @@ export class AccessTokenPanelComponent implements BeforeLeaveGuard {
credentialForm: FormGroup; credentialForm: FormGroup;
_expanded: boolean = false; _expanded: boolean = false;
constructor(private formBuilder: FormBuilder) { constructor(private formBuilder: FormBuilder,
private globalLookups: GlobalLookups) {
this.credentialForm = formBuilder.group({ this.credentialForm = formBuilder.group({
// common values // common values
'active': new FormControl({value: '', disabled: false}), 'active': new FormControl({value: '', disabled: false}),
...@@ -89,4 +91,8 @@ export class AccessTokenPanelComponent implements BeforeLeaveGuard { ...@@ -89,4 +91,8 @@ export class AccessTokenPanelComponent implements BeforeLeaveGuard {
isDirty(): boolean { isDirty(): boolean {
return this.credentialForm.dirty; return this.credentialForm.dirty;
} }
get dateFormat(): string {
return this.globalLookups.getDateFormat();
}
} }
...@@ -3,33 +3,43 @@ ...@@ -3,33 +3,43 @@
text="{{ 'user.access.tokens.text' | translate }}" text="{{ 'user.access.tokens.text' | translate }}"
[labelColumnContent]="commonToolbar"> [labelColumnContent]="commonToolbar">
<table mat-table id="user-access-token-table" [dataSource]="dataSource" class="panel smp-data-panel" > <table mat-table id="user-access-token-table" [dataSource]="dataSource"
class="panel smp-data-panel">
<ng-container matColumnDef="accessTokens"> <ng-container matColumnDef="accessTokens">
<th mat-header-cell *matHeaderCellDef>{{ "user.access.tokens.label.access.tokens" | translate }}</th> <th mat-header-cell
*matHeaderCellDef>{{ "user.access.tokens.label.access.tokens" | translate }}
</th>
<td mat-cell *matCellDef="let token" <td mat-cell *matCellDef="let token"
[ngClass]="{'datatable-row-error': token.invalid}" [ngClass]="{'datatable-row-error': token.invalid}"
[matTooltip]="token.name"> [matTooltip]="token.name"
<access-token-panel (onDeleteEvent)="onDeleteItemClicked(token)" class="access-token-panel">
<access-token-panel class="access-token-panel"
(onDeleteEvent)="onDeleteItemClicked(token)"
(onSaveEvent)="onSaveItemClicked(token)" (onSaveEvent)="onSaveItemClicked(token)"
[credential]="token"></access-token-panel> [credential]="token"></access-token-panel>
</td> </td>
<tr mat-header-row class="user-access-token-table-header" *matHeaderRowDef="displayedColumns"></tr> <tr mat-header-row class="user-access-token-table-header"
<tr mat-row class="user-access-token-table-data" *matRowDef="let myRowData; columns: displayedColumns"></tr> *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row class="user-access-token-table-data"
*matRowDef="let myRowData; columns: displayedColumns"></tr>
</ng-container> </ng-container>
</table> </table>
<mat-paginator class="mat-elevation-z2" id="tokens-paginator" <mat-paginator class="mat-elevation-z2" id="tokens-paginator"
[hidePageSize]="true" [hidePageSize]="true"
[pageSize]="5" attr.aria-label="{{ 'user.access.tokens.label.select.page' | translate }}"></mat-paginator> [pageSize]="5"
attr.aria-label="{{ 'user.access.tokens.label.select.page' | translate }}"></mat-paginator>
</data-panel> </data-panel>
</div> </div>
<ng-template #commonToolbar> <ng-template #commonToolbar>
<button id="createAccessTokenButton" mat-raised-button color="primary" matTooltip="{{ 'user.access.tokens.tooltip.create' | translate }}" style="margin: 2em " <button id="createAccessTokenButton" mat-raised-button color="primary"
(click)="createNewAccessToken()"> matTooltip="{{ 'user.access.tokens.tooltip.create' | translate }}"
style="margin: 2em "
(click)="createNewAccessToken()">
<mat-icon>key</mat-icon> <mat-icon>key</mat-icon>
<span>{{ "user.access.tokens.button.create" | translate }}</span> <span>{{ "user.access.tokens.button.create" | translate }}</span>
</button> </button>
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#user-access-token-table { #user-access-token-table {
padding: 0; padding: 0;
border: none; border: none;
background-color: transparent !important;
} }
.user-access-token-table-header { .user-access-token-table-header {
...@@ -25,4 +26,5 @@ ...@@ -25,4 +26,5 @@
.user-access-token-table-data td { .user-access-token-table-data td {
padding: 0; padding: 0;
background-color: transparent !important;
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment