no message
This commit is contained in:
parent
b64af052c9
commit
72ab2d9513
|
@ -95,7 +95,7 @@ export class DatasetDataSource extends DataSource<DatasetListingModel> {
|
|||
this.isLoadingResults = true;
|
||||
});
|
||||
const startIndex = this._paginator.pageIndex * this._paginator.pageSize;
|
||||
const request = new DataTableRequest(startIndex, this._paginator.pageSize);
|
||||
const request = new DataTableRequest<DatasetCriteria>(startIndex, this._paginator.pageSize);
|
||||
request.criteria = this._criteria.criteria;
|
||||
return this._service.getPaged(request);
|
||||
})
|
||||
|
|
|
@ -10,13 +10,13 @@
|
|||
<!-- Column Definition: Name -->
|
||||
<ng-container cdkColumnDef="name">
|
||||
<mat-header-cell *matHeaderCellDef>{{'DMP-LISTING.COLUMNS.NAME' | translate}}</mat-header-cell>
|
||||
<mat-cell *matCellDef="let row">{{row.name}}</mat-cell>
|
||||
<mat-cell *matCellDef="let row">{{row.label}}</mat-cell>
|
||||
</ng-container>
|
||||
|
||||
<!-- Column Definition: Project -->
|
||||
<ng-container cdkColumnDef="project">
|
||||
<mat-header-cell *matHeaderCellDef>{{'DMP-LISTING.COLUMNS.PROJECT' | translate}}</mat-header-cell>
|
||||
<mat-cell *matCellDef="let row"> {{row.abbreviation}} </mat-cell>
|
||||
<mat-cell *matCellDef="let row"> {{row.project?.label}} </mat-cell>
|
||||
</ng-container>
|
||||
|
||||
<!-- Column Definition: Creation Time -->
|
||||
|
|
|
@ -95,7 +95,7 @@ export class DataManagementPlanDataSource extends DataSource<DataManagementPlanL
|
|||
this.isLoadingResults = true;
|
||||
});
|
||||
const startIndex = this._paginator.pageIndex * this._paginator.pageSize;
|
||||
const request = new DataTableRequest(startIndex, this._paginator.pageSize);
|
||||
const request = new DataTableRequest<DataManagementPlanCriteria>(startIndex, this._paginator.pageSize);
|
||||
request.criteria = this._criteria.criteria;
|
||||
return this._service.getPaged(request);
|
||||
})
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
import { FormGenerator } from "../../utilities/forms/FormGenerator";
|
||||
import { BaseCriteriaErrorModel } from "./BaseCriteriaErrorModel";
|
||||
|
||||
export class RequestItem<T> {
|
||||
public criteria: T;
|
||||
}
|
|
@ -1,11 +1,12 @@
|
|||
import { BaseCriteria } from "../criteria/BaseCriteria";
|
||||
import { RequestItem } from "../criteria/RequestItem";
|
||||
|
||||
export class DataTableRequest {
|
||||
export class DataTableRequest<T> extends RequestItem<T> {
|
||||
offset = 0;
|
||||
length = 0;
|
||||
criteria: BaseCriteria;
|
||||
|
||||
constructor(offset: number, length: number) {
|
||||
super();
|
||||
this.length = length;
|
||||
this.offset = offset;
|
||||
}
|
||||
|
|
|
@ -96,7 +96,7 @@ export class ProjectDataSource extends DataSource<ProjectListingModel> {
|
|||
this.isLoadingResults = true;
|
||||
});
|
||||
const startIndex = this._paginator.pageIndex * this._paginator.pageSize;
|
||||
const request = new DataTableRequest(startIndex, this._paginator.pageSize);
|
||||
const request = new DataTableRequest<ProjectCriteria>(startIndex, this._paginator.pageSize);
|
||||
request.criteria = this._criteria.criteria;
|
||||
return this._service.getPaged(request);
|
||||
})
|
||||
|
|
|
@ -8,6 +8,7 @@ import { DataTableRequest } from '../../models/data-table/DataTableRequest';
|
|||
import { DataTableData } from '../../models/data-table/DataTableData';
|
||||
import { DataManagementPlanModel } from '../../models/data-managemnt-plans/DataManagementPlanModel';
|
||||
import { DataManagementPlanListingModel } from '../../models/data-managemnt-plans/DataManagementPlanListingModel';
|
||||
import { DataManagementPlanCriteria } from '../../models/criteria/data-management-plan/DataManagementPlanCriteria';
|
||||
|
||||
|
||||
@Injectable()
|
||||
|
@ -25,7 +26,7 @@ export class DataManagementPlanService {
|
|||
this.headers = this.headers.set('Accept', 'application/json');
|
||||
}
|
||||
|
||||
getPaged(dataTableRequest: DataTableRequest): Observable<DataTableData<DataManagementPlanListingModel>> {
|
||||
getPaged(dataTableRequest: DataTableRequest<DataManagementPlanCriteria>): Observable<DataTableData<DataManagementPlanListingModel>> {
|
||||
return this.http.post<DataTableData<DataManagementPlanListingModel>>(this.actionUrl + 'getPaged', dataTableRequest, { headers: this.headers });
|
||||
}
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@ import { DataTableRequest } from '../../models/data-table/DataTableRequest';
|
|||
import { DataTableData } from '../../models/data-table/DataTableData';
|
||||
import { DatasetListingModel } from '../../models/datasets/DatasetListingModel';
|
||||
import { DatasetModel } from '../../models/datasets/DatasetModel';
|
||||
import { DatasetCriteria } from '../../models/criteria/dataset/DatasetCriteria';
|
||||
|
||||
|
||||
@Injectable()
|
||||
|
@ -25,7 +26,7 @@ export class DatasetService {
|
|||
this.headers = this.headers.set('Accept', 'application/json');
|
||||
}
|
||||
|
||||
getPaged(dataTableRequest: DataTableRequest): Observable<DataTableData<DatasetListingModel>> {
|
||||
getPaged(dataTableRequest: DataTableRequest<DatasetCriteria>): Observable<DataTableData<DatasetListingModel>> {
|
||||
return this.http.post<DataTableData<DatasetListingModel>>(this.actionUrl + 'getPaged', dataTableRequest, { headers: this.headers });
|
||||
}
|
||||
|
||||
|
|
|
@ -9,6 +9,8 @@ import { DataTableData } from '../../models/data-table/DataTableData';
|
|||
import { ProjectListingModel } from '../../models/projects/ProjectListingModel';
|
||||
import { ProjectModel } from '../../models/projects/ProjectModel';
|
||||
import { BaseHttpResponseModel } from '../../models/http/BaseHttpResponseModel';
|
||||
import { ProjectCriteria } from '../../models/criteria/project/ProjectCriteria';
|
||||
import { RequestItem } from '../../models/criteria/RequestItem';
|
||||
|
||||
|
||||
@Injectable()
|
||||
|
@ -26,10 +28,14 @@ export class ProjectService {
|
|||
this.headers = this.headers.set('Accept', 'application/json');
|
||||
}
|
||||
|
||||
getPaged(dataTableRequest: DataTableRequest): Observable<DataTableData<ProjectListingModel>> {
|
||||
getPaged(dataTableRequest: DataTableRequest<ProjectCriteria>): Observable<DataTableData<ProjectListingModel>> {
|
||||
return this.http.post<DataTableData<ProjectListingModel>>(this.actionUrl + 'getPaged', dataTableRequest, { headers: this.headers });
|
||||
}
|
||||
|
||||
get(requestItem: RequestItem<ProjectCriteria>): Observable<ProjectModel[]> {
|
||||
return this.http.post<ProjectModel[]>(this.actionUrl + 'get', requestItem, { headers: this.headers });
|
||||
}
|
||||
|
||||
getSingle(id: string): Observable<ProjectModel> {
|
||||
return this.http.get<ProjectModel>(this.actionUrl + 'getSingle/' + id, { headers: this.headers });
|
||||
}
|
||||
|
|
|
@ -9,15 +9,15 @@
|
|||
</mat-form-field>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<td-chips color="accent" [items]="filteredProjects" [(ngModel)]="criteria.projects" placeholder="{{'CRITERIA.DMP.PROJECTS' | translate}}"
|
||||
<td-chips color="accent" [items]="filteredProjects" [(ngModel)]="criteria.projects" (ngModelChange)="controlModified()" placeholder="{{'CRITERIA.DMP.PROJECTS' | translate}}"
|
||||
(inputChange)="filterProjects($event)" requireMatch>
|
||||
<ng-template td-chip let-chip="chip">
|
||||
<div class="tc-grey-100 bgc-teal-700" td-chip-avatar>{{chip.name.substring(0, 1).toUpperCase()}}</div>
|
||||
{{chip.name}}
|
||||
<div class="tc-grey-100 bgc-teal-700" td-chip-avatar>{{chip.label.substring(0, 1).toUpperCase()}}</div>
|
||||
{{chip.label}}
|
||||
</ng-template>
|
||||
<ng-template td-autocomplete-option let-option="option">
|
||||
<div layout="row" layout-align="start center">
|
||||
{{option.name}}
|
||||
{{option.label}}
|
||||
</div>
|
||||
</ng-template>
|
||||
<mat-progress-bar [style.height.px]="2" *ngIf="filteringProjectsAsync" mode="indeterminate"></mat-progress-bar>
|
||||
|
|
|
@ -7,13 +7,16 @@ import { BackendErrorValidator } from '../../../../utilities/validators/BackendE
|
|||
import { DataManagementPlanCriteria } from '../../../../models/criteria/data-management-plan/DataManagementPlanCriteria';
|
||||
import { DataManagementPlanCriteriaErrorModel } from '../../../../models/criteria/data-management-plan/DataManagementPlanCriteriaErrorModel';
|
||||
import { ProjectModel } from '../../../../models/projects/ProjectModel';
|
||||
import { ProjectService } from '../../../../services/project/project.service';
|
||||
import { ProjectCriteria } from '../../../../models/criteria/project/ProjectCriteria';
|
||||
import { RequestItem } from '../../../../models/criteria/RequestItem';
|
||||
import { create } from 'domain';
|
||||
|
||||
@Component({
|
||||
selector: 'app-dmp-criteria-component',
|
||||
templateUrl: './dmp-criteria.component.html',
|
||||
styleUrls: ['./dmp-criteria.component.scss'],
|
||||
providers: [
|
||||
]
|
||||
providers: [ProjectService]
|
||||
})
|
||||
|
||||
export class DataManagementPlanCriteriaComponent extends BaseCriteriaComponent implements OnInit {
|
||||
|
@ -24,6 +27,7 @@ export class DataManagementPlanCriteriaComponent extends BaseCriteriaComponent i
|
|||
|
||||
constructor(
|
||||
public language: TranslateService,
|
||||
public projectService: ProjectService,
|
||||
public formBuilder: FormBuilder
|
||||
) {
|
||||
super(new DataManagementPlanCriteriaErrorModel());
|
||||
|
@ -37,4 +41,39 @@ export class DataManagementPlanCriteriaComponent extends BaseCriteriaComponent i
|
|||
setCriteria(criteria: DataManagementPlanCriteria): void {
|
||||
this.criteria = criteria;
|
||||
}
|
||||
|
||||
onCallbackError(error: any) {
|
||||
this.setErrorModel(error.error);
|
||||
}
|
||||
|
||||
controlModified(): void {
|
||||
this.clearErrorModel();
|
||||
if (this.refreshCallback != null &&
|
||||
(this.criteria.like == null || this.criteria.like.length == 0 || this.criteria.like.length > 2)
|
||||
) {
|
||||
this.refreshCallback();
|
||||
}
|
||||
}
|
||||
|
||||
filterProjects(value: string): void {
|
||||
|
||||
this.filteredProjects = undefined;
|
||||
if (value) {
|
||||
this.filteringProjectsAsync = true;
|
||||
|
||||
let requestItem: RequestItem<ProjectCriteria> = new RequestItem();
|
||||
let criteria: ProjectCriteria = new ProjectCriteria();
|
||||
criteria.like = value;
|
||||
requestItem.criteria = criteria;
|
||||
this.projectService.get(requestItem).subscribe(items => {
|
||||
this.filteredProjects = items;
|
||||
this.filteringProjectsAsync = false;
|
||||
|
||||
// this.filteredProjects = items.filter((filteredObj: any) => {
|
||||
// return this.objectsModel ? this.objectsModel.indexOf(filteredObj) < 0 : true;
|
||||
// });
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue