146 lines
4.5 KiB
TypeScript
146 lines
4.5 KiB
TypeScript
|
|
// import { Component, ViewChild, OnInit, AfterViewInit } from "@angular/core";
|
|
// //import { MatPaginator, MatSort, MatSnackBar } from "@angular/material";
|
|
// import { Router, Params, ActivatedRoute } from "@angular/router";
|
|
|
|
|
|
// import { Observable } from "rxjs/Observable";
|
|
|
|
|
|
|
|
// @Component({
|
|
// selector: 'app-dataset-listing-component',
|
|
// templateUrl: 'dataset-listing.component.html',
|
|
// styleUrls: ['./dataset-listing.component.scss'],
|
|
// providers: [DatasetService, DataManagementPlanService]
|
|
// })
|
|
// export class DatasetListingComponent implements OnInit {
|
|
|
|
// @ViewChild(MatPaginator) _paginator: MatPaginator;
|
|
// @ViewChild(MatSort) sort: MatSort;
|
|
// @ViewChild(DatasetCriteriaComponent) criteria: DatasetCriteriaComponent;
|
|
|
|
|
|
// dataSource: DatasetDataSource | null;
|
|
// displayedColumns: String[] = ['label', 'dmp', 'profile', 'dataRepositories', 'registries', 'services', 'description', 'created', 'actions'];
|
|
// pageEvent: PageEvent;
|
|
// titlePrefix: String;
|
|
// dmpId: String;
|
|
|
|
// statuses = [
|
|
// { value: '0', viewValue: 'Active' },
|
|
// { value: '1', viewValue: 'Inactive' }
|
|
// ];
|
|
|
|
// constructor(
|
|
// private datasetService: DatasetService,
|
|
// private router: Router,
|
|
// private languageService: TranslateService,
|
|
// public snackBar: MatSnackBar,
|
|
// public route: ActivatedRoute,
|
|
// public dataManagementPlanService: DataManagementPlanService
|
|
// ) {
|
|
|
|
// }
|
|
|
|
|
|
// ngOnInit() {
|
|
// this.route.params.subscribe((params: Params) => {
|
|
// this.dmpId = params['dmpId'];
|
|
// if(this.dmpId != null) this.setDmpTitle(this.dmpId);
|
|
// this.criteria.setCriteria(this.getDefaultCriteria(this.dmpId));
|
|
// this.refresh();
|
|
// this.criteria.setRefreshCallback(() => this.refresh());
|
|
// });
|
|
// }
|
|
|
|
// setDmpTitle(dmpId: String) {
|
|
// this.dataManagementPlanService.getSingle(dmpId).map(data => data as DataManagementPlanModel)
|
|
// .subscribe(data => {
|
|
// this.titlePrefix = data.label;
|
|
// });
|
|
// }
|
|
|
|
// refresh() {
|
|
// this.dataSource = new DatasetDataSource(this.datasetService, this._paginator, this.sort, this.languageService, this.snackBar, this.criteria);
|
|
// }
|
|
|
|
// rowClick(rowId: String) {
|
|
// this.router.navigate(['/datasets/edit/' + rowId]);
|
|
// }
|
|
|
|
// getDefaultCriteria(dmpId: String): DatasetCriteria {
|
|
// const defaultCriteria = new DatasetCriteria();
|
|
// if (dmpId != null) {
|
|
// defaultCriteria.dmpIds.push(dmpId);
|
|
// }
|
|
// return defaultCriteria;
|
|
// }
|
|
|
|
// makeItPublic(id:String){debugger;
|
|
// this.datasetService.makeDatasetPublic(id).subscribe();
|
|
// }
|
|
|
|
// }
|
|
|
|
// export class DatasetDataSource extends DataSource<DatasetListingModel> {
|
|
|
|
// totalCount = 0;
|
|
// isLoadingResults = false;
|
|
|
|
// constructor(
|
|
// private _service: DatasetService,
|
|
// private _paginator: MatPaginator,
|
|
// private _sort: MatSort,
|
|
// private _languageService: TranslateService,
|
|
// private _snackBar: MatSnackBar,
|
|
// private _criteria: DatasetCriteriaComponent
|
|
// ) {
|
|
// super();
|
|
|
|
// }
|
|
|
|
// connect(): Observable<DatasetListingModel[]> {
|
|
// const displayDataChanges = [
|
|
// this._paginator.page
|
|
// //this._sort.matSortChange
|
|
// ];
|
|
|
|
|
|
// return Observable.merge(...displayDataChanges)
|
|
// .startWith(null)
|
|
// .switchMap(() => {
|
|
// setTimeout(() => {
|
|
// this.isLoadingResults = true;
|
|
// });
|
|
// const startIndex = this._paginator.pageIndex * this._paginator.pageSize;
|
|
// const request = new DataTableRequest<DatasetCriteria>(startIndex, this._paginator.pageSize);
|
|
// request.criteria = this._criteria.criteria;
|
|
// return this._service.getPaged(request);
|
|
// })
|
|
// /*.catch((error: any) => {
|
|
// this._snackBar.openFromComponent(SnackBarNotificationComponent, {
|
|
// data: { message: 'GENERAL.SNACK-BAR.FORMS-BAD-REQUEST', language: this._languageService },
|
|
// duration: 3000,
|
|
// extraClasses: ['snackbar-warning']
|
|
// });
|
|
// //this._criteria.criteria.onCallbackError(error);
|
|
// return Observable.of(null);
|
|
// })*/
|
|
// .map(result => {
|
|
// setTimeout(() => {
|
|
// this.isLoadingResults = false;
|
|
// });
|
|
// return result;
|
|
// })
|
|
// .map(result => {
|
|
// if (!result) { return []; }
|
|
// if (this._paginator.pageIndex === 0) { this.totalCount = result.totalCount; }
|
|
// return result.data;
|
|
// });
|
|
// }
|
|
|
|
// disconnect() {
|
|
// // No-op
|
|
// }
|
|
// }
|