Skip to content

Commit 3bcc39c

Browse files
committed
#837: adding selectors
1 parent 458b4c3 commit 3bcc39c

File tree

3 files changed

+60
-34
lines changed

3 files changed

+60
-34
lines changed

src/app/pages/mensa/mensa.page.ts

-5
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ export class MensaPage extends AbstractPage {
6161
}
6262

6363
loadCampusMenu(refresher?) {
64-
console.log('loadcampusmenu');
6564
if (!(refresher && refresher.target)) {
6665
this.isLoaded = false;
6766
}
@@ -83,8 +82,6 @@ export class MensaPage extends AbstractPage {
8382
this.noUlfMealsForDate = true;
8483
this.networkError = false;
8584

86-
console.log('canteen name: ' + this.campus.canteen_name);
87-
8885
if (this.campus.canteen_name && this.campus.canteen_name.length > 0) {
8986
this.noMensaForLocation = false;
9087
this.ws
@@ -112,8 +109,6 @@ export class MensaPage extends AbstractPage {
112109
this.iconMapping = res.iconHashMap.entry;
113110
}
114111

115-
console.log('resp1_');
116-
117112
if (this.campus.canteen_name === 'Griebnitzsee') {
118113
const ulfParam = 'UlfsCafe';
119114
this.ws

src/app/pages/mensa2/mensa2.page.html

+35-17
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<ion-back-button mode="md" slot="start"></ion-back-button>
44
<ion-button
55
mode="md"
6-
*ngIf="!(platform.is('ios') || platform.is('android'))"
6+
*ngIf="ulfSelected && !(platform.is('ios') || platform.is('android'))"
77
(click)="loadMenu(true)"
88
slot="end"
99
fill="clear"
@@ -15,13 +15,20 @@
1515
</ion-toolbar>
1616

1717
<ion-toolbar mode="md">
18-
<p>Changer</p>
18+
<ion-segment value="mensen">
19+
<ion-segment-button (click)="selectTab('mensen')" value="mensen">
20+
<ion-label>Mensen</ion-label>
21+
</ion-segment-button>
22+
<ion-segment-button (click)="selectTab('ulfscoffee')" value="ulfscoffee">
23+
<ion-label>Ulfs Kaffee</ion-label>
24+
</ion-segment-button>
25+
</ion-segment>
1926
</ion-toolbar>
2027

21-
<ion-toolbar *ngIf="isLoaded && !networkError">
28+
<ion-toolbar *ngIf="ulfSelected && isLoaded && !networkError">
2229
<ion-grid>
2330
<ion-row>
24-
<ion-col size="2">
31+
<ion-col size="6">
2532
<app-date-picker
2633
[compactMode]="true"
2734
[inputDate]="selectedDate"
@@ -50,27 +57,38 @@
5057
</ion-header>
5158

5259
<ion-content class="ion-no-padding">
53-
<ion-refresher
54-
*ngIf="platform.is('ios') || platform.is('android')"
55-
slot="fixed"
56-
(ionRefresh)="loadMenu($event)"
57-
>
58-
<ion-refresher-content
59-
pullingIcon="refresh"
60-
refreshingSpinner="dots"
61-
></ion-refresher-content>
62-
</ion-refresher>
60+
<div *ngIf="ulfSelected && isLoaded && !networkError">
61+
<ion-refresher
62+
*ngIf="platform.is('ios') || platform.is('android')"
63+
slot="fixed"
64+
(ionRefresh)="loadMenu($event)"
65+
>
66+
<ion-refresher-content
67+
pullingIcon="refresh"
68+
refreshingSpinner="dots"
69+
></ion-refresher-content>
70+
</ion-refresher>
6371

64-
<div align="center" *ngIf="!isLoaded" class="ion-padding">
65-
<ion-spinner name="dots"></ion-spinner>
72+
<div align="center" *ngIf="!isLoaded" class="ion-padding">
73+
<ion-spinner name="dots"></ion-spinner>
74+
</div>
6675
</div>
6776

68-
<div *ngIf="isLoaded && !networkError">
77+
<div *ngIf="ulfSelected && isLoaded && !networkError">
6978
<app-mensa-meal
7079
*ngIf="ulfMeals && !noUlfMealsForDate"
7180
[meals]="displayedUlfMeals"
7281
[mealForDate]="ulfMealForDate"
7382
[iconMapping]="ulfIconMapping"
7483
></app-mensa-meal>
7584
</div>
85+
86+
<div *ngIf="mensenSelected && !networkError">
87+
<p style="text-align: center; font-size: 24px">
88+
Leider können wir nicht mehr die Speiseplan der Mensen abrufen und euch
89+
nur auf den
90+
<a href="https://swp.webspeiseplan.de/"> Webspeiseplan der SWP </a>
91+
weiterleiten.
92+
</p>
93+
</div>
7694
</ion-content>

src/app/pages/mensa2/mensa2.page.ts

+25-12
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,10 @@ import { WebserviceWrapperService } from '../../services/webservice-wrapper/webs
1414
styleUrls: ['./mensa2.page.scss'],
1515
})
1616
export class Mensa2Page extends AbstractPage implements OnInit {
17-
isLoaded;
18-
networkError;
17+
isLoaded = false;
18+
ulfSelected = false;
19+
mensenSelected = true;
20+
networkError = false;
1921
selectedDate;
2022
currentDate = moment();
2123
filterKeywords = [];
@@ -38,9 +40,12 @@ export class Mensa2Page extends AbstractPage implements OnInit {
3840
this.loadMenu(false);
3941
}
4042

41-
loadMenu(refresher?) {
42-
console.log('loadMenu');
43+
selectTab(tabName: string) {
44+
this.ulfSelected = tabName === 'ulfscoffee';
45+
this.mensenSelected = tabName === 'mensen';
46+
}
4347

48+
loadMenu(refresher?) {
4449
if (!(refresher && refresher.target)) {
4550
this.isLoaded = false;
4651
}
@@ -77,20 +82,16 @@ export class Mensa2Page extends AbstractPage implements OnInit {
7782
campus_canteen_name: ulfParam,
7883
} as IMensaRequestParams)
7984
.subscribe((resUlf: IMensaResponse) => {
80-
console.log(JSON.stringify(resUlf));
81-
8285
if (resUlf.meal) {
8386
this.ulfMeals = resUlf.meal;
8487
this.displayedUlfMeals = resUlf.meal;
8588
}
89+
this.getFilterKeywords();
90+
this.classifyMeals();
8691
if (resUlf.iconHashMap && resUlf.iconHashMap.entry) {
8792
this.ulfIconMapping = resUlf.iconHashMap.entry;
8893
}
89-
if (refresher && refresher.target) {
90-
refresher.target.complete();
91-
}
9294
this.isLoaded = true;
93-
this.networkError = false;
9495
if (refresher && refresher.target) {
9596
refresher.target.complete();
9697
}
@@ -106,6 +107,20 @@ export class Mensa2Page extends AbstractPage implements OnInit {
106107
);
107108
}
108109

110+
getFilterKeywords() {
111+
this.filterKeywords = [];
112+
for (const [index, meal] of this.displayedUlfMeals.entries()) {
113+
if (this.ulfMealForDate[index]) {
114+
for (const mealType of meal.type) {
115+
if (!isInArray(this.filterKeywords, mealType)) {
116+
this.filterKeywords.push(mealType);
117+
}
118+
}
119+
}
120+
}
121+
this.filterKeywords.sort();
122+
}
123+
109124
pickDate($event) {
110125
this.selectedDate = $event;
111126
this.noUlfMealsForDate = true;
@@ -133,7 +148,6 @@ export class Mensa2Page extends AbstractPage implements OnInit {
133148

134149
filterMenus(event) {
135150
const filter = convertToArray(event.detail.value);
136-
137151
this.displayedUlfMeals = this.ulfMeals;
138152

139153
if (filter && filter.length > 0) {
@@ -154,7 +168,6 @@ export class Mensa2Page extends AbstractPage implements OnInit {
154168
});
155169
}
156170
}
157-
158171
this.classifyMeals();
159172
}
160173

0 commit comments

Comments
 (0)