Skip to content
Snippets Groups Projects
Commit c198cc74 authored by Florent POITTEVIN's avatar Florent POITTEVIN
Browse files

refactor: reuse component access level when needed

parent 481841ac
No related branches found
No related tags found
No related merge requests found
......@@ -58,9 +58,7 @@
<div class="access-level"
[class]="colorAccessLevel"
>
<dlcm-shared-icon [iconName]="accessLevelIconName"
class="xlg"
></dlcm-shared-icon>
<dlcm-shared-access-level [accessLevel]="archive.accessLevel"></dlcm-shared-access-level>
<span class="label">{{labelTranslateEnum.accessLevel | translate}}</span>
<span>{{archive.accessLevelToTranslate | translate}}</span>
</div>
......
......@@ -12,9 +12,9 @@ import {Enums} from "@enums";
import {environment} from "@environments/environment";
import {Archive} from "@home/models/archive.model";
import {GetShortDoiWrapper} from "@shared/components/presentationals/shared-doi-menu/shared-doi-menu.presentational";
import {IconNameEnum} from "@shared/enums/icon-name.enum";
import {LabelTranslateEnum} from "@shared/enums/label-translate.enum";
import {ViewModeListEnum} from "@shared/enums/view-mode-list.enum";
import {AccessLevelHelper} from "@shared/helpers/access-level.helper";
import {ObservableOrPromiseOrValue} from "@shared/models/extra-button-toolbar.model";
import {SecurityService} from "@shared/services/security.service";
import {
......@@ -68,7 +68,6 @@ export class HomeArchiveDetailPresentational extends SharedAbstractPresentationa
listInfo: Info[];
accessLevelIconName: IconNameEnum;
colorAccessLevel: "red" | "orange" | "green";
defaultImageArchive: string = `assets/themes/${environment.theme}/toolbar-header-image.svg`;
......@@ -102,28 +101,10 @@ export class HomeArchiveDetailPresentational extends SharedAbstractPresentationa
}
ngOnInit(): void {
this._computeAccessLevelIcon();
this.colorAccessLevel = AccessLevelHelper.getColor(this.archive.accessLevel);
this._defineListInfo();
}
private _computeAccessLevelIcon(): void {
switch (this.archive.accessLevel) {
case Enums.Deposit.AccessEnum.RESTRICTED:
this.accessLevelIconName = IconNameEnum.accessLevelRestricted;
this.colorAccessLevel = "orange";
break;
case Enums.Deposit.AccessEnum.CLOSED:
this.accessLevelIconName = IconNameEnum.accessLevelClosed;
this.colorAccessLevel = "red";
break;
case Enums.Deposit.AccessEnum.PUBLIC:
default:
this.accessLevelIconName = IconNameEnum.accessLevelPublic;
this.colorAccessLevel = "green";
break;
}
}
private _defineListInfo(): void {
this.listInfo = [
{
......
......@@ -22,9 +22,7 @@
<span class="access-level"
[class]="colorAccessLevel"
>
<dlcm-shared-icon [iconName]="accessLevelIconName"
class="xlg"
></dlcm-shared-icon>
<dlcm-shared-access-level [accessLevel]="archive.accessLevel"></dlcm-shared-access-level>
{{archive.accessLevelToTranslate | translate}}
</span>
<span class="size">
......
......@@ -7,10 +7,9 @@ import {
Output,
} from "@angular/core";
import {SharedAbstractPresentational} from "@app/shared/components/presentationals/shared-abstract/shared-abstract.presentational";
import {Enums} from "@enums";
import {environment} from "@environments/environment";
import {Archive} from "@home/models/archive.model";
import {IconNameEnum} from "@shared/enums/icon-name.enum";
import {AccessLevelHelper} from "@shared/helpers/access-level.helper";
import {
BehaviorSubject,
Observable,
......@@ -41,7 +40,6 @@ export class HomeArchiveTilePresentational extends SharedAbstractPresentational
defaultImageArchive: string = `assets/themes/${environment.theme}/toolbar-header-image.svg`;
accessLevelIconName: IconNameEnum;
colorAccessLevel: "red" | "orange" | "green";
constructor() {
......@@ -50,25 +48,7 @@ export class HomeArchiveTilePresentational extends SharedAbstractPresentational
ngOnInit(): void {
super.ngOnInit();
this._computeAccessLevelIcon();
}
private _computeAccessLevelIcon(): void {
switch (this.archive.accessLevel) {
case Enums.Deposit.AccessEnum.RESTRICTED:
this.accessLevelIconName = IconNameEnum.accessLevelRestricted;
this.colorAccessLevel = "orange";
break;
case Enums.Deposit.AccessEnum.CLOSED:
this.accessLevelIconName = IconNameEnum.accessLevelClosed;
this.colorAccessLevel = "red";
break;
case Enums.Deposit.AccessEnum.PUBLIC:
default:
this.accessLevelIconName = IconNameEnum.accessLevelPublic;
this.colorAccessLevel = "green";
break;
}
this.colorAccessLevel = AccessLevelHelper.getColor(this.archive.accessLevel);
}
download(mouseEvent: MouseEvent): void {
......
......@@ -32,7 +32,7 @@ export class SharedAccessLevelPresentational extends SharedAbstractPresentationa
}
@Input()
size: string;
size: string = "xlg";
@Input()
withTooltip: boolean = false;
......
......@@ -447,7 +447,6 @@
<dlcm-shared-access-level *ngSwitchCase="dataTableComponentEnum.accessLevel"
[accessLevel]="getCellData(rowData, col)"
[withTooltip]="true"
[size]="'xlg'"
></dlcm-shared-access-level>
</ng-container>
......
import {Enums} from "@enums";
export class AccessLevelHelper {
static getColor(accessLevel: Enums.Deposit.AccessEnum): "red" | "orange" | "green" {
switch (accessLevel) {
case Enums.Deposit.AccessEnum.RESTRICTED:
return "orange";
case Enums.Deposit.AccessEnum.CLOSED:
return "red";
case Enums.Deposit.AccessEnum.PUBLIC:
default:
return "green";
}
}
}
\ No newline at end of file
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