From 447fbb773d5539bc6fa77c4caa316aac3f599e0d Mon Sep 17 00:00:00 2001 From: Michael Hoennig Date: Fri, 3 May 2019 09:28:24 +0200 Subject: [PATCH] #122 [intUI/Filter] for Asset and alignment with implementation in Share --- .../app/entities/asset/asset.component.html | 40 ++++++++++++++++--- .../app/entities/asset/asset.component.ts | 37 ++++++++++++++++- .../app/entities/share/share.component.html | 6 ++- .../app/entities/share/share.component.ts | 8 +--- 4 files changed, 77 insertions(+), 14 deletions(-) diff --git a/src/main/webapp/app/entities/asset/asset.component.html b/src/main/webapp/app/entities/asset/asset.component.html index 8472107d..057db7d6 100644 --- a/src/main/webapp/app/entities/asset/asset.component.html +++ b/src/main/webapp/app/entities/asset/asset.component.html @@ -14,14 +14,42 @@ - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/src/main/webapp/app/entities/asset/asset.component.ts b/src/main/webapp/app/entities/asset/asset.component.ts index 4a5c8445..93adb998 100644 --- a/src/main/webapp/app/entities/asset/asset.component.ts +++ b/src/main/webapp/app/entities/asset/asset.component.ts @@ -9,6 +9,9 @@ import { AccountService } from 'app/core'; import { ITEMS_PER_PAGE } from 'app/shared'; import { AssetService } from './asset.service'; +import { IMembership } from 'app/shared/model/membership.model'; +import { MembershipService } from 'app/entities/membership'; +import { queryEquals, queryYearAsDateRange, TableFilter } from 'app/shared/util/tablefilter'; @Component({ selector: 'jhi-asset', @@ -24,9 +27,18 @@ export class AssetComponent implements OnInit, OnDestroy { predicate: any; reverse: any; totalItems: number; + memberships: IMembership[]; + filter: TableFilter<{ + documentDate?: string; + valueDate?: string; + action?: string; + amount?: string; + membershipId?: string; + }>; constructor( protected assetService: AssetService, + protected membershipService: MembershipService, protected jhiAlertService: JhiAlertService, protected eventManager: JhiEventManager, protected parseLinks: JhiParseLinks, @@ -40,11 +52,25 @@ export class AssetComponent implements OnInit, OnDestroy { }; this.predicate = 'id'; this.reverse = true; + this.filter = new TableFilter( + { + documentDate: queryYearAsDateRange, + valueDate: queryYearAsDateRange, + action: queryEquals, + amount: queryEquals, + membershipId: queryEquals + }, + 500, + () => { + this.loadAll(); + } + ); } loadAll() { this.assetService .query({ + ...this.filter.buildQueryCriteria(), page: this.page, size: this.itemsPerPage, sort: this.sort() @@ -71,6 +97,13 @@ export class AssetComponent implements OnInit, OnDestroy { this.accountService.identity().then(account => { this.currentAccount = account; }); + this.membershipService + .query() + .pipe( + filter((mayBeOk: HttpResponse) => mayBeOk.ok), + map((response: HttpResponse) => response.body) + ) + .subscribe((res: IMembership[]) => (this.memberships = res), (res: HttpErrorResponse) => this.onError(res.message)); this.registerChangeInAssets(); } @@ -78,7 +111,7 @@ export class AssetComponent implements OnInit, OnDestroy { this.eventManager.destroy(this.eventSubscriber); } - trackId(index: number, item: IAsset) { + trackId(index: number, item: { id: number }) { return item.id; } @@ -97,6 +130,8 @@ export class AssetComponent implements OnInit, OnDestroy { protected paginateAssets(data: IAsset[], headers: HttpHeaders) { this.links = this.parseLinks.parse(headers.get('link')); this.totalItems = parseInt(headers.get('X-Total-Count'), 10); + this.page = 0; + this.assets = []; for (let i = 0; i < data.length; i++) { this.assets.push(data[i]); } diff --git a/src/main/webapp/app/entities/share/share.component.html b/src/main/webapp/app/entities/share/share.component.html index 32883f8c..d9f33549 100644 --- a/src/main/webapp/app/entities/share/share.component.html +++ b/src/main/webapp/app/entities/share/share.component.html @@ -22,6 +22,8 @@ + + @@ -37,11 +39,13 @@ + + diff --git a/src/main/webapp/app/entities/share/share.component.ts b/src/main/webapp/app/entities/share/share.component.ts index 32c7caaa..0cc45003 100644 --- a/src/main/webapp/app/entities/share/share.component.ts +++ b/src/main/webapp/app/entities/share/share.component.ts @@ -9,9 +9,9 @@ import { AccountService } from 'app/core'; import { ITEMS_PER_PAGE } from 'app/shared'; import { ShareService } from './share.service'; -import { TableFilter, queryYearAsDateRange, queryEquals } from 'app/shared/util/tablefilter'; import { IMembership } from 'app/shared/model/membership.model'; import { MembershipService } from 'app/entities/membership'; +import { TableFilter, queryYearAsDateRange, queryEquals } from 'app/shared/util/tablefilter'; @Component({ selector: 'jhi-share', @@ -111,7 +111,7 @@ export class ShareComponent implements OnInit, OnDestroy { this.eventManager.destroy(this.eventSubscriber); } - trackId(index: number, item: IShare) { + trackId(index: number, item: { id: number }) { return item.id; } @@ -127,10 +127,6 @@ export class ShareComponent implements OnInit, OnDestroy { return result; } - trackMembershipById(index: number, item: IMembership) { - return item.id; - } - protected paginateShares(data: IShare[], headers: HttpHeaders) { this.links = this.parseLinks.parse(headers.get('link')); this.totalItems = parseInt(headers.get('X-Total-Count'), 10);
ID Document Date Value Date Action Amount Membership ID Document Date Value Date Action Amount Membership
+ + + +
Membership