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 @@
-
+