From 58960a29ea0cd73f26a43186b41f5b53864810e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jovan=20Kruni=C4=87?= Date: Mon, 15 Apr 2019 13:58:25 +0200 Subject: [PATCH] feat(data): use general template for all offers With help of Object.keys (which is provided to the template) make offers template general for different price group types (which are academic or sport course for now). See discussions on !2 --- src/app/modules/data/data.module.ts | 8 ++--- .../data/elements/academic-offers-detail.html | 36 ------------------- ...omponent.ts => offers-detail.component.ts} | 7 ++-- .../modules/data/elements/offers-detail.html | 22 ++++++++++++ ...mponent.ts => offers-in-list.component.ts} | 6 ++-- ...ffers-in-list.html => offers-in-list.html} | 0 .../date-series-detail-content.html | 2 +- .../date-series/date-series-list-item.html | 2 +- .../data/types/dish/dish-detail-content.html | 2 +- .../data/types/dish/dish-list-item.html | 2 +- .../types/video/video-detail-content.html | 2 +- 11 files changed, 38 insertions(+), 51 deletions(-) delete mode 100644 src/app/modules/data/elements/academic-offers-detail.html rename src/app/modules/data/elements/{academic-offers-in-list.component.ts => offers-detail.component.ts} (85%) create mode 100644 src/app/modules/data/elements/offers-detail.html rename src/app/modules/data/elements/{academic-offers-detail.component.ts => offers-in-list.component.ts} (86%) rename src/app/modules/data/elements/{academic-offers-in-list.html => offers-in-list.html} (100%) diff --git a/src/app/modules/data/data.module.ts b/src/app/modules/data/data.module.ts index a35feb21..824fee83 100644 --- a/src/app/modules/data/data.module.ts +++ b/src/app/modules/data/data.module.ts @@ -26,8 +26,8 @@ import {DataRoutingModule} from './data-routing.module'; import {DataProvider} from './data.provider'; import {DataDetailContentComponent} from './detail/data-detail-content.component'; import {DataDetailComponent} from './detail/data-detail.component'; -import {AcademicOffersDetailComponent} from './elements/academic-offers-detail.component'; -import {AcademicOffersInListComponent} from './elements/academic-offers-in-list.component'; +import {OffersDetailComponent} from './elements/offers-detail.component'; +import {OffersInListComponent} from './elements/offers-in-list.component'; import {AddressDetailComponent} from './elements/address-detail.component'; import {LongInlineText} from './elements/long-inline-text.component'; import {OriginDetailComponent} from './elements/origin-detail.component'; @@ -63,8 +63,8 @@ import {VideoListItem} from './types/video/video-list-item.component'; @NgModule({ declarations: [ - AcademicOffersDetailComponent, - AcademicOffersInListComponent, + OffersDetailComponent, + OffersInListComponent, AddressDetailComponent, ArticleDetailContentComponent, ArticleListItem, diff --git a/src/app/modules/data/elements/academic-offers-detail.html b/src/app/modules/data/elements/academic-offers-detail.html deleted file mode 100644 index ab1ceb78..00000000 --- a/src/app/modules/data/elements/academic-offers-detail.html +++ /dev/null @@ -1,36 +0,0 @@ - - Offers - -
-

- - {{offer.inPlace.name}},  - - {{offer.availabilityStarts | date}} - -

- - - Students: - -

{{offer.prices.student | currency:'EUR':'symbol':undefined:'de'}}

-
-
- - Employees: - -

{{offer.prices.employee | currency:'EUR':'symbol':undefined:'de'}} -

-
-
- - Guests: - -

- {{offer.prices.guest | currency:'EUR':'symbol':undefined:'de'}}

-
-
-
-
-
-
diff --git a/src/app/modules/data/elements/academic-offers-in-list.component.ts b/src/app/modules/data/elements/offers-detail.component.ts similarity index 85% rename from src/app/modules/data/elements/academic-offers-in-list.component.ts rename to src/app/modules/data/elements/offers-detail.component.ts index 71b0beba..0fbd1444 100644 --- a/src/app/modules/data/elements/academic-offers-in-list.component.ts +++ b/src/app/modules/data/elements/offers-detail.component.ts @@ -16,9 +16,10 @@ import {Component, Input} from '@angular/core'; import {SCAcademicPriceGroup, SCThingThatCanBeOfferedOffer} from '@openstapps/core'; @Component({ - selector: 'stapps-academic-offers-in-list', - templateUrl: 'academic-offers-in-list.html', + selector: 'stapps-offers-detail', + templateUrl: 'offers-detail.html', }) -export class AcademicOffersInListComponent { +export class OffersDetailComponent { + objectKeys = Object.keys; @Input() offers: Array>; } diff --git a/src/app/modules/data/elements/offers-detail.html b/src/app/modules/data/elements/offers-detail.html new file mode 100644 index 00000000..3f54db60 --- /dev/null +++ b/src/app/modules/data/elements/offers-detail.html @@ -0,0 +1,22 @@ + + Offers + +
+

+ + {{offer.inPlace.name}},  + + {{offer.availabilityStarts | date}} + +

+ + + {{group | titlecase}} + +

{{offer.prices[group] | currency:'EUR':'symbol':undefined:'de'}}

+
+
+
+
+
+
diff --git a/src/app/modules/data/elements/academic-offers-detail.component.ts b/src/app/modules/data/elements/offers-in-list.component.ts similarity index 86% rename from src/app/modules/data/elements/academic-offers-detail.component.ts rename to src/app/modules/data/elements/offers-in-list.component.ts index c243b0b4..c5ab3eab 100644 --- a/src/app/modules/data/elements/academic-offers-detail.component.ts +++ b/src/app/modules/data/elements/offers-in-list.component.ts @@ -16,9 +16,9 @@ import {Component, Input} from '@angular/core'; import {SCAcademicPriceGroup, SCThingThatCanBeOfferedOffer} from '@openstapps/core'; @Component({ - selector: 'stapps-academic-offers-detail', - templateUrl: 'academic-offers-detail.html', + selector: 'stapps-offers-in-list', + templateUrl: 'offers-in-list.html', }) -export class AcademicOffersDetailComponent { +export class OffersInListComponent { @Input() offers: Array>; } diff --git a/src/app/modules/data/elements/academic-offers-in-list.html b/src/app/modules/data/elements/offers-in-list.html similarity index 100% rename from src/app/modules/data/elements/academic-offers-in-list.html rename to src/app/modules/data/elements/offers-in-list.html diff --git a/src/app/modules/data/types/date-series/date-series-detail-content.html b/src/app/modules/data/types/date-series/date-series-detail-content.html index c6749c73..dfc4ffa4 100644 --- a/src/app/modules/data/types/date-series/date-series-detail-content.html +++ b/src/app/modules/data/types/date-series/date-series-detail-content.html @@ -9,5 +9,5 @@ - + diff --git a/src/app/modules/data/types/date-series/date-series-list-item.html b/src/app/modules/data/types/date-series/date-series-list-item.html index f04678c3..ff2b67af 100644 --- a/src/app/modules/data/types/date-series/date-series-list-item.html +++ b/src/app/modules/data/types/date-series/date-series-list-item.html @@ -12,7 +12,7 @@ {{item.event.categories.join(', ')}} - + diff --git a/src/app/modules/data/types/dish/dish-detail-content.html b/src/app/modules/data/types/dish/dish-detail-content.html index 4f1ecd86..d4c4e6e9 100644 --- a/src/app/modules/data/types/dish/dish-detail-content.html +++ b/src/app/modules/data/types/dish/dish-detail-content.html @@ -9,7 +9,7 @@

- + diff --git a/src/app/modules/data/types/dish/dish-list-item.html b/src/app/modules/data/types/dish/dish-list-item.html index 81a6fd29..8df88344 100644 --- a/src/app/modules/data/types/dish/dish-list-item.html +++ b/src/app/modules/data/types/dish/dish-list-item.html @@ -6,7 +6,7 @@

{{item.categories.join(',')}}

- + diff --git a/src/app/modules/data/types/video/video-detail-content.html b/src/app/modules/data/types/video/video-detail-content.html index 1c8ce9fd..638c3995 100644 --- a/src/app/modules/data/types/video/video-detail-content.html +++ b/src/app/modules/data/types/video/video-detail-content.html @@ -3,4 +3,4 @@ - +