argos/dmp-frontend/src/app/utilities/utilities.ts

52 lines
1.9 KiB
TypeScript

import { Injectable } from '@angular/core';
import { FormBuilder, FormArray, FormGroup } from '@angular/forms';
import { Principal } from '../models/login/Principal';
import { DMPProfileFieldDataType, DMPProfileType } from '../models/data-management-plan-profile/DataManagementProfileField';
import { DatasetStatus } from '../models/datasets/DatasetWizardModel';
import { TranslateService } from '@ngx-translate/core';
import { DataManagementPlanStatus } from '../models/data-managemnt-plans/DataManagementPlanModel';
@Injectable()
export class Utilities {
constructor(private language: TranslateService) {
}
convertFromPrincipalAppRole(status: Principal.AppRole): string {
switch (status) {
case Principal.AppRole.Admin: return 'TYPES.APP-ROLE.ADMIN';
case Principal.AppRole.User: return 'TYPES.APP-ROLE.USER';
case Principal.AppRole.Manager: return 'TYPES.APP-ROLE.MANAGER';
}
}
convertFromDMPProfileDataType(type: DMPProfileFieldDataType): string {
switch (type) {
case DMPProfileFieldDataType.DATE: return 'TYPES.DMP-PROFILE-FIELD.DATA-TYPE.DATE';
case DMPProfileFieldDataType.NUMBER: return 'TYPES.DMP-PROFILE-FIELD.DATA-TYPE.NUMBER';
case DMPProfileFieldDataType.TEXT: return 'TYPES.DMP-PROFILE-FIELD.DATA-TYPE.TEXT';
}
}
convertFromDMPProfileType(type: DMPProfileType): string {
switch (type) {
case DMPProfileType.INPUT: return 'TYPES.DMP-PROFILE-FIELD.TYPE.INPUT';
}
}
convertFromDatasetStatus(status: DatasetStatus): string {
switch (status) {
case DatasetStatus.Draft: return this.language.instant('TYPES.DATASET-STATUS.DRAFT');
case DatasetStatus.Finalised: return this.language.instant('TYPES.DATASET-STATUS.FINALISED');
}
}
convertFromDMPStatus(status: DataManagementPlanStatus): string {
switch (status) {
case DataManagementPlanStatus.Draft: return this.language.instant('TYPES.DMP.DRAFT');
case DataManagementPlanStatus.Finalised: return this.language.instant('TYPES.DMP.FINALISED');
}
}
}