more cleanup

This commit is contained in:
Diamantis Tziotzios 2024-06-21 18:39:29 +03:00
parent e94df66fb0
commit d6e8e609b5
42 changed files with 82 additions and 344 deletions

View File

@ -1,5 +1,7 @@
import { Injectable } from '@angular/core';
import { IsActive } from '@app/core/common/enum/is-active.enum';
import { DescriptionPrefillingRequest, PrefillingSearchRequest } from '@app/core/model/description-prefilling-request/description-prefilling-request';
import { Description } from '@app/core/model/description/description';
import { Prefilling, PrefillingSource, PrefillingSourcePersist } from '@app/core/model/prefilling-source/prefilling-source';
import { PrefillingSourceLookup } from '@app/core/query/prefilling-source.lookup';
import { MultipleAutoCompleteConfiguration } from '@app/library/auto-complete/multiple/multiple-auto-complete-configuration';
@ -12,8 +14,6 @@ import { catchError, map } from 'rxjs/operators';
import { nameof } from 'ts-simple-nameof';
import { ConfigurationService } from '../configuration/configuration.service';
import { BaseHttpV2Service } from '../http/base-http-v2.service';
import { DescriptionPrefillingRequest, PrefillingSearchRequest } from '@app/core/model/description-profiling-request/description-profiling-request';
import { Description } from '@app/core/model/description/description';
@Injectable()
export class PrefillingSourceService {

View File

@ -73,7 +73,7 @@ export class EnumUtils {
}
}
toDatasetProfileFieldValidationTypeString(status: ValidationType): string {
toDescriptionTemplateFieldValidationTypeString(status: ValidationType): string {
switch (status) {
case ValidationType.None: return this.language.instant('TYPES.DESCRIPTION-TEMPLATE-FIELD-VALIDATION-TYPE.NONE');
case ValidationType.Required: return this.language.instant('TYPES.DESCRIPTION-TEMPLATE-FIELD-VALIDATION-TYPE.REQUIRED');

View File

@ -1,6 +1,5 @@
<div class="template-container" *ngIf="descriptionTemplate && formGroup">
<div mat-dialog-title class="row d-flex m-0 header">
<!-- <span class="template-title align-self-center" matTooltip="{{descriptionTemplate.label}}">{{'DMP-LISTING.COLUMNS.PROFILE' | translate}} - {{descriptionTemplate.label}}</span> -->
<span class="template-title align-self-center" matTooltip="{{descriptionTemplate.label}}">{{'DESCRIPTION-TEMPLATE-PREVIEW.TEMPLATE' | translate}} - {{descriptionTemplate.label}}</span>
<span class="ml-auto align-self-center" (click)="closeDialog()"><mat-icon class="close-icon">close</mat-icon></span>
</div>

View File

@ -24,7 +24,7 @@ import { takeUntil } from 'rxjs/operators';
})
export class DescriptionTemplatePreviewDialogComponent extends BaseComponent implements OnInit {
datasetProfileDefinitionFormGroup: UntypedFormGroup;
descriptionTemplateDefinitionFormGroup: UntypedFormGroup;
progressIndication = false;
editorModel: DescriptionEditorModel;
formGroup: UntypedFormGroup;

View File

@ -36,7 +36,7 @@ export class DescriptionTemplateEditorFieldSetComponent extends BaseComponent im
@Input() form: UntypedFormGroup;
@Input() viewOnly: boolean;
@Input() datasetProfileId?: string;
@Input() descriptionTemplateId?: string;
@Input() numbering: string;
@Input() hasFocus: boolean = false;
@ -63,7 +63,7 @@ export class DescriptionTemplateEditorFieldSetComponent extends BaseComponent im
private dialog: MatDialog,
private language: TranslateService,
public enumUtils: EnumUtils,
public datasetProfileService: DescriptionTemplateService,
public descriptionTemplateService: DescriptionTemplateService,
private configurationService: ConfigurationService,
public visibilityRulesService: VisibilityRulesService,
private referenceTypeService: ReferenceTypeService,

View File

@ -67,7 +67,7 @@
[availableReferenceTypes]="availableReferenceTypes"
[viewOnly]="viewOnly" [numbering]="numbering + '.'+ (i+1)"
[hasFocus]="fieldset.get('id').value === selectedFieldSetId"
[datasetProfileId]="datasetProfileId"
[descriptionTemplateId]="descriptionTemplateId"
[validationErrorModel]="validationErrorModel"
[validationRootPath]="validationRootPath + '.fieldSets[' + i + ']'"
>

View File

@ -22,7 +22,7 @@ export class DescriptionTemplateEditorSectionFieldSetComponent implements OnInit
@Input() viewOnly: boolean;
@Input() tocentry: ToCEntry;
@Input() datasetProfileId?: string;
@Input() descriptionTemplateId?: string;
@Output() selectedEntryId = new EventEmitter<string>();
@Output() dataNeedsRefresh = new EventEmitter<void>();

View File

@ -3,16 +3,6 @@
<div class="row">
<div class="col-12 d-flex" id="title-column">
<div style="padding-left: 2em;">
<!-- <h3 *ngIf="isNew == true && isClone == false && isNewVersion == false">{{'DESCRIPTION-TEMPLATE-EDITOR.TITLE.NEW-PROFILE' | translate}}</h3>
<h3 *ngIf="isNew == false && isClone == true && isNewVersion == false">
<span *ngIf="isClone">{{'DESCRIPTION-TEMPLATE-EDITOR.TITLE.NEW-PROFILE-CLONE' | translate}}</span>
{{formGroup.get('label').value}}
</h3>
<h3 *ngIf="isNew == false && isClone == false && isNewVersion == true">
<span *ngIf="isNewVersion">{{'DESCRIPTION-TEMPLATE-EDITOR.TITLE.NEW-PROFILE-VERSION' | translate}}</span>
{{formGroup.get('label').value}}
</h3> -->
<!-- <h3 *ngIf="!isNew">{{formGroup.get('label').value}}</h3> -->
<app-navigation-breadcrumb />
</div>
<ng-container *ngTemplateOutlet="actions"></ng-container>
@ -221,7 +211,7 @@
<app-description-template-editor-section-fieldset-component
[tocentry]="selectedTocEntry"
[viewOnly]="formGroup.disabled"
[datasetProfileId]="datasetProfileId"
[descriptionTemplateId]="descriptionTemplateId"
[validationErrorModel]="editorModel.validationErrorModel"
[validationRootPath]="selectedTocEntry.validationRootPath"
[availableReferenceTypes]="availableReferenceTypes"

View File

@ -29,7 +29,7 @@
</div>
<div class="row">
<mat-form-field class="col-12">
<input matInput placeholder="{{'DESCRIPTION-TEMPLATE-LISTING.IMPORT.UPLOAD-XML-NAME'| translate}}" name="datasetBlueprintName" [(ngModel)]="data.name">
<input matInput placeholder="{{'DESCRIPTION-TEMPLATE-LISTING.IMPORT.UPLOAD-XML-NAME'| translate}}" name="descriptionBlueprintName" [(ngModel)]="data.name">
</mat-form-field>
<div class="col-auto">
<button mat-button type="button" class="cancel-btn" (click)="cancel()">{{ data.cancelButton }}</button>

View File

@ -29,7 +29,7 @@
</div>
<div class="row">
<mat-form-field class="col-12">
<input matInput placeholder="{{'DMP-BLUEPRINT-LISTING.IMPORT.UPLOAD-XML-NAME'| translate}}" name="datasetBlueprintName" [(ngModel)]="data.name">
<input matInput placeholder="{{'DMP-BLUEPRINT-LISTING.IMPORT.UPLOAD-XML-NAME'| translate}}" name="descriptionBlueprintName" [(ngModel)]="data.name">
</mat-form-field>
<div class="col-auto">
<button mat-button type="button" class="cancel-btn" (click)="cancel()">{{ data.cancelButton }}</button>

View File

@ -39,12 +39,12 @@
</p>
<div class="row d-flex align-items-center">
<div *ngIf="!this.hasDmps()" class="col-auto p-0 add-dataset-btn d-flex">
<div *ngIf="!this.hasDmps()" class="col-auto p-0 add-description-btn d-flex">
<div class="pr-2">
<button type="button" class="align-self-center normal-btn" (click)="openNewDmpDialog()">{{'DASHBOARD.START-YOUR-FIRST-DMP' | translate}}</button>
</div>
</div>
<div *ngIf="this.hasDmps()" class="col-auto p-0 new-dataset-tour add-dataset-btn col-auto d-flex">
<div *ngIf="this.hasDmps()" class="col-auto p-0 new-description-tour add-description-btn col-auto d-flex">
<div class="pr-2">
<button mat-raised-button type="button" class="align-self-center yellow-btn" (click)="addNewDescription()">{{'DASHBOARD.ACTIONS.ADD-DESCRIPTION' | translate}}</button>
</div>
@ -74,7 +74,7 @@
<app-recent-edited-activity [isActive]="currentType == 'descriptions'" [includeDescriptions]="true" type="descriptions" [selectedType]="currentType"></app-recent-edited-activity>
<div *ngIf="totalDatasets === 0" class="empty-list">{{'DASHBOARD.EMPTY-LIST' | translate}}</div>
<div *ngIf="totalDatasets === 0" class="col-auto d-flex justify-content-center">
<button mat-raised-button class="add-dataset" (click)="addNewDescription()">
<button mat-raised-button class="add-description" (click)="addNewDescription()">
<mat-icon>add</mat-icon> {{'DASHBOARD.ACTIONS.ADD-DESCRIPTION' | translate}}
</button>
</div>

View File

@ -156,7 +156,7 @@
}
.dmp-card,
.dataset-card {
.description-card {
min-width: 712px;
/* min-height: 308px; */
background: #ffffff 0% 0% no-repeat padding-box;
@ -192,7 +192,7 @@ input[type="text"] {
line-height: 2.4;
}
.dataset-label {
.description-label {
// width: 158px;
width: auto;
height: 37px;
@ -214,7 +214,7 @@ input[type="text"] {
}
.dmp-subtitle,
.dataset-subtitle {
.description-subtitle {
.icon-align {
display: inline-flex;
@ -224,7 +224,7 @@ input[type="text"] {
}
}
.dataset-card-actions,
.description-card-actions,
.dmp-card-actions {
display: flex;
flex-direction: row;
@ -233,25 +233,25 @@ input[type="text"] {
color: #848484;
}
.dataset-card-actions a,
.description-card-actions a,
.dmp-card-actions a {
color: #848484 !important;
text-decoration: none !important;
}
.dataset-card-actions a:hover,
.description-card-actions a:hover,
.dmp-card-actions a:hover {
color: var(--primary-color) !important;
}
.dmp-dataset-descriptions-title {
.dmp-description-descriptions-title {
color: #000000;
opacity: 0.6;
padding-top: 1.5rem;
padding-bottom: 0.8rem;
}
.dmp-dataset-descriptions-name {
.dmp-description-descriptions-name {
color: #000000;
opacity: 0.6;
font-weight: 700;
@ -300,7 +300,7 @@ input[type="text"] {
justify-content: center;
}
.add-dataset {
.add-description {
background: var(--secondary-color) 0% 0% no-repeat padding-box;
box-shadow: 0px 3px 6px #1e202029;
border-radius: 30px;
@ -333,7 +333,7 @@ input[type="text"] {
// top: 7px;
}
.add-dataset-btn {
.add-description-btn {
height: 40px;
margin-left: 40px;
}

View File

@ -188,7 +188,7 @@ export class DashboardComponent extends BaseComponent implements OnInit {
closeAction: () => this.dialog.closeAll()
},
{
selector: '.new-dataset-tour',
selector: '.new-description-tour',
content: 'Step 4',
orientation: Orientation.BottomLeft,
isStepUnique: false,

View File

@ -23,19 +23,6 @@ input[type="text"] {
line-height: 2.4;
}
.dataset-label {
width: auto;
height: 37px;
background: var(--secondary-color) 0% 0% no-repeat padding-box;
border-radius: 4px 0px;
text-align: left;
line-height: 2.8;
font-size: 0.875rem;
letter-spacing: 0px;
color: #212121;
font-weight: 400;
}
.icon-align {
display: inline-flex;
vertical-align: middle;
@ -43,7 +30,7 @@ input[type="text"] {
/* padding-bottom: 0.4rem; */
}
.dataset-card-actions,
.description-card-actions,
.dmp-card-actions {
display: flex;
flex-direction: row;
@ -52,7 +39,7 @@ input[type="text"] {
color: #848484;
}
.dataset-card-actions,
.description-card-actions,
.dmp-card-actions {
display: flex;
flex-direction: row;
@ -61,25 +48,25 @@ input[type="text"] {
color: #848484;
}
.dataset-card-actions a,
.description-card-actions a,
.dmp-card-actions a {
color: #848484 !important;
text-decoration: none !important;
}
.dataset-card-actions a:hover,
.description-card-actions a:hover,
.dmp-card-actions a:hover {
color: var(--primary-color) !important;
}
.dmp-dataset-descriptions-title {
.dmp-description-descriptions-title {
color: #000000;
opacity: 0.6;
padding-top: 1.5rem;
padding-bottom: 0.8rem;
}
.dmp-dataset-descriptions-name {
.dmp-description-descriptions-name {
color: #000000;
opacity: 0.6;
font-weight: 700;

View File

@ -1,4 +1,4 @@
<div class="dataset-copy-dialog">
<div class="description-copy-dialog">
<div mat-dialog-title class="row d-flex flex-row">
<div mat-dialog-title class="col-auto">{{'DESCRIPTION-COPY-DIALOG.TITLE' | translate}}</div>
<div class="col-auto ml-auto close-btn" (click)="close()"><mat-icon class="close-icon">close</mat-icon></div>

View File

@ -6,7 +6,7 @@
cursor: pointer;
}
.dataset-copy-dialog {
.description-copy-dialog {
margin-bottom: 1.125rem;
}

View File

@ -21,7 +21,7 @@
<div class="row">
<h5 *ngIf="placeholderTitle" class="col-auto font-weight-bold">{{field.label}}</h5>
</div>
<app-description-form-field [propertiesFormGroup]="fieldSetItemPropertiesControl.get('fields')" [field]="field" [fieldSet]="fieldSet" [visibilityRulesService]="visibilityRulesService" [datasetProfileId]="datasetProfileId" [isChild]="true"></app-description-form-field>
<app-description-form-field [propertiesFormGroup]="fieldSetItemPropertiesControl.get('fields')" [field]="field" [fieldSet]="fieldSet" [visibilityRulesService]="visibilityRulesService" [descriptionTemplateId]="descriptionTemplateId" [isChild]="true"></app-description-form-field>
</ng-container>
</div>
</div>

View File

@ -40,7 +40,7 @@ export class DescriptionFormFieldSetComponent extends BaseComponent {
isVisibleByVisibilityService: boolean = true;
@Input() visibilityRulesService: VisibilityRulesService;
@Input() path: String;
@Input() datasetProfileId: String;
@Input() descriptionTemplateId: String;
@Input() isChild: Boolean = false;
@Input() showDelete: Boolean = false;
@Input() tocentry: ToCEntry;

View File

@ -42,7 +42,7 @@ export class DescriptionFormFieldComponent extends BaseComponent implements OnIn
@Input() visibilityRulesService: VisibilityRulesService;
isRequired: boolean = false;
@Input() datasetProfileId: any;
@Input() descriptionTemplateId: any;
@Input() isChild: Boolean = false;
@Input() detectChangesObservable: Observable<any>;

View File

@ -27,7 +27,7 @@ export class DescriptionFormSectionComponent extends BaseComponent implements On
@Input() descriptionId: Guid;
// @Input() datasetProfileId: String;
// @Input() descriptionTemplateId: String;
// @Input() form: UntypedFormGroup;
@Input() tocentry: ToCEntry;
@Input() pathName: string;

View File

@ -1,5 +1,5 @@
import { UntypedFormBuilder, UntypedFormGroup, Validators } from "@angular/forms";
import { DescriptionPrefillingRequest, DescriptionPrefillingRequestData } from "@app/core/model/description-profiling-request/description-profiling-request";
import { DescriptionPrefillingRequest, DescriptionPrefillingRequestData } from "@app/core/model/description-prefilling-request/description-prefilling-request";
import { BackendErrorValidator } from "@common/forms/validation/custom-validator";
import { ValidationErrorModel } from "@common/forms/validation/error-model/validation-error-model";
import { Validation, ValidationContext } from "@common/forms/validation/validation-context";

View File

@ -1,7 +1,7 @@
import { Component, Inject, OnInit } from "@angular/core";
import { UntypedFormGroup } from "@angular/forms";
import { MAT_DIALOG_DATA, MatDialogRef } from "@angular/material/dialog";
import { DescriptionPrefillingRequest, PrefillingSearchRequest } from "@app/core/model/description-profiling-request/description-profiling-request";
import { DescriptionPrefillingRequest, PrefillingSearchRequest } from "@app/core/model/description-prefilling-request/description-prefilling-request";
import { DescriptionTemplate } from "@app/core/model/description-template/description-template";
import { Dmp } from "@app/core/model/dmp/dmp";
import { Prefilling } from "@app/core/model/prefilling-source/prefilling-source";

View File

@ -199,7 +199,7 @@ export class DescriptionListingComponent extends BaseListingComponent<BaseDescri
isStepUnique: false
},
{
selector: '.dataset-tour',
selector: '.description-tour',
content: 'Step 2',
orientation: Orientation.Right,
isStepUnique: false,

View File

@ -644,7 +644,6 @@ export class DmpEditorComponent extends BaseEditor<DmpEditorModel, Dmp> implemen
error => this.onCallbackError(error)
);
}
// this.formGroup.get('datasets')['controls'].splice(index, 1);
this.step = 0;
}
});

View File

@ -1,24 +0,0 @@
<div class="form-container">
<div mat-dialog-title class="row d-flex justify-content-end m-0" (click)="closeDialog()">
<mat-icon class="close-icon">close</mat-icon>
</div>
<div class="row d-flex pt-2 pb-2">
<div class="col">
<div mat-dialog-content class="row">
<div class="col-auto">
<span>{{'GENERAL.DMP-TO-DESCRIPTION-DIALOG.FROM-DMP' | translate}} </span>
<span class="color-green">{{'GENERAL.DMP-TO-DESCRIPTION-DIALOG.DMP' | translate}}</span>.
<span> {{'GENERAL.DMP-TO-DESCRIPTION-DIALOG.TO-DESCRIPTION' | translate}} </span>
<span class="color-yellow">{{'GENERAL.DMP-TO-DESCRIPTION-DIALOG.DESCRIPTION' | translate}} </span>
<span>{{'GENERAL.DMP-TO-DESCRIPTION-DIALOG.EDITOR' | translate}}.</span>
</div>
</div>
<div mat-mat-dialog-actions class="row mt-4 pl-3">
<div class="col-auto">
<button mat-raised-button type="button" class="start-btn" (click)="start()">{{'GENERAL.DMP-TO-DESCRIPTION-DIALOG.START' | translate}}</button>
</div>
</div>
</div>
<img class="col-auto ml-auto laptop-img" src="../../../assets/images/guided-tour-side.png" width="116" height="139">
</div>
</div>

View File

@ -1,59 +0,0 @@
.form-container {
}
.close-icon {
cursor: pointer;
margin-right: 20px;
padding: .4rem;
width: auto !important;
height: auto !important;
}
.close-icon:hover {
background-color: #ECECED !important;
border-radius: 50%;
}
.title {
font-size: 2.375em;
font-weight: lighter;
color: #000000;
opacity: 0.8;
margin-bottom: 0.842em;
}
.content {
width: 31em;
margin: 0px;
padding: 0px;
}
::ng-deep .mat-dialog-container {
border-radius: 8px;
}
.laptop-img {
padding-left: 0;
margin-top: 1.5rem;
}
.start-btn {
background: var(--primary-color) 0% 0% no-repeat padding-box;
border: 1px solid var(--primary-color);
border-radius: 30px;
opacity: 1;
min-width: 101px;
height: 43px;
color: #ffffff;
font-weight: 500;
}
.color-green {
color: var(--primary-color);
font-weight: 500;
}
.color-yellow {
color: #FCD431;
font-weight: 500;
}

View File

@ -1,27 +0,0 @@
import { Component, Inject, OnInit } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
@Component({
selector: 'app-to-dataset-dialog-component',
templateUrl: 'dmp-to-description-dialog.component.html',
styleUrls: ['./dmp-to-description-dialog.component.scss'],
})
export class DmpToDescriptionDialogComponent implements OnInit {
constructor(
public dialogRef: MatDialogRef<DmpToDescriptionDialogComponent>,
@Inject(MAT_DIALOG_DATA) public data: any
) { }
ngOnInit(): void {
}
start(): void {
this.dialogRef.close(true);
}
closeDialog(): void {
this.dialogRef.close();
}
}

View File

@ -1,18 +0,0 @@
<h4 mat-dialog-title>{{ 'DMP-EDITOR.DESCRIPTION-TEMPLATE-LIST.TITLE' | translate }}</h4>
<div mat-dialog-content>
<mat-selection-list #datasetsprofiles [ngModel]="selectedOptions" >
<mat-list-option *ngFor="let profile of profiles" [value]="profile" [selected]='isOptionSelected(profile)' class="mb-1">
<div class="list-option">
<div class="list-option-inner">
{{profile.label}}
<br *ngIf="profile.description">
<small *ngIf="profile.description" [innerHTML]="profile.description"></small>
</div>
</div>
</mat-list-option>
</mat-selection-list>
<p>
{{ 'DMP-EDITOR.DESCRIPTION-TEMPLATE-LIST.TEXT' | translate }} {{datasetsprofiles.selectedOptions.selected.length}}
</p>
<button mat-raised-button color="primary" (click)="addProfiles(datasetsprofiles)">{{ 'DMP-EDITOR.DESCRIPTION-TEMPLATE-LIST.OK' | translate }}</button>
</div>

View File

@ -1,25 +0,0 @@
.list-option-inner {
flex-grow: 1;
white-space: nowrap;
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
}
.list-option {
width: calc(100% - 16px);
flex-grow: 1;
display: -webkit-box;
-webkit-box-orient: vertical;
-moz-box-orient: vertical;
-ms-box-orient: vertical;
box-orient: vertical;
-webkit-line-clamp: 2;
-moz-line-clamp: 2;
-ms-line-clamp: 2;
line-clamp: 2;
}
::ng-deep .mat-list-text {
max-height: 100%;
}

View File

@ -1,58 +0,0 @@
import { Component, Inject, OnInit } from '@angular/core';
import { UntypedFormGroup } from '@angular/forms';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { BaseComponent } from '@common/base/base.component';
import { takeUntil } from 'rxjs/operators';
@Component({
styleUrls: ['available-profiles.component.scss'],
selector: 'app-available-profiles-component',
templateUrl: 'available-profiles.component.html',
})
export class AvailableProfilesComponent extends BaseComponent implements OnInit {
public formGroup: UntypedFormGroup;
public profiles: DatasetProfileModel[] = [];
public selectedProfiles: DatasetProfileModel[] = [];
public selectedOptions: any;
constructor(
private datasetService: DatasetService,
private dialogRef: MatDialogRef<AvailableProfilesComponent>,
@Inject(MAT_DIALOG_DATA) public data: any
) { super(); }
ngOnInit(): void {
this.formGroup = this.data['profiles'];
const fields: Array<string> = new Array<string>();
fields.push('asc');
const profileRequestItem: DataTableRequest<DatasetProfileCriteria> = new DataTableRequest(0, null, { fields: fields });
profileRequestItem.criteria = new DatasetProfileCriteria();
profileRequestItem.criteria.like = '';
this.datasetService.getDatasetProfiles(profileRequestItem)
.pipe(takeUntil(this._destroyed))
.subscribe(data => {
const dataArray = data;
dataArray.sort((a,b)=> (a.label as string).localeCompare(b.label));
this.profiles = dataArray;
});
}
addProfiles(profiles) {
profiles.selectedOptions.selected.forEach(element => {
const selectedElement = {
id: element.value.id,
label: element.value.label,
description: element.value.description
}
this.selectedProfiles.push(selectedElement);
});
this.formGroup.setValue(this.selectedProfiles);
this.dialogRef.close();
}
isOptionSelected(profile: any) {
return this.formGroup.value ? this.formGroup.value.map(x => x.id).indexOf(profile.id) !== -1 : null;
}
}

View File

@ -138,7 +138,7 @@ export class DmpListingComponent extends BaseComponent implements OnInit {
}
public dashboardTour: GuidedTour = {
tourId: 'dmp-dataset-tour',
tourId: 'dmp-description-tour',
useOrb: true,
steps: [
{
@ -148,7 +148,7 @@ export class DmpListingComponent extends BaseComponent implements OnInit {
isStepUnique: false
},
{
selector: '.dataset-tour',
selector: '.description-tour',
content: 'Step 2',
orientation: Orientation.Right,
isStepUnique: false,
@ -336,16 +336,16 @@ export class DmpListingComponent extends BaseComponent implements OnInit {
this.dashboardTour.steps[0].title = dmpText;
}
public setDashboardTourDatasetText(): void {
const datasetText = this.language.instant('DESCRIPTION-LISTING.TEXT-INFO') + '\n\n' +
public setDashboardTourDescriptionText(): void {
const descriptionText = this.language.instant('DESCRIPTION-LISTING.TEXT-INFO') + '\n\n' +
this.language.instant('DESCRIPTION-LISTING.TEXT-INFO-QUESTION') + ' ' +
this.language.instant('DESCRIPTION-LISTING.GET-IDEA');
this.dashboardTour.steps[1].title = datasetText;
this.dashboardTour.steps[1].title = descriptionText;
}
public restartTour(): void {
this.setDashboardTourDmpText();
this.setDashboardTourDatasetText();
this.setDashboardTourDescriptionText();
this.guidedTourService.startTour(this.dashboardTour);
}

View File

@ -17,12 +17,12 @@
<span>.</span>
<span class="col">{{ 'DMP-LISTING.GRANT' | translate }}: {{referenceService.getReferencesForTypesFirstSafe(dmp?.dmpReferences, [this.referenceTypeService.getGrantReferenceType()])?.reference?.label}}</span>
</div>
<div class="col-auto dmp-dataset-descriptions-title">{{'DMP-LISTING.CONTAINED-DESCRIPTIONS' | translate}}: ({{ dmp.descriptions?.length }})
<div class="col-auto dmp-description-descriptions-title">{{'DMP-LISTING.CONTAINED-DESCRIPTIONS' | translate}}: ({{ dmp.descriptions?.length }})
</div>
<div *ngFor="let description of dmp.descriptions; let i = index; let last = last" [ngClass]="{'pb-3': i === dmp.descriptions?.length - 1}">
<div *ngIf="i < 3">
<div class="col-auto dmp-dataset-descriptions-name" *ngIf="!last && i !== 2">{{description.label}},</div>
<div class="col-auto dmp-dataset-descriptions-name" *ngIf="last || i == 2">{{description.label}}</div>
<div class="col-auto dmp-description-descriptions-name" *ngIf="!last && i !== 2">{{description.label}},</div>
<div class="col-auto dmp-description-descriptions-name" *ngIf="last || i == 2">{{description.label}}</div>
</div>
</div>
<a class="d-flex justify-content-center pb-3 show-more" *ngIf="dmp.descriptions?.length > 3" [routerLink]="isPublic ? this.routerUtils.generateUrl(['/explore-plans/overview/public/', dmp.id]) : this.routerUtils.generateUrl(['/plans/overview/', dmp.id])"><u>{{'GENERAL.ACTIONS.SHOW-MORE' | translate}}</u></a>

View File

@ -40,11 +40,11 @@ h4 > span {
// color: rgb(70, 135, 240);
// }
.datasets-counter {
.descriptions-counter {
display: flex;
}
.datasets-counter :hover {
.descriptions-counter :hover {
color: var(--primary-color-3) !important;
}
@ -112,7 +112,7 @@ p {
}
.dmp-card,
.dataset-card {
.description-card {
min-width: 712px;
/* min-height: 308px; */
background: #ffffff 0% 0% no-repeat padding-box;
@ -157,20 +157,8 @@ input[type="text"] {
line-height: 2.4;
}
.dataset-label {
width: auto;
height: 37px;
background: var(--secondary-color) 0% 0% no-repeat padding-box;
border-radius: 4px 0px;
text-align: left;
line-height: 2.8;
font-size: 0.875rem;
letter-spacing: 0px;
color: #212121;
}
.dmp-title,
.dataset-title {
.description-title {
text-align: left;
font-weight: 600;
font-size: 1rem;
@ -180,7 +168,7 @@ input[type="text"] {
color: #212121;
}
.dataset-subtitle,
.description-subtitle,
.dmp-subtitle {
display: flex;
flex-direction: row;
@ -193,7 +181,7 @@ input[type="text"] {
}
.dmp-title-draft,
.dataset-title-draft {
.description-title-draft {
text-align: left;
font-weight: 600;
font-size: 1rem;
@ -209,7 +197,7 @@ input[type="text"] {
}
.dmp-subtitle,
.dataset-subtitle {
.description-subtitle {
.icon-align {
display: inline-flex;
@ -219,7 +207,7 @@ input[type="text"] {
}
}
.dataset-card-actions,
.description-card-actions,
.dmp-card-actions {
display: flex;
flex-direction: row;
@ -228,25 +216,25 @@ input[type="text"] {
color: #848484;
}
.dataset-card-actions a,
.description-card-actions a,
.dmp-card-actions a {
color: #848484 !important;
text-decoration: none !important;
}
.dataset-card-actions a:hover,
.description-card-actions a:hover,
.dmp-card-actions a:hover {
color: var(--primary-color) !important;
}
.dmp-dataset-descriptions-title {
.dmp-description-descriptions-title {
color: #000000;
opacity: 0.6;
padding-top: 1.5rem;
padding-bottom: 0.8rem;
}
.dmp-dataset-descriptions-name {
.dmp-description-descriptions-name {
color: #000000;
opacity: 0.6;
font-weight: 700;

View File

@ -106,14 +106,6 @@ export class DmpListingItemComponent extends BaseComponent implements OnInit {
});
}
editClicked(dmpId: String) { //not used
this.router.navigate([this.routerUtils.generateUrl('/plans/edit/' + dmpId)]);
}
showDatasets(rowId: String, rowLabel: String) { //not used
this.router.navigate(['/datasets/dmp/' + rowId, { dmpLabel: rowLabel }]);
}
viewVersions(dmp: Dmp) {
if (dmp.accessType == DmpAccessType.Public && dmp.status == DmpStatus.Finalized && !this.dmp.authorizationFlags?.some(x => x === AppPermission.EditDmp)) {
let url = this.router.createUrlTree(['/explore-plans/versions/', dmp.groupId]);

View File

@ -13,6 +13,7 @@ import { ConfigurationService } from '@app/core/services/configuration/configura
import { LanguageService } from '@app/core/services/language/language.service';
import { AnalyticsService } from '@app/core/services/matomo/analytics-service';
import { ProgressIndicationService } from '@app/core/services/progress-indication/progress-indication-service';
import { RouterUtilsService } from '@app/core/services/router/router-utils.service';
import { SideNavService } from '@app/core/services/sidenav/side-nav.sevice';
import { StorageFileService } from '@app/core/services/storage-file/storage-file.service';
import { TenantConfigurationService } from '@app/core/services/tenant-configuration/tenant-configuration.service';
@ -26,7 +27,6 @@ import { nameof } from 'ts-simple-nameof';
import { StartNewDmpDialogComponent } from '../dmp/new/start-new-dmp-dialogue/start-new-dmp-dialog.component';
import { FaqDialogComponent } from '../faq/dialog/faq-dialog.component';
import { UserDialogComponent } from './user-dialog/user-dialog.component';
import { RouterUtilsService } from '@app/core/services/router/router-utils.service';
@Component({
selector: 'app-navbar',
@ -36,7 +36,6 @@ import { RouterUtilsService } from '@app/core/services/router/router-utils.servi
export class NavbarComponent extends BaseComponent implements OnInit {
userName: string = '';
progressIndication = false;
//private listTitles: any[];
location: Location;
mobile_menu_visible: any = 0;
private toggleButton: any;
@ -173,8 +172,6 @@ export class NavbarComponent extends BaseComponent implements OnInit {
body.classList.remove('nav-open');
};
sidebarToggle() {
// const toggleButton = this.toggleButton;
// const body = document.getElementsByTagName('body')[0];
var $toggle = document.getElementsByClassName('navbar-toggler')[0];
if (this.sidebarVisible === false) {

View File

@ -11,7 +11,7 @@
</a>
<a class="nav-link nav-row" *ngIf="groupMenuRoute.path === '/descriptions'" [routerLink]="[routerUtils.generateUrl(groupMenuRoute.path)]">
<span class="mb-3 inner-line"></span>
<div class="pl-0 pt-1 pb-1 container-fluid nav-subrow dataset-tour">
<div class="pl-0 pt-1 pb-1 container-fluid nav-subrow description-tour">
<i class="mb-1 material-symbols-outlined icon">{{ groupMenuRoute.icon }}</i>
<i class="mb-1 material-symbols-outlined icon-mask">person</i>
<span class="pl-0 mt-1" style="text-wrap: wrap;">{{groupMenuRoute.title | translate}}</span>

View File

@ -31,14 +31,11 @@ export class SidebarComponent implements OnInit {
generalItems: GroupMenuItem;
dmpItems: GroupMenuItem;
adminItems: GroupMenuItem;
datasetTemplateItems: GroupMenuItem;
// historyItems: GroupMenuItem;
datasetItems: GroupMenuItem;
descriptionItems: GroupMenuItem;
grantItems: GroupMenuItem;
publicItems: GroupMenuItem;
infoItems: GroupMenuItem;
groupMenuItems: GroupMenuItem[] = [];
private toggleButton: any;
currentRoute: string;
constructor(
@ -84,14 +81,14 @@ export class SidebarComponent implements OnInit {
if (this.authentication.hasPermission(AppPermission.ViewMyDescriptionPage)) this.dmpItems.routes.push({ path: '/descriptions', title: 'SIDE-BAR.MY-DESCRIPTIONS', icon: 'dns' });
this.groupMenuItems.push(this.dmpItems);
this.datasetItems = {
this.descriptionItems = {
title: 'SIDE-BAR.DESCRIPTIONS',
routes: [],
}
if (this.authentication.hasPermission(AppPermission.ViewPublicDmpPage)) this.datasetItems.routes.push({ path: '/explore-plans', title: 'SIDE-BAR.PUBLIC-DMPS', icon: 'library_books' });
if (this.authentication.hasPermission(AppPermission.ViewPublicDescriptionPage)) this.datasetItems.routes.push({ path: '/explore-descriptions', title: 'SIDE-BAR.PUBLIC-DESC', icon: 'dns' });
this.groupMenuItems.push(this.datasetItems);
if (this.authentication.hasPermission(AppPermission.ViewPublicDmpPage)) this.descriptionItems.routes.push({ path: '/explore-plans', title: 'SIDE-BAR.PUBLIC-DMPS', icon: 'library_books' });
if (this.authentication.hasPermission(AppPermission.ViewPublicDescriptionPage)) this.descriptionItems.routes.push({ path: '/explore-descriptions', title: 'SIDE-BAR.PUBLIC-DESC', icon: 'dns' });
this.groupMenuItems.push(this.descriptionItems);
this.publicItems = {
title: 'SIDE-BAR.PUBLIC',

View File

@ -9,8 +9,8 @@ import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
})
export class AddAccountDialogComponent implements OnInit {
datasetProfileDefinitionModel: any;
datasetProfileDefinitionFormGroup: UntypedFormGroup;
descriptionTemplateDefinitionModel: any;
descriptionTemplateDefinitionFormGroup: UntypedFormGroup;
progressIndication = false;
form: FormGroup;

View File

@ -1,7 +1,7 @@
[
"DatasetProfileEditorModel.description",
"DatasetProfileEditorModel.type",
"DatasetProfileEditorModel.label",
"DescriptionTemplateEditorModel.description",
"DescriptionTemplateEditorModel.type",
"DescriptionTemplateEditorModel.label",
"SectionEditorModel.title",
"SectionEditorModel.description",
"FieldSetEditorModel.title",

View File

@ -97,7 +97,7 @@ export class NotifierListEditorComponent extends BasePendingChangesComponent imp
this.getExistingSelections();
} catch {
this.notificationTrackingProcess = NotificationTrackingProcess.ERROR;
this.logger.error('Could not parse Dataset: ' + data);
this.logger.error('Could not parse Description: ' + data);
this.uiNotificationService.snackBarNotification(this.language.instant('COMMONS.ERRORS.DEFAULT'), SnackBarNotificationLevel.Error);
}
},
@ -117,7 +117,7 @@ export class NotifierListEditorComponent extends BasePendingChangesComponent imp
this.buildForm();
} catch {
this.notificationTrackingProcess = NotificationTrackingProcess.ERROR;
this.logger.error('Could not parse Dataset: ' + data);
this.logger.error('Could not parse Description: ' + data);
this.uiNotificationService.snackBarNotification(this.language.instant('COMMONS.ERRORS.DEFAULT'), SnackBarNotificationLevel.Error);
}
},

View File

@ -60,7 +60,7 @@ export class UserProfileNotifierListEditorComponent extends BaseComponent implem
this.getExistingSelections();
} catch {
this.notificationTrackingProcess = NotificationTrackingProcess.ERROR;
this.logger.error('Could not parse Dataset: ' + data);
this.logger.error('Could not parse Description: ' + data);
this.uiNotificationService.snackBarNotification(this.language.instant('COMMONS.ERRORS.DEFAULT'), SnackBarNotificationLevel.Error);
}
},
@ -84,7 +84,7 @@ export class UserProfileNotifierListEditorComponent extends BaseComponent implem
this.notificationTrackingProcess = NotificationTrackingProcess.SUCCESSFUL;
} catch {
this.notificationTrackingProcess = NotificationTrackingProcess.ERROR;
this.logger.error('Could not parse Dataset: ' + data);
this.logger.error('Could not parse Description: ' + data);
this.uiNotificationService.snackBarNotification(this.language.instant('COMMONS.ERRORS.DEFAULT'), SnackBarNotificationLevel.Error);
}
},