From 84a2d500a75067508081cc68055484fc265d3910 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ram=C3=B3n=20Tom=C3=A1s?= Date: Tue, 11 Jul 2017 13:48:07 +0200 Subject: [PATCH] Added alert when error ocurrs listing catalog products, orders and campaigns in SPA app --- .../campaigns/campaigns.component.html | 3 ++ .../campaigns/campaigns.component.scss | 4 +++ .../modules/campaigns/campaigns.component.ts | 28 +++++++++++------ .../modules/catalog/catalog.component.html | 3 ++ .../modules/catalog/catalog.component.scss | 4 +++ .../modules/catalog/catalog.component.ts | 30 ++++++++++++------- .../modules/orders/orders.component.html | 3 ++ .../modules/orders/orders.component.scss | 4 +++ .../Client/modules/orders/orders.component.ts | 19 ++++++++---- .../shared/components/identity/identity.scss | 2 +- 10 files changed, 74 insertions(+), 26 deletions(-) diff --git a/src/Web/WebSPA/Client/modules/campaigns/campaigns.component.html b/src/Web/WebSPA/Client/modules/campaigns/campaigns.component.html index d2379bd4e..ad724c408 100644 --- a/src/Web/WebSPA/Client/modules/campaigns/campaigns.component.html +++ b/src/Web/WebSPA/Client/modules/campaigns/campaigns.component.html @@ -1,5 +1,8 @@ Back to catalog
+
diff --git a/src/Web/WebSPA/Client/modules/campaigns/campaigns.component.scss b/src/Web/WebSPA/Client/modules/campaigns/campaigns.component.scss index 17d9da105..371461d64 100644 --- a/src/Web/WebSPA/Client/modules/campaigns/campaigns.component.scss +++ b/src/Web/WebSPA/Client/modules/campaigns/campaigns.component.scss @@ -62,4 +62,8 @@ text-align: center; text-transform: uppercase; } + + &-alert { + margin-top: 10px; + } } diff --git a/src/Web/WebSPA/Client/modules/campaigns/campaigns.component.ts b/src/Web/WebSPA/Client/modules/campaigns/campaigns.component.ts index c7cf85bc0..3674d8d9f 100644 --- a/src/Web/WebSPA/Client/modules/campaigns/campaigns.component.ts +++ b/src/Web/WebSPA/Client/modules/campaigns/campaigns.component.ts @@ -3,6 +3,7 @@ import { CampaignsService } from './campaigns.service'; import { ICampaign } from '../shared/models/campaign.model'; import { IPager } from '../shared/models/pager.model'; import { ConfigurationService } from '../shared/services/configuration.service'; +import { Observable } from 'rxjs/Observable'; @Component({ selector: 'esh-campaigns', @@ -14,6 +15,7 @@ export class CampaignsComponent implements OnInit { paginationInfo: IPager; campaigns: ICampaign; isCampaignDetailFunctionEnabled: boolean = false; + errorReceived: boolean; constructor(private service: CampaignsService, private configurationService: ConfigurationService) { } @@ -37,20 +39,28 @@ export class CampaignsComponent implements OnInit { } getCampaigns(pageSize: number, pageIndex: number) { - this.service.getCampaigns(pageIndex, pageSize).subscribe(campaigns => { - this.campaigns = campaigns; - this.paginationInfo = { - actualPage : campaigns.pageIndex, - itemsPage : campaigns.pageSize, - totalItems : campaigns.count, - totalPages: Math.ceil(campaigns.count / campaigns.pageSize), - items: campaigns.pageSize - }; + this.errorReceived = false; + this.service.getCampaigns(pageIndex, pageSize) + .catch((err) => this.handleError(err)) + .subscribe(campaigns => { + this.campaigns = campaigns; + this.paginationInfo = { + actualPage : campaigns.pageIndex, + itemsPage : campaigns.pageSize, + totalItems : campaigns.count, + totalPages: Math.ceil(campaigns.count / campaigns.pageSize), + items: campaigns.pageSize + }; }); } onNavigateToDetails(uri: string) { window.open(uri, "_blank"); } + + private handleError(error: any) { + this.errorReceived = true; + return Observable.throw(error); + } } diff --git a/src/Web/WebSPA/Client/modules/catalog/catalog.component.html b/src/Web/WebSPA/Client/modules/catalog/catalog.component.html index a7fc93e7a..d03b8433b 100644 --- a/src/Web/WebSPA/Client/modules/catalog/catalog.component.html +++ b/src/Web/WebSPA/Client/modules/catalog/catalog.component.html @@ -6,6 +6,9 @@
+