-

{{titlePrefix}} {{'DATASET-PROFILE-LISTING.TITLE' | translate}}

- - +
+
+

{{titlePrefix}} {{'DATASET-PROFILE-LISTING.TITLE' | translate}}

+
+
+
+ + +
+
+
+
+
+ +
+
+ +
+ + @@ -31,12 +48,12 @@ {{'DATASET-PROFILE-LISTING.COLUMNS.STATUS' | translate}} - {{ (row.status | parseStatus) | translate}} +
{{ (row.status | parseStatus) | translate}}
- {{'DATASET-PROFILE-LISTING.COLUMNS.ACTIONS' | translate}} + @@ -53,7 +70,7 @@ @@ -63,14 +80,10 @@
+ - - -
- +
diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/listing/dataset-profile-listing.component.scss b/dmp-frontend/src/app/ui/admin/dataset-profile/listing/dataset-profile-listing.component.scss index b2318bf16..5696518c5 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/listing/dataset-profile-listing.component.scss +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/listing/dataset-profile-listing.component.scss @@ -1,9 +1,14 @@ .dataset-profile-listing { margin-top: 1rem; + margin-left: 1rem; + margin-right: 2rem; } .mat-table { - margin: 24px; + margin-top: 47px; + margin-bottom: 20px; + border-radius: 4px; + } .mat-fab-bottom-right { @@ -16,6 +21,10 @@ z-index: 5; } +.mat-header-row{ + background: #f3f5f8; +} + .full-width { width: 100%; } @@ -26,20 +35,39 @@ .mat-row { cursor: pointer; + min-height: 4.5em; } mat-row:hover { - background-color: lightgray; + background-color: #eef5f6; } +.status-chip{ + + border-radius: 20px; + padding-left: 1em; + padding-right: 1em; + padding-top: 0.2em; + font-size: .8em; +} + +.status-chip-finalized{ + color: #568b5a; + background: #9dd1a1 0% 0% no-repeat padding-box; +} + +.status-chip-draft{ + color: #00c4ff; + background: #d3f5ff 0% 0% no-repeat padding-box; +} // mat-row:nth-child(even){ // background-color:red; // } -mat-row:nth-child(odd) { - background-color: #0c748914; - // background-color: #eef0fb; -} +// mat-row:nth-child(odd) { +// background-color: #0c748914; +// // background-color: #eef0fb; +// } ::ng-deep .mat-paginator-container { flex-direction: row-reverse !important; @@ -71,3 +99,20 @@ mat-row:nth-child(odd) { height: 30px !important; font-size: 12px !important; } + +.import-btn { + background: #ffffff 0% 0% no-repeat padding-box; + border-radius: 30px; + // color: #129d99; + // border: 1px solid #129d99; + padding-left: 2em; + padding-right: 2em; + color: #000; + border: 1px solid #000; +} +.create-btn { + border-radius: 30px; + background-color: #f7dd72; + padding-left: 2em; + padding-right: 2em; +} \ No newline at end of file diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/listing/dataset-profile-listing.component.ts b/dmp-frontend/src/app/ui/admin/dataset-profile/listing/dataset-profile-listing.component.ts index 0b17a2951..82a6be1f5 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/listing/dataset-profile-listing.component.ts +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/listing/dataset-profile-listing.component.ts @@ -1,9 +1,11 @@ import { DataSource } from '@angular/cdk/table'; import { HttpClient } from '@angular/common/http'; import { Component, OnInit, ViewChild } from '@angular/core'; +import { MatDialog } from '@angular/material/dialog'; import { MatPaginator, PageEvent } from '@angular/material/paginator'; import { MatSort } from '@angular/material/sort'; import { ActivatedRoute, Params, Router } from '@angular/router'; +import { DatasetStatus } from '@app/core/common/enum/dataset-status'; import { DataTableRequest } from '@app/core/model/data-table/data-table-request'; import { DatasetListingModel } from '@app/core/model/dataset/dataset-listing'; import { DmpModel } from '@app/core/model/dmp/dmp'; @@ -18,6 +20,8 @@ import { BaseComponent } from '@common/base/base.component'; import { TranslateService } from '@ngx-translate/core'; import { merge as observableMerge, Observable, of as observableOf } from 'rxjs'; import { map, startWith, switchMap, takeUntil } from 'rxjs/operators'; +import { DialogConfirmationUploadDatasetProfiles } from './criteria/dialog-confirmation-upload-profile/dialog-confirmation-upload-profiles.component'; +import { ParseStatus } from './pipe/parse-status.pipe'; @Component({ selector: 'app-dataset-profile-listing-component', @@ -46,7 +50,8 @@ export class DatasetProfileListingComponent extends BaseComponent implements OnI private language: TranslateService, private uiNotificationService: UiNotificationService, private httpClient: HttpClient, - private matomoService: MatomoService + private matomoService: MatomoService, + private dialog: MatDialog ) { super(); } @@ -122,6 +127,41 @@ export class DatasetProfileListingComponent extends BaseComponent implements OnI // debugger; // this.datasetService.makeDatasetPublic(id).pipe(takeUntil(this._destroyed)).subscribe(); // } + + openDialog(): void { + const dialogRef = this.dialog.open(DialogConfirmationUploadDatasetProfiles, { + width: '500px', + restoreFocus: false, + data: { + message: this.language.instant('DATASET-WIZARD.UPLOAD.UPLOAD-XML-FILE-TITLE'), + confirmButton: this.language.instant('DATASET-WIZARD.UPLOAD.UPLOAD-XML'), + cancelButton: this.language.instant('DATASET-WIZARD.UPLOAD.UPLOAD-XML-FILE-CANCEL'), + name: "", + file: FileList, + sucsess: false + } + }); + dialogRef.afterClosed().pipe(takeUntil(this._destroyed)).subscribe(data => { + if (data && data.sucsess && data.name != null && data.file != null) { + this.datasetService.uploadFile(data.file, data.name) + .pipe(takeUntil(this._destroyed)) + .subscribe(); + } + }); + } + + /** + * gets as a a pameter a number representing the status and returns the class that is applied + * to status-chip */ + getStatusClass(status: DatasetStatus):string{ + + if(status == DatasetStatus.Finalized){ + return 'status-chip-finalized' + } + + return 'status-chip-draft'; + } + } export class DatasetDataSource extends DataSource { diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/listing/pipe/parse-status.pipe.ts b/dmp-frontend/src/app/ui/admin/dataset-profile/listing/pipe/parse-status.pipe.ts index 33cbd4b8c..82b75d2ab 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/listing/pipe/parse-status.pipe.ts +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/listing/pipe/parse-status.pipe.ts @@ -1,4 +1,5 @@ import { Pipe, PipeTransform } from '@angular/core'; +import { DatasetStatus } from '@app/core/common/enum/dataset-status'; @Pipe({ name: 'parseStatus', @@ -10,7 +11,17 @@ export class ParseStatus implements PipeTransform { } - parseStatus(status: number): string { - return status != 0 ? 'DATASET-PROFILE-STATUS.FINALIZED' : 'DATASET-PROFILE-STATUS.DRAFT'; + parseStatus(status: DatasetStatus): string { + + switch (status) { + case DatasetStatus.Finalized: + return 'DATASET-PROFILE-STATUS.FINALIZED'; + case DatasetStatus.Draft: + return 'DATASET-PROFILE-STATUS.DRAFT'; + case DatasetStatus.Deleted: + return 'DATASET-PROFILE-STATUS.DRAFT.DELETED'; + default: + return 'DATASET-PROFILE-STATUS.DRAFT.NONE'; + } } } diff --git a/dmp-frontend/src/assets/i18n/de.json b/dmp-frontend/src/assets/i18n/de.json index 12b8b6ae5..c10317679 100644 --- a/dmp-frontend/src/assets/i18n/de.json +++ b/dmp-frontend/src/assets/i18n/de.json @@ -1587,6 +1587,7 @@ "DATASET-PROFILE-STATUS": { "NONE": "None", "DRAFT": "Draft", - "FINALIZED": "Finalized" + "FINALIZED": "Finalized", + "DELETED": "Deleted" } } diff --git a/dmp-frontend/src/assets/i18n/en.json b/dmp-frontend/src/assets/i18n/en.json index 24d7e056e..3908440c5 100644 --- a/dmp-frontend/src/assets/i18n/en.json +++ b/dmp-frontend/src/assets/i18n/en.json @@ -1591,6 +1591,7 @@ "DATASET-PROFILE-STATUS": { "NONE": "None", "DRAFT": "Draft", - "FINALIZED": "Finalized" + "FINALIZED": "Finalized", + "DELETED": "Deleted" } -} +} \ No newline at end of file diff --git a/dmp-frontend/src/assets/i18n/es.json b/dmp-frontend/src/assets/i18n/es.json index 9aa30926a..cf1c9f364 100644 --- a/dmp-frontend/src/assets/i18n/es.json +++ b/dmp-frontend/src/assets/i18n/es.json @@ -1587,6 +1587,7 @@ "DATASET-PROFILE-STATUS": { "NONE": "Ninguno", "DRAFT": "Borrador", - "FINALIZED": "Finalizado" + "FINALIZED": "Finalizado", + "DELETED": "Deleted" } } diff --git a/dmp-frontend/src/assets/i18n/gr.json b/dmp-frontend/src/assets/i18n/gr.json index 09d6421a3..1332ffd15 100644 --- a/dmp-frontend/src/assets/i18n/gr.json +++ b/dmp-frontend/src/assets/i18n/gr.json @@ -1587,6 +1587,7 @@ "DATASET-PROFILE-STATUS": { "NONE": "Όλα", "DRAFT": "Πρόχειρα", - "FINALIZED": "Οριστικοποιημένα" + "FINALIZED": "Οριστικοποιημένα", + "DELETED": "Deleted" } } diff --git a/dmp-frontend/src/assets/i18n/sk.json b/dmp-frontend/src/assets/i18n/sk.json index de19ff8da..ed035162a 100644 --- a/dmp-frontend/src/assets/i18n/sk.json +++ b/dmp-frontend/src/assets/i18n/sk.json @@ -1587,6 +1587,7 @@ "DATASET-PROFILE-STATUS": { "NONE": "ˇŽiadny", "DRAFT": "Návrh", - "FINALIZED": "Dokončené" + "FINALIZED": "Dokončené", + "DELETED": "Deleted" } } diff --git a/dmp-frontend/src/assets/i18n/sr.json b/dmp-frontend/src/assets/i18n/sr.json index 6bb34235f..6f2fd7dc1 100644 --- a/dmp-frontend/src/assets/i18n/sr.json +++ b/dmp-frontend/src/assets/i18n/sr.json @@ -1534,6 +1534,7 @@ "DATASET-PROFILE-STATUS": { "NONE": "Nijedan", "DRAFT": "Radna verzija", - "FINALIZED": "Završeno" + "FINALIZED": "Završeno", + "DELETED": "Deleted" } } \ No newline at end of file diff --git a/dmp-frontend/src/assets/i18n/tr.json b/dmp-frontend/src/assets/i18n/tr.json index 9d5e2e006..6f6303d11 100644 --- a/dmp-frontend/src/assets/i18n/tr.json +++ b/dmp-frontend/src/assets/i18n/tr.json @@ -1587,6 +1587,7 @@ "DATASET-PROFILE-STATUS": { "NONE": "Hiç Biri", "DRAFT": "Taslak", - "FINALIZED": "Tamamlandı" + "FINALIZED": "Tamamlandı", + "DELETED": "Deleted" } }