diff --git a/tests/resources/input.json b/tests/resources/input.json
deleted file mode 100644
index d6461e3..0000000
--- a/tests/resources/input.json
+++ /dev/null
@@ -1,4901 +0,0 @@
-{
- "globalLaufschrift": "",
- "wochentage": [
- {
- "datum": {
- "wochentag": "3",
- "data": "19.09.2018",
- "freitagsmodus": {
- "fmwert": "2",
- "konf": [
- {
- "index": "1",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "2",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "3",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "4",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "5",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "6",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "7",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "8",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- }
- ]
- },
- "globaleetage": {
- "icon_eg": "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_eg.png",
- "icon_og": "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_og.png",
- "screenConfs": {
- "screenog": []
- }
- },
- "tageslabel": {
- "vegetarisch": [
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_vegetarisch_v.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_vegetarisch_v.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/kl_vegetarisch_v.png"
- ],
- "vegan": [
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_vegan_w.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_vegan_w.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/kl_vegan_w.png"
- ],
- "vital": [],
- "schwein": [],
- "fisch": [
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_fisch_f.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_fisch_f.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/kl_fisch_f.png"
- ],
- "rind": [
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_rind_r.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_rind_r.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/kl_rind_r.png"
- ],
- "gefluegel": [],
- "alkohol": [],
- "lamm": [],
- "knoblauch": [
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_knoblauch_k.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_knoblauch_k.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/kl_knoblauch_k.png"
- ]
- },
- "angebote": [
- {
- "titel": "Angebot 1",
- "laufschrift": "",
- "angebotshinweis": "Alle Angebote inklusive Dessert oder Frischobst.",
- "index": "1",
- "matrix": "5a",
- "beschreibung": "Gef\u00fcllter Germkn\u00f6del \nmit Vanillesauce und Mohnzucker",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": false,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": true,
- "vegan": false,
- "vital": false,
- "flexitarisch": false
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "C, G, Wei",
- "additives": {
- "additive": null
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "C",
- "be": "Eier",
- "ie": "Mayonnaisen, Remouladen, Teigwaren (Tortellini, Sp\u00e4tzle, Schupfnudeln), Gnocchi, Backwaren, Panaden, gekl\u00e4rte und gebundene Suppen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "G",
- "be": "Milch",
- "ie": "Backwaren, vegetarische Bratlinge, Wurstwaren, Dressings und W\u00fcrzsaucen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- }
- ]
- }
- },
- "preis_s": "1.40",
- "preis_m": "3.10",
- "preis_g": "3.10",
- "id": 0,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_vegetarisch_v.png",
- "name": "vegetarisch",
- "translatedfilter": "vegetarisch"
- }
- ],
- "screenid": "1",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- },
- {
- "titel": "Angebot 2",
- "laufschrift": "",
- "angebotshinweis": "Alle Angebote inklusive Dessert oder Frischobst.",
- "index": "2",
- "matrix": "5b",
- "beschreibung": "Gebratene Rindfleischstreifen mit Gem\u00fcse und Kidneybohnen-Dip, dazu Pommes frites",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": false,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": false,
- "vegan": false,
- "vital": false,
- "flexitarisch": true
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "G",
- "additives": {
- "additive": null
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "G",
- "be": "Milch",
- "ie": "Backwaren, vegetarische Bratlinge, Wurstwaren, Dressings und W\u00fcrzsaucen"
- }
- ]
- }
- },
- "preis_s": "2.00",
- "preis_m": "3.90",
- "preis_g": "3.90",
- "id": 1,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_rind_r.png",
- "name": "rindfleisch",
- "translatedfilter": "rind"
- }
- ],
- "screenid": "2",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- },
- {
- "titel": "Angebot 3",
- "laufschrift": "",
- "angebotshinweis": "Alle Angebote inklusive Dessert oder Frischobst.",
- "index": "3",
- "matrix": "5c",
- "beschreibung": "Fangfrisches Seelachsfilet auf Farfalle mit Kirschtomaten, Rucola , dazu Salat",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": true,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": false,
- "vegan": false,
- "vital": false,
- "flexitarisch": true
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "2, 3, D, Wei, C, G, Kas, Man",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "2",
- "be": "mit Konservierungsstoff",
- "lbz": "Erhaltung bzw. Verl\u00e4ngerung der Genusstauglichkeit des Lebensmittels."
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "3",
- "be": "mit Antioxidationsmittel",
- "lbz": "wie (1) und (2)"
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "D",
- "be": "Fisch",
- "ie": "Paella, Bouillabaise, Worchester Sauce, asiatische W\u00fcrzpasten"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "C",
- "be": "Eier",
- "ie": "Mayonnaisen, Remouladen, Teigwaren (Tortellini, Sp\u00e4tzle, Schupfnudeln), Gnocchi, Backwaren, Panaden, gekl\u00e4rte und gebundene Suppen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "G",
- "be": "Milch",
- "ie": "Backwaren, vegetarische Bratlinge, Wurstwaren, Dressings und W\u00fcrzsaucen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Kas",
- "be": "Kaschun\u00fcsse und daraus hergestellte Erzeugnisse",
- "ie": "nur in gesch\u00e4lter und ger\u00f6steter Form als Snackangebote"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Man",
- "be": "Mandeln und daraus hergestellte Erzeugnisse",
- "ie": "Marzipan, Kuchen, S\u00fc\u00dfwaren, M\u00fcslimischungen, Pesto"
- }
- ]
- }
- },
- "preis_s": "2.50",
- "preis_m": "4.50",
- "preis_g": "4.50",
- "id": 2,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_fisch_f.png",
- "name": "fisch",
- "translatedfilter": "fisch"
- }
- ],
- "screenid": "3",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- },
- {
- "titel": "Angebot 4",
- "laufschrift": "",
- "angebotshinweis": "Alle Angebote inklusive Dessert oder Frischobst.",
- "index": "4",
- "matrix": "5d",
- "beschreibung": "Bunte Gem\u00fcsepfanne dazu Bulgur und Blattsalatvariation",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": false,
- "alkohol": false,
- "knoblauch": true,
- "lamm": false,
- "vegetarisch": false,
- "vegan": true,
- "vital": false,
- "flexitarisch": false
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "KNO, F, Wei, Man, Kas",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "KNO",
- "be": "mit Knoblauch",
- "lbz": {
- "@attributes": {
- "info": "Lebensmitteltechnologische Bedeutung des Zusatzstoffes"
- }
- }
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "F",
- "be": "Soja",
- "ie": "Milch- und Sahneersatz auf Sojabasis, Tofu, Sojasauce, Zusatzstoff in S\u00fcsswaren v.a. in Schokolade, Wurst- und Fleischwaren"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Man",
- "be": "Mandeln und daraus hergestellte Erzeugnisse",
- "ie": "Marzipan, Kuchen, S\u00fc\u00dfwaren, M\u00fcslimischungen, Pesto"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Kas",
- "be": "Kaschun\u00fcsse und daraus hergestellte Erzeugnisse",
- "ie": "nur in gesch\u00e4lter und ger\u00f6steter Form als Snackangebote"
- }
- ]
- }
- },
- "preis_s": "2.50",
- "preis_m": "4.50",
- "preis_g": "4.50",
- "id": 3,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_vegan_w.png",
- "name": "vegan",
- "translatedfilter": "vegan"
- },
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_knoblauch_k.png",
- "name": "knoblauch",
- "translatedfilter": "knoblauch"
- }
- ],
- "screenid": "4",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- }
- ]
- }
- },
- {
- "datum": {
- "wochentag": "4",
- "data": "20.09.2018",
- "freitagsmodus": {
- "fmwert": "2",
- "konf": [
- {
- "index": "1",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "2",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "3",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "4",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "5",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "6",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "7",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "8",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- }
- ]
- },
- "globaleetage": {
- "icon_eg": "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_eg.png",
- "icon_og": "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_og.png",
- "screenConfs": {
- "screenog": []
- }
- },
- "tageslabel": {
- "vegetarisch": [
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_vegetarisch_v.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_vegetarisch_v.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/kl_vegetarisch_v.png"
- ],
- "vegan": [
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_vegan_w.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_vegan_w.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/kl_vegan_w.png"
- ],
- "vital": [],
- "schwein": [
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_schwein_s.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_schwein_s.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/kl_schwein_s.png"
- ],
- "fisch": [],
- "rind": [],
- "gefluegel": [
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_hahn_g.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_hahn_g.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/kl_hahn_g.png"
- ],
- "alkohol": [],
- "lamm": [],
- "knoblauch": [
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_knoblauch_k.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_knoblauch_k.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/kl_knoblauch_k.png"
- ]
- },
- "angebote": [
- {
- "titel": "Angebot 1",
- "laufschrift": "",
- "angebotshinweis": null,
- "index": "1",
- "matrix": "7a",
- "beschreibung": "Eierfrikassee mit buntem Gem\u00fcse, dazu Kartoffelp\u00fcree",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": false,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": true,
- "vegan": false,
- "vital": false,
- "flexitarisch": false
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "3, C, G, Wei",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "3",
- "be": "mit Antioxidationsmittel",
- "lbz": "wie (1) und (2)"
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "C",
- "be": "Eier",
- "ie": "Mayonnaisen, Remouladen, Teigwaren (Tortellini, Sp\u00e4tzle, Schupfnudeln), Gnocchi, Backwaren, Panaden, gekl\u00e4rte und gebundene Suppen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "G",
- "be": "Milch",
- "ie": "Backwaren, vegetarische Bratlinge, Wurstwaren, Dressings und W\u00fcrzsaucen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- }
- ]
- }
- },
- "preis_s": "1.40",
- "preis_m": "3.10",
- "preis_g": "3.10",
- "id": 0,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_vegetarisch_v.png",
- "name": "vegetarisch",
- "translatedfilter": "vegetarisch"
- }
- ],
- "screenid": "1",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- },
- {
- "titel": "Angebot 2",
- "laufschrift": "",
- "angebotshinweis": null,
- "index": "2",
- "matrix": "7b",
- "beschreibung": "Schweinsbraten mit s\u00fc\u00dfem Senf und Bratkartoffeln oder bayrischer Kartoffelsalat, dazu Blattsalat",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": true,
- "fisch": false,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": false,
- "vegan": false,
- "vital": false,
- "flexitarisch": true
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "2, J, I",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "2",
- "be": "mit Konservierungsstoff",
- "lbz": "Erhaltung bzw. Verl\u00e4ngerung der Genusstauglichkeit des Lebensmittels."
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "J",
- "be": "Senf",
- "ie": "Ges\u00e4uerte Gem\u00fcse, Chutneys, Dressings, Wurstwaren, Bratlinge"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "I",
- "be": "Sellerie",
- "ie": "Gew\u00fcrzmischungen, Salatsaucenbasis, Instant-Br\u00fchen, Fleischwaren, Ketchup, Bratlinge"
- }
- ]
- }
- },
- "preis_s": "2.00",
- "preis_m": "3.90",
- "preis_g": "3.90",
- "id": 1,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_schwein_s.png",
- "name": "schweinefleisch",
- "translatedfilter": "sau"
- }
- ],
- "screenid": "2",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- },
- {
- "titel": "Angebot 3",
- "laufschrift": "",
- "angebotshinweis": null,
- "index": "3",
- "matrix": "7c",
- "beschreibung": "Truthahnsteak Strindberg Art aus Mecklenburg mit jungen Erbsen \nund Grillkartoffeln oder frischen Eierkn\u00f6pfle",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": false,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": false,
- "vegan": false,
- "vital": false,
- "flexitarisch": true
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "3, 5, C, G, J, L, Wei",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "3",
- "be": "mit Antioxidationsmittel",
- "lbz": "wie (1) und (2)"
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "5",
- "be": "geschwefelt",
- "lbz": "Schwefel dient der Abt\u00f6tung von unerw\u00fcnschten Mikroorganismen"
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "C",
- "be": "Eier",
- "ie": "Mayonnaisen, Remouladen, Teigwaren (Tortellini, Sp\u00e4tzle, Schupfnudeln), Gnocchi, Backwaren, Panaden, gekl\u00e4rte und gebundene Suppen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "G",
- "be": "Milch",
- "ie": "Backwaren, vegetarische Bratlinge, Wurstwaren, Dressings und W\u00fcrzsaucen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "J",
- "be": "Senf",
- "ie": "Ges\u00e4uerte Gem\u00fcse, Chutneys, Dressings, Wurstwaren, Bratlinge"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "L",
- "be": "Schwefeldioxid, Sulfite",
- "ie": "Wein, weinhaltige Getr\u00e4nke, getrocknete Fr\u00fcchte, Convenience-Produkte (z.B. Bratkartoffel, Instant-Kartoffelp\u00fcree), Konserven"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- }
- ]
- }
- },
- "preis_s": "2.50",
- "preis_m": "4.50",
- "preis_g": "4.50",
- "id": 2,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_hahn_g.png",
- "name": "gefluegel",
- "translatedfilter": "hahn"
- }
- ],
- "screenid": "3",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- },
- {
- "titel": "Angebot 4",
- "laufschrift": "",
- "angebotshinweis": null,
- "index": "4",
- "matrix": "7d",
- "beschreibung": "Falafelb\u00e4llchen mit Tomatenreis und Ajvar-Dip, dazu Salatvariation mit Oliven",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": false,
- "alkohol": false,
- "knoblauch": true,
- "lamm": false,
- "vegetarisch": false,
- "vegan": true,
- "vital": false,
- "flexitarisch": false
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "KNO, 3, 5, I, Wei, L",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "KNO",
- "be": "mit Knoblauch",
- "lbz": {
- "@attributes": {
- "info": "Lebensmitteltechnologische Bedeutung des Zusatzstoffes"
- }
- }
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "3",
- "be": "mit Antioxidationsmittel",
- "lbz": "wie (1) und (2)"
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "5",
- "be": "geschwefelt",
- "lbz": "Schwefel dient der Abt\u00f6tung von unerw\u00fcnschten Mikroorganismen"
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "I",
- "be": "Sellerie",
- "ie": "Gew\u00fcrzmischungen, Salatsaucenbasis, Instant-Br\u00fchen, Fleischwaren, Ketchup, Bratlinge"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "L",
- "be": "Schwefeldioxid, Sulfite",
- "ie": "Wein, weinhaltige Getr\u00e4nke, getrocknete Fr\u00fcchte, Convenience-Produkte (z.B. Bratkartoffel, Instant-Kartoffelp\u00fcree), Konserven"
- }
- ]
- }
- },
- "preis_s": "2.50",
- "preis_m": "4.50",
- "preis_g": "4.50",
- "id": 3,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_vegan_w.png",
- "name": "vegan",
- "translatedfilter": "vegan"
- },
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_knoblauch_k.png",
- "name": "knoblauch",
- "translatedfilter": "knoblauch"
- }
- ],
- "screenid": "4",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- }
- ]
- }
- },
- {
- "datum": {
- "wochentag": "5",
- "data": "21.09.2018",
- "freitagsmodus": {
- "fmwert": "2",
- "konf": [
- {
- "index": "1",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "2",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "3",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "4",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "5",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "6",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "7",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "8",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- }
- ]
- },
- "globaleetage": {
- "icon_eg": "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_eg.png",
- "icon_og": "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_og.png",
- "screenConfs": {
- "screenog": []
- }
- },
- "tageslabel": {
- "vegetarisch": [
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_vegetarisch_v.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_vegetarisch_v.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/kl_vegetarisch_v.png"
- ],
- "vegan": [
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_vegan_w.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_vegan_w.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/kl_vegan_w.png"
- ],
- "vital": [],
- "schwein": [
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_schwein_s.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_schwein_s.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/kl_schwein_s.png"
- ],
- "fisch": [
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_fisch_f.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_fisch_f.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/kl_fisch_f.png"
- ],
- "rind": [],
- "gefluegel": [
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_hahn_g.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_hahn_g.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/kl_hahn_g.png"
- ],
- "alkohol": [],
- "lamm": [],
- "knoblauch": [
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_knoblauch_k.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_knoblauch_k.png",
- "https:\/\/xml.stw-potsdam.de\/images\/icons\/kl_knoblauch_k.png"
- ]
- },
- "angebote": [
- {
- "titel": "Angebot 1",
- "laufschrift": "",
- "angebotshinweis": null,
- "index": "1",
- "matrix": "9a",
- "beschreibung": "Spaghetti Bolognese mit Reibek\u00e4se",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": true,
- "fisch": false,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": false,
- "vegan": false,
- "vital": false,
- "flexitarisch": true
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "1, Wei, G",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "1",
- "be": "mit Farbstoff",
- "lbz": "Optische Aufwertung der wertbestimmenden Zutaten (z.B. h\u00f6herer Fruchtanteil in der Kaltschale)"
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "G",
- "be": "Milch",
- "ie": "Backwaren, vegetarische Bratlinge, Wurstwaren, Dressings und W\u00fcrzsaucen"
- }
- ]
- }
- },
- "preis_s": "1.40",
- "preis_m": "3.10",
- "preis_g": "3.10",
- "id": 0,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_schwein_s.png",
- "name": "schweinefleisch",
- "translatedfilter": "sau"
- }
- ],
- "screenid": "1",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- },
- "variante": "1.1"
- },
- {
- "titel": "Angebot 1",
- "laufschrift": null,
- "angebotshinweis": null,
- "index": "1.1",
- "matrix": "10a",
- "beschreibung": "Spaghetti mit veganer Tomatensauce mit geschrotetem Buchweizen",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": false,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": false,
- "vegan": true,
- "vital": false,
- "flexitarisch": false
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "Wei",
- "additives": {
- "additive": null
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- }
- ]
- }
- },
- "preis_s": "1.40",
- "preis_m": "3.10",
- "preis_g": "3.10",
- "id": 1,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_vegan_w.png",
- "name": "vegan",
- "translatedfilter": "vegan"
- }
- ],
- "screenid": "1.1",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- },
- {
- "titel": "Angebot 2",
- "laufschrift": "",
- "angebotshinweis": null,
- "index": "2",
- "matrix": "9b",
- "beschreibung": "Burger mit Putenfleisch aus Mecklenburg mit Pommes frites",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": false,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": false,
- "vegan": false,
- "vital": false,
- "flexitarisch": true
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "1, 2, 3, 8, 9, C, F, K, Wei",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "1",
- "be": "mit Farbstoff",
- "lbz": "Optische Aufwertung der wertbestimmenden Zutaten (z.B. h\u00f6herer Fruchtanteil in der Kaltschale)"
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "2",
- "be": "mit Konservierungsstoff",
- "lbz": "Erhaltung bzw. Verl\u00e4ngerung der Genusstauglichkeit des Lebensmittels."
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "3",
- "be": "mit Antioxidationsmittel",
- "lbz": "wie (1) und (2)"
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "8",
- "be": "mit Phosphat",
- "lbz": "Bestandteil des Erbgutes aller Lebewesen und ist in Lebensmitteln tierischen Ursprungs enthalten. Phosphatverbindungen werden u.a. als S\u00e4uerungsmittel in Cola, Wurstwaren eingesetzt"
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "9",
- "be": "mit S\u00fc\u00dfungsmittel",
- "lbz": "S\u00fc\u00dfstoffe, liefern kaum Nahrungsenergie und werden deshalb u.a. in energiereduzierten Lebensmitteln eingesetzt"
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "C",
- "be": "Eier",
- "ie": "Mayonnaisen, Remouladen, Teigwaren (Tortellini, Sp\u00e4tzle, Schupfnudeln), Gnocchi, Backwaren, Panaden, gekl\u00e4rte und gebundene Suppen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "F",
- "be": "Soja",
- "ie": "Milch- und Sahneersatz auf Sojabasis, Tofu, Sojasauce, Zusatzstoff in S\u00fcsswaren v.a. in Schokolade, Wurst- und Fleischwaren"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "K",
- "be": "Sesam",
- "ie": "Backwaren, Fr\u00fchst\u00fcckscerealien, Brotaufstriche"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- }
- ]
- }
- },
- "preis_s": "2.00",
- "preis_m": "3.90",
- "preis_g": "3.90",
- "id": 2,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_hahn_g.png",
- "name": "gefluegel",
- "translatedfilter": "hahn"
- }
- ],
- "screenid": "2",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- },
- {
- "titel": "Angebot 3",
- "laufschrift": "",
- "angebotshinweis": null,
- "index": "3",
- "matrix": "9c",
- "beschreibung": "Forelle M\u00fcllerin Art mit Petersilienkartoffeln und Gurkensalat",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": true,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": false,
- "vegan": false,
- "vital": false,
- "flexitarisch": true
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "D, G, J, Wei, L",
- "additives": {
- "additive": null
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "D",
- "be": "Fisch",
- "ie": "Paella, Bouillabaise, Worchester Sauce, asiatische W\u00fcrzpasten"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "G",
- "be": "Milch",
- "ie": "Backwaren, vegetarische Bratlinge, Wurstwaren, Dressings und W\u00fcrzsaucen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "J",
- "be": "Senf",
- "ie": "Ges\u00e4uerte Gem\u00fcse, Chutneys, Dressings, Wurstwaren, Bratlinge"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "L",
- "be": "Schwefeldioxid, Sulfite",
- "ie": "Wein, weinhaltige Getr\u00e4nke, getrocknete Fr\u00fcchte, Convenience-Produkte (z.B. Bratkartoffel, Instant-Kartoffelp\u00fcree), Konserven"
- }
- ]
- }
- },
- "preis_s": "2.50",
- "preis_m": "4.50",
- "preis_g": "4.50",
- "id": 3,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_fisch_f.png",
- "name": "fisch",
- "translatedfilter": "fisch"
- }
- ],
- "screenid": "3",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- },
- {
- "titel": "Angebot 4",
- "laufschrift": "",
- "angebotshinweis": null,
- "index": "4",
- "matrix": "9d",
- "beschreibung": "Kartoffelr\u00f6sti mit Tomaten und Mozzarella \u00fcberbacken, dazu Wildkr\u00e4utersalat",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": false,
- "alkohol": false,
- "knoblauch": true,
- "lamm": false,
- "vegetarisch": true,
- "vegan": false,
- "vital": false,
- "flexitarisch": false
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "KNO, G, J",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "KNO",
- "be": "mit Knoblauch",
- "lbz": {
- "@attributes": {
- "info": "Lebensmitteltechnologische Bedeutung des Zusatzstoffes"
- }
- }
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "G",
- "be": "Milch",
- "ie": "Backwaren, vegetarische Bratlinge, Wurstwaren, Dressings und W\u00fcrzsaucen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "J",
- "be": "Senf",
- "ie": "Ges\u00e4uerte Gem\u00fcse, Chutneys, Dressings, Wurstwaren, Bratlinge"
- }
- ]
- }
- },
- "preis_s": "2.50",
- "preis_m": "4.50",
- "preis_g": "4.50",
- "id": 4,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_vegetarisch_v.png",
- "name": "vegetarisch",
- "translatedfilter": "vegetarisch"
- },
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_knoblauch_k.png",
- "name": "knoblauch",
- "translatedfilter": "knoblauch"
- }
- ],
- "screenid": "4",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- }
- ]
- }
- },
- {
- "datum": {
- "wochentag": "6",
- "data": "22.09.2018",
- "freitagsmodus": {
- "fmwert": "2",
- "konf": [
- {
- "index": "1",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "2",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "3",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "4",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "5",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "6",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "7",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "8",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- }
- ]
- },
- "globaleetage": {
- "icon_eg": "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_eg.png",
- "icon_og": "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_og.png",
- "screenConfs": {
- "screenog": []
- }
- },
- "tageslabel": {
- "vegetarisch": [],
- "vegan": [],
- "vital": [],
- "schwein": [],
- "fisch": [],
- "rind": [],
- "gefluegel": [],
- "alkohol": [],
- "lamm": [],
- "knoblauch": []
- }
- }
- },
- {
- "datum": {
- "wochentag": "7",
- "data": "23.09.2018",
- "freitagsmodus": {
- "fmwert": "2",
- "konf": [
- {
- "index": "1",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "2",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "3",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "4",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "5",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "6",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "7",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- },
- {
- "index": "8",
- "vonscreen": {},
- "angebotemanuell": {
- "linksoben": {},
- "linksunten": {},
- "rechtsoben": {},
- "rechtsunten": {}
- }
- }
- ]
- },
- "globaleetage": {
- "icon_eg": "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_eg.png",
- "icon_og": "https:\/\/xml.stw-potsdam.de\/images\/icons\/gr_og.png",
- "screenConfs": {
- "screenog": []
- }
- },
- "tageslabel": {
- "vegetarisch": [],
- "vegan": [],
- "vital": [],
- "schwein": [],
- "fisch": [],
- "rind": [],
- "gefluegel": [],
- "alkohol": [],
- "lamm": [],
- "knoblauch": []
- }
- }
- },
- {
- "datum": {
- "wochentag": "1",
- "data": "24.09.2018",
- "freitagsmodus": {
- "fmwert": null,
- "konf": []
- },
- "globaleetage": {
- "icon_eg": null,
- "icon_og": null,
- "screenConfs": {
- "screenog": []
- }
- },
- "tageslabel": {
- "vegetarisch": [],
- "vegan": [],
- "vital": [],
- "schwein": [],
- "fisch": [],
- "rind": [],
- "gefluegel": [],
- "alkohol": [],
- "lamm": [],
- "knoblauch": []
- },
- "angebote": [
- {
- "titel": "Angebot 1",
- "laufschrift": null,
- "angebotshinweis": null,
- "index": "1",
- "matrix": "1a",
- "beschreibung": "Backkartoffel mit Kr\u00e4uterquark",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": false,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": true,
- "vegan": false,
- "vital": false,
- "flexitarisch": false
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "G",
- "additives": {
- "additive": null
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "G",
- "be": "Milch",
- "ie": "Backwaren, vegetarische Bratlinge, Wurstwaren, Dressings und W\u00fcrzsaucen"
- }
- ]
- }
- },
- "preis_s": "1.40",
- "preis_m": "3.10",
- "preis_g": "3.10",
- "id": 0,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_vegetarisch_v.png",
- "name": "vegetarisch",
- "translatedfilter": "vegetarisch"
- }
- ],
- "screenid": "1",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- },
- "variante": "1.1"
- },
- {
- "titel": "Angebot 1",
- "laufschrift": null,
- "angebotshinweis": null,
- "index": "1.1",
- "matrix": "2a",
- "beschreibung": "Backkartoffel mit Soja-Kr\u00e4uterdip",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": false,
- "alkohol": false,
- "knoblauch": true,
- "lamm": false,
- "vegetarisch": false,
- "vegan": true,
- "vital": false,
- "flexitarisch": false
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "KNO, F, J",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "KNO",
- "be": "mit Knoblauch",
- "lbz": {
- "@attributes": {
- "info": "Lebensmitteltechnologische Bedeutung des Zusatzstoffes"
- }
- }
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "F",
- "be": "Soja",
- "ie": "Milch- und Sahneersatz auf Sojabasis, Tofu, Sojasauce, Zusatzstoff in S\u00fcsswaren v.a. in Schokolade, Wurst- und Fleischwaren"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "J",
- "be": "Senf",
- "ie": "Ges\u00e4uerte Gem\u00fcse, Chutneys, Dressings, Wurstwaren, Bratlinge"
- }
- ]
- }
- },
- "preis_s": "1.40",
- "preis_m": "3.10",
- "preis_g": "3.10",
- "id": 1,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_vegan_w.png",
- "name": "vegan",
- "translatedfilter": "vegan"
- },
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_knoblauch_k.png",
- "name": "knoblauch",
- "translatedfilter": "knoblauch"
- }
- ],
- "screenid": "1.1",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- },
- {
- "titel": "Angebot 2",
- "laufschrift": null,
- "angebotshinweis": null,
- "index": "2",
- "matrix": "1b",
- "beschreibung": "Putenbratwurst aus Mecklenburg mit hausgemachter Currysauce, dazu Kartoffel-Gurkensalat",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": false,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": false,
- "vegan": false,
- "vital": false,
- "flexitarisch": true
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "8, 21, C, Wei",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "8",
- "be": "mit Phosphat",
- "lbz": "Bestandteil des Erbgutes aller Lebewesen und ist in Lebensmitteln tierischen Ursprungs enthalten. Phosphatverbindungen werden u.a. als S\u00e4uerungsmittel in Cola, Wurstwaren eingesetzt"
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "21",
- "be": "mit Koffein",
- "lbz": "Aroma-gebende Komponente"
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "C",
- "be": "Eier",
- "ie": "Mayonnaisen, Remouladen, Teigwaren (Tortellini, Sp\u00e4tzle, Schupfnudeln), Gnocchi, Backwaren, Panaden, gekl\u00e4rte und gebundene Suppen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- }
- ]
- }
- },
- "preis_s": "2.00",
- "preis_m": "3.90",
- "preis_g": "3.90",
- "id": 2,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_hahn_g.png",
- "name": "gefluegel",
- "translatedfilter": "hahn"
- }
- ],
- "screenid": "2",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- },
- "variante": "2.1"
- },
- {
- "titel": "Angebot 2",
- "laufschrift": null,
- "angebotshinweis": null,
- "index": "2.1",
- "matrix": "2b",
- "beschreibung": "Vegetarische Bratwurst mit hausgemachter Currysauce, dazu Kartoffel-Gurkensalat",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": false,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": true,
- "vegan": false,
- "vital": false,
- "flexitarisch": false
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "3, 9, C, Wei",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "3",
- "be": "mit Antioxidationsmittel",
- "lbz": "wie (1) und (2)"
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "9",
- "be": "mit S\u00fc\u00dfungsmittel",
- "lbz": "S\u00fc\u00dfstoffe, liefern kaum Nahrungsenergie und werden deshalb u.a. in energiereduzierten Lebensmitteln eingesetzt"
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "C",
- "be": "Eier",
- "ie": "Mayonnaisen, Remouladen, Teigwaren (Tortellini, Sp\u00e4tzle, Schupfnudeln), Gnocchi, Backwaren, Panaden, gekl\u00e4rte und gebundene Suppen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- }
- ]
- }
- },
- "preis_s": "2.00",
- "preis_m": "3.90",
- "preis_g": "3.90",
- "id": 3,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_vegetarisch_v.png",
- "name": "vegetarisch",
- "translatedfilter": "vegetarisch"
- }
- ],
- "screenid": "2.1",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- },
- {
- "titel": "Angebot 3",
- "laufschrift": null,
- "angebotshinweis": null,
- "index": "3",
- "matrix": "1c",
- "beschreibung": "Knusperfisch mit Kr\u00e4utersauce, \ndazu Saisongem\u00fcse und Wildmischreis \noder Herzoginkartoffeln",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": true,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": false,
- "vegan": false,
- "vital": false,
- "flexitarisch": true
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "D, Wei, G, I",
- "additives": {
- "additive": null
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "D",
- "be": "Fisch",
- "ie": "Paella, Bouillabaise, Worchester Sauce, asiatische W\u00fcrzpasten"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "G",
- "be": "Milch",
- "ie": "Backwaren, vegetarische Bratlinge, Wurstwaren, Dressings und W\u00fcrzsaucen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "I",
- "be": "Sellerie",
- "ie": "Gew\u00fcrzmischungen, Salatsaucenbasis, Instant-Br\u00fchen, Fleischwaren, Ketchup, Bratlinge"
- }
- ]
- }
- },
- "preis_s": "2.50",
- "preis_m": "4.50",
- "preis_g": "4.50",
- "id": 4,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_fisch_f.png",
- "name": "fisch",
- "translatedfilter": "fisch"
- }
- ],
- "screenid": "3",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- },
- {
- "titel": "Angebot 4",
- "laufschrift": null,
- "angebotshinweis": null,
- "index": "4",
- "matrix": "1d",
- "beschreibung": "Pan Haggerty - mit Cheddar \u00fcberbackenes Kartoffelgericht, dazu Sellerie-Apfelsalat",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": false,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": true,
- "vegan": false,
- "vital": false,
- "flexitarisch": false
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "1, G, I",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "1",
- "be": "mit Farbstoff",
- "lbz": "Optische Aufwertung der wertbestimmenden Zutaten (z.B. h\u00f6herer Fruchtanteil in der Kaltschale)"
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "G",
- "be": "Milch",
- "ie": "Backwaren, vegetarische Bratlinge, Wurstwaren, Dressings und W\u00fcrzsaucen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "I",
- "be": "Sellerie",
- "ie": "Gew\u00fcrzmischungen, Salatsaucenbasis, Instant-Br\u00fchen, Fleischwaren, Ketchup, Bratlinge"
- }
- ]
- }
- },
- "preis_s": "2.50",
- "preis_m": "4.50",
- "preis_g": "4.50",
- "id": 5,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_vegetarisch_v.png",
- "name": "vegetarisch",
- "translatedfilter": "vegetarisch"
- }
- ],
- "screenid": "4",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- }
- ]
- }
- },
- {
- "datum": {
- "wochentag": "2",
- "data": "25.09.2018",
- "freitagsmodus": {
- "fmwert": null,
- "konf": []
- },
- "globaleetage": {
- "icon_eg": null,
- "icon_og": null,
- "screenConfs": {
- "screenog": []
- }
- },
- "tageslabel": {
- "vegetarisch": [],
- "vegan": [],
- "vital": [],
- "schwein": [],
- "fisch": [],
- "rind": [],
- "gefluegel": [],
- "alkohol": [],
- "lamm": [],
- "knoblauch": []
- },
- "angebote": [
- {
- "titel": "Angebot 1",
- "laufschrift": null,
- "angebotshinweis": null,
- "index": "1",
- "matrix": "3a",
- "beschreibung": "R\u00fchrei mit Rahmspinat und Salzkartoffeln",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": false,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": true,
- "vegan": false,
- "vital": false,
- "flexitarisch": false
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "C, G, Wei",
- "additives": {
- "additive": null
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "C",
- "be": "Eier",
- "ie": "Mayonnaisen, Remouladen, Teigwaren (Tortellini, Sp\u00e4tzle, Schupfnudeln), Gnocchi, Backwaren, Panaden, gekl\u00e4rte und gebundene Suppen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "G",
- "be": "Milch",
- "ie": "Backwaren, vegetarische Bratlinge, Wurstwaren, Dressings und W\u00fcrzsaucen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- }
- ]
- }
- },
- "preis_s": "1.40",
- "preis_m": "3.10",
- "preis_g": "3.10",
- "id": 0,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_vegetarisch_v.png",
- "name": "vegetarisch",
- "translatedfilter": "vegetarisch"
- }
- ],
- "screenid": "1",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- },
- {
- "titel": "Angebot 2",
- "laufschrift": null,
- "angebotshinweis": null,
- "index": "2",
- "matrix": "3b",
- "beschreibung": "Hirtenrolle mit Balkangem\u00fcse, dazu bunter Nudelreis-Salat",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": true,
- "fisch": false,
- "alkohol": false,
- "knoblauch": true,
- "lamm": false,
- "vegetarisch": false,
- "vegan": false,
- "vital": false,
- "flexitarisch": true
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "KNO, C, F, G, Wei",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "KNO",
- "be": "mit Knoblauch",
- "lbz": {
- "@attributes": {
- "info": "Lebensmitteltechnologische Bedeutung des Zusatzstoffes"
- }
- }
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "C",
- "be": "Eier",
- "ie": "Mayonnaisen, Remouladen, Teigwaren (Tortellini, Sp\u00e4tzle, Schupfnudeln), Gnocchi, Backwaren, Panaden, gekl\u00e4rte und gebundene Suppen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "F",
- "be": "Soja",
- "ie": "Milch- und Sahneersatz auf Sojabasis, Tofu, Sojasauce, Zusatzstoff in S\u00fcsswaren v.a. in Schokolade, Wurst- und Fleischwaren"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "G",
- "be": "Milch",
- "ie": "Backwaren, vegetarische Bratlinge, Wurstwaren, Dressings und W\u00fcrzsaucen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- }
- ]
- }
- },
- "preis_s": "2.00",
- "preis_m": "3.90",
- "preis_g": "3.90",
- "id": 1,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_schwein_s.png",
- "name": "schweinefleisch",
- "translatedfilter": "sau"
- },
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_knoblauch_k.png",
- "name": "knoblauch",
- "translatedfilter": "knoblauch"
- }
- ],
- "screenid": "2",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- },
- "variante": "2.1"
- },
- {
- "titel": "Angebot 2",
- "laufschrift": null,
- "angebotshinweis": null,
- "index": "2.1",
- "matrix": "4b",
- "beschreibung": "Vegetarische Bratwurst mit hausgemachter Currysauce, dazu Kartoffel-Gurkensalat",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": false,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": true,
- "vegan": false,
- "vital": false,
- "flexitarisch": false
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "8, 21, C, Wei",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "8",
- "be": "mit Phosphat",
- "lbz": "Bestandteil des Erbgutes aller Lebewesen und ist in Lebensmitteln tierischen Ursprungs enthalten. Phosphatverbindungen werden u.a. als S\u00e4uerungsmittel in Cola, Wurstwaren eingesetzt"
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "21",
- "be": "mit Koffein",
- "lbz": "Aroma-gebende Komponente"
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "C",
- "be": "Eier",
- "ie": "Mayonnaisen, Remouladen, Teigwaren (Tortellini, Sp\u00e4tzle, Schupfnudeln), Gnocchi, Backwaren, Panaden, gekl\u00e4rte und gebundene Suppen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- }
- ]
- }
- },
- "preis_s": "2.00",
- "preis_m": "3.90",
- "preis_g": "3.90",
- "id": 2,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_vegetarisch_v.png",
- "name": "vegetarisch",
- "translatedfilter": "vegetarisch"
- }
- ],
- "screenid": "2.1",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- },
- {
- "titel": "Angebot 3",
- "laufschrift": null,
- "angebotshinweis": null,
- "index": "3",
- "matrix": "3c",
- "beschreibung": "Fangfrisches Seelachsfilet mit Rahm-Wirsing, dazu Gnocchi oder Langkornreis",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": true,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": false,
- "vegan": false,
- "vital": false,
- "flexitarisch": true
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "2, 5, D, Wei, L, C",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "2",
- "be": "mit Konservierungsstoff",
- "lbz": "Erhaltung bzw. Verl\u00e4ngerung der Genusstauglichkeit des Lebensmittels."
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "5",
- "be": "geschwefelt",
- "lbz": "Schwefel dient der Abt\u00f6tung von unerw\u00fcnschten Mikroorganismen"
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "D",
- "be": "Fisch",
- "ie": "Paella, Bouillabaise, Worchester Sauce, asiatische W\u00fcrzpasten"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "L",
- "be": "Schwefeldioxid, Sulfite",
- "ie": "Wein, weinhaltige Getr\u00e4nke, getrocknete Fr\u00fcchte, Convenience-Produkte (z.B. Bratkartoffel, Instant-Kartoffelp\u00fcree), Konserven"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "C",
- "be": "Eier",
- "ie": "Mayonnaisen, Remouladen, Teigwaren (Tortellini, Sp\u00e4tzle, Schupfnudeln), Gnocchi, Backwaren, Panaden, gekl\u00e4rte und gebundene Suppen"
- }
- ]
- }
- },
- "preis_s": "2.50",
- "preis_m": "4.50",
- "preis_g": "4.50",
- "id": 3,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_fisch_f.png",
- "name": "fisch",
- "translatedfilter": "fisch"
- }
- ],
- "screenid": "3",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- }
- ]
- }
- },
- {
- "datum": {
- "wochentag": "3",
- "data": "26.09.2018",
- "freitagsmodus": {
- "fmwert": null,
- "konf": []
- },
- "globaleetage": {
- "icon_eg": null,
- "icon_og": null,
- "screenConfs": {
- "screenog": []
- }
- },
- "tageslabel": {
- "vegetarisch": [],
- "vegan": [],
- "vital": [],
- "schwein": [],
- "fisch": [],
- "rind": [],
- "gefluegel": [],
- "alkohol": [],
- "lamm": [],
- "knoblauch": []
- },
- "angebote": [
- {
- "titel": "Angebot 1",
- "laufschrift": null,
- "angebotshinweis": null,
- "index": "1",
- "matrix": "5a",
- "beschreibung": "Gebratene Jagdwurst mit Nudeln und Tomatensauce",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": true,
- "fisch": false,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": false,
- "vegan": false,
- "vital": false,
- "flexitarisch": true
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "GE, 2, 3, 8, 9, C, I, J, Wei",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "GE",
- "be": "mit Gelatine",
- "lbz": {
- "@attributes": {
- "info": "Lebensmitteltechnologische Bedeutung des Zusatzstoffes"
- }
- }
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "2",
- "be": "mit Konservierungsstoff",
- "lbz": "Erhaltung bzw. Verl\u00e4ngerung der Genusstauglichkeit des Lebensmittels."
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "3",
- "be": "mit Antioxidationsmittel",
- "lbz": "wie (1) und (2)"
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "8",
- "be": "mit Phosphat",
- "lbz": "Bestandteil des Erbgutes aller Lebewesen und ist in Lebensmitteln tierischen Ursprungs enthalten. Phosphatverbindungen werden u.a. als S\u00e4uerungsmittel in Cola, Wurstwaren eingesetzt"
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "9",
- "be": "mit S\u00fc\u00dfungsmittel",
- "lbz": "S\u00fc\u00dfstoffe, liefern kaum Nahrungsenergie und werden deshalb u.a. in energiereduzierten Lebensmitteln eingesetzt"
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "C",
- "be": "Eier",
- "ie": "Mayonnaisen, Remouladen, Teigwaren (Tortellini, Sp\u00e4tzle, Schupfnudeln), Gnocchi, Backwaren, Panaden, gekl\u00e4rte und gebundene Suppen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "I",
- "be": "Sellerie",
- "ie": "Gew\u00fcrzmischungen, Salatsaucenbasis, Instant-Br\u00fchen, Fleischwaren, Ketchup, Bratlinge"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "J",
- "be": "Senf",
- "ie": "Ges\u00e4uerte Gem\u00fcse, Chutneys, Dressings, Wurstwaren, Bratlinge"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- }
- ]
- }
- },
- "preis_s": "1.40",
- "preis_m": "3.10",
- "preis_g": "3.10",
- "id": 0,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_schwein_s.png",
- "name": "schweinefleisch",
- "translatedfilter": "sau"
- }
- ],
- "screenid": "1",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- },
- "variante": "1.1"
- },
- {
- "titel": "Angebot 1",
- "laufschrift": null,
- "angebotshinweis": null,
- "index": "1.1",
- "matrix": "6a",
- "beschreibung": "Tofusteak mit Nudeln und veganer Tomatensauce",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": false,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": false,
- "vegan": true,
- "vital": false,
- "flexitarisch": false
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "2, F, I, Wei",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "2",
- "be": "mit Konservierungsstoff",
- "lbz": "Erhaltung bzw. Verl\u00e4ngerung der Genusstauglichkeit des Lebensmittels."
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "F",
- "be": "Soja",
- "ie": "Milch- und Sahneersatz auf Sojabasis, Tofu, Sojasauce, Zusatzstoff in S\u00fcsswaren v.a. in Schokolade, Wurst- und Fleischwaren"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "I",
- "be": "Sellerie",
- "ie": "Gew\u00fcrzmischungen, Salatsaucenbasis, Instant-Br\u00fchen, Fleischwaren, Ketchup, Bratlinge"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- }
- ]
- }
- },
- "preis_s": "1.40",
- "preis_m": "3.10",
- "preis_g": "3.10",
- "id": 1,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_vegan_w.png",
- "name": "vegan",
- "translatedfilter": "vegan"
- }
- ],
- "screenid": "1.1",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- },
- {
- "titel": "Angebot 2",
- "laufschrift": null,
- "angebotshinweis": null,
- "index": "2",
- "matrix": "5b",
- "beschreibung": "Gefl\u00fcgelfrikassee mit jungen Erbsen, dazu Langkornreis oder Salzkartoffeln",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": false,
- "alkohol": true,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": false,
- "vegan": false,
- "vital": false,
- "flexitarisch": true
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "AL, 1, 2, 3, G, L, Wei",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "AL",
- "be": "mit Alkohol",
- "lbz": "Aroma-gebende Komponente"
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "1",
- "be": "mit Farbstoff",
- "lbz": "Optische Aufwertung der wertbestimmenden Zutaten (z.B. h\u00f6herer Fruchtanteil in der Kaltschale)"
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "2",
- "be": "mit Konservierungsstoff",
- "lbz": "Erhaltung bzw. Verl\u00e4ngerung der Genusstauglichkeit des Lebensmittels."
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "3",
- "be": "mit Antioxidationsmittel",
- "lbz": "wie (1) und (2)"
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "G",
- "be": "Milch",
- "ie": "Backwaren, vegetarische Bratlinge, Wurstwaren, Dressings und W\u00fcrzsaucen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "L",
- "be": "Schwefeldioxid, Sulfite",
- "ie": "Wein, weinhaltige Getr\u00e4nke, getrocknete Fr\u00fcchte, Convenience-Produkte (z.B. Bratkartoffel, Instant-Kartoffelp\u00fcree), Konserven"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- }
- ]
- }
- },
- "preis_s": "2.00",
- "preis_m": "3.90",
- "preis_g": "3.90",
- "id": 2,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_hahn_g.png",
- "name": "gefluegel",
- "translatedfilter": "hahn"
- },
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_alkohol_a.png",
- "name": "alkohol",
- "translatedfilter": "alkohol"
- }
- ],
- "screenid": "2",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- },
- {
- "titel": "Angebot 3",
- "laufschrift": null,
- "angebotshinweis": null,
- "index": "3",
- "matrix": "5c",
- "beschreibung": "Rinder- oder Schweinesteak mit Kr\u00e4uterbutter und Pfefferbohnen, dazu Pommes frites oder gebratene Drillinge",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": true,
- "fisch": false,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": false,
- "vegan": false,
- "vital": false,
- "flexitarisch": true
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "3, Wei, G",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "3",
- "be": "mit Antioxidationsmittel",
- "lbz": "wie (1) und (2)"
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "G",
- "be": "Milch",
- "ie": "Backwaren, vegetarische Bratlinge, Wurstwaren, Dressings und W\u00fcrzsaucen"
- }
- ]
- }
- },
- "preis_s": "2.50",
- "preis_m": "4.50",
- "preis_g": "4.50",
- "id": 3,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_schwein_s.png",
- "name": "schweinefleisch",
- "translatedfilter": "sau"
- },
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_rind_r.png",
- "name": "rindfleisch",
- "translatedfilter": "rind"
- }
- ],
- "screenid": "3",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- },
- {
- "titel": "Angebot 4",
- "laufschrift": null,
- "angebotshinweis": null,
- "index": "4",
- "matrix": "5d",
- "beschreibung": "Beelitzer Dinkel-Nudeln und Tomaten-Sauce mit k\u00f6rnigem Frischk\u00e4se, dazu Wildkr\u00e4utersalat",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": false,
- "alkohol": false,
- "knoblauch": true,
- "lamm": false,
- "vegetarisch": true,
- "vegan": false,
- "vital": false,
- "flexitarisch": false
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "9, KNO, Din, G, Wei",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "9",
- "be": "mit S\u00fc\u00dfungsmittel",
- "lbz": "S\u00fc\u00dfstoffe, liefern kaum Nahrungsenergie und werden deshalb u.a. in energiereduzierten Lebensmitteln eingesetzt"
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "KNO",
- "be": "mit Knoblauch",
- "lbz": {
- "@attributes": {
- "info": "Lebensmitteltechnologische Bedeutung des Zusatzstoffes"
- }
- }
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Din",
- "be": "Dinkel-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Backwaren"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "G",
- "be": "Milch",
- "ie": "Backwaren, vegetarische Bratlinge, Wurstwaren, Dressings und W\u00fcrzsaucen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- }
- ]
- }
- },
- "preis_s": "2.50",
- "preis_m": "4.50",
- "preis_g": "4.50",
- "id": 4,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_vegetarisch_v.png",
- "name": "vegetarisch",
- "translatedfilter": "vegetarisch"
- },
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_knoblauch_k.png",
- "name": "knoblauch",
- "translatedfilter": "knoblauch"
- }
- ],
- "screenid": "4",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- }
- ]
- }
- },
- {
- "datum": {
- "wochentag": "4",
- "data": "27.09.2018",
- "freitagsmodus": {
- "fmwert": null,
- "konf": []
- },
- "globaleetage": {
- "icon_eg": null,
- "icon_og": null,
- "screenConfs": {
- "screenog": []
- }
- },
- "tageslabel": {
- "vegetarisch": [],
- "vegan": [],
- "vital": [],
- "schwein": [],
- "fisch": [],
- "rind": [],
- "gefluegel": [],
- "alkohol": [],
- "lamm": [],
- "knoblauch": []
- },
- "angebote": [
- {
- "titel": "Angebot 1",
- "laufschrift": null,
- "angebotshinweis": null,
- "index": "1",
- "matrix": "7a",
- "beschreibung": "Kartoffelsuppe mit Wiener W\u00fcrstchen oder Gefl\u00fcgelwiener aus Mecklenburg, dazu Roggenbrot",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": true,
- "fisch": false,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": false,
- "vegan": false,
- "vital": false,
- "flexitarisch": true
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "2, 3, 4, 8, I, Wei, Rog",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "2",
- "be": "mit Konservierungsstoff",
- "lbz": "Erhaltung bzw. Verl\u00e4ngerung der Genusstauglichkeit des Lebensmittels."
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "3",
- "be": "mit Antioxidationsmittel",
- "lbz": "wie (1) und (2)"
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "4",
- "be": "mit Geschmacksverst\u00e4rker",
- "lbz": "zur Verst\u00e4rkung des Geschmacks der wertbestimmenden Zutaten"
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "8",
- "be": "mit Phosphat",
- "lbz": "Bestandteil des Erbgutes aller Lebewesen und ist in Lebensmitteln tierischen Ursprungs enthalten. Phosphatverbindungen werden u.a. als S\u00e4uerungsmittel in Cola, Wurstwaren eingesetzt"
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "I",
- "be": "Sellerie",
- "ie": "Gew\u00fcrzmischungen, Salatsaucenbasis, Instant-Br\u00fchen, Fleischwaren, Ketchup, Bratlinge"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Rog",
- "be": "Roggen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Backwaren"
- }
- ]
- }
- },
- "preis_s": "1.40",
- "preis_m": "3.10",
- "preis_g": "3.10",
- "id": 0,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_schwein_s.png",
- "name": "schweinefleisch",
- "translatedfilter": "sau"
- },
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_rind_r.png",
- "name": "rindfleisch",
- "translatedfilter": "rind"
- }
- ],
- "screenid": "1",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- },
- "variante": "1.1"
- },
- {
- "titel": "Angebot 1",
- "laufschrift": null,
- "angebotshinweis": null,
- "index": "1.1",
- "matrix": "8a",
- "beschreibung": "vegane Kartoffelsuppe mit R\u00e4uchertofu und Roggenbrot",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": false,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": true,
- "vegan": false,
- "vital": false,
- "flexitarisch": false
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "2, I, F, Wei, Rog",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "2",
- "be": "mit Konservierungsstoff",
- "lbz": "Erhaltung bzw. Verl\u00e4ngerung der Genusstauglichkeit des Lebensmittels."
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "I",
- "be": "Sellerie",
- "ie": "Gew\u00fcrzmischungen, Salatsaucenbasis, Instant-Br\u00fchen, Fleischwaren, Ketchup, Bratlinge"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "F",
- "be": "Soja",
- "ie": "Milch- und Sahneersatz auf Sojabasis, Tofu, Sojasauce, Zusatzstoff in S\u00fcsswaren v.a. in Schokolade, Wurst- und Fleischwaren"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Rog",
- "be": "Roggen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Backwaren"
- }
- ]
- }
- },
- "preis_s": "1.40",
- "preis_m": "3.10",
- "preis_g": "3.10",
- "id": 1,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_vegetarisch_v.png",
- "name": "vegetarisch",
- "translatedfilter": "vegetarisch"
- }
- ],
- "screenid": "1.1",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- },
- {
- "titel": "Angebot 2",
- "laufschrift": null,
- "angebotshinweis": null,
- "index": "2",
- "matrix": "7b",
- "beschreibung": "Thaicurry mit H\u00e4hnchenfleisch, Paprika und Sprossen, dazu Basmatirei",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": false,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": false,
- "vegan": false,
- "vital": false,
- "flexitarisch": true
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "2, D, F",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "2",
- "be": "mit Konservierungsstoff",
- "lbz": "Erhaltung bzw. Verl\u00e4ngerung der Genusstauglichkeit des Lebensmittels."
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "D",
- "be": "Fisch",
- "ie": "Paella, Bouillabaise, Worchester Sauce, asiatische W\u00fcrzpasten"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "F",
- "be": "Soja",
- "ie": "Milch- und Sahneersatz auf Sojabasis, Tofu, Sojasauce, Zusatzstoff in S\u00fcsswaren v.a. in Schokolade, Wurst- und Fleischwaren"
- }
- ]
- }
- },
- "preis_s": "2.00",
- "preis_m": "3.90",
- "preis_g": "3.90",
- "id": 2,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_hahn_g.png",
- "name": "gefluegel",
- "translatedfilter": "hahn"
- }
- ],
- "screenid": "2",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- },
- {
- "titel": "Angebot 3",
- "laufschrift": null,
- "angebotshinweis": null,
- "index": "3",
- "matrix": "7c",
- "beschreibung": "D\u00f6nerteller mit Kr\u00e4uter-Sauce, dazu Pommes frites oder Fladenbrot",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": false,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": false,
- "vegan": false,
- "vital": false,
- "flexitarisch": true
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "4, 9, C, F, G, Wei, K, Ger",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "4",
- "be": "mit Geschmacksverst\u00e4rker",
- "lbz": "zur Verst\u00e4rkung des Geschmacks der wertbestimmenden Zutaten"
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "9",
- "be": "mit S\u00fc\u00dfungsmittel",
- "lbz": "S\u00fc\u00dfstoffe, liefern kaum Nahrungsenergie und werden deshalb u.a. in energiereduzierten Lebensmitteln eingesetzt"
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "C",
- "be": "Eier",
- "ie": "Mayonnaisen, Remouladen, Teigwaren (Tortellini, Sp\u00e4tzle, Schupfnudeln), Gnocchi, Backwaren, Panaden, gekl\u00e4rte und gebundene Suppen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "F",
- "be": "Soja",
- "ie": "Milch- und Sahneersatz auf Sojabasis, Tofu, Sojasauce, Zusatzstoff in S\u00fcsswaren v.a. in Schokolade, Wurst- und Fleischwaren"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "G",
- "be": "Milch",
- "ie": "Backwaren, vegetarische Bratlinge, Wurstwaren, Dressings und W\u00fcrzsaucen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "K",
- "be": "Sesam",
- "ie": "Backwaren, Fr\u00fchst\u00fcckscerealien, Brotaufstriche"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Ger",
- "be": "Gerste-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Bier, Whiskey, Malzkaffee, Graupen, Backwaren"
- }
- ]
- }
- },
- "preis_s": "2.50",
- "preis_m": "4.50",
- "preis_g": "4.50",
- "id": 3,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_rind_r.png",
- "name": "rindfleisch",
- "translatedfilter": "rind"
- }
- ],
- "screenid": "3",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- },
- {
- "titel": "Angebot 4",
- "laufschrift": null,
- "angebotshinweis": null,
- "index": "4",
- "matrix": "7d",
- "beschreibung": "Makkaroni-Tomaten-Brokkoli-Auflauf, dazu italienische Salatmischung",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": false,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": true,
- "vegan": false,
- "vital": false,
- "flexitarisch": false
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "1, C, G, Wei",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "1",
- "be": "mit Farbstoff",
- "lbz": "Optische Aufwertung der wertbestimmenden Zutaten (z.B. h\u00f6herer Fruchtanteil in der Kaltschale)"
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "C",
- "be": "Eier",
- "ie": "Mayonnaisen, Remouladen, Teigwaren (Tortellini, Sp\u00e4tzle, Schupfnudeln), Gnocchi, Backwaren, Panaden, gekl\u00e4rte und gebundene Suppen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "G",
- "be": "Milch",
- "ie": "Backwaren, vegetarische Bratlinge, Wurstwaren, Dressings und W\u00fcrzsaucen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- }
- ]
- }
- },
- "preis_s": "2.50",
- "preis_m": "4.50",
- "preis_g": "4.50",
- "id": 4,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_vegetarisch_v.png",
- "name": "vegetarisch",
- "translatedfilter": "vegetarisch"
- }
- ],
- "screenid": "4",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- }
- ]
- }
- },
- {
- "datum": {
- "wochentag": "5",
- "data": "28.09.2018",
- "freitagsmodus": {
- "fmwert": null,
- "konf": []
- },
- "globaleetage": {
- "icon_eg": null,
- "icon_og": null,
- "screenConfs": {
- "screenog": []
- }
- },
- "tageslabel": {
- "vegetarisch": [],
- "vegan": [],
- "vital": [],
- "schwein": [],
- "fisch": [],
- "rind": [],
- "gefluegel": [],
- "alkohol": [],
- "lamm": [],
- "knoblauch": []
- },
- "angebote": [
- {
- "titel": "Angebot 1",
- "laufschrift": null,
- "angebotshinweis": null,
- "index": "1",
- "matrix": "9a",
- "beschreibung": "Hausgemachte Eierkuchen \nmit Zitronen-Vanillequark oder Apfelmus",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": false,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": true,
- "vegan": false,
- "vital": false,
- "flexitarisch": false
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "3, 9, C, G, Wei",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "3",
- "be": "mit Antioxidationsmittel",
- "lbz": "wie (1) und (2)"
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "9",
- "be": "mit S\u00fc\u00dfungsmittel",
- "lbz": "S\u00fc\u00dfstoffe, liefern kaum Nahrungsenergie und werden deshalb u.a. in energiereduzierten Lebensmitteln eingesetzt"
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "C",
- "be": "Eier",
- "ie": "Mayonnaisen, Remouladen, Teigwaren (Tortellini, Sp\u00e4tzle, Schupfnudeln), Gnocchi, Backwaren, Panaden, gekl\u00e4rte und gebundene Suppen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "G",
- "be": "Milch",
- "ie": "Backwaren, vegetarische Bratlinge, Wurstwaren, Dressings und W\u00fcrzsaucen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- }
- ]
- }
- },
- "preis_s": "1.40",
- "preis_m": "3.10",
- "preis_g": "3.10",
- "id": 0,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_vegetarisch_v.png",
- "name": "vegetarisch",
- "translatedfilter": "vegetarisch"
- }
- ],
- "screenid": "1",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- },
- {
- "titel": "Angebot 2",
- "laufschrift": null,
- "angebotshinweis": null,
- "index": "2",
- "matrix": "9b",
- "beschreibung": "Rauch-Matjestopf \nmit Preiselbeeren, dazu Bratkartoffeln \nund Gurkensalat mit Sauerrahm",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": true,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": false,
- "vegan": false,
- "vital": false,
- "flexitarisch": true
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "1, 2, 9, C, D, J, G",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "1",
- "be": "mit Farbstoff",
- "lbz": "Optische Aufwertung der wertbestimmenden Zutaten (z.B. h\u00f6herer Fruchtanteil in der Kaltschale)"
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "2",
- "be": "mit Konservierungsstoff",
- "lbz": "Erhaltung bzw. Verl\u00e4ngerung der Genusstauglichkeit des Lebensmittels."
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "9",
- "be": "mit S\u00fc\u00dfungsmittel",
- "lbz": "S\u00fc\u00dfstoffe, liefern kaum Nahrungsenergie und werden deshalb u.a. in energiereduzierten Lebensmitteln eingesetzt"
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "C",
- "be": "Eier",
- "ie": "Mayonnaisen, Remouladen, Teigwaren (Tortellini, Sp\u00e4tzle, Schupfnudeln), Gnocchi, Backwaren, Panaden, gekl\u00e4rte und gebundene Suppen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "D",
- "be": "Fisch",
- "ie": "Paella, Bouillabaise, Worchester Sauce, asiatische W\u00fcrzpasten"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "J",
- "be": "Senf",
- "ie": "Ges\u00e4uerte Gem\u00fcse, Chutneys, Dressings, Wurstwaren, Bratlinge"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "G",
- "be": "Milch",
- "ie": "Backwaren, vegetarische Bratlinge, Wurstwaren, Dressings und W\u00fcrzsaucen"
- }
- ]
- }
- },
- "preis_s": "2.00",
- "preis_m": "3.90",
- "preis_g": "3.90",
- "id": 1,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_fisch_f.png",
- "name": "fisch",
- "translatedfilter": "fisch"
- }
- ],
- "screenid": "2",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- },
- {
- "titel": "Angebot 3",
- "laufschrift": null,
- "angebotshinweis": null,
- "index": "3",
- "matrix": "9c",
- "beschreibung": "Paniertes Schnitzel mit Blumenkohl in Semmelbutter, dazu Petersilienkartoffeln",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": true,
- "fisch": false,
- "alkohol": false,
- "knoblauch": false,
- "lamm": false,
- "vegetarisch": false,
- "vegan": false,
- "vital": false,
- "flexitarisch": true
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "14, C, F, G, Wei, L",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "14",
- "be": "mit Eiklar",
- "lbz": "Einsatz von Fremdeiwei\u00df, wird als Bindemittel verwendet"
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "C",
- "be": "Eier",
- "ie": "Mayonnaisen, Remouladen, Teigwaren (Tortellini, Sp\u00e4tzle, Schupfnudeln), Gnocchi, Backwaren, Panaden, gekl\u00e4rte und gebundene Suppen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "F",
- "be": "Soja",
- "ie": "Milch- und Sahneersatz auf Sojabasis, Tofu, Sojasauce, Zusatzstoff in S\u00fcsswaren v.a. in Schokolade, Wurst- und Fleischwaren"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "G",
- "be": "Milch",
- "ie": "Backwaren, vegetarische Bratlinge, Wurstwaren, Dressings und W\u00fcrzsaucen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "L",
- "be": "Schwefeldioxid, Sulfite",
- "ie": "Wein, weinhaltige Getr\u00e4nke, getrocknete Fr\u00fcchte, Convenience-Produkte (z.B. Bratkartoffel, Instant-Kartoffelp\u00fcree), Konserven"
- }
- ]
- }
- },
- "preis_s": "2.50",
- "preis_m": "4.50",
- "preis_g": "4.50",
- "id": 2,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_schwein_s.png",
- "name": "schweinefleisch",
- "translatedfilter": "sau"
- }
- ],
- "screenid": "3",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- },
- {
- "titel": "Angebot 4",
- "laufschrift": null,
- "angebotshinweis": null,
- "index": "4",
- "matrix": "9d",
- "beschreibung": "Gem\u00fcsebratling mit Pesto und buntem Gem\u00fcse-Nudelsalat",
- "filter": {
- "zutaten": {
- "hahn": true,
- "rind": true,
- "sau": false,
- "fisch": false,
- "alkohol": false,
- "knoblauch": true,
- "lamm": false,
- "vegetarisch": false,
- "vegan": true,
- "vital": false,
- "flexitarisch": false
- },
- "date": {
- "index": 0
- }
- },
- "additivesAllergens": {
- "string": "KNO, 3, 5, I, Wei, L",
- "additives": {
- "additive": [
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "KNO",
- "be": "mit Knoblauch",
- "lbz": {
- "@attributes": {
- "info": "Lebensmitteltechnologische Bedeutung des Zusatzstoffes"
- }
- }
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "3",
- "be": "mit Antioxidationsmittel",
- "lbz": "wie (1) und (2)"
- },
- {
- "@attributes": {
- "info": "Zusatzstoff"
- },
- "ke": "5",
- "be": "geschwefelt",
- "lbz": "Schwefel dient der Abt\u00f6tung von unerw\u00fcnschten Mikroorganismen"
- }
- ]
- },
- "allergens": {
- "allergen": [
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "I",
- "be": "Sellerie",
- "ie": "Gew\u00fcrzmischungen, Salatsaucenbasis, Instant-Br\u00fchen, Fleischwaren, Ketchup, Bratlinge"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "Wei",
- "be": "Weizen-Glutenhaltiges Getreide oder Hybridst\u00e4mme sowie daraus hergestellte Erzeugnisse",
- "ie": "Couscous, Bulgur, Saitan, Puddings, Grie\u00dfspeisen, Backwaren, als Bindemittel in Dessertzubereitungen"
- },
- {
- "@attributes": {
- "info": "Allergen"
- },
- "ke": "L",
- "be": "Schwefeldioxid, Sulfite",
- "ie": "Wein, weinhaltige Getr\u00e4nke, getrocknete Fr\u00fcchte, Convenience-Produkte (z.B. Bratkartoffel, Instant-Kartoffelp\u00fcree), Konserven"
- }
- ]
- }
- },
- "preis_s": "2.50",
- "preis_m": "4.50",
- "preis_g": "4.50",
- "id": 3,
- "collapsed": true,
- "labels": [
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_vegan_w.png",
- "name": "vegan",
- "translatedfilter": "vegan"
- },
- {
- "icon": "https:\/\/xml.stw-potsdam.de\/images\/icons\/su_knoblauch_k.png",
- "name": "knoblauch",
- "translatedfilter": "knoblauch"
- }
- ],
- "screenid": "4",
- "els": {
- "override": {
- "active": false
- },
- "splitscreen": {
- "rechtsoben": {
- "active": 0
- }
- },
- "speciallabel": {
- "foodtruck": {
- "active": null,
- "icon": null
- },
- "ostern": {
- "active": null,
- "icon": null
- }
- }
- }
- }
- ]
- }
- },
- {
- "datum": {
- "wochentag": "6",
- "data": "29.09.2018",
- "freitagsmodus": {
- "fmwert": null,
- "konf": []
- },
- "globaleetage": {
- "icon_eg": null,
- "icon_og": null,
- "screenConfs": {
- "screenog": []
- }
- },
- "tageslabel": {
- "vegetarisch": [],
- "vegan": [],
- "vital": [],
- "schwein": [],
- "fisch": [],
- "rind": [],
- "gefluegel": [],
- "alkohol": [],
- "lamm": [],
- "knoblauch": []
- }
- }
- },
- {
- "datum": {
- "wochentag": "7",
- "data": "30.09.2018",
- "freitagsmodus": {
- "fmwert": null,
- "konf": []
- },
- "globaleetage": {
- "icon_eg": null,
- "icon_og": null,
- "screenConfs": {
- "screenog": []
- }
- },
- "tageslabel": {
- "vegetarisch": [],
- "vegan": [],
- "vital": [],
- "schwein": [],
- "fisch": [],
- "rind": [],
- "gefluegel": [],
- "alkohol": [],
- "lamm": [],
- "knoblauch": []
- }
- }
- }
- ]
-}
diff --git a/tests/resources/integration-test/index.html b/tests/resources/integration-test/index.html
new file mode 100644
index 0000000..260b7f5
--- /dev/null
+++ b/tests/resources/integration-test/index.html
@@ -0,0 +1,30 @@
+sh*t
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Webspeiseplan
+
+
+
+
+
+
+
+
+
+Bitte aktivieren Sie die Javascript unterstützung um fortzufahren.
+
+
diff --git a/tests/resources/integration-test/location.json b/tests/resources/integration-test/location.json
new file mode 100644
index 0000000..fd53bab
--- /dev/null
+++ b/tests/resources/integration-test/location.json
@@ -0,0 +1,27 @@
+{
+ "success": true,
+ "content": [
+ {
+ "id": 9601,
+ "name": "Griebnitzsee",
+ "logoImage": "https://swp.konkaapps.de/kms-resources/standort/Studentenwerk_Potsdam_Logo_4c_klein.jpg",
+ "standortImage": null,
+ "mapImage": null,
+ "dashboardImage": null,
+ "reihenfolge": 3,
+ "active": true,
+ "legalInfo": {
+ "id": 1,
+ "impressumLink": null,
+ "impressumRichtext": "\n\nImpressum
\n\nDie Website\nwird herausgegeben von: \n \nStudentenwerk Potsdam \nAnstalt des \u00f6ffentlichen Rechts \n(vertreten durch den Gesch\u00e4ftsf\u00fchrer Peter Hei\u00df)
\n\nBabelsberger\nStra\u00dfe 2 \n14473 Potsdam \n \nTelefon: +49 331 3706-0 \nFax: +49 331 3706-125 \nE-Mail: post[at]studentenwerk-potsdam.de \n
\n\nFirmensitz:\nPotsdam
\n\nUSt-IdNr.: DE138408271 \n \nRedaktion: \u00d6ffentlichkeitsarbeit und Internationales (Studentenwerk\nPotsdam) \n \nTechnische Umsetzung: IT (Studentenwerk Potsdam), kamasys GmbH \n \nFotos: Martin Wolf, Astrid Purz, Stefan M\u00fcller, Showcase Potsdam, Thomas\nSchulze \n \nAufsichtsbeh\u00f6rde \nDie zust\u00e4ndige Aufsichtsbeh\u00f6rde ist das Ministerium f\u00fcr Wissenschaft, Forschung\nund Kultur des Landes Brandenburg, Dortustra\u00dfe 36, 14467 Potsdam.
\n\nRechtliche Hinweise
\n\nUrheberrecht
\n\nDas Layout\nder Homepage, die verwendeten Texte, Bilder und Grafiken sowie die sonstigen\nInhalte sind urheberrechtlich gesch\u00fctzt. Auf den Webseiten zur Verf\u00fcgung\ngestellte Texte, Textteile, Grafiken, Tabellen oder Bildmaterialien d\u00fcrfen ohne\nvorherige Zustimmung des Studentenwerks Potsdam nicht vervielf\u00e4ltigt, nicht\nverbreitet und nicht ausgestellt werden.
\n\nHaftungsausschluss (Disclaimer)
\n\nHinweis
\n\nDie Inhalte\nder Internet-Seiten von www.studentenwerk-potsdam.de sollen den Zugang der\n\u00d6ffentlichkeit zu Informationen der Einrichtung erleichtern und ein\nzutreffendes Bild von den T\u00e4tigkeiten des Studentenwerks Potsdam vermitteln.\nAuf die Richtigkeit, Aktualit\u00e4t, Vollst\u00e4ndigkeit, Verst\u00e4ndlichkeit und\njederzeitige Verf\u00fcgbarkeit der bereitgestellten Informationen wird sorgf\u00e4ltig\ngeachtet. Dennoch sind folgende Einschr\u00e4nkungen zu machen:
\n\n
\n\n1. Eigene Inhalte
\n\nSoweit die\nauf diesen Seiten eingestellten Inhalte Rechtsvorschriften, Hinweise,\nEmpfehlungen oder Ausk\u00fcnfte enthalten, sind sie nach bestem Wissen und unter\nBeachtung gr\u00f6\u00dftm\u00f6glicher Sorgfalt erstellt. Bei Unstimmigkeiten gilt jedoch\nausschlie\u00dflich die jeweils aktuelle amtliche, d.h. im offiziellen\nVerk\u00fcndungsorgan ver\u00f6ffentlichte, Fassung. Etwaige rechtliche Hinweise,\nEmpfehlungen und Ausk\u00fcnfte sind unverbindlich; eine Rechtsberatung findet nicht\nstatt. \n \nF\u00fcr das bereitgestellte Informationsangebot gilt folgende Haftungsbeschr\u00e4nkung:\nDas Studentenwerk Potsdam haftet nicht f\u00fcr Sch\u00e4den, die durch die Nutzung oder\nNichtnutzung angebotener Informationen entstehen. F\u00fcr etwaige Sch\u00e4den, die beim\nAufrufen oder Herunterladen von Daten durch Computerviren oder der Installation\noder Nutzung von Software verursacht werden, wird nicht gehaftet. Das\nStudentenwerk Potsdam beh\u00e4lt es sich vor, Teile des Internetangebotes oder das\ngesamte Angebot ohne gesonderte Ank\u00fcndigung zu ver\u00e4ndern, zu erg\u00e4nzen, zu l\u00f6schen\noder die Ver\u00f6ffentlichung zeitweise oder endg\u00fcltig einzustellen.
\n\n2. Inhalte anderer Anbieter
\n\nDie auf\ndiesen Seiten vorhandenen Links zu Inhalten von Internet-Seiten Dritter\n(\"fremden Inhalten\") wurden durch das Studentenwerk Potsdam nach\nbestem Wissen und unter Beachtung gr\u00f6\u00dftm\u00f6glicher Sorgfalt erstellt und\nvermitteln lediglich den Zugang zu \"fremden Inhalten\". Dabei wurde\nauf die Vertrauensw\u00fcrdigkeit dritter Anbieter und die Fehlerfreiheit sowie\nRechtm\u00e4\u00dfigkeit der \"fremden Inhalte\" besonders geachtet. Da jedoch\nder Inhalt von Internetseiten dynamisch ist und sich jederzeit \u00e4ndern kann, ist\neine stetige Einzelfallpr\u00fcfung s\u00e4mtlicher Inhalte, auf die ein Link erstellt\nwurde, nicht in jedem Fall m\u00f6glich. Das Studentenwerk Potsdam macht sich\ndeshalb den Inhalt von Internet-Seiten Dritter, die mit der eigenen\nInternetpr\u00e4senz verlinkt sind, insoweit ausdr\u00fccklich nicht zu eigen. F\u00fcr\nSch\u00e4den aus der Nutzung oder Nichtnutzung \"fremder Inhalte\" haftet\nausschlie\u00dflich der jeweilige Anbieter der Internetseite, auf die verwiesen\nwurde.
\n\n3. Fehlermeldungen
\n\nDas\nStudentenwerk Potsdam bittet die Nutzer der Internet-Seiten von\nwww.studentenwerk-potsdam.de auf rechtswidrige oder fehlerhafte Inhalte\nDritter, zu denen in der Internetpr\u00e4senz ein Link unterhalten wird, ggf. aufmerksam\nzu machen. Ebenso wird um eine Nachricht unter der im Impressum angegebenen\nKontaktadresse gebeten, wenn eigene Inhalte nicht fehlerfrei, aktuell,\nvollst\u00e4ndig und verst\u00e4ndlich sind.
\n\nHinweispflicht nach Verbraucherstreitbeilegungsgesetz
\n\nWir sind zur\nTeilnahme an einem Streitbeilegungsverfahren vor einer\nVerbraucherschlichtungsstelle nach dem Verbraucherstreitbeilegungs- \ngesetz weder bereit noch verpflichtet. Das Verbraucherstreitbeilegungs- \ngesetz fordert jedoch, dass wir Sie trotzdem auf eine f\u00fcr Sie zust\u00e4ndige\nVerbraucherschlichtungsstelle hinweisen: Allgemeine Verbraucher- \nschlichtungsstelle des Zentrums f\u00fcr Schlichtung e.V., Stra\u00dfburger Stra\u00dfe 8,\n77694 Kehl, www.verbraucher-schlichter.de
\n\n
\n\n",
+ "datenschutzLink": "https://www.studentenwerk-potsdam.de/wir-ueber-uns/datenschutz",
+ "datenschutzRichtext": "\n\nDatenschutzerkl\u00e4rung zur\nVerwendung unserer mobilen App \u201eMensa +\u201c
\n\nInformation \u00fcber die Verarbeitung personenbezogener Daten
\n\n(1) Wir stellen Ihnen neben unserem Online-Angebot eine mobile App\nzur Verf\u00fcgung, die Sie auf Ihr mobiles Endger\u00e4t herunterladen k\u00f6nnen. Im\nFolgenden informieren wir \u00fcber die Verarbeitung personenbezogener Daten bei\nNutzung unserer mobilen App. Personenbezogene Daten sind alle Daten, die auf\nSie pers\u00f6nlich beziehbar sind, z.B:. Name, Adresse, E-Mail-Adressen,\nNutzerverhalten.
\n\n(2) Verantwortlicher gem. Art. 4 Abs. 7 EU-Datenschutz-Grundverordnung\n(DS-GVO) ist das Studentenwerk Potsdam A\u00f6R, vertreten durch den Gesch\u00e4ftsf\u00fchrer,\nBabelsberger Stra\u00dfe 2, 14473 Potsdam, Tel.: +49-(0) 331 3706 401, E-Mail: verpflegung@studentenwerk-potsdam.de\n(siehe unser Impressum). [Unseren Datenschutzbeauftragten erreichen Sie unter datenschutzbeauftragter@studentenwerk-potsdam.de\noder unserer Postadresse mit dem Zusatz \u201eDatenschutzbeauftragte/r\u201c.]
\n\n(3) Bei Ihrer Kontaktaufnahme mit uns per E-Mail oder \u00fcber ein\nKontaktformular werden die von Ihnen mitgeteilten Daten (Ihre E-Mail-Adresse,\nggf. Ihr Name und Ihre Telefonnummer) von uns gespeichert, um Ihre Fragen zu\nbeantworten. Die in diesem Zusammenhang anfallenden Daten l\u00f6schen wir, falls\ndie Anfrage einem Vertrag zugeordnet wird, nach den Fristen zur\nVertragslaufzeit, ansonsten nachdem die Speicherung nicht mehr erforderlich ist\n[in der Regel nach drei Jahren], oder schr\u00e4nken die Verarbeitung ein, falls\ngesetzliche Aufbewahrungspflichten bestehen.
\n\n(4) Falls wir f\u00fcr einzelne Funktionen unseres Angebots auf\nbeauftragte Dienstleister zur\u00fcckgreifen oder Ihre Daten f\u00fcr werbliche Zwecke nutzen\nm\u00f6chten, werden wir diese Dienstleister stets sorgf\u00e4ltig ausw\u00e4hlen und\n\u00fcberwachen und informieren Sie untenstehend im Detail \u00fcber die jeweiligen\nVorg\u00e4nge. Dabei nennen wir auch die festgelegten Kriterien der Speicherdauer.
\n\nIhre Rechte
\n\n(1) Sie haben gegen\u00fcber einem Verantwortlichen folgende Rechte\nhinsichtlich der Sie betreffenden personenbezogenen Daten:
\n\n\u2013 Recht\nauf Auskunft
\n\n\u2013 Recht\nauf Berichtigung oder L\u00f6schung
\n\n\u2013 Recht\nauf Einschr\u00e4nkung der Verarbeitung
\n\n\u2013 Recht\nauf Widerspruch gegen die Verarbeitung
\n\n\u2013 Recht\nauf Daten\u00fcbertragbarkeit
\n\n(2) Sie haben zudem das Recht, sich bei einer\nDatenschutz-Aufsichtsbeh\u00f6rde \u00fcber die Verarbeitung Ihrer personenbezogenen\nDaten durch uns zu beschweren.
\n\nVerarbeitung\npersonenbezogener Daten bei Nutzung unserer mobilen App \u201eMensa +\u201c
\n\n(1) Bei Herunterladen der mobilen App werden die erforderlichen\nInformationen an den App Store \u00fcbertragen, also insbesondere Nutzername,\nE-Mail-Adresse und Kundennummer Ihres Accounts, Zeitpunkt des Downloads,\nZahlungsinformationen und die individuelle Ger\u00e4tekennziffer. Zudem erhebt der\nApp-Store noch eigenst\u00e4ndig verschiedene Daten und stellt Ihnen\nAnalyseergebnisse zur Verf\u00fcgung. Auf diese Datenverarbeitung haben wir keinen\nEinfluss und sind nicht daf\u00fcr verantwortlich. Wir verarbeiten die Daten nur,\nsoweit es f\u00fcr das Herunterladen der mobilen App auf Ihr mobiles Endger\u00e4t\nnotwendig ist.
\n\n(2) Bei Nutzung der mobilen App verarbeiten wir die nachfolgend\nbeschriebenen personenbezogenen Daten, um die komfortable Nutzung der\nFunktionen zu erm\u00f6glichen. Wenn Sie unsere mobile App nutzen m\u00f6chten,\nverarbeiten wir die folgenden Daten, die f\u00fcr uns technisch erforderlich sind,\num Ihnen die Funktionen unserer mobilen App anzubieten und die Stabilit\u00e4t und\nSicherheit zu gew\u00e4hrleisten, sodass sie von uns verarbeitet werden m\u00fcssen.\nRechtsgrundlage ist Art. 6 Abs. 1 S. 1 lit. f DS-GVO:
\n\n\u2013 IP-Adresse
\n\n\u2013 Datum\nund Uhrzeit der Anfrage
\n\n\u2013 Zeitzonendifferenz\nzur Greenwich Mean Time (GMT)
\n\n\u2013 Inhalt\nder Anforderung (besuchte Seite)
\n\n\u2013 Zugriffsstatus/HTTP-Statuscode
\n\n\u2013 jeweils\n\u00fcbertragene Datenmenge
\n\n\u2013 vorher\nbesuchte Seite
\n\n\u2013 Browser
\n\n\u2013 Betriebssystem
\n\n\u2013 Sprache\nund Version der Browsersoftware.
\n\n
\n\n Bei Nutzung von \u201eMensa +\u201c k\u00f6nnen Sie\ndiverse Informationen (z.B. Essenvorlieben) eingeben, verwalten und bearbeiten.\nEine Verarbeitung dieser Daten durch uns erfolgt nicht. Die App erfordert\ndar\u00fcber hinaus folgende Berechtigungen:
\n\n- Internetzugriff: Dieser\nwird ben\u00f6tigt, um die erfassten Daten \u00fcber eine verschl\u00fcsselte Verbindung zu\nunseren Servern zu \u00fcbertragen.
\n\n- Kamerazugriff: Dieser wird\nben\u00f6tigt, um QR-/Barcodes zu erfassen, die Informationen zum Einsatzort, oder\nden Schl\u00fcssel f\u00fcr die Erstregistrierung bereitstellen.
\n\nDie Verarbeitung und Verwendung von Nutzungsdaten erfolgt zur\nBereitstellung des Dienstes. Diese Datenverarbeitung ist dadurch\ngerechtfertigt, dass die Verarbeitung f\u00fcr die Erf\u00fcllung des Vertrags zwischen\nIhnen als Betroffener und uns gem\u00e4\u00df Art. 6 Abs. 1 lit. b) DSGVO zur Nutzung der\nApp erforderlich ist.
\n\n(3) Weiterhin ben\u00f6tigen wir zur Erbringung der Leistungen der App Ihre\nGer\u00e4tekennzeichnung bzw. eindeutige\nNummer des Endger\u00e4tes (IMEI = International Mobile Equipment Identity),\neindeutige Nummer des Netzteilnehmers (IMSI = International Mobile Subscriber\nIdentity), Mobilfunknummer (MSISDN), MAC-Adresse f\u00fcr WLAN-Nutzung, Name Ihres\nmobilen Endger\u00e4tes, E-Mail-Adresse.
\n\n(4) Zus\u00e4tzlich zu den zuvor genannten Daten werden bei Ihrer\nNutzung unserer mobilen App technische Hilfsmittel f\u00fcr verschiedene Funktionen\nverwendet, insbesondere Cookies, die auf Ihrem Endger\u00e4t gespeichert werden\nk\u00f6nnen. Cookies sind Textdateien oder Informationen in einer Datenbank, die im\nGer\u00e4tespeicher Ihres mobilen Endger\u00e4ts abgelegt und der von Ihnen verwendeten\nmobilen App zugeordnet gespeichert werden. Durch Cookies k\u00f6nnen der Stelle, die\nden Cookie setzt, bestimmte Informationen zuflie\u00dfen. Cookies k\u00f6nnen keine\nProgramme ausf\u00fchren oder Viren auf Ihr mobiles Endger\u00e4t \u00fcbertragen, sondern\ndienen prim\u00e4r dazu, das Internetangebot schneller und nutzerfreundlicher\nauszugestalten. Diese App nutzt folgende Arten von Cookies, deren\nFunktionsweise und Rechtsgrundlage wir nachfolgend erl\u00e4utern werden.
\n\n\u2013 Transiente\nCookies: Solche, insbesondere Session-Cookies, werden bei Schlie\u00dfen der mobilen\nApp oder durch Ausloggen automatisiert gel\u00f6scht. Sie speichern eine sog.\nSession-ID. So lassen sich verschiedene Anfragen Ihres Browsers der gemeinsamen\nSitzung zuordnen und Ihr Rechner kann wiedererkannt werden, wenn Sie auf unsere\nApp zur\u00fcckkehren.
\n\n\u2013 Persistente\nCookies: Solche werden automatisiert nach einer vorgegebenen Dauer gel\u00f6scht,\ndie je nach Cookie unterschiedlich festgelegt ist. Sie k\u00f6nnen in den\nEinstellungen Ihres Browsers die gesetzten Cookies und die Laufzeiten jederzeit\neinsehen und die Cookies manuell l\u00f6schen.
\n\n\u2013 [Weitere\nTechnologien: Diese Funktionen beruhen nicht auf Cookies, sondern auf \u00e4hnlichen\ntechnischen Mechanismen, wie Flash-Cookies, HTML5-Objekten oder einer Analyse\nIhrer Browser-Einstellungen. Das Ergebnis ist ebenso, dass wir die nachfolgend\nbeschriebenen Techniken einsetzen k\u00f6nnen. Auch hier k\u00f6nnen Sie nat\u00fcrlich\neinwilligen oder widersprechen.]
\n\nZwingende, zur Funktion der mobilen App technisch notwendige\nFunktionen: Der technische Aufbau der mobilen App erfordert es, dass wir\nTechniken, insbesondere Cookies, nutzen. Ohne diese Techniken kann unsere App\nnicht (vollst\u00e4ndig korrekt) genutzt werden oder die Support-Funktionen k\u00f6nnten\nnicht erm\u00f6glicht werden. Dabei handelt es sich grunds\u00e4tzlich um transiente\nCookies, die nach Ende des Nutzungsvorgangs, sp\u00e4testens nach 30 Tagen,\ngel\u00f6scht werden. Diese Cookies k\u00f6nnen Sie nicht abw\u00e4hlen, wenn Sie unsere App\nnutzen m\u00f6chten. Rechtsgrundlage dieser Verarbeitung ist Art. 6 Abs. 1\nS. 1 lit. f DS-GVO sowie Art. 6 Abs. 1 lit. b) DS-GVO und 25 Abs. 2 TTDSG.
\n\nOptionale Cookies bei Erteilung Ihrer Einwilligung: Verschiedene\nCookies setzen wir nur nach Ihrer Einwilligung, die Sie bei Ihrem ersten Besuch\nunserer mobilen App \u00fcber den Consent-Manager ausw\u00e4hlen k\u00f6nnen. Die Funktionen\nwerden nur im Falle Ihrer Zustimmung aktiviert und k\u00f6nnen insbesondere dazu\ndienen, dass wir die Nutzung unserer mobilen App analysieren und verbessern\nk\u00f6nnen, Ihnen die Bedienung \u00fcber verschiedene Browser oder Endger\u00e4te erleichtern,\nSie bei einem Besuch wiedererkennen oder Werbung schalten (ggf. auch um Werbung\nan den Interessen zu orientieren, Effektivit\u00e4t von Anzeigen zu messen oder\nIhnen interessenorientierte Werbung zu zeigen). Rechtsgrundlage dieser\nVerarbeitung ist Art. 6 Abs. 1 S. 1 lit. a DS-GVO. Der Widerruf\nIhrer Einwilligung ist jederzeit m\u00f6glich, ohne dass davon die Zul\u00e4ssigkeit der\nVerarbeitung bis zum Widerruf ber\u00fchrt wird.]
\n\n(5) In iOS haben Sie verschiedene M\u00f6glichkeiten, Werbung und\nTracking weitgehend einzuschr\u00e4nken. Das Tracking l\u00e4uft grunds\u00e4tzlich \u00fcber den\nsog. \u201eAdvertising Identifier\u201c (IDFA). Dieser ist eine einzigartige, jedoch\nnicht-personalisierte und nicht dauerhafte Identifizierungsnummer f\u00fcr ein\nbestimmtes Endger\u00e4t, der durch iOS bereitgestellt wird. Die \u00fcber den IDFA\nerhobenen Daten werden nicht mit sonstigen ger\u00e4tebezogenen Informationen\nverkn\u00fcpft. Den IDFA verwenden wir, um Ihnen personalisierte Werbung\nbereitzustellen und Ihre Nutzung auswerten zu k\u00f6nnen.
\n\nWenn Sie in den iOS-Einstellungen die Option \u201eDatenschutz\u201c\naufrufen, k\u00f6nnen Sie unter \u201eTracking\u201c die werbliche Auswertung weitgehend\ndeaktivieren. Wenn Sie die Funktion \u201eApps erlauben, Tracking anzufordern\u201c\naktivieren, wird Sie unsere App bei der ersten Nutzung fragen, ob Sie mit\nWerbema\u00dfnahmen einverstanden sind und Sie k\u00f6nnen die Werbung aktivieren oder\ndeaktivieren. Dar\u00fcber hinaus k\u00f6nnen Sie in der Option \u201eDatenschutz\u201c die Option\n\u201eApple-Werbung\u201c ausw\u00e4hlen und \u201epersonalisierte Werbung\u201c deaktivieren. In der\nOption \u201eAnalyse & Verbesserungen\u201c k\u00f6nnen Sie zudem die Funktion\n\u201eiPhone-Analyse teilen\u201c und \u201eSiri & Diktat verbessern\u201c deaktivieren, was\ndazu f\u00fchrt, dass keine statischen Informationen \u00fcber Ihre Nutzung von iOS an\nApple \u00fcbertragen werden. Wir weisen Sie darauf hin, dass Sie eventuell nicht alle\nFunktionen unserer App nutzen k\u00f6nnen, wenn Sie die Nutzung des IDFA\nbeschr\u00e4nken.
\n\n(6) Nutzen Sie das Ordermodul und das Modul PayMent werden Sie\ndirekt an das Portal weitergeleitet. Es werden somit keinerlei personenbezogene\nDaten in \u201eMensa +\u201c gespeichert.
\n\n(7) Wir verzichten auf Einwegverpackungen und arbeiten mit Relevo\nzusammen. Die Datenschutzbestimmungen von Relevo k\u00f6nnen Sie in der Relevo-App\nnachlesen. Sie werden bei einer Vorbestellung direkt auf die Anwendungen von\nRelevo weitergeleitet. Es werden somit keinerlei personenbezogene Daten in \u201eMensa\n+\u201c gespeichert.
\n\n(8) Es k\u00f6nnen Daten in Staaten au\u00dferhalb der EU und des\nEurop\u00e4ischen Wirtschaftsraumes (EWR) weitergegeben werden, wenn Sie die Dienste\nGoogle Translate und Google Maps nutzen. Dies geschieht unabh\u00e4ngig davon, ob\nSie ein Google-Konto haben, \u00fcber das Sie eingeloggt sind, oder ob kein\nNutzerkonto existiert. Wenn Sie mit einem Google-Konto eingeloggt sind, werden\nIhre Daten direkt mit Ihrem Konto verkn\u00fcpft. Weitere Informationen zu Zweck und\nUmfang der Datenerhebung und ihrer Verarbeitung durch Google finden Sie unter\nhttps://www.google.com/policies/privacy. Anbieter ist der Dienste ist Google\nIreland Limited (Gordon House, Barrow Street Dublin 4). Google LLC, 1600\nAmphitheater Parkway, Mountain View, CA 94043, USA ist der amerikanische\nMutterkonzern der Google Ireland und ist EU-US Privacy-Shield zertifiziert. Das\nbedeutet, dass Google die Zusage gibt, sich an die Datenschutzrichtlinien auf\neurop\u00e4ischer Ebene zu halten und diese umzusetzen. Auf die Einhaltung dieser\nRichtlinien haben wir weder Einfluss noch Einsicht. Dass Risiken und\n\u00dcbermittlungen von Benutzerdaten in Drittl\u00e4nder stattfinden, k\u00f6nnen wir nicht\nausschlie\u00dfen.
\n\nStand: 12.05.2022
\n\nPrivacy\npolicy for the use of our \u201cMensa +\u201d mobile app
\n\nInformation\non the processing of personal data
\n\n(1) In addition to\nour online offering, we provide you with a mobile app that you can download to\nyour mobile device. In the following, we will inform you about the processing\nof personal data when using our mobile app. Personal data is any data that can\nbe related to you personally, e.g. name, address, any e-mail addresses, user\nbehaviour.
\n\n(2) The controller\npursuant to Article 4 (7) of the EU General Data Protection Regulation (GDPR)\nis Studentenwerk Potsdam A\u00f6R, represented by the managing director,\nBabelsberger Strasse 2, 14473 Potsdam, Germany, tel.: +49 (0) 331 3706 401,\ne-mail: verpflegung@studentenwerk-potsdam.de (see our legal notice). [You can\ncontact our data protection officer at datenschutzbeauftragter@studentenwerk-potsdam.de\nor by adding \u2018Datenschutzbeauftragte/r\u2019 to our postal address as the\naddressee.]
\n\n(3) When you contact\nus by e-mail or via a contact form, we will store the data you provide (your\ne-mail address, name and telephone number, if applicable) in order to respond\nto your questions. If the enquiry is assigned to a contract, we delete the data\nobtained in this context after any deadlines for the term of the contract pass.\nOtherwise, we delete it once storage is no longer required [usually after three\nyears], or restrict processing if there are statutory retention obligations.
\n\n(4) If we use\ncommissioned service providers for individual functions of our offering or if\nwe wish to use your data for advertising purposes, we will always carefully\nselect and monitor these service providers and inform you in detail about the\nrespective processes below. In doing so, we also state the specified criteria\nfor the storage period.
\n\nYour\nrights
\n\n(1) You have the\nfollowing rights in relation to a data controller in respect of personal data\nconcerning you:
\n\n- Right of access
\n\n- Right to rectification or erasure
\n\n- Right to restrict processing
\n\n- Right to object to processing
\n\n- Right to data portability
\n\n(2) You also have the\nright to complain to a data protection supervisory authority about our\nprocessing of your personal data.
\n\nProcessing\nof personal data when using our \u201cMensa +\u201d mobile app
\n\n(1) When downloading\nthe mobile app, the required information is transferred to the App Store, i.e.\nin particular your user name, e-mail address and customer number for your\naccount, time of download, payment information and the individual device\nidentification number. In addition, the App Store still independently collects\nvarious data and provides analytics results. We have no control over this data\nprocessing and are not responsible for it. We only process the data insofar as\nit is necessary for downloading the mobile app to your mobile device.
\n\n(2) When using the\nmobile app, we process the personal data described below to enable the\nconvenient use of the functions. If you wish to use our mobile app, we process\nthe following data, which is technically necessary for us to offer you our\nmobile app functions and to ensure stability and security, i.e. we must process\nsuch data. The legal basis is Article 6 (1) sentence 1 (f) GDPR:
\n\n- IP address
\n\n- Date and time of the request
\n\n- Time zone difference from Greenwich Mean\nTime (GMT)
\n\n- Content of the request (page visited)
\n\n- Access status/HTTP status code
\n\n- Volume of data transferred in each case
\n\n- Page previously visited
\n\n- Browser
\n\n- Operating system
\n\n- Browser software language and version
\n\n
\n\n When using \u201cMensa +\u201d, you can\nenter, manage and edit various information (e.g. food preferences). We do not\nprocess this data. The app also requires the following permissions:
\n\n- Internet\naccess: this is required to transfer the data collected to our servers via an\nencrypted connection.
\n\n- Camera\naccess: this is required to capture QR codes/barcodes that provide information\nregarding location or the key for initial registration.
\n\nUsage data is processed and used to\nprovide the service. This data processing is justified by the fact that the\nprocessing is necessary for the performance of the contract between you as the\ndata subject and us pursuant to Article 6 (1) (b) GDPR for the use of the app.
\n\n(3) Furthermore, we\nrequire your device identification or unique number of the end device (IMEI =\nInternational Mobile Equipment Identity), unique number of the network\nsubscriber (IMSI = International Mobile Subscriber Identity), mobile phone\nnumber (MSISDN), MAC address for WLAN use, name of your mobile end device and\ne-mail address in order to provide app services.
\n\n(4) In addition to\nthe aforementioned data, assistive technology is used for various functions\nwhen you use our mobile app, in particular cookies that can be stored on your\nend device. Cookies are text files or information in a database that are stored\nin the device memory of your mobile end device and assigned to the mobile app\nyou are using. Cookies allow certain information to be sent to the entity\nsaving the cookie. Cookies cannot execute programmes or transfer viruses to\nyour mobile device, and are instead primarily used to make the internet\noffering faster and more user-friendly. This app uses the following types of\ncookies, the functioning and legal basis of which we will explain below.
\n\n- Transient cookies: cookies, especially\nsession cookies, which are automatically deleted when the mobile app is closed\nor by logging out. They save a \u2018session ID\u2019. This means that various requests\nfrom your browser can be assigned to the joint session and your computer can be\nrecognised when you return to our app.
\n\n- Persistent cookies: cookies which are\nautomatically deleted after a predefined period of time, which varies depending\non the cookie. You can view the cookies saved and the runtimes in your browser\nsettings and manually delete cookies at any time.
\n\n- [Other technologies: these functions are\nnot based on cookies, but similar technical mechanisms, such as Flash cookies,\nHTML5 objects or browser settings analytics. This also results in us using the\ntechnologies described below. You can of course consent or object here too.]
\n\nMandatory functions\nthat are technically necessary for the mobile app to function: the technical\nstructure of the mobile app requires us to use technologies, in particular\ncookies. Without these technologies, our app cannot be used (completely\ncorrectly) or support functions cannot be enabled. These are essentially\ntransient cookies that are deleted after the end of the usage process; after 30\ndays at the latest. You cannot deselect these cookies if you want to use our\napp. The legal basis for this processing is Article 6 (1) sentence 1 (f) GDPR,\nArticle 6 (1) (b) GDPR and Section 25 (2) of the Telecommunications Telemedia\nData Protection Act (Gesetz \u00fcber den Datenschutz und den Schutz der\nPrivatsph\u00e4re in der Telekommunikation und bei Telemedien, TTDSG).
\n\nOptional cookies when\nyou give your consent: we only save various cookies after you have given your\nconsent, which you can select via the Consent Manager during your first visit\nto our mobile app. The functions are only enabled if you provide your consent\nand may be used in particular to allow us to analyse and improve the use of our\nmobile app, to make it easier for you to use it via different browsers or end\ndevices, to recognise you when you visit us or for advertising purposes\n(possibly also in order to align advertising to interests, to measure the\neffectiveness of advertisements or to show you interest-based advertising). The\nlegal basis for this processing is Article 6 (1) sentence 1 (a) GDPR. You may\nwithdraw your consent at any time, where this does not affect the\npermissibility of the processing until the withdrawal.]
\n\n(5) In iOS, you have\nvarious options to restrict advertising and tracking to a large extent.\nTracking essentially runs via an \u2018Advertising Identifier\u2019 (IDFA). This is a\nunique, but non-personalised and non-permanent identification number for a\nspecific end device provided by iOS. The data collected via the IDFA is not\nlinked to other device-related information. We use the IDFA to provide you with\npersonalised advertising and to evaluate your usage.
\n\nIf you access the\n\u2018Privacy\u2019 option in the iOS settings, you can largely disable the evaluation\nfor advertising purposes under \u2018Tracking\u2019. If you enable the \u2018Allow apps to\nrequest tracking\u2019 function, our app will ask you whether you agree to\nadvertising activities the first time you use it and you can enable or disable\nadvertising. In addition, you can select \u2018Apple advertising\u2019 in the \u2018Privacy\u2019\noption and disable \u2018Personalised advertising\u2019. In the \u2018Analysis &\nimprovements\u2019 option, you can also disable the \u2018Share iPhone analysis\u2019 and\n\u2018Improve Siri & dictation\u2019 functions, which results in no static\ninformation about your use of iOS being transmitted to Apple. Please note that\nyou may be unable to use all the features of our app if you restrict IDFA use.
\n\n(6) If you use the\norder module and the PayMent module, you will be forwarded directly to the\nportal. Therefore, no personal data is stored in \u201cMensa +\u201d.
\n\n(7) We do not use\ndisposable packaging and we work with Relevo. You can read Relevo\u2019s privacy\npolicy in the Relevo app. You will be redirected directly to Relevo\u2019s\napplications when you pre-order. Therefore, no personal data is stored in \u201cMensa\n+\u201d.
\n\n(8) Data may be\ntransferred to countries outside the EU and the European Economic Area (EEA) if\nyou use the Google Translate and Google Maps services. This happens regardless\nof whether you have a Google account which you are signed into or whether you\ndo not have a user account. If you are signed into a Google account, your data\nwill be directly linked to your account. For more information on the purpose\nand scope of data collection and its processing by Google, please visit\nhttps://www.google.com/policies/privacy. The provider of the services is Google\nIreland Limited (Gordon House, Barrow Street Dublin 4). Google LLC, 1600\nAmphitheater Parkway, Mountain View, CA 94043, USA is the American parent\ncompany of Google Ireland and is EU-US Privacy Shield certified. This means\nthat Google makes a commitment to comply with and implement the data protection\ndirectives at European level. We have no control over or insight into\ncompliance with these guidelines. We cannot exclude the possibility of risks\nnor can we exclude that user data is transferred to third countries.
\n\nDate: 12/05/2022
\n\n
\n\n",
+ "AGBLink": null,
+ "AGBRichtext": "\n\nAllgemeine\nGesch\u00e4ftsbedingungen f\u00fcr die Nutzung des Lieferservices \u00fcber die App \u201eMensa +\u201c des\nStudentenwerks Potsdam - Anstalt des \u00f6ffentlichen Rechts
\n\n1. Anbieter der \u201e Mensa +\u201c-App
\n\nStudentenwerk Potsdam - Anstalt des \u00f6ffentlichen\nRechts
\n\n(nachfolgend Studentenwerk genannt)
\n\n
\n\nvertreten durch den Gesch\u00e4ftsf\u00fchrer Peter Hei\u00df
\n\n
\n\nBabelsberger Stra\u00dfe 2
\n\n14473 Potsdam
\n\n
\n\nTelefon: +49 331 3706-0
\n\nFax: +49 331 3706-125
\n\nE-Mail: post@studentenwerk-potsdam.de
\n\n
\n\nUSt-IdNr.: DE138408271
\n\n2. Anwendungsbereich
\n\n2. 1. Diese Allgemeinen\nGesch\u00e4ftsbedingungen (nachfolgend AGB) gelten f\u00fcr alle zwischen dem Kunden und\ndem Studentenwerk \u00fcber die \u201eMensa +\u201c-App geschlossenen Vertr\u00e4ge. Ma\u00dfgebend ist\ndie jeweils bei Vertragsabschluss g\u00fcltige Fassung der AGB.
\n\n2.2. Das Angebot in der \u201eMensa\n+\u201c-App richtet sich ausschlie\u00dflich an Verbraucher. Ein Verbraucher ist jede\nnat\u00fcrliche Person, die ein Rechtsgesch\u00e4ft zu Zwecken abschlie\u00dft, die\n\u00fcberwiegend weder ihrer gewerblichen noch ihrer selbst\u00e4ndigen beruflichen\nT\u00e4tigkeit zugerechnet werden k\u00f6nnen.
\n\n3. Vertragsschluss, Bestellprozess
\n\n3.1. Die Darstellungen der\nProdukte in der \u201eMensa +\u201c-App stellen kein rechtlich bindendes Angebot, sondern\nnur die Aufforderung zur Abgabe eines Angebotes durch den Kunden dar. Mit Klick\nauf den Button \u201eJetzt kaufen\u201c gibt der Kunde gegen\u00fcber dem Studentenwerk ein\nverbindliches Angebot f\u00fcr einen Vertragsabschluss ab. Das Studentenwerk\nbest\u00e4tigt den Eingang der Bestellung des Kunden durch Versendung einer E-Mail\nund einer Mitteilung in der \u201eMensa +\u201c-App. Diese Bestellbest\u00e4tigung stellt noch\nnicht die Annahme des Vertragsangebotes dar, sondern dient nur der Information\ndes Kunden, dass die Bestellung eingegangen ist. Die Erkl\u00e4rung der Annahme des\nVertragsangebotes erfolgt durch die Auslieferung der Ware in den Warenautomaten\noder eine ausdr\u00fcckliche Annahmeerkl\u00e4rung.
\n\n3.2. F\u00fcr die Bestellung\n\u00fcber die \u201eMensa +\u201c-App ist erforderlich, dass der Kunde die App auf sein\nNutzungsger\u00e4t installiert. F\u00fcr die Anwendung der App kann als Sprache Deutsch\noder Englisch gew\u00e4hlt werden. Die Sprachauswahl kann jederzeit ge\u00e4ndert werden.\nIn der App wird der jeweilige Standort entweder \u00fcber Google Maps oder eine\nindividuelle Eingabe festgelegt. Der Kunde hat hier ebenfalls die sp\u00e4ter\njederzeit \u00e4nderbare Auswahl vorzunehmen, in welches Wohnheim die Lieferung\nerfolgen soll. Das App-Dashboard kann nach eigenen W\u00fcnschen eingerichtet\nwerden.
\n\n3.3. Der Bestellprozess in\nder \u201eMensa +\u201c-App erfolgt in folgenden Schritten:
\n\nF\u00fcr eine Bestellung klickt\nder Kunde im Dashboard zun\u00e4chst auf \u201eORDER\u201c. Von der dann erscheinenden Seite\ngelangt man nach dem Klick auf \u201eBESTELLEN\u201c auf die n\u00e4chste Seite, auf der die\ngew\u00fcnschte Speiseplanwoche gew\u00e4hlt werden kann.
\n\nAlle in der \u201eMensa +\u201c-App angebotenen\nGerichte werden ausschlie\u00dflich in Mehrwegbeh\u00e4ltern der Relevo GmbH geliefert.\nBei der erstmaligen Bestellung \u00fcber die \u201eMensa +\u201c-App hat eine Verkn\u00fcpfung mit\ndem Relevo-Konto des Kunden zu erfolgen. Ohne auch Kunde der Relevo GmbH zu\nsein, ist eine Bestellung \u00fcber die \u201eMensa +\u201c-App nicht m\u00f6glich (siehe Ziffer\n6.2. der AGB).
\n\nNach Auswahl der Woche und\nggf. erstmaligen Verkn\u00fcpfung mit dem Relevo-Konto kann das gew\u00fcnschte\nAuslieferungsdatum gew\u00e4hlt werden. Nach Klick auf \u201eWEITER\u201c erscheint die\nUhrzeit. Eine Bestellung f\u00fcr den gleichen Tag kann nur bis 9:oo Uhr vorgenommen\nwerden. Durch Klick auf \u201eOK\u201c gelangt der Kunde zu den angebotenen Speisen, die\ndurch Klick auf das Symbol mit dem Einkaufskorb rechts neben den Angeboten in\nden Warenkorb gelegt werden k\u00f6nnen. Durch einen Klick auf den gro\u00dfen\nEinkaufskorb im oberen Bereich gelangt man zu der Gesamt\u00fcbersicht der\nausgew\u00e4hlten Speisen im Warenkorb. Auf dieser Seite k\u00f6nnen Korrekturen\nvorgenommen werden durch \u00c4nderungen in der Auswahl der Bestellungen.
\n\nDurch Klick auf \u201eWEITER ZUR\nBESTELLUNG\u201c gelangt man zur Auswahl der Zahlungsm\u00f6glichkeiten. Nach\nentsprechender Auswahl der gew\u00fcnschten Zahlungsart, der Eingabe der\nE-Mail-Adresse, an welche die Best\u00e4tigungsbenachrichtigung versendet werden\nsoll und die Auswahl der Entscheidung dar\u00fcber, ob diese f\u00fcr zuk\u00fcnftige\nBestellungen gespeichert werden soll, kann der Kunde durch Klick auf \u201eJETZT\nKAUFEN\u201c sein Angebot auf Abschluss des Vertrages abgeben. Korrekturen k\u00f6nnen\ndadurch vorgenommen werden, dass der Kunde auf die vorherige Seite zur\u00fcckkehrt.
\n\nNach dem Klick auf \u201eJETZT KAUFEN\u201c\nwird der Kunde im n\u00e4chsten Schritt gefragt, ob er die Zahlungsdaten beim\nZahlungsanbieter hinterlegen m\u00f6chte, so dass diese zuk\u00fcnftig nicht erneut\neingegeben werden m\u00fcssen. Nach der entsprechenden Auswahl gelangt der Kunde f\u00fcr\ndie Zahlungsabwicklung auf die Seiten eines vom Studentenwerk eingesetzten Bezahldienstprovider.\nNach Eingabe aller erforderlichen Daten (je nach Zahlungsart IBAN, Name\nKontoinhaber, Kreditkartennummer) gelangt der Kunde nach dem Klick auf \u201eWEITER\u201c\nzur\u00fcck in die \u201eMensa +\u201c-App.
\n\nDie Bestellung des Kunden\nwird mit Zusendung des Abholcodes (QR-Code) durch das Studentenwerk unmittelbar\nin der \u201eMensa +\u201c-App elektronisch best\u00e4tigt. Die Einzelheiten der\nBestellung werden zudem in der per E-Mail versendeten Bestellbest\u00e4tigung zur\nVerf\u00fcgung gestellt. In der Bestellbest\u00e4tigung sind zudem diese AGB enthalten.
\n\n3.4. Der Kunde hat die\nM\u00f6glichkeit, innerhalb der \u201eMensa +\u201c-App den Abholcode an andere Ger\u00e4te zu\nverschicken und so seine Bestellung durch eine andere Person abholen zu lassen.
\n\n3.5. In der \u201eMensa +\u201c-App kann\nder Kunde jederzeit Einsicht in seine Bestelldaten sowie Informationen zur\nAbholung (offene Bestellungen, Abholcode, Bestell-Historie, nochmal bestellen,\naktueller Monatssaldo) nehmen und diese AGB im Dateiformat einsehen und\nausdrucken. Der Vertragstext wird vom Studentenwerk nach Vertragsschluss\nnicht gespeichert.
\n\n3.6. Der Vertragsschluss erfolgt in deutscher oder\nenglischer Sprache.
\n\n4. Preise, Bezahlung
\n\n4.1. Die genannten Preise\nsind Euro-Preise und enthalten die gesetzliche Umsatzsteuer. Lieferkosten\nfallen keine an.
\n\n4.2. Dem Kunden stehen die beim Abschluss des\nBestellprozesses angezeigten Zahlungsarten zur Verf\u00fcgung. Diese sind: SEPA,\nKreditkarte (Visa, Mastercard)
\n\n4.3. Die Abwicklung der\nBezahlung erfolgt \u00fcber einen dritten Zahlungsdienstleister ,\nauf dessen Eingabeseite der Kunde w\u00e4hrend des Bestellprozesses weitergeleitet\nwird. Der Kunde w\u00e4hlt die von ihm gew\u00fcnschte Bezahlart aus und erg\u00e4nzt seine\nDaten. Im Anschluss gelangt der Kunde wieder zur\u00fcck in die \u201eMensa +\u201c-App. \nDie Autorisierung einer Zahlung, der Zugriff auf ein Zahlungskonto eines Kunden\nsowie der Transfer des Kaufpreises vom Zahlungskonto des Kunden erfolgt\nausschlie\u00dflich durch den Zahlungsdienstleister. W\u00e4hrend eines Bezahlvorganges\ngelangt das Studentenwerk nicht in den Besitz der \u00fcbertragenden Bezahldaten. Die\neingegebenen Daten werden nicht beim Studentenwerk gespeichert, jedoch ggf.\nbeim jeweiligen ausgew\u00e4hlten Zahlungsanbieter. Es gelten hierf\u00fcr die jeweiligen\nDatenschutzbestimmungen des Zahlungsdienstleisters.
\n\n5. R\u00fccktritt, Stornierung
\n\nDas Studentenwerk ist zum\nR\u00fccktritt des Vertrages bzw. zur Stornierung berechtigt, wenn die bestellte\nWare ohne Verschulden des Studentenwerkes aufgrund von Stra\u00dfensperren,\nGer\u00e4teausf\u00e4llen, eines Unfalles, Strom- oder Wasserausfalles oder aus sonstigen\nGr\u00fcnden h\u00f6herer Gewalt nicht zum angegebenen Zeitpunkt ausgeliefert werden\nkann. In diesem Fall wird das Studentenwerk den Kunden unverz\u00fcglich \u00fcber seine\nE-Mail-Adresse informieren und geleistete Zahlungen des Kunden unverz\u00fcglich\nerstatten. Hierf\u00fcr hat der Kunde dem Studentenwerk seine Bankverbindung\nmitzuteilen.
\n\n6. Lieferung, Abholung,\nVerpackung (Relevo GmbH)
\n\n6.1. Das Studentenwerk\nliefert die Bestellung an den vom Kunden gew\u00e4hlten Standort zum festgelegten\nZeitpunkt. Eine Bestellung f\u00fcr den gleichen Tag kann nur bis 9:00 Uhr\nvorgenommen werden. Die Abholung der Ware ist am Tag der gebuchten Lieferung von\nca. 14:00 Uhr bis max. 12:00 Uhr des Folgetages der gebuchten Lieferung gegen\nVorlage des in der \u201eMensa +\u201c-App zur Verf\u00fcgung gestellten Abholcodes (QR-Code)\nm\u00f6glich. Nach diesem Zeitpunkt wird die Bestellung aus dem Automaten entfernt.\nEine Erstattung des gezahlten Preises erfolgt nicht.
\n\n6.2. Alle zur Bestellung\nverf\u00fcgbaren Gerichte werden in der \u201eMensa +\u201c-App in einem Mehrwegbeh\u00e4ltnis des Unternehmens\nRelevo GmbH angeboten. F\u00fcr dieses Mehrwegbeh\u00e4ltnis ist eine Ausleihbest\u00e4tigung\nerforderlich. Dieser Service ist f\u00fcr den Kunden kostenfrei, wenn das\nMehrwegbeh\u00e4ltnis innerhalb von 10 Tagen am R\u00fccknahmeautomaten des\nLieferstandortes oder in einer Mensa des Studentenwerkes zur\u00fcckgegeben wird. Im\nRahmen der Ausleihe wird das Studentenwerk nur als technischer Dienstleister\nt\u00e4tig und stellt lediglich die technische Plattform f\u00fcr die Ausleihe zur\nVerf\u00fcgung. Die Autorisierung einer Ausleihe, Zahlung f\u00fcr nicht zur\u00fcck gebrachte\nMehrwegbeh\u00e4lter, sowie der Zugriff auf ein Zahlungskonto des Kunden erfolgt\nausschlie\u00dflich durch die Relevo GmbH, die vom Studentenwerk beauftragt wurde.\n W\u00e4hrend eines Ausleihprozesses gelangt das Studentenwerk zu keinem\nZeitpunkt in den Besitz der \u00fcbertragenden Daten.
\n\n 7. Widerrufsrecht
\n\nDer Kunde kann die\nBestellung nicht gegen\u00fcber dem Studentenwerk widerrufen, soweit es sich um die\nLieferung von Waren handelt,
\n\n\u00b7 \n die nicht vorgefertigt sind und f\u00fcr deren Herstellung eine individuelle\nAuswahl oder Bestimmung durch den Verbraucher ma\u00dfgeblich ist oder die eindeutig\nauf die pers\u00f6nlichen Bed\u00fcrfnisse des Verbrauchers zugeschnitten sind (\u00a7 312g\nAbs. 2 Nr. 1 BGB);
\n\n\u00b7 \n die schnell verderben k\u00f6nnen oder deren Verfallsdatum schnell\n\u00fcberschritten w\u00fcrde (\u00a7 312g Abs. 2 Nr. 2 BGB);
\n\n\u00b7 \n die aus Gr\u00fcnden des Gesundheitsschutzes oder der Hygiene nicht zur\nR\u00fcckgabe geeignet sind, wenn ihre Versiegelung nach der Lieferung entfernt\nwurde (\u00a7 312g Abs. 2 Nr. 3 BGB);
\n\n\u00b7 \n wenn diese nach der Lieferung auf Grund ihrer Beschaffenheit untrennbar\nmit anderen G\u00fctern vermischt wurden (\u00a7 312g Abs. 2 Nr. 4 BGB).
\n\nBei den \u00fcber die \u201eMensa +\u201c-App angebotenen Waren handelt es sich ausschlie\u00dflich\num schnell verderbliche Waren, bei denen das Verfallsdatum schnell \u00fcberschritten\nw\u00fcrde, so dass dem Kunden kein Widerrufsrecht zusteht.
\n\n8. Gew\u00e4hrleistung, Haftung
\n\n8.1. Es gilt das\ngesetzliche Gew\u00e4hrleistungsrecht. F\u00fcr Schadensersatzanspr\u00fcche des Kunden\ngegen\u00fcber dem Studentenwerk gilt Ziffer 8.3. dieser AGB.
\n\n8.2. Eine Garantie wird vom\nStudentenwerk nicht erkl\u00e4rt.
\n\n8.3. Anspr\u00fcche des Kunden\nauf Schadensersatz gegen\u00fcber dem Studentenwerk sind ausgeschlossen. Dies gilt\nnicht f\u00fcr Schadensersatzanspr\u00fcche des Kunden aus der Verletzung des Lebens, des\nK\u00f6rpers, der Gesundheit, sowie die Haftung f\u00fcr sonstige Sch\u00e4den, die auf einer\nvors\u00e4tzlichen oder grob fahrl\u00e4ssigen Pflichtverletzung des Studentenwerkes,\nseiner gesetzlichen Vertreter oder Erf\u00fcllungsgehilfen beruhen. Unber\u00fchrt bleibt\nferner die Haftung f\u00fcr die Verletzung von Pflichten, deren Erf\u00fcllung die\nordnungsgem\u00e4\u00dfe Durchf\u00fchrung des Vertrages \u00fcberhaupt erst erm\u00f6glicht und auf\nderen Einhaltung der Kunde regelm\u00e4\u00dfig vertrauen darf. Bei der leicht\nfahrl\u00e4ssigen Verletzung dieser Vertragspflichten haftet das Studentenwerk nur\nf\u00fcr den vertragstypischen, vorhersehbaren Schaden, es sei denn, es handelt sich\num Schadensersatzanspr\u00fcche des Kunden aus einer Verletzung des Lebens, des\nK\u00f6rpers oder der Gesundheit. Dies gilt auch zu Gunsten der gesetzlichen\nVertreter und Erf\u00fcllungsgehilfen des Studentenwerkes, sofern Anspr\u00fcche direkt\ngegen diese geltend gemacht werden. Die Vorschriften des\nProdukthaftungsgesetzes bleiben davon unber\u00fchrt.
\n\n9. Informationen zur OS-Plattform
\n\nDie EU-Kommission hat eine\nInternetplattform zur Online-Beilegung von Streitigkeiten (sog.\n\"OS-Plattform\") geschaffen. Die OS-Plattform dient als Anlaufstelle\nf\u00fcr die au\u00dfergerichtliche Beilegung von Streitigkeiten \u00fcber vertragliche\nVerpflichtungen, die aus Online-Kaufvertr\u00e4gen entstehen. Sie k\u00f6nnen die\nOS-Plattform unter dem folgenden Link erreichen: https://ec.europa.eu/consumers/odr
\n\n10. Hinweis gem\u00e4\u00df \u00a7 36\nVerbraucherstreitbeilegungsgesetzes (VSBG), Beschwerden
\n\n10.1. Das Studentenwerk\nPotsdam wird nicht an einem Streitbeilegungsverfahren vor einer\nVerbraucherschlichtungsstelle im Sinne des VSBG teilnehmen und ist hierzu auch\nnicht gesetzlich verpflichtet.
\n\n10.2. Kundenseitige\nBeschwerden \u00fcber das Angebot, die Bestellung oder die Ausf\u00fchrung des Vertrages\nk\u00f6nnen jedoch gegen\u00fcber dem Studentenwerk \u00fcber\nverpflegung@studentenwerk-potsdam.de jederzeit\nmitgeteilt werden.
\n\n11. Schlussbestimmungen
\n\n11.1. Auf das vorliegende\nVerh\u00e4ltnis findet das Recht der Bundesrepublik Deutschland Anwendung, unter\nAusschluss des UN-Kaufrechts. Wenn der Kunde Verbraucher\nmit Wohnsitz au\u00dferhalb der Bundesrepublik Deutschland ist, kann ggf. auch das\nRecht desjenigen Landes, in dem der Kunde seinen Wohnsitz hat, zur Anwendung\nkommen, wenn es sich um zwingende Bestimmungen handelt.
\n\n11.2. Sollte eine oder\nmehrere der vorstehenden Bestimmungen unwirksam sein oder werden, wird die\nWirksamkeit der \u00fcbrigen Bestimmungen nicht ber\u00fchrt.
\n\nStand: 11.07.2022
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\nGeneral terms and\nconditions for the use of the delivery service via the \u201cMensa +\u201d app of\nStudentenwerk Potsdam - Anstalt des \u00f6ffentlichen Rechts (public law\ninstitution)
\n\n1. Provider of the \u201cMensa\n+\u201d app
\n\nStudentenwerk Potsdam - Anstalt\ndes \u00f6ffentlichen Rechts
\n\n(public law institution,\nhereinafter referred to as \u2018Studentenwerk\u2019)
\n\n
\n\nrepresented by Managing\nDirector Peter Hei\u00df
\n\n
\n\nBabelsberger Strasse 2
\n\n14473 Potsdam, Germany
\n\n
\n\nPhone: +49 331 3706 0
\n\nFax: +49 331 3706-125
\n\nE-mail:\npost@studentenwerk-potsdam.de
\n\n
\n\nVAT no.: DE138408271
\n\n2. Scope of application
\n\n2.1. These general terms\nand conditions (hereinafter referred to as GTC) apply to all contracts\nconcluded between the customer and Studentenwerk via the \u201cMensa +\u201d app. The\nversion of the GTC valid at the time the contract is concluded shall apply.
\n\n2.2. The offering in the \u201cMensa\n+\u201d app is aimed exclusively at consumers. A consumer is any natural person who\nconcludes a legal transaction for purposes that can predominantly be attributed\nneither to their commercial nor independent professional activity.
\n\n3. Conclusion of contract,\nordering process
\n\n3.1. The presentation of\nproducts in the \u201cMensa +\u201d app does not constitute a legally binding offer, and\nsimply an invitation for the customer to submit an offer. By clicking on the\n\u2018Buy now\u2019 button, the customer makes a binding offer to Studentenwerk to\nconclude a contract. Studentenwerk confirms receipt of the customer\u2019s order by\nsending an e-mail and a message in the \u201cMensa +\u201d app. This order confirmation\ndoes not yet constitute acceptance of the contractual offer, and simply serves\nto inform the customer that the order has been received. The declaration of\nacceptance of the contractual offer shall be made by delivery of the goods into\nthe vending machine or an express declaration of acceptance.
\n\n3.2. For orders via the \u201cMensa\n+\u201d app, it is necessary for the customer to install the app on their user\ndevice. German or English can be selected as the language for using the app. The\nlanguage selection can be changed at any time. In the app, the respective\nlocation is set either via Google Maps or by inputting it individually. Here,\nthe customer also has the option to select the hall of residence to which the\ndelivery is to be made, which can be changed at any time later on. The app\ndashboard can be set up as you wish.
\n\n3.3. The ordering process\nin the \u201cMensa +\u201d app takes place as follows:
\n\nTo place an order, the\ncustomer first selects \u2018ORDER\u2019 from the dashboard. From the page that then\nappears, clicking on \u2018ORDER\u2019 takes you to the next page where you can select\nthe desired menu week.
\n\nAll dishes offered in the \u201cMensa\n+\u201d app are delivered exclusively in Relevo GmbH reusable containers. When\nordering via the \u201cMensa +\u201d app for the first time, a link must be made with the\ncustomer\u2019s Relevo account. It is not possible to place an order via the \u201cMensa\n+\u201d app without also being a customer of Relevo GmbH (see clause 6.2. of the\nGTC).
\n\nAfter selecting the week\nand, if necessary, linking it to the Relevo account for the first time, the\ndesired delivery date can be selected. After clicking on \u2018CONTINUE\u2019, the time\nappears. An order for the same day can only be placed before 9 a.m. By clicking\non \u2018OK\u2019, the customer is taken to the dishes on offer, which can be placed in\nthe shopping basket by clicking on the symbol with the shopping basket to the\nright of the items offered. Clicking on the large shopping basket in the upper\narea takes you to the total overview of the selected dishes in the shopping\nbasket. On this page, corrections can be made by making changes to the order\nselection.
\n\nClicking on \u2018TO ORDER\u2019\ntakes you to the selection of payment options. After selecting the desired\npayment method, entering the e-mail address to which the confirmation\nnotification should be sent and selecting whether this should be saved for\nfuture orders, the customer can submit their offer to conclude the contract by\nclicking on \u2018BUY NOW\u2019. Corrections can be made if the customer returns\nto the previous page. After clicking on \u2018BUY\nNOW\u2019, the customer is asked in the next step whether they would like to store\npayment data with the payment provider so that they do not have to be\nre-entered in the future. After making their selection, the customer is taken\nto the payment service provider used by Studentenwerk for payment processing.\nAfter entering all of the required data (IBAN, account holder name, credit card\nnumber, depending on the payment method), the customer is taken back to the \u201cMensa\n+\u201d app after clicking on \u2018CONTINUE\u2019.
\n\nThe\ncustomer\u2019s order is confirmed electronically by Studentenwerk sending the\npick-up code (QR code) directly in the \u201cMensa +\u201d app. Details of the order are\nalso provided in the order confirmation sent by e-mail. These GTC are also\nincluded in the order confirmation.
\n\n3.4. The customer has the\noption of sending the pick-up code to other devices within the \u201cMensa +\u201d app\nand therefore having their order picked up by someone else.
\n\n3.5. In\nthe \u201cMensa +\u201d app, the customer can view their order data and information on\ncollection (open orders, collection code, order history, order again, current\nmonthly balance) at any time and view and print these GTC in file format. The\ntext of the contract is not stored by Studentenwerk after the contract has been\nconcluded.
\n\n3.6. The\ncontract is concluded in German or English.
\n\n4. Prices, payment
\n\n4.1. The prices quoted are\nin euros and include statutory value added tax. There are no delivery costs.
\n\n4.2. The\npayment methods displayed at the end of the ordering process are available to\nthe customer. These are: SEPA, credit card (Visa, Mastercard).
\n\n4.3.\nPayments are processed via a third-party payment service provider to whose\ninput page the customer is redirected during the ordering process. The customer\nselects their preferred payment method and fills in their data. The customer is\nthen returned to the \u201cMensa +\u201d app. Payment authorisation, access to the\ncustomer\u2019s payment account and the transfer of the purchase price from the\ncustomer\u2019s payment account is exclusively carried out by the payment service\nprovider. Studentenwerk does not obtain any payment data transmitted during the\npayment process. The data entered will not be stored by Studentenwerk, but may\nbe stored by the respective payment provider selected. The respective data\nprotection provisions of the payment service provider apply.
\n\n5.\nWithdrawal, cancellation
\n\nStudentenwerk is entitled\nto withdraw from the contract or cancel it if the ordered goods cannot be\ndelivered at the specified time through no fault of Studentenwerk due to\nroadblocks, equipment failure, accidents, power or water failure or for other\nreasons of force majeure. In this case, Studentenwerk will immediately inform\nthe customer via their e-mail address and immediately refund any payments made\nby the customer. For this purpose, the customer must provide Studentenwerk with\ntheir bank details.
\n\n6. Delivery, collection,\npackaging (Relevo GmbH)
\n\n6.1. Studentenwerk will\ndeliver the order to the location chosen by the customer at the specified time.\nAn order for the same day can only be placed before 9:00 a.m. The goods can be\ncollected on the day of the booked delivery from around 2:00 p.m. until max.\n12:00 a.m. on the day following the booked delivery on presentation of the\ncollection code (QR code) provided in the \u201cMensa +\u201d app. After this time, the\norder will be removed from the machine. The price paid will not be refunded.
\n\n6.2. All dishes available\nto order are offered in the \u201cMensa +\u201d app in a reusable container provided by\nthe company Relevo GmbH. A borrowing confirmation is required for this reusable\ncontainer. This service is free of charge for the customer if the reusable\ncontainer is returned to the return machine at the delivery location or to a\nStudentenwerk canteen within 10 days. In the context of borrowing,\nStudentenwerk only acts as a technical service provider and merely provides the\ntechnical platform for borrowing. Authorisation of borrowing, payment for reusable\ncontainers not returned, and access to customers\u2019 payment account is carried\nout exclusively by Relevo GmbH, which has been commissioned by Studentenwerk.\n At no time during the borrowing process does Studentenwerk come into\npossession of the transmitted data.
\n\n 7. Right of withdrawal
\n\nThe\ncustomer may not withdraw the order placed with Studentenwerk insofar as it\nconcerns the delivery of goods:
\n\n\u00b7 \n that are not\npre-fabricated and the production of which is governed by an individual choice\nof or decision by the consumer, or that are clearly tailored to personal needs\nof the consumer (Section 312g [2] 1. of the German Civil Code [B\u00fcrgerliches\nGesetzbuch, BGB]);
\n\n\u00b7 \n which are\nhighly perishable, or which may quickly pass their expiration date (Section 312g\n[2] 2. BGB);
\n\n\u00b7 \n which are not suitable for return due to\nhealth protection or hygiene reasons, if such goods were unsealed after\ndelivery (Section 312g [2] 3. BGB); and
\n\n\u00b7 \n which,\naccording to their nature, are inseparably mixed, after delivery, with other items\n(Section 312g [2] 4. BGB).
\n\nThe goods offered via the \u201cMensa\n+\u201d app are exclusively perishable goods which quickly pass their expiration\ndate, meaning the customer is not entitled to a right of withdrawal.
\n\n8. Warranty, liability
\n\n8.1. Statutory warranty law\nshall apply. Section 8.3. of these GTC shall apply to claims for damages by the\ncustomer against Studentenwerk.
\n\n8.2. No guarantee is\ndeclared by Studentenwerk.
\n\n8.3. Claims of the customer\nfor damages against Studentenwerk are excluded. This does not apply to claims\nfor damages by the customer arising from injury to life, limb or health, nor to\nliability for other damages based on an intentional or grossly negligent breach\nof duty by Studentenwerk, its legal representatives or vicarious agents.\nFurthermore, liability for the breach of obligations, the fulfilment of which\nis a prerequisite for the proper performance of the contract and on the\nobservance of which the customer may regularly rely, shall remain unaffected.\nIn the event of a slightly negligent breach of these contractual obligations,\nStudentenwerk shall only be liable for foreseeable damage typical of the\ncontract, unless the customer\u2019s claims for damages arise from injury to life,\nlimb or health. This also applies in favour of the legal representatives and\nvicarious agents of Studentenwerk, insofar as claims are asserted directly\nagainst them. The provisions of the Product Liability Act\n(Produkthaftungsgesetz) shall remain unaffected.
\n\n9. Information on the ODR\nplatform
\n\nThe EU Commission has set up\nan online platform for the online settlement of disputes (\u2018ODR platform\u2019). The\nODR platform functions as a contact point for the out-of-court settlement of\ndisputes regarding contractual obligations arising from online purchase\ncontracts. You can access the ODR platform via the following link: https://ec.europa.eu/consumers/odr .
\n\n10. Notice pursuant to\nSection 36 of the Consumer Dispute Settlement Act\n(Verbraucherstreitbeilegungsgesetz, VSBG), complaints
\n\n10.1. Studentenwerk Potsdam\nwill not participate in a dispute resolution procedure before a consumer\narbitration board within the meaning of the VSBG and is not legally obliged to\ndo so.
\n\n10.2. Customer complaints\nregarding the offering, the order or the execution of the contract can,\nhowever, be communicated to Studentenwerk via\nverpflegung@studentenwerk-potsdam.de at\nany time.
\n\n11. Final provisions
\n\n11.1. This\nrelationship shall be governed by the laws of the Federal Republic of Germany,\nexcluding the UN Convention on Contracts for the International Sale of Goods.\nIf the customer is a consumer domiciled outside the Federal Republic of\nGermany, the law of the country in which the customer is domiciled may also\napply if the provisions are mandatory.
\n\n11.2. Should one or more of\nthe above provisions be or become invalid, the validity of the remaining\nprovisions shall not be affected.
\n\nDate: 11/07/2022
\n\n
\n\n
\n\n
\n\n",
+ "pluginOpenSourceLink": "https://www.kamasys.de/index.php/lizenzen/",
+ "pluginOpenSourceRichtext": null
+ },
+ "isPublic": true
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/resources/integration-test/meal_category.json b/tests/resources/integration-test/meal_category.json
new file mode 100644
index 0000000..34a9e45
--- /dev/null
+++ b/tests/resources/integration-test/meal_category.json
@@ -0,0 +1,382 @@
+{
+ "success": true,
+ "content": [
+ {
+ "id": 128,
+ "name": "Pasta Theke togo",
+ "logoImage": null,
+ "reihenfolgeInApp": 14,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 128,
+ "languageTypeID": 1,
+ "bildschirmeID": null,
+ "outletID": 10,
+ "benutzerID": 35,
+ "timestampLog": "2023-10-04T10:33:36"
+ },
+ {
+ "id": 9,
+ "name": "ALT",
+ "logoImage": null,
+ "reihenfolgeInApp": 1,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 9,
+ "languageTypeID": 1,
+ "bildschirmeID": null,
+ "outletID": null,
+ "benutzerID": 35,
+ "timestampLog": "2023-10-13T10:48:05"
+ },
+ {
+ "id": 161,
+ "name": "Offer 1",
+ "logoImage": null,
+ "reihenfolgeInApp": 1,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 153,
+ "languageTypeID": 2,
+ "bildschirmeID": 12,
+ "outletID": 10,
+ "benutzerID": 35,
+ "timestampLog": "2023-10-13T10:47:38"
+ },
+ {
+ "id": 162,
+ "name": "Offer 2",
+ "logoImage": null,
+ "reihenfolgeInApp": 2,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 154,
+ "languageTypeID": 2,
+ "bildschirmeID": 13,
+ "outletID": 10,
+ "benutzerID": 35,
+ "timestampLog": "2023-10-13T10:47:30"
+ },
+ {
+ "id": 164,
+ "name": "Offer 4",
+ "logoImage": null,
+ "reihenfolgeInApp": 4,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 155,
+ "languageTypeID": 2,
+ "bildschirmeID": 15,
+ "outletID": 10,
+ "benutzerID": 35,
+ "timestampLog": "2023-10-13T10:47:13"
+ },
+ {
+ "id": 163,
+ "name": "Offer 3",
+ "logoImage": null,
+ "reihenfolgeInApp": 3,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 156,
+ "languageTypeID": 2,
+ "bildschirmeID": 14,
+ "outletID": 10,
+ "benutzerID": 35,
+ "timestampLog": "2023-10-13T10:47:21"
+ },
+ {
+ "id": 167,
+ "name": "Salad bar",
+ "logoImage": null,
+ "reihenfolgeInApp": 7,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 102,
+ "languageTypeID": 2,
+ "bildschirmeID": 11,
+ "outletID": 10,
+ "benutzerID": 35,
+ "timestampLog": "2023-10-13T10:50:24"
+ },
+ {
+ "id": 103,
+ "name": "Essen 1",
+ "logoImage": null,
+ "reihenfolgeInApp": 12,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 103,
+ "languageTypeID": 1,
+ "bildschirmeID": null,
+ "outletID": 10,
+ "benutzerID": 35,
+ "timestampLog": "2023-10-04T10:29:54"
+ },
+ {
+ "id": 168,
+ "name": "Hot Counter",
+ "logoImage": null,
+ "reihenfolgeInApp": 8,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 231,
+ "languageTypeID": 2,
+ "bildschirmeID": 11,
+ "outletID": 10,
+ "benutzerID": 35,
+ "timestampLog": "2023-11-01T10:42:06"
+ },
+ {
+ "id": 104,
+ "name": "Essen 2",
+ "logoImage": null,
+ "reihenfolgeInApp": 12,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 104,
+ "languageTypeID": 1,
+ "bildschirmeID": null,
+ "outletID": 10,
+ "benutzerID": 35,
+ "timestampLog": "2023-10-04T10:30:08"
+ },
+ {
+ "id": 105,
+ "name": "Essen 3",
+ "logoImage": null,
+ "reihenfolgeInApp": 12,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 105,
+ "languageTypeID": 1,
+ "bildschirmeID": null,
+ "outletID": 10,
+ "benutzerID": 35,
+ "timestampLog": "2023-10-04T10:30:20"
+ },
+ {
+ "id": 106,
+ "name": "Essen 4",
+ "logoImage": null,
+ "reihenfolgeInApp": 12,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 106,
+ "languageTypeID": 1,
+ "bildschirmeID": null,
+ "outletID": 10,
+ "benutzerID": 35,
+ "timestampLog": "2023-10-04T10:30:30"
+ },
+ {
+ "id": 165,
+ "name": "Special Offer",
+ "logoImage": null,
+ "reihenfolgeInApp": 5,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 107,
+ "languageTypeID": 2,
+ "bildschirmeID": 13,
+ "outletID": 10,
+ "benutzerID": 30,
+ "timestampLog": "2023-10-16T15:31:18"
+ },
+ {
+ "id": 299,
+ "name": "Hei\u00dfe Theke klein",
+ "logoImage": null,
+ "reihenfolgeInApp": 1,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 299,
+ "languageTypeID": 1,
+ "bildschirmeID": null,
+ "outletID": 10,
+ "benutzerID": 300,
+ "timestampLog": "2023-11-23T10:05:01"
+ },
+ {
+ "id": 166,
+ "name": "Daily Special",
+ "logoImage": null,
+ "reihenfolgeInApp": 6,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 108,
+ "languageTypeID": 2,
+ "bildschirmeID": 13,
+ "outletID": 10,
+ "benutzerID": 30,
+ "timestampLog": "2023-10-16T15:31:53"
+ },
+ {
+ "id": 300,
+ "name": "Hei\u00dfe Theke togo",
+ "logoImage": null,
+ "reihenfolgeInApp": 1,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 300,
+ "languageTypeID": 1,
+ "bildschirmeID": null,
+ "outletID": 10,
+ "benutzerID": 300,
+ "timestampLog": "2023-11-23T10:05:01"
+ },
+ {
+ "id": 169,
+ "name": "Dessert 1",
+ "logoImage": null,
+ "reihenfolgeInApp": 9,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 109,
+ "languageTypeID": 2,
+ "bildschirmeID": 11,
+ "outletID": 10,
+ "benutzerID": 35,
+ "timestampLog": "2023-10-13T10:51:30"
+ },
+ {
+ "id": 170,
+ "name": "Dessert 2",
+ "logoImage": null,
+ "reihenfolgeInApp": 10,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 110,
+ "languageTypeID": 2,
+ "bildschirmeID": 11,
+ "outletID": 10,
+ "benutzerID": 35,
+ "timestampLog": "2023-10-13T10:51:50"
+ },
+ {
+ "id": 111,
+ "name": "Hei\u00dfe Theke gro\u00df",
+ "logoImage": null,
+ "reihenfolgeInApp": 12,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 111,
+ "languageTypeID": 1,
+ "bildschirmeID": 11,
+ "outletID": 10,
+ "benutzerID": 35,
+ "timestampLog": "2023-11-09T09:46:52"
+ },
+ {
+ "id": 308,
+ "name": "Offer 1",
+ "logoImage": null,
+ "reihenfolgeInApp": 1,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 241,
+ "languageTypeID": 2,
+ "bildschirmeID": null,
+ "outletID": 10,
+ "benutzerID": 35,
+ "timestampLog": "2023-11-29T11:20:02"
+ },
+ {
+ "id": 309,
+ "name": "Offer 2",
+ "logoImage": null,
+ "reihenfolgeInApp": 2,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 242,
+ "languageTypeID": 2,
+ "bildschirmeID": null,
+ "outletID": 10,
+ "benutzerID": 35,
+ "timestampLog": "2023-11-29T11:20:27"
+ },
+ {
+ "id": 310,
+ "name": "Offer 3",
+ "logoImage": null,
+ "reihenfolgeInApp": 3,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 243,
+ "languageTypeID": 2,
+ "bildschirmeID": null,
+ "outletID": 10,
+ "benutzerID": 35,
+ "timestampLog": "2023-11-29T11:20:46"
+ },
+ {
+ "id": 311,
+ "name": "Offer 4",
+ "logoImage": null,
+ "reihenfolgeInApp": 4,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 244,
+ "languageTypeID": 2,
+ "bildschirmeID": null,
+ "outletID": 10,
+ "benutzerID": 35,
+ "timestampLog": "2023-11-29T11:21:15"
+ },
+ {
+ "id": 313,
+ "name": "Daily Special",
+ "logoImage": null,
+ "reihenfolgeInApp": 6,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 245,
+ "languageTypeID": 2,
+ "bildschirmeID": null,
+ "outletID": 10,
+ "benutzerID": 35,
+ "timestampLog": "2023-11-29T11:22:05"
+ },
+ {
+ "id": 314,
+ "name": "Hot Counter",
+ "logoImage": null,
+ "reihenfolgeInApp": 8,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 246,
+ "languageTypeID": 2,
+ "bildschirmeID": null,
+ "outletID": 10,
+ "benutzerID": 35,
+ "timestampLog": "2023-11-29T11:22:33"
+ },
+ {
+ "id": 312,
+ "name": "Special Offer",
+ "logoImage": null,
+ "reihenfolgeInApp": 5,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 247,
+ "languageTypeID": 2,
+ "bildschirmeID": null,
+ "outletID": 10,
+ "benutzerID": 35,
+ "timestampLog": "2023-11-29T11:21:44"
+ },
+ {
+ "id": 125,
+ "name": "Tagesgericht",
+ "logoImage": null,
+ "reihenfolgeInApp": 13,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 125,
+ "languageTypeID": 1,
+ "bildschirmeID": null,
+ "outletID": 10,
+ "benutzerID": 35,
+ "timestampLog": "2023-10-04T10:32:47"
+ },
+ {
+ "id": 126,
+ "name": "Pasta Theke gro\u00df",
+ "logoImage": null,
+ "reihenfolgeInApp": 14,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 126,
+ "languageTypeID": 1,
+ "bildschirmeID": null,
+ "outletID": 10,
+ "benutzerID": 35,
+ "timestampLog": "2023-10-04T10:33:23"
+ },
+ {
+ "id": 127,
+ "name": "Pasta Theke klein",
+ "logoImage": null,
+ "reihenfolgeInApp": 14,
+ "titelNaehrwerte": null,
+ "gerichtkategorieID": 127,
+ "languageTypeID": 1,
+ "bildschirmeID": null,
+ "outletID": 10,
+ "benutzerID": 35,
+ "timestampLog": "2023-10-04T10:33:29"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/resources/integration-test/menu.json b/tests/resources/integration-test/menu.json
new file mode 100644
index 0000000..28819fe
--- /dev/null
+++ b/tests/resources/integration-test/menu.json
@@ -0,0 +1,3031 @@
+{
+ "success": true,
+ "content": [
+ {
+ "speiseplanAdvanced": {
+ "id": 557,
+ "aktiv": true,
+ "gueltigTaeglich": false,
+ "showWeekend": false,
+ "exportInactiveContent": false,
+ "titel": "Mittagessen",
+ "anzeigename": "Mittagessen",
+ "gueltigVon": "2023-12-04T00:00:00+01:00",
+ "gueltigBis": "2023-12-10T23:59:59+01:00",
+ "reihenfolgeInApp": 1,
+ "speiseplanLayoutTypeID": null,
+ "vendingMachineID": null,
+ "orderConfigurationID": null,
+ "pickupTimeID": null,
+ "outletID": 10,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300,
+ "orderInfo": {
+ "orderAllowed": false,
+ "preOrderAllowed": false,
+ "instantOrderAllowed": false,
+ "shippingAllowed": false,
+ "deliveryAssortment": false,
+ "instantOrderMinimumOrderValue": null,
+ "preOrderMinimumOrderValue": null,
+ "shippingOrderMinimumOrderValue": null,
+ "shippingCostFlatrate": null,
+ "shippingCostThreshold": null,
+ "postalCodeVerification": false,
+ "reusableProvider": false,
+ "reusableProviderId": null,
+ "allowedOrderProcesses": [],
+ "scan2go": false
+ },
+ "locationInfo": {
+ "id": 9600,
+ "name": "Am Neuen Palais"
+ },
+ "holidayInfo": [],
+ "pickupTimeInfo": []
+ },
+ "speiseplanGerichtData": [
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163773,
+ "aktiv": true,
+ "datum": "2023-12-04T00:00:00+01:00",
+ "gerichtkategorieID": 102,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "gro\u00dfe Schale\nkleine Schale\nRelevo Schale\n100g Stud. 1,00\u20ac/ G\u00e4ste 1,45\u20ac",
+ "zusatzinformationenID": 163763,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163763,
+ "gerichtnameAlternative": "large bowl\nsmall bowl\nrelevo bowl\n100g stud. 1,00\u20ac/ guests 1,45\u20ac",
+ "mitarbeiterpreisDecimal2": 0,
+ "gaestepreisDecimal2": 0,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 1305,
+ "nwkcalInteger": 314,
+ "nwfettDecimal1": 22.51,
+ "nwfettsaeurenDecimal1": 4.77,
+ "nwkohlehydrateDecimal1": 9.21,
+ "nwzuckerDecimal1": 4.43,
+ "nweiweissDecimal1": 9.9,
+ "nwsalzDecimal1": 1.79,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": null,
+ "price3Decimal2": 0,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,112,113,127,119,114,115,116,117,118",
+ "zusatzstoffeIds": "1,2",
+ "gerichtmerkmaleIds": "51"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163774,
+ "aktiv": true,
+ "datum": "2023-12-04T00:00:00+01:00",
+ "gerichtkategorieID": 153,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Gr\u00fcne Bohneneintopf mit Kartoffelw\u00fcrfeln und Kr\u00e4utern, dazu Vollkornbrot ",
+ "zusatzinformationenID": 163764,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163764,
+ "gerichtnameAlternative": "Green bean stew with potato cubes and herbs, served with whole-grain bread",
+ "mitarbeiterpreisDecimal2": 1.9,
+ "gaestepreisDecimal2": 3.8,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 1437,
+ "nwkcalInteger": 343,
+ "nwfettDecimal1": 6.01,
+ "nwfettsaeurenDecimal1": 0.68,
+ "nwkohlehydrateDecimal1": 56.16,
+ "nwzuckerDecimal1": 7.95,
+ "nweiweissDecimal1": 10.83,
+ "nwsalzDecimal1": 2.27,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350101",
+ "price3Decimal2": 2.9,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "119,115,128",
+ "zusatzstoffeIds": null,
+ "gerichtmerkmaleIds": "52"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163775,
+ "aktiv": true,
+ "datum": "2023-12-04T00:00:00+01:00",
+ "gerichtkategorieID": 154,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Rostbratwurst mit Sauerkraut und Salzkartoffeln",
+ "zusatzinformationenID": 163765,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163765,
+ "gerichtnameAlternative": "Grilled Bratwurst with sauerkraut and boiled potatoes",
+ "mitarbeiterpreisDecimal2": 2.5,
+ "gaestepreisDecimal2": 4.8,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 2611,
+ "nwkcalInteger": 625,
+ "nwfettDecimal1": 31.31,
+ "nwfettsaeurenDecimal1": 10.03,
+ "nwkohlehydrateDecimal1": 47.05,
+ "nwzuckerDecimal1": 7.86,
+ "nweiweissDecimal1": 15.35,
+ "nwsalzDecimal1": 5.24,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350201",
+ "price3Decimal2": 3.5,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "120,119,114",
+ "zusatzstoffeIds": "1,2,6,7,10",
+ "gerichtmerkmaleIds": "53"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163776,
+ "aktiv": true,
+ "datum": "2023-12-04T00:00:00+01:00",
+ "gerichtkategorieID": 156,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Pasta mit getrockneten Tomaten, Mascarpone, Chili, Rucola und Grana Padano",
+ "zusatzinformationenID": 163766,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163766,
+ "gerichtnameAlternative": "Pasta with sun-dried tomatoes, mascarpone, chili, arugula and Grana Padano cheese",
+ "mitarbeiterpreisDecimal2": 3,
+ "gaestepreisDecimal2": 5.2,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 4826,
+ "nwkcalInteger": 1153,
+ "nwfettDecimal1": 62.92,
+ "nwfettsaeurenDecimal1": 22.41,
+ "nwkohlehydrateDecimal1": 115.82,
+ "nwzuckerDecimal1": 23.69,
+ "nweiweissDecimal1": 29.16,
+ "nwsalzDecimal1": 3.37,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350301",
+ "price3Decimal2": 4,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,112,115",
+ "zusatzstoffeIds": "2,6",
+ "gerichtmerkmaleIds": null
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163777,
+ "aktiv": true,
+ "datum": "2023-12-04T00:00:00+01:00",
+ "gerichtkategorieID": 155,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Gem\u00fcse-Pilz-Pfanne mit Rote Bete Gnocchi, dazu Lauchsauce mit Senfk\u00f6rnern",
+ "zusatzinformationenID": 163767,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163767,
+ "gerichtnameAlternative": "Vegetable-mushroom pan with beetroot gnocchi, served with leek sauce with mustard seeds",
+ "mitarbeiterpreisDecimal2": 3.5,
+ "gaestepreisDecimal2": 5.5,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 3133,
+ "nwkcalInteger": 749,
+ "nwfettDecimal1": 31.78,
+ "nwfettsaeurenDecimal1": 4.35,
+ "nwkohlehydrateDecimal1": 89.83,
+ "nwzuckerDecimal1": 18.98,
+ "nweiweissDecimal1": 14.94,
+ "nwsalzDecimal1": 4.55,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350401",
+ "price3Decimal2": 4.5,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "120,119,114,115",
+ "zusatzstoffeIds": "1",
+ "gerichtmerkmaleIds": "52"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163778,
+ "aktiv": true,
+ "datum": "2023-12-04T00:00:00+01:00",
+ "gerichtkategorieID": 231,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "(Preis pro 100g)",
+ "zusatzinformationenID": 163768,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163768,
+ "gerichtnameAlternative": "(Price per 100g)",
+ "mitarbeiterpreisDecimal2": 0.5,
+ "gaestepreisDecimal2": 0.95,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 278,
+ "nwkcalInteger": 66,
+ "nwfettDecimal1": 1.76,
+ "nwfettsaeurenDecimal1": 0.14,
+ "nwkohlehydrateDecimal1": 8.55,
+ "nwzuckerDecimal1": 1.05,
+ "nweiweissDecimal1": 2.25,
+ "nwsalzDecimal1": 0.43,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350911",
+ "price3Decimal2": 0,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "120,115",
+ "zusatzstoffeIds": "6",
+ "gerichtmerkmaleIds": "52"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163779,
+ "aktiv": true,
+ "datum": "2023-12-05T00:00:00+01:00",
+ "gerichtkategorieID": 102,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "gro\u00dfe Schale\nkleine Schale\nRelevo Schale\n100g Stud. 1,00\u20ac/ G\u00e4ste 1,45\u20ac",
+ "zusatzinformationenID": 163769,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163769,
+ "gerichtnameAlternative": "large bowl\nsmall bowl\nrelevo bowl\n100g stud. 1,00\u20ac/ guests 1,45\u20ac",
+ "mitarbeiterpreisDecimal2": 0,
+ "gaestepreisDecimal2": 0,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 1305,
+ "nwkcalInteger": 314,
+ "nwfettDecimal1": 22.51,
+ "nwfettsaeurenDecimal1": 4.77,
+ "nwkohlehydrateDecimal1": 9.21,
+ "nwzuckerDecimal1": 4.43,
+ "nweiweissDecimal1": 9.9,
+ "nwsalzDecimal1": 1.79,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": null,
+ "price3Decimal2": 0,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,112,113,127,119,114,115,116,117,118",
+ "zusatzstoffeIds": "1,2",
+ "gerichtmerkmaleIds": "51"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163780,
+ "aktiv": true,
+ "datum": "2023-12-05T00:00:00+01:00",
+ "gerichtkategorieID": 153,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Hausgemachte Kartoffelpuffer mit Apfelmus",
+ "zusatzinformationenID": 163770,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163770,
+ "gerichtnameAlternative": "Homemade potato pancakes with apple sauce",
+ "mitarbeiterpreisDecimal2": 1.9,
+ "gaestepreisDecimal2": 3.8,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 1835,
+ "nwkcalInteger": 437,
+ "nwfettDecimal1": 9.56,
+ "nwfettsaeurenDecimal1": 0.91,
+ "nwkohlehydrateDecimal1": 47.54,
+ "nwzuckerDecimal1": 17.52,
+ "nweiweissDecimal1": 3.69,
+ "nwsalzDecimal1": 1.67,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350101",
+ "price3Decimal2": 2.9,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "127,115",
+ "zusatzstoffeIds": "2,6",
+ "gerichtmerkmaleIds": "52"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163781,
+ "aktiv": true,
+ "datum": "2023-12-05T00:00:00+01:00",
+ "gerichtkategorieID": 154,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Sojageschnetzeltes Stroganoff Art mit Salzkartoffeln, dazu marinierter Blattsalat\n",
+ "zusatzinformationenID": 163771,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163771,
+ "gerichtnameAlternative": "Soy meat Stroganoff-style with boiled potatoes, served with marinated leaf salad",
+ "mitarbeiterpreisDecimal2": 2.5,
+ "gaestepreisDecimal2": 4.8,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 2253,
+ "nwkcalInteger": 537,
+ "nwfettDecimal1": 13.38,
+ "nwfettsaeurenDecimal1": 3.16,
+ "nwkohlehydrateDecimal1": 54.47,
+ "nwzuckerDecimal1": 9.08,
+ "nweiweissDecimal1": 33.69,
+ "nwsalzDecimal1": 2.67,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350201",
+ "price3Decimal2": 3.5,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "120,114",
+ "zusatzstoffeIds": "1,6,68",
+ "gerichtmerkmaleIds": "52"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163782,
+ "aktiv": true,
+ "datum": "2023-12-05T00:00:00+01:00",
+ "gerichtkategorieID": 156,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Mariniertes Tofusteak mit Curry und Koriander, dazu Glasnudel-Gem\u00fcsesalat mit Sesam und Soja-Mayo",
+ "zusatzinformationenID": 163772,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163772,
+ "gerichtnameAlternative": "Marinated tofu steak with curry and coriander, served with glass noodle vegetable salad with sesame and soy mayo",
+ "mitarbeiterpreisDecimal2": 3,
+ "gaestepreisDecimal2": 5.2,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 3874,
+ "nwkcalInteger": 930,
+ "nwfettDecimal1": 47.09,
+ "nwfettsaeurenDecimal1": 5.44,
+ "nwkohlehydrateDecimal1": 95.23,
+ "nwzuckerDecimal1": 6.34,
+ "nweiweissDecimal1": 21.24,
+ "nwsalzDecimal1": 5.79,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350301",
+ "price3Decimal2": 4,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "113,120,114,115",
+ "zusatzstoffeIds": "2,6",
+ "gerichtmerkmaleIds": "52"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163783,
+ "aktiv": true,
+ "datum": "2023-12-05T00:00:00+01:00",
+ "gerichtkategorieID": 155,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "H\u00e4hnchen Cordon Bleu mit Sauce Bernaise, Erbsen und Kroketten",
+ "zusatzinformationenID": 163773,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163773,
+ "gerichtnameAlternative": "Chicken cordon bleu with B\u00e9arnaise sauce, peas and croquettes",
+ "mitarbeiterpreisDecimal2": 3.5,
+ "gaestepreisDecimal2": 5.5,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 3860,
+ "nwkcalInteger": 922,
+ "nwfettDecimal1": 27.28,
+ "nwfettsaeurenDecimal1": 7.26,
+ "nwkohlehydrateDecimal1": 80.77,
+ "nwzuckerDecimal1": 6.68,
+ "nweiweissDecimal1": 41.63,
+ "nwsalzDecimal1": 5.05,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350401",
+ "price3Decimal2": 4.5,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,112,120,119,115",
+ "zusatzstoffeIds": "1,2,6,10",
+ "gerichtmerkmaleIds": "55"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163784,
+ "aktiv": true,
+ "datum": "2023-12-05T00:00:00+01:00",
+ "gerichtkategorieID": 231,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "(Preis pro 100g)",
+ "zusatzinformationenID": 163774,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163774,
+ "gerichtnameAlternative": "(Price per 100g)",
+ "mitarbeiterpreisDecimal2": 0.5,
+ "gaestepreisDecimal2": 0.95,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 688,
+ "nwkcalInteger": 164,
+ "nwfettDecimal1": 6.93,
+ "nwfettsaeurenDecimal1": 0.98,
+ "nwkohlehydrateDecimal1": 20.69,
+ "nwzuckerDecimal1": 3.34,
+ "nweiweissDecimal1": 2.75,
+ "nwsalzDecimal1": 1.09,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350911",
+ "price3Decimal2": 0,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "120,119,114,115",
+ "zusatzstoffeIds": "1",
+ "gerichtmerkmaleIds": "52"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163785,
+ "aktiv": true,
+ "datum": "2023-12-06T00:00:00+01:00",
+ "gerichtkategorieID": 102,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "gro\u00dfe Schale\nkleine Schale\nRelevo Schale\n100g Stud. 1,00\u20ac/ G\u00e4ste 1,45\u20ac",
+ "zusatzinformationenID": 163775,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163775,
+ "gerichtnameAlternative": "large bowl\nsmall bowl\nrelevo bowl\n100g stud. 1,00\u20ac/ guests 1,45\u20ac",
+ "mitarbeiterpreisDecimal2": 0,
+ "gaestepreisDecimal2": 0,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 1305,
+ "nwkcalInteger": 314,
+ "nwfettDecimal1": 22.51,
+ "nwfettsaeurenDecimal1": 4.77,
+ "nwkohlehydrateDecimal1": 9.21,
+ "nwzuckerDecimal1": 4.43,
+ "nweiweissDecimal1": 9.9,
+ "nwsalzDecimal1": 1.79,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": null,
+ "price3Decimal2": 0,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,112,113,127,119,114,115,116,117,118",
+ "zusatzstoffeIds": "1,2",
+ "gerichtmerkmaleIds": "51"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163786,
+ "aktiv": true,
+ "datum": "2023-12-06T00:00:00+01:00",
+ "gerichtkategorieID": 153,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "S\u00fc\u00dfkartoffel-Gem\u00fcse-Pommes mit Rote Bete-Hummus und Fr\u00fchlingszwiebeln",
+ "zusatzinformationenID": 163776,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163776,
+ "gerichtnameAlternative": "Sweet potato and vegetable fries with beetroot hummus and spring onions",
+ "mitarbeiterpreisDecimal2": 1.9,
+ "gaestepreisDecimal2": 3.8,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 3575,
+ "nwkcalInteger": 855,
+ "nwfettDecimal1": 41.43,
+ "nwfettsaeurenDecimal1": 9.2,
+ "nwkohlehydrateDecimal1": 90.28,
+ "nwzuckerDecimal1": 10.12,
+ "nweiweissDecimal1": 18.82,
+ "nwsalzDecimal1": 3.32,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350101",
+ "price3Decimal2": 2.9,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "113",
+ "zusatzstoffeIds": "1,2",
+ "gerichtmerkmaleIds": "52"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163787,
+ "aktiv": true,
+ "datum": "2023-12-06T00:00:00+01:00",
+ "gerichtkategorieID": 154,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Blumenkohl-Kartoffel-Auflauf mit Mozzarella, dazu marinierter Blattsalat",
+ "zusatzinformationenID": 163777,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163777,
+ "gerichtnameAlternative": "Cauliflower potato casserole with mozzarella cheese, served with marinated leaf salad",
+ "mitarbeiterpreisDecimal2": 2.5,
+ "gaestepreisDecimal2": 4.8,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 1962,
+ "nwkcalInteger": 471,
+ "nwfettDecimal1": 24.07,
+ "nwfettsaeurenDecimal1": 12.44,
+ "nwkohlehydrateDecimal1": 38.17,
+ "nwzuckerDecimal1": 11.45,
+ "nweiweissDecimal1": 19.32,
+ "nwsalzDecimal1": 2,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350201",
+ "price3Decimal2": 3.5,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,114",
+ "zusatzstoffeIds": null,
+ "gerichtmerkmaleIds": "51"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163788,
+ "aktiv": true,
+ "datum": "2023-12-06T00:00:00+01:00",
+ "gerichtkategorieID": 156,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Vegane Frikadelle mit Bayrisch Kraut, Salzkartoffeln und Zwiebelsauce",
+ "zusatzinformationenID": 163778,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163778,
+ "gerichtnameAlternative": "Vegan meatball with Bavarian cabbage, boiled potatoes and onion sauce",
+ "mitarbeiterpreisDecimal2": 3,
+ "gaestepreisDecimal2": 5.2,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 2393,
+ "nwkcalInteger": 569,
+ "nwfettDecimal1": 14.86,
+ "nwfettsaeurenDecimal1": 2.74,
+ "nwkohlehydrateDecimal1": 55.96,
+ "nwzuckerDecimal1": 9.09,
+ "nweiweissDecimal1": 21.49,
+ "nwsalzDecimal1": 3.71,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350301",
+ "price3Decimal2": 4,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "120,119",
+ "zusatzstoffeIds": "1",
+ "gerichtmerkmaleIds": "52"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163789,
+ "aktiv": true,
+ "datum": "2023-12-06T00:00:00+01:00",
+ "gerichtkategorieID": 155,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Moussaka mit Grillgem\u00fcse, gratiniert mit Aubergine und Schafsk\u00e4se, dazu Blattsalat und Vinaigrette",
+ "zusatzinformationenID": 163779,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163779,
+ "gerichtnameAlternative": "Moussaka with grilled vegetables, gratinated with eggplant and feta cheese, served with leaf salad and vinaigrette",
+ "mitarbeiterpreisDecimal2": 3.5,
+ "gaestepreisDecimal2": 5.5,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 2164,
+ "nwkcalInteger": 518,
+ "nwfettDecimal1": 22.15,
+ "nwfettsaeurenDecimal1": 11.04,
+ "nwkohlehydrateDecimal1": 48.62,
+ "nwzuckerDecimal1": 14.88,
+ "nweiweissDecimal1": 17.74,
+ "nwsalzDecimal1": 5.11,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350401",
+ "price3Decimal2": 4.5,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,114,115",
+ "zusatzstoffeIds": null,
+ "gerichtmerkmaleIds": "51"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163790,
+ "aktiv": true,
+ "datum": "2023-12-06T00:00:00+01:00",
+ "gerichtkategorieID": 231,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "(Preis pro 100g)",
+ "zusatzinformationenID": 163780,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163780,
+ "gerichtnameAlternative": "(Price per 100g)",
+ "mitarbeiterpreisDecimal2": 0.5,
+ "gaestepreisDecimal2": 0.95,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 534,
+ "nwkcalInteger": 128,
+ "nwfettDecimal1": 3.78,
+ "nwfettsaeurenDecimal1": 0.74,
+ "nwkohlehydrateDecimal1": 15.98,
+ "nwzuckerDecimal1": 1.46,
+ "nweiweissDecimal1": 4.46,
+ "nwsalzDecimal1": 0.39,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350911",
+ "price3Decimal2": 0,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "113,120,114",
+ "zusatzstoffeIds": "1,6,68",
+ "gerichtmerkmaleIds": "52"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163791,
+ "aktiv": true,
+ "datum": "2023-12-07T00:00:00+01:00",
+ "gerichtkategorieID": 102,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "gro\u00dfe Schale\nkleine Schale\nRelevo Schale\n100g Stud. 1,00\u20ac/ G\u00e4ste 1,45\u20ac",
+ "zusatzinformationenID": 163781,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163781,
+ "gerichtnameAlternative": "large bowl\nsmall bowl\nrelevo bowl\n100g stud. 1,00\u20ac/ guests 1,45\u20ac",
+ "mitarbeiterpreisDecimal2": 0,
+ "gaestepreisDecimal2": 0,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 1305,
+ "nwkcalInteger": 314,
+ "nwfettDecimal1": 22.51,
+ "nwfettsaeurenDecimal1": 4.77,
+ "nwkohlehydrateDecimal1": 9.21,
+ "nwzuckerDecimal1": 4.43,
+ "nweiweissDecimal1": 9.9,
+ "nwsalzDecimal1": 1.79,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": null,
+ "price3Decimal2": 0,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,112,113,127,119,114,115,116,117,118",
+ "zusatzstoffeIds": "1,2",
+ "gerichtmerkmaleIds": "51"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163792,
+ "aktiv": true,
+ "datum": "2023-12-07T00:00:00+01:00",
+ "gerichtkategorieID": 153,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Gebratener Sesamreis mit Gem\u00fcse, Ei, R\u00f6stzwiebeln und sweet Chilisauce",
+ "zusatzinformationenID": 163782,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163782,
+ "gerichtnameAlternative": "Fried sesame rice with vegetables, egg, crispy onions and sweet chili sauce",
+ "mitarbeiterpreisDecimal2": 1.9,
+ "gaestepreisDecimal2": 3.8,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 3275,
+ "nwkcalInteger": 780,
+ "nwfettDecimal1": 27.28,
+ "nwfettsaeurenDecimal1": 7.83,
+ "nwkohlehydrateDecimal1": 109.91,
+ "nwzuckerDecimal1": 24.2,
+ "nweiweissDecimal1": 20.73,
+ "nwsalzDecimal1": 3.65,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350101",
+ "price3Decimal2": 2.9,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "112,113,120,115",
+ "zusatzstoffeIds": "6",
+ "gerichtmerkmaleIds": "51"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163793,
+ "aktiv": true,
+ "datum": "2023-12-07T00:00:00+01:00",
+ "gerichtkategorieID": 154,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Mexican Soulfood - Veganes Chili mit Mais, schwarzen und wei\u00dfen Bohnen, dazu Koriander-Soja-Creme und Pitabrot",
+ "zusatzinformationenID": 163783,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163783,
+ "gerichtnameAlternative": "Mexican Soulfood - Vegan chili with corn, black and white beans, served with coriander soy cream and pita bread",
+ "mitarbeiterpreisDecimal2": 2.5,
+ "gaestepreisDecimal2": 4.8,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 2673,
+ "nwkcalInteger": 638,
+ "nwfettDecimal1": 17.87,
+ "nwfettsaeurenDecimal1": 1.85,
+ "nwkohlehydrateDecimal1": 84.01,
+ "nwzuckerDecimal1": 21.66,
+ "nweiweissDecimal1": 22.79,
+ "nwsalzDecimal1": 2.9,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350201",
+ "price3Decimal2": 3.5,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "120,115",
+ "zusatzstoffeIds": null,
+ "gerichtmerkmaleIds": "52"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163794,
+ "aktiv": true,
+ "datum": "2023-12-07T00:00:00+01:00",
+ "gerichtkategorieID": 155,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Seelachsfilet in Sesampanade mit Langkornreis und Gurkensalat, dazu pikante Salsa",
+ "zusatzinformationenID": 163784,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163784,
+ "gerichtnameAlternative": "Pollack fillet in sesame breading with long grain rice and cucumber salad, served with spicy salsa",
+ "mitarbeiterpreisDecimal2": 3.5,
+ "gaestepreisDecimal2": 5.5,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 3705,
+ "nwkcalInteger": 883,
+ "nwfettDecimal1": 40.95,
+ "nwfettsaeurenDecimal1": 4.73,
+ "nwkohlehydrateDecimal1": 98.39,
+ "nwzuckerDecimal1": 15.17,
+ "nweiweissDecimal1": 27.55,
+ "nwsalzDecimal1": 3.88,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350401",
+ "price3Decimal2": 4.5,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "126,113,115",
+ "zusatzstoffeIds": null,
+ "gerichtmerkmaleIds": "54"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163795,
+ "aktiv": true,
+ "datum": "2023-12-07T00:00:00+01:00",
+ "gerichtkategorieID": 108,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Rote Bete Puffer mit veganem Kartoffel-Sellerie-Stampf, dazu bunte Gem\u00fcsesauce mit schwarzen Linsen",
+ "zusatzinformationenID": 163785,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163785,
+ "gerichtnameAlternative": "Beetroot pancakes with vegan potato celery mash, served with colorful vegetable sauce with black lentils",
+ "mitarbeiterpreisDecimal2": 0,
+ "gaestepreisDecimal2": 0,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 3305,
+ "nwkcalInteger": 792,
+ "nwfettDecimal1": 42.51,
+ "nwfettsaeurenDecimal1": 8.22,
+ "nwkohlehydrateDecimal1": 76.28,
+ "nwzuckerDecimal1": 10.93,
+ "nweiweissDecimal1": 18.64,
+ "nwsalzDecimal1": 4.95,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350901",
+ "price3Decimal2": 0,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "120,119,115",
+ "zusatzstoffeIds": "1,2",
+ "gerichtmerkmaleIds": "52"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163796,
+ "aktiv": true,
+ "datum": "2023-12-08T00:00:00+01:00",
+ "gerichtkategorieID": 102,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "gro\u00dfe Schale\nkleine Schale\nRelevo Schale\n100g Stud. 1,00\u20ac/ G\u00e4ste 1,45\u20ac",
+ "zusatzinformationenID": 163786,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163786,
+ "gerichtnameAlternative": "large bowl\nsmall bowl\nrelevo bowl\n100g stud. 1,00\u20ac/ guests 1,45\u20ac",
+ "mitarbeiterpreisDecimal2": 0,
+ "gaestepreisDecimal2": 0,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 1305,
+ "nwkcalInteger": 314,
+ "nwfettDecimal1": 22.51,
+ "nwfettsaeurenDecimal1": 4.77,
+ "nwkohlehydrateDecimal1": 9.21,
+ "nwzuckerDecimal1": 4.43,
+ "nweiweissDecimal1": 9.9,
+ "nwsalzDecimal1": 1.79,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": null,
+ "price3Decimal2": 0,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,112,113,127,119,114,115,116,117,118",
+ "zusatzstoffeIds": "1,2",
+ "gerichtmerkmaleIds": "51"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163797,
+ "aktiv": true,
+ "datum": "2023-12-08T00:00:00+01:00",
+ "gerichtkategorieID": 153,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Bolognese von roten Linsen mit Spaghetti und Rucola",
+ "zusatzinformationenID": 163787,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163787,
+ "gerichtnameAlternative": "Red lentil Bolognese with spaghetti and arugula",
+ "mitarbeiterpreisDecimal2": 1.9,
+ "gaestepreisDecimal2": 3.8,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 3483,
+ "nwkcalInteger": 828,
+ "nwfettDecimal1": 21.52,
+ "nwfettsaeurenDecimal1": 2.15,
+ "nwkohlehydrateDecimal1": 123.56,
+ "nwzuckerDecimal1": 15.65,
+ "nweiweissDecimal1": 28.74,
+ "nwsalzDecimal1": 1.86,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350101",
+ "price3Decimal2": 2.9,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "119,115",
+ "zusatzstoffeIds": null,
+ "gerichtmerkmaleIds": "52"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163798,
+ "aktiv": true,
+ "datum": "2023-12-08T00:00:00+01:00",
+ "gerichtkategorieID": 156,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Brokkolinuggets mit Erbsen und Steakhouse Pommes, dazu Tomatensalsa",
+ "zusatzinformationenID": 163788,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163788,
+ "gerichtnameAlternative": "Broccoli nuggets with peas and steakhouse fries, served with tomato salsa",
+ "mitarbeiterpreisDecimal2": 3,
+ "gaestepreisDecimal2": 5.2,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 3793,
+ "nwkcalInteger": 906,
+ "nwfettDecimal1": 38.93,
+ "nwfettsaeurenDecimal1": 8.48,
+ "nwkohlehydrateDecimal1": 95.07,
+ "nwzuckerDecimal1": 10.6,
+ "nweiweissDecimal1": 31.67,
+ "nwsalzDecimal1": 3.29,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350301",
+ "price3Decimal2": 4,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,112,127,120,115,125",
+ "zusatzstoffeIds": "1,2",
+ "gerichtmerkmaleIds": "51"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 163799,
+ "aktiv": true,
+ "datum": "2023-12-08T00:00:00+01:00",
+ "gerichtkategorieID": 107,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Rindersauerbraten mit Apfelrotkohl und Kartofffelkl\u00f6\u00dfen",
+ "zusatzinformationenID": 163789,
+ "speiseplanAdvancedID": 557,
+ "timestampLog": "2023-12-06T15:05:05",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 163789,
+ "gerichtnameAlternative": "Braised beef roast with apple, red cabbage and potato dumplings",
+ "mitarbeiterpreisDecimal2": 6,
+ "gaestepreisDecimal2": 7.5,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 4291,
+ "nwkcalInteger": 1013,
+ "nwfettDecimal1": 33.48,
+ "nwfettsaeurenDecimal1": 11.13,
+ "nwkohlehydrateDecimal1": 95.84,
+ "nwzuckerDecimal1": 40.61,
+ "nweiweissDecimal1": 25.66,
+ "nwsalzDecimal1": 7.41,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350501",
+ "price3Decimal2": 0,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "127,119",
+ "zusatzstoffeIds": "2",
+ "gerichtmerkmaleIds": "72,74"
+ }
+ ]
+ },
+ {
+ "speiseplanAdvanced": {
+ "id": 562,
+ "aktiv": true,
+ "gueltigTaeglich": false,
+ "showWeekend": false,
+ "exportInactiveContent": null,
+ "titel": "Abendessen",
+ "anzeigename": "Abendessen",
+ "gueltigVon": "2023-12-04T00:00:00+01:00",
+ "gueltigBis": "2023-12-10T23:59:59+01:00",
+ "reihenfolgeInApp": 2,
+ "speiseplanLayoutTypeID": null,
+ "vendingMachineID": null,
+ "orderConfigurationID": null,
+ "pickupTimeID": null,
+ "outletID": 10,
+ "timestampLog": "2023-12-06T15:05:14",
+ "benutzerID": 300,
+ "orderInfo": {
+ "orderAllowed": false,
+ "preOrderAllowed": false,
+ "instantOrderAllowed": false,
+ "shippingAllowed": false,
+ "deliveryAssortment": false,
+ "instantOrderMinimumOrderValue": null,
+ "preOrderMinimumOrderValue": null,
+ "shippingOrderMinimumOrderValue": null,
+ "shippingCostFlatrate": null,
+ "shippingCostThreshold": null,
+ "postalCodeVerification": false,
+ "reusableProvider": false,
+ "reusableProviderId": null,
+ "allowedOrderProcesses": [],
+ "scan2go": false
+ },
+ "locationInfo": {
+ "id": 9600,
+ "name": "Am Neuen Palais"
+ },
+ "holidayInfo": [],
+ "pickupTimeInfo": []
+ },
+ "speiseplanGerichtData": [
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164159,
+ "aktiv": true,
+ "datum": "2023-12-05T00:00:00+01:00",
+ "gerichtkategorieID": 241,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Farfalle mit Tomatensauce, Reibek\u00e4se und Rucola\n",
+ "zusatzinformationenID": 164149,
+ "speiseplanAdvancedID": 562,
+ "timestampLog": "2023-12-06T15:05:14",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164149,
+ "gerichtnameAlternative": "Pasta with tomato sauce, grated cheese and rucola\n",
+ "mitarbeiterpreisDecimal2": 1.9,
+ "gaestepreisDecimal2": 3.8,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 3183,
+ "nwkcalInteger": 750,
+ "nwfettDecimal1": 24.59,
+ "nwfettsaeurenDecimal1": 7.77,
+ "nwkohlehydrateDecimal1": 103.01,
+ "nwzuckerDecimal1": 13.04,
+ "nweiweissDecimal1": 24.23,
+ "nwsalzDecimal1": 3.1,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350102",
+ "price3Decimal2": 2.9,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,115",
+ "zusatzstoffeIds": null,
+ "gerichtmerkmaleIds": "51"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164160,
+ "aktiv": true,
+ "datum": "2023-12-05T00:00:00+01:00",
+ "gerichtkategorieID": 244,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "H\u00e4hnchen Cordon Bleu mit Sauce Bernaise, Erbsen und Kroketten",
+ "zusatzinformationenID": 164150,
+ "speiseplanAdvancedID": 562,
+ "timestampLog": "2023-12-06T15:05:14",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164150,
+ "gerichtnameAlternative": "Chicken cordon bleu with B\u00e9arnaise sauce, peas and croquettes",
+ "mitarbeiterpreisDecimal2": 3.5,
+ "gaestepreisDecimal2": 5.5,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 3860,
+ "nwkcalInteger": 922,
+ "nwfettDecimal1": 27.28,
+ "nwfettsaeurenDecimal1": 7.26,
+ "nwkohlehydrateDecimal1": 80.77,
+ "nwzuckerDecimal1": 6.68,
+ "nweiweissDecimal1": 41.63,
+ "nwsalzDecimal1": 5.05,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350402",
+ "price3Decimal2": 4.5,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,112,120,119,115",
+ "zusatzstoffeIds": "1,2,6,10",
+ "gerichtmerkmaleIds": "55"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164161,
+ "aktiv": true,
+ "datum": "2023-12-07T00:00:00+01:00",
+ "gerichtkategorieID": 241,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Gebratener Sesamreis mit Gem\u00fcse, Ei, R\u00f6stzwiebeln und sweet Chilisauce",
+ "zusatzinformationenID": 164151,
+ "speiseplanAdvancedID": 562,
+ "timestampLog": "2023-12-06T15:05:14",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164151,
+ "gerichtnameAlternative": "Fried sesame rice with vegetables, egg, crispy onions and sweet chili sauce",
+ "mitarbeiterpreisDecimal2": 1.9,
+ "gaestepreisDecimal2": 3.8,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 3275,
+ "nwkcalInteger": 780,
+ "nwfettDecimal1": 27.28,
+ "nwfettsaeurenDecimal1": 7.83,
+ "nwkohlehydrateDecimal1": 109.91,
+ "nwzuckerDecimal1": 24.2,
+ "nweiweissDecimal1": 20.73,
+ "nwsalzDecimal1": 3.65,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350102",
+ "price3Decimal2": 2.9,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "112,113,120,115",
+ "zusatzstoffeIds": "6",
+ "gerichtmerkmaleIds": "51"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164162,
+ "aktiv": true,
+ "datum": "2023-12-07T00:00:00+01:00",
+ "gerichtkategorieID": 244,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Seelachsfilet in Sesampanade mit Langkornreis und Gurkensalat, dazu pikante Salsa",
+ "zusatzinformationenID": 164152,
+ "speiseplanAdvancedID": 562,
+ "timestampLog": "2023-12-06T15:05:14",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164152,
+ "gerichtnameAlternative": "Pollack fillet in sesame breading with long grain rice and cucumber salad, served with spicy salsa",
+ "mitarbeiterpreisDecimal2": 3.5,
+ "gaestepreisDecimal2": 5.5,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 3705,
+ "nwkcalInteger": 883,
+ "nwfettDecimal1": 40.95,
+ "nwfettsaeurenDecimal1": 4.73,
+ "nwkohlehydrateDecimal1": 98.39,
+ "nwzuckerDecimal1": 15.17,
+ "nweiweissDecimal1": 27.55,
+ "nwsalzDecimal1": 3.88,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350402",
+ "price3Decimal2": 4.5,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "126,113,115",
+ "zusatzstoffeIds": null,
+ "gerichtmerkmaleIds": "54"
+ }
+ ]
+ },
+ {
+ "speiseplanAdvanced": {
+ "id": 568,
+ "aktiv": true,
+ "gueltigTaeglich": false,
+ "showWeekend": false,
+ "exportInactiveContent": null,
+ "titel": "Abendessen",
+ "anzeigename": "Abendessen",
+ "gueltigVon": "2023-12-11T00:00:00+01:00",
+ "gueltigBis": "2023-12-17T23:59:59+01:00",
+ "reihenfolgeInApp": 2,
+ "speiseplanLayoutTypeID": null,
+ "vendingMachineID": null,
+ "orderConfigurationID": null,
+ "pickupTimeID": null,
+ "outletID": 10,
+ "timestampLog": "2023-12-06T15:05:14",
+ "benutzerID": 300,
+ "orderInfo": {
+ "orderAllowed": false,
+ "preOrderAllowed": false,
+ "instantOrderAllowed": false,
+ "shippingAllowed": false,
+ "deliveryAssortment": false,
+ "instantOrderMinimumOrderValue": null,
+ "preOrderMinimumOrderValue": null,
+ "shippingOrderMinimumOrderValue": null,
+ "shippingCostFlatrate": null,
+ "shippingCostThreshold": null,
+ "postalCodeVerification": false,
+ "reusableProvider": false,
+ "reusableProviderId": null,
+ "allowedOrderProcesses": [],
+ "scan2go": false
+ },
+ "locationInfo": {
+ "id": 9600,
+ "name": "Am Neuen Palais"
+ },
+ "holidayInfo": [],
+ "pickupTimeInfo": []
+ },
+ "speiseplanGerichtData": [
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164153,
+ "aktiv": true,
+ "datum": "2023-12-12T00:00:00+01:00",
+ "gerichtkategorieID": 241,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Sahniger Milchreis mit Apfel-Zimt-R\u00f6ster und ger\u00f6steten Mandeln, dazu Zimt und Zucker",
+ "zusatzinformationenID": 164143,
+ "speiseplanAdvancedID": 568,
+ "timestampLog": "2023-12-06T15:05:14",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164143,
+ "gerichtnameAlternative": "Creamy rice pudding with apple-cinnamon roaster and roasted almonds",
+ "mitarbeiterpreisDecimal2": 1.9,
+ "gaestepreisDecimal2": 3.8,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 3399,
+ "nwkcalInteger": 797,
+ "nwfettDecimal1": 21.35,
+ "nwfettsaeurenDecimal1": 10.67,
+ "nwkohlehydrateDecimal1": 124.09,
+ "nwzuckerDecimal1": 58.71,
+ "nweiweissDecimal1": 23.19,
+ "nwsalzDecimal1": 0.69,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350102",
+ "price3Decimal2": 2.9,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,116",
+ "zusatzstoffeIds": "2",
+ "gerichtmerkmaleIds": "51"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164154,
+ "aktiv": true,
+ "datum": "2023-12-12T00:00:00+01:00",
+ "gerichtkategorieID": 244,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Veganer Rote Bete-Walnuss-Hackbraten mit Backpflaumensauce, Rotkohl und Knusperkartoffeln",
+ "zusatzinformationenID": 164144,
+ "speiseplanAdvancedID": 568,
+ "timestampLog": "2023-12-06T15:05:14",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164144,
+ "gerichtnameAlternative": "Vegan beet and walnut meatloaf with prune sauce, red cabbage and crispy potatoes",
+ "mitarbeiterpreisDecimal2": 3.5,
+ "gaestepreisDecimal2": 5.5,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 3972,
+ "nwkcalInteger": 943,
+ "nwfettDecimal1": 50.6,
+ "nwfettsaeurenDecimal1": 13.01,
+ "nwkohlehydrateDecimal1": 84.07,
+ "nwzuckerDecimal1": 35.35,
+ "nweiweissDecimal1": 26.87,
+ "nwsalzDecimal1": 5.94,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350402",
+ "price3Decimal2": 4.5,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "127,120,119,115,125,117,118",
+ "zusatzstoffeIds": "1,2,6",
+ "gerichtmerkmaleIds": "52"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164155,
+ "aktiv": true,
+ "datum": "2023-12-12T00:00:00+01:00",
+ "gerichtkategorieID": 247,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Knusprige Entekeule mit Beifu\u00dfjus und gef\u00fclltem Katoffelklo\u00df, dazu Rotkohl oder Gr\u00fcnkohl",
+ "zusatzinformationenID": 164145,
+ "speiseplanAdvancedID": 568,
+ "timestampLog": "2023-12-06T15:05:14",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164145,
+ "gerichtnameAlternative": "Crispy leg of duck with mugwort jus and stuffed potato dumpling, served with red cabbage or kale",
+ "mitarbeiterpreisDecimal2": 0,
+ "gaestepreisDecimal2": 0,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 4778,
+ "nwkcalInteger": 1129,
+ "nwfettDecimal1": 63.95,
+ "nwfettsaeurenDecimal1": 22.65,
+ "nwkohlehydrateDecimal1": 77.73,
+ "nwzuckerDecimal1": 19.66,
+ "nweiweissDecimal1": 49.82,
+ "nwsalzDecimal1": 5.69,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350502",
+ "price3Decimal2": 0,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "127,120,119,114,115,128",
+ "zusatzstoffeIds": "1,2,6,9",
+ "gerichtmerkmaleIds": null
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164156,
+ "aktiv": true,
+ "datum": "2023-12-14T00:00:00+01:00",
+ "gerichtkategorieID": 241,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Hummus mit Gem\u00fcsebulgur, dazu marinierter Blattsalat",
+ "zusatzinformationenID": 164146,
+ "speiseplanAdvancedID": 568,
+ "timestampLog": "2023-12-06T15:05:14",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164146,
+ "gerichtnameAlternative": "Hummus with vegetable bulgur, served with marinated leaf salad",
+ "mitarbeiterpreisDecimal2": 1.9,
+ "gaestepreisDecimal2": 3.8,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 3230,
+ "nwkcalInteger": 775,
+ "nwfettDecimal1": 30.58,
+ "nwfettsaeurenDecimal1": 3.92,
+ "nwkohlehydrateDecimal1": 86.27,
+ "nwzuckerDecimal1": 5.27,
+ "nweiweissDecimal1": 26.16,
+ "nwsalzDecimal1": 4.17,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350102",
+ "price3Decimal2": 2.9,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "113,119,114,115",
+ "zusatzstoffeIds": null,
+ "gerichtmerkmaleIds": "52"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164157,
+ "aktiv": true,
+ "datum": "2023-12-14T00:00:00+01:00",
+ "gerichtkategorieID": 243,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Schweineschnitzel Wiener Art mit Blumenkohl, Semmelbutter und Petersilienkartoffeln\n",
+ "zusatzinformationenID": 164147,
+ "speiseplanAdvancedID": 568,
+ "timestampLog": "2023-12-06T15:05:14",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164147,
+ "gerichtnameAlternative": "Pork schnitzel Vienna-style with cauliflower, bread butter and parsley potatoes",
+ "mitarbeiterpreisDecimal2": 3,
+ "gaestepreisDecimal2": 5.2,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 3445,
+ "nwkcalInteger": 826,
+ "nwfettDecimal1": 43.18,
+ "nwfettsaeurenDecimal1": 19.27,
+ "nwkohlehydrateDecimal1": 67.32,
+ "nwzuckerDecimal1": 6.46,
+ "nweiweissDecimal1": 37.98,
+ "nwsalzDecimal1": 4.15,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350302",
+ "price3Decimal2": 4,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,115",
+ "zusatzstoffeIds": null,
+ "gerichtmerkmaleIds": "53"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164158,
+ "aktiv": true,
+ "datum": "2023-12-14T00:00:00+01:00",
+ "gerichtkategorieID": 244,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "No Beef Bourguignon mit Jackfruit, Champignons und Karotten, dazu gr\u00fcne Bohnen und Rosmarinkartoffeln",
+ "zusatzinformationenID": 164148,
+ "speiseplanAdvancedID": 568,
+ "timestampLog": "2023-12-06T15:05:14",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164148,
+ "gerichtnameAlternative": "\"No Beef\" Bourguignon with jackfruit, mushrooms and carrots, served with green beans and rosemary potatoes",
+ "mitarbeiterpreisDecimal2": 3.5,
+ "gaestepreisDecimal2": 5.5,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 2137,
+ "nwkcalInteger": 512,
+ "nwfettDecimal1": 17.36,
+ "nwfettsaeurenDecimal1": 5.62,
+ "nwkohlehydrateDecimal1": 63.35,
+ "nwzuckerDecimal1": 11.71,
+ "nweiweissDecimal1": 16.9,
+ "nwsalzDecimal1": 3.76,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350402",
+ "price3Decimal2": 4.5,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "127,120,115",
+ "zusatzstoffeIds": "1",
+ "gerichtmerkmaleIds": "72,52"
+ }
+ ]
+ },
+ {
+ "speiseplanAdvanced": {
+ "id": 569,
+ "aktiv": true,
+ "gueltigTaeglich": false,
+ "showWeekend": false,
+ "exportInactiveContent": null,
+ "titel": "Mittagessen",
+ "anzeigename": "Mittagessen",
+ "gueltigVon": "2023-12-11T00:00:00+01:00",
+ "gueltigBis": "2023-12-17T23:59:59+01:00",
+ "reihenfolgeInApp": 1,
+ "speiseplanLayoutTypeID": null,
+ "vendingMachineID": null,
+ "orderConfigurationID": null,
+ "pickupTimeID": null,
+ "outletID": 10,
+ "timestampLog": "2023-12-06T15:05:15",
+ "benutzerID": 300,
+ "orderInfo": {
+ "orderAllowed": false,
+ "preOrderAllowed": false,
+ "instantOrderAllowed": false,
+ "shippingAllowed": false,
+ "deliveryAssortment": false,
+ "instantOrderMinimumOrderValue": null,
+ "preOrderMinimumOrderValue": null,
+ "shippingOrderMinimumOrderValue": null,
+ "shippingCostFlatrate": null,
+ "shippingCostThreshold": null,
+ "postalCodeVerification": false,
+ "reusableProvider": false,
+ "reusableProviderId": null,
+ "allowedOrderProcesses": [],
+ "scan2go": false
+ },
+ "locationInfo": {
+ "id": 9600,
+ "name": "Am Neuen Palais"
+ },
+ "holidayInfo": [],
+ "pickupTimeInfo": []
+ },
+ "speiseplanGerichtData": [
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164163,
+ "aktiv": true,
+ "datum": "2023-12-11T00:00:00+01:00",
+ "gerichtkategorieID": 102,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "gro\u00dfe Schale\nkleine Schale\nRelevo Schale\n100g Stud. 1,00\u20ac/ G\u00e4ste 1,45\u20ac",
+ "zusatzinformationenID": 164153,
+ "speiseplanAdvancedID": 569,
+ "timestampLog": "2023-12-06T15:05:15",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164153,
+ "gerichtnameAlternative": "large bowl\nsmall bowl\nrelevo bowl\n100g stud. 1,00\u20ac/ guests 1,45\u20ac",
+ "mitarbeiterpreisDecimal2": 0,
+ "gaestepreisDecimal2": 0,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 1305,
+ "nwkcalInteger": 314,
+ "nwfettDecimal1": 22.51,
+ "nwfettsaeurenDecimal1": 4.77,
+ "nwkohlehydrateDecimal1": 9.21,
+ "nwzuckerDecimal1": 4.43,
+ "nweiweissDecimal1": 9.9,
+ "nwsalzDecimal1": 1.79,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": null,
+ "price3Decimal2": 0,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,112,113,127,119,114,115,116,117,118",
+ "zusatzstoffeIds": "1,2",
+ "gerichtmerkmaleIds": "51"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164164,
+ "aktiv": true,
+ "datum": "2023-12-11T00:00:00+01:00",
+ "gerichtkategorieID": 153,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Zwei gekochte Eier mit Kartoffelstampf und Senfsauce",
+ "zusatzinformationenID": 164154,
+ "speiseplanAdvancedID": 569,
+ "timestampLog": "2023-12-06T15:05:15",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164154,
+ "gerichtnameAlternative": "Two boiled eggs with mashed potatoes and mustard sauce",
+ "mitarbeiterpreisDecimal2": 1.9,
+ "gaestepreisDecimal2": 3.8,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 2418,
+ "nwkcalInteger": 580,
+ "nwfettDecimal1": 33.26,
+ "nwfettsaeurenDecimal1": 15.9,
+ "nwkohlehydrateDecimal1": 45.94,
+ "nwzuckerDecimal1": 8.63,
+ "nweiweissDecimal1": 22.07,
+ "nwsalzDecimal1": 5.28,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350101",
+ "price3Decimal2": 2.9,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,112,120,114,115",
+ "zusatzstoffeIds": "1",
+ "gerichtmerkmaleIds": "51"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164165,
+ "aktiv": true,
+ "datum": "2023-12-11T00:00:00+01:00",
+ "gerichtkategorieID": 154,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Cremiges Massaman-Curry mit S\u00fc\u00dfkartoffeln, Kichererbsen und Koriander, dazu Basmatireis",
+ "zusatzinformationenID": 164155,
+ "speiseplanAdvancedID": 569,
+ "timestampLog": "2023-12-06T15:05:15",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164155,
+ "gerichtnameAlternative": "Creamy Massaman curry with sweet potatoes, chickpeas and coriander, served with basmati rice",
+ "mitarbeiterpreisDecimal2": 2.5,
+ "gaestepreisDecimal2": 4.8,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 3447,
+ "nwkcalInteger": 822,
+ "nwfettDecimal1": 37.01,
+ "nwfettsaeurenDecimal1": 15.2,
+ "nwkohlehydrateDecimal1": 92.36,
+ "nwzuckerDecimal1": 10.31,
+ "nweiweissDecimal1": 18.16,
+ "nwsalzDecimal1": 2.85,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350201",
+ "price3Decimal2": 3.5,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "122,120",
+ "zusatzstoffeIds": "6",
+ "gerichtmerkmaleIds": "52"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164166,
+ "aktiv": true,
+ "datum": "2023-12-11T00:00:00+01:00",
+ "gerichtkategorieID": 156,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Currywurst mit hausgemachter Sauce, Pommes und buntem Krautsalat",
+ "zusatzinformationenID": 164156,
+ "speiseplanAdvancedID": 569,
+ "timestampLog": "2023-12-06T15:05:15",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164156,
+ "gerichtnameAlternative": "Currywurst with homemade sauce, fries and colorful coleslaw",
+ "mitarbeiterpreisDecimal2": 3,
+ "gaestepreisDecimal2": 5.2,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 3911,
+ "nwkcalInteger": 937,
+ "nwfettDecimal1": 44.34,
+ "nwfettsaeurenDecimal1": 15.08,
+ "nwkohlehydrateDecimal1": 79.82,
+ "nwzuckerDecimal1": 13.7,
+ "nweiweissDecimal1": 18.47,
+ "nwsalzDecimal1": 3.5,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350301",
+ "price3Decimal2": 4,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,112,119,114",
+ "zusatzstoffeIds": "2,7,10",
+ "gerichtmerkmaleIds": "53"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164167,
+ "aktiv": true,
+ "datum": "2023-12-11T00:00:00+01:00",
+ "gerichtkategorieID": 155,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Falafelburger im Sesambun mit Salsa, Gew\u00fcrzgurke und Tomate, dazu Pommes",
+ "zusatzinformationenID": 164157,
+ "speiseplanAdvancedID": 569,
+ "timestampLog": "2023-12-06T15:05:15",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164157,
+ "gerichtnameAlternative": "Falafel burger in sesam bun with salsa, spiced cucumber and tomato, served with fries",
+ "mitarbeiterpreisDecimal2": 3.5,
+ "gaestepreisDecimal2": 5.5,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 3840,
+ "nwkcalInteger": 918,
+ "nwfettDecimal1": 45.57,
+ "nwfettsaeurenDecimal1": 5.52,
+ "nwkohlehydrateDecimal1": 100.38,
+ "nwzuckerDecimal1": 18.01,
+ "nweiweissDecimal1": 16.02,
+ "nwsalzDecimal1": 4.34,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350401",
+ "price3Decimal2": 4.5,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "113,114,115",
+ "zusatzstoffeIds": "1,2",
+ "gerichtmerkmaleIds": "52"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164168,
+ "aktiv": true,
+ "datum": "2023-12-12T00:00:00+01:00",
+ "gerichtkategorieID": 102,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "gro\u00dfe Schale\nkleine Schale\nRelevo Schale\n100g Stud. 1,00\u20ac/ G\u00e4ste 1,45\u20ac",
+ "zusatzinformationenID": 164158,
+ "speiseplanAdvancedID": 569,
+ "timestampLog": "2023-12-06T15:05:15",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164158,
+ "gerichtnameAlternative": "large bowl\nsmall bowl\nrelevo bowl\n100g stud. 1,00\u20ac/ guests 1,45\u20ac",
+ "mitarbeiterpreisDecimal2": 0,
+ "gaestepreisDecimal2": 0,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 1305,
+ "nwkcalInteger": 314,
+ "nwfettDecimal1": 22.51,
+ "nwfettsaeurenDecimal1": 4.77,
+ "nwkohlehydrateDecimal1": 9.21,
+ "nwzuckerDecimal1": 4.43,
+ "nweiweissDecimal1": 9.9,
+ "nwsalzDecimal1": 1.79,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": null,
+ "price3Decimal2": 0,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,112,113,127,119,114,115,116,117,118",
+ "zusatzstoffeIds": "1,2",
+ "gerichtmerkmaleIds": "51"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164169,
+ "aktiv": true,
+ "datum": "2023-12-12T00:00:00+01:00",
+ "gerichtkategorieID": 153,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Sahniger Milchreis mit Apfel-Zimt-R\u00f6ster und ger\u00f6steten Mandeln, dazu Zimt und Zucker",
+ "zusatzinformationenID": 164159,
+ "speiseplanAdvancedID": 569,
+ "timestampLog": "2023-12-06T15:05:15",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164159,
+ "gerichtnameAlternative": "Creamy rice pudding with apple-cinnamon roaster and roasted almonds",
+ "mitarbeiterpreisDecimal2": 1.9,
+ "gaestepreisDecimal2": 3.8,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 3399,
+ "nwkcalInteger": 797,
+ "nwfettDecimal1": 21.35,
+ "nwfettsaeurenDecimal1": 10.67,
+ "nwkohlehydrateDecimal1": 124.09,
+ "nwzuckerDecimal1": 58.71,
+ "nweiweissDecimal1": 23.19,
+ "nwsalzDecimal1": 0.69,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350101",
+ "price3Decimal2": 2.9,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,116",
+ "zusatzstoffeIds": "2",
+ "gerichtmerkmaleIds": "51"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164170,
+ "aktiv": true,
+ "datum": "2023-12-12T00:00:00+01:00",
+ "gerichtkategorieID": 154,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Gebratene Sojastreifen in Senfsauce mit Ahornsirup, dazu Mandelkartoffeln und marinierter Blattsalat",
+ "zusatzinformationenID": 164160,
+ "speiseplanAdvancedID": 569,
+ "timestampLog": "2023-12-06T15:05:15",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164160,
+ "gerichtnameAlternative": "Fried soy strips in mustard sauce with maple syrup, served with almond potatoes and marinated leaf salad",
+ "mitarbeiterpreisDecimal2": 2.5,
+ "gaestepreisDecimal2": 4.8,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 2964,
+ "nwkcalInteger": 708,
+ "nwfettDecimal1": 30.22,
+ "nwfettsaeurenDecimal1": 4.88,
+ "nwkohlehydrateDecimal1": 57.29,
+ "nwzuckerDecimal1": 15.73,
+ "nweiweissDecimal1": 35.42,
+ "nwsalzDecimal1": 8.14,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350201",
+ "price3Decimal2": 3.5,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "127,120,114,116",
+ "zusatzstoffeIds": "1,2",
+ "gerichtmerkmaleIds": "52"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164171,
+ "aktiv": true,
+ "datum": "2023-12-12T00:00:00+01:00",
+ "gerichtkategorieID": 155,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Veganer Rote Bete-Walnuss-Hackbraten mit Backpflaumensauce, Rotkohl und Knusperkartoffeln",
+ "zusatzinformationenID": 164161,
+ "speiseplanAdvancedID": 569,
+ "timestampLog": "2023-12-06T15:05:15",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164161,
+ "gerichtnameAlternative": "Vegan beet and walnut meatloaf with prune sauce, red cabbage and crispy potatoes",
+ "mitarbeiterpreisDecimal2": 3.5,
+ "gaestepreisDecimal2": 5.5,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 3731,
+ "nwkcalInteger": 885,
+ "nwfettDecimal1": 44.61,
+ "nwfettsaeurenDecimal1": 12.09,
+ "nwkohlehydrateDecimal1": 82.19,
+ "nwzuckerDecimal1": 34.64,
+ "nweiweissDecimal1": 23.39,
+ "nwsalzDecimal1": 5.92,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350401",
+ "price3Decimal2": 4.5,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "127,120,119,115,125,118",
+ "zusatzstoffeIds": "1,2,6",
+ "gerichtmerkmaleIds": "52"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164172,
+ "aktiv": true,
+ "datum": "2023-12-12T00:00:00+01:00",
+ "gerichtkategorieID": 107,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Knusprige Entekeule mit Beifu\u00dfjus und gef\u00fclltem Katoffelklo\u00df, dazu Rotkohl oder Gr\u00fcnkohl",
+ "zusatzinformationenID": 164162,
+ "speiseplanAdvancedID": 569,
+ "timestampLog": "2023-12-06T15:05:15",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164162,
+ "gerichtnameAlternative": "Crispy leg of duck with mugwort jus and stuffed potato dumpling, served with red cabbage or kale",
+ "mitarbeiterpreisDecimal2": 6.6,
+ "gaestepreisDecimal2": 8.9,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 4778,
+ "nwkcalInteger": 1129,
+ "nwfettDecimal1": 63.95,
+ "nwfettsaeurenDecimal1": 22.65,
+ "nwkohlehydrateDecimal1": 77.73,
+ "nwzuckerDecimal1": 19.66,
+ "nweiweissDecimal1": 49.82,
+ "nwsalzDecimal1": 5.69,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350501",
+ "price3Decimal2": 0,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "127,120,119,114,115,128",
+ "zusatzstoffeIds": "1,2,6,9",
+ "gerichtmerkmaleIds": null
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164173,
+ "aktiv": true,
+ "datum": "2023-12-13T00:00:00+01:00",
+ "gerichtkategorieID": 102,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "gro\u00dfe Schale\nkleine Schale\nRelevo Schale\n100g Stud. 1,00\u20ac/ G\u00e4ste 1,45\u20ac",
+ "zusatzinformationenID": 164163,
+ "speiseplanAdvancedID": 569,
+ "timestampLog": "2023-12-06T15:05:15",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164163,
+ "gerichtnameAlternative": "large bowl\nsmall bowl\nrelevo bowl\n100g stud. 1,00\u20ac/ guests 1,45\u20ac",
+ "mitarbeiterpreisDecimal2": 0,
+ "gaestepreisDecimal2": 0,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 1305,
+ "nwkcalInteger": 314,
+ "nwfettDecimal1": 22.51,
+ "nwfettsaeurenDecimal1": 4.77,
+ "nwkohlehydrateDecimal1": 9.21,
+ "nwzuckerDecimal1": 4.43,
+ "nweiweissDecimal1": 9.9,
+ "nwsalzDecimal1": 1.79,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": null,
+ "price3Decimal2": 0,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,112,113,127,119,114,115,116,117,118",
+ "zusatzstoffeIds": "1,2",
+ "gerichtmerkmaleIds": "51"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164174,
+ "aktiv": true,
+ "datum": "2023-12-13T00:00:00+01:00",
+ "gerichtkategorieID": 153,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "S\u00fc\u00dfkartoffel-Kokos-Suppe mit ger\u00f6steten Kichererbsen und Koriander",
+ "zusatzinformationenID": 164164,
+ "speiseplanAdvancedID": 569,
+ "timestampLog": "2023-12-06T15:05:15",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164164,
+ "gerichtnameAlternative": "Sweet potato coconut soup with roasted chickpeas and coriander",
+ "mitarbeiterpreisDecimal2": 1.9,
+ "gaestepreisDecimal2": 3.8,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 2896,
+ "nwkcalInteger": 695,
+ "nwfettDecimal1": 45.85,
+ "nwfettsaeurenDecimal1": 11.79,
+ "nwkohlehydrateDecimal1": 57.27,
+ "nwzuckerDecimal1": 16.3,
+ "nweiweissDecimal1": 8.17,
+ "nwsalzDecimal1": 1.81,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350101",
+ "price3Decimal2": 2.9,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "120",
+ "zusatzstoffeIds": "6,7",
+ "gerichtmerkmaleIds": "52"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164175,
+ "aktiv": true,
+ "datum": "2023-12-13T00:00:00+01:00",
+ "gerichtkategorieID": 154,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "\u00c4lpler Maggerone mit Appenzeller K\u00e4se \u00fcberbacken und R\u00f6stzwiebeln, dazu bunter Salatmix und Apfelmus",
+ "zusatzinformationenID": 164165,
+ "speiseplanAdvancedID": 569,
+ "timestampLog": "2023-12-06T15:05:15",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164165,
+ "gerichtnameAlternative": "\u00c4lpler Maggerone with Appenzeller cheese and fried onions, served with mixed salad and applesauce",
+ "mitarbeiterpreisDecimal2": 2.5,
+ "gaestepreisDecimal2": 4.8,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 3615,
+ "nwkcalInteger": 863,
+ "nwfettDecimal1": 39.29,
+ "nwfettsaeurenDecimal1": 23.46,
+ "nwkohlehydrateDecimal1": 94.78,
+ "nwzuckerDecimal1": 22.96,
+ "nweiweissDecimal1": 23.75,
+ "nwsalzDecimal1": 2.53,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350201",
+ "price3Decimal2": 3.5,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,114,115",
+ "zusatzstoffeIds": "2",
+ "gerichtmerkmaleIds": null
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164176,
+ "aktiv": true,
+ "datum": "2023-12-13T00:00:00+01:00",
+ "gerichtkategorieID": 156,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Kartoffel-K\u00fcrbiskern-R\u00f6sti mit Kr\u00e4uterschmand, dazu Babyspinat\n",
+ "zusatzinformationenID": 164166,
+ "speiseplanAdvancedID": 569,
+ "timestampLog": "2023-12-06T15:05:15",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164166,
+ "gerichtnameAlternative": "Potato pumpkin seed r\u00f6sti with herb sour cream, served with baby spinach",
+ "mitarbeiterpreisDecimal2": 3,
+ "gaestepreisDecimal2": 5.2,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 4146,
+ "nwkcalInteger": 998,
+ "nwfettDecimal1": 65.14,
+ "nwfettsaeurenDecimal1": 21.04,
+ "nwkohlehydrateDecimal1": 69.28,
+ "nwzuckerDecimal1": 9.1,
+ "nweiweissDecimal1": 22.99,
+ "nwsalzDecimal1": 2.6,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350301",
+ "price3Decimal2": 4,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,112,127,115",
+ "zusatzstoffeIds": "2",
+ "gerichtmerkmaleIds": "51"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164177,
+ "aktiv": true,
+ "datum": "2023-12-14T00:00:00+01:00",
+ "gerichtkategorieID": 102,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "gro\u00dfe Schale\nkleine Schale\nRelevo Schale\n100g Stud. 1,00\u20ac/ G\u00e4ste 1,45\u20ac",
+ "zusatzinformationenID": 164167,
+ "speiseplanAdvancedID": 569,
+ "timestampLog": "2023-12-06T15:05:15",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164167,
+ "gerichtnameAlternative": "large bowl\nsmall bowl\nrelevo bowl\n100g stud. 1,00\u20ac/ guests 1,45\u20ac",
+ "mitarbeiterpreisDecimal2": 0,
+ "gaestepreisDecimal2": 0,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 1305,
+ "nwkcalInteger": 314,
+ "nwfettDecimal1": 22.51,
+ "nwfettsaeurenDecimal1": 4.77,
+ "nwkohlehydrateDecimal1": 9.21,
+ "nwzuckerDecimal1": 4.43,
+ "nweiweissDecimal1": 9.9,
+ "nwsalzDecimal1": 1.79,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": null,
+ "price3Decimal2": 0,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,112,113,127,119,114,115,116,117,118",
+ "zusatzstoffeIds": "1,2",
+ "gerichtmerkmaleIds": "51"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164178,
+ "aktiv": true,
+ "datum": "2023-12-14T00:00:00+01:00",
+ "gerichtkategorieID": 153,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Hummus mit Gem\u00fcsebulgur, dazu marinierter Blattsalat",
+ "zusatzinformationenID": 164168,
+ "speiseplanAdvancedID": 569,
+ "timestampLog": "2023-12-06T15:05:15",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164168,
+ "gerichtnameAlternative": "Hummus with vegetable bulgur, served with marinated leaf salad",
+ "mitarbeiterpreisDecimal2": 1.9,
+ "gaestepreisDecimal2": 3.8,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 3230,
+ "nwkcalInteger": 775,
+ "nwfettDecimal1": 30.58,
+ "nwfettsaeurenDecimal1": 3.92,
+ "nwkohlehydrateDecimal1": 86.27,
+ "nwzuckerDecimal1": 5.27,
+ "nweiweissDecimal1": 26.16,
+ "nwsalzDecimal1": 4.17,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350101",
+ "price3Decimal2": 2.9,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "113,119,114,115",
+ "zusatzstoffeIds": null,
+ "gerichtmerkmaleIds": "52"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164179,
+ "aktiv": true,
+ "datum": "2023-12-14T00:00:00+01:00",
+ "gerichtkategorieID": 156,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Schweineschnitzel Wiener Art mit Blumenkohl, Semmelbutter und Petersilienkartoffeln\n",
+ "zusatzinformationenID": 164169,
+ "speiseplanAdvancedID": 569,
+ "timestampLog": "2023-12-06T15:05:15",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164169,
+ "gerichtnameAlternative": "Pork schnitzel Vienna-style with cauliflower, bread butter and parsley potatoes",
+ "mitarbeiterpreisDecimal2": 3,
+ "gaestepreisDecimal2": 5.2,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 3445,
+ "nwkcalInteger": 826,
+ "nwfettDecimal1": 43.18,
+ "nwfettsaeurenDecimal1": 19.27,
+ "nwkohlehydrateDecimal1": 67.32,
+ "nwzuckerDecimal1": 6.46,
+ "nweiweissDecimal1": 37.98,
+ "nwsalzDecimal1": 4.15,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350301",
+ "price3Decimal2": 4,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,115",
+ "zusatzstoffeIds": null,
+ "gerichtmerkmaleIds": "53"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164180,
+ "aktiv": true,
+ "datum": "2023-12-14T00:00:00+01:00",
+ "gerichtkategorieID": 155,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "No Beef Bourguignon mit Jackfruit, Champignons und Karotten, dazu gr\u00fcne Bohnen und Rosmarinkartoffeln",
+ "zusatzinformationenID": 164170,
+ "speiseplanAdvancedID": 569,
+ "timestampLog": "2023-12-06T15:05:15",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164170,
+ "gerichtnameAlternative": "\"No Beef\" Bourguignon with jackfruit, mushrooms and carrots, served with green beans and rosemary potatoes",
+ "mitarbeiterpreisDecimal2": 3.5,
+ "gaestepreisDecimal2": 5.5,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 2137,
+ "nwkcalInteger": 512,
+ "nwfettDecimal1": 17.36,
+ "nwfettsaeurenDecimal1": 5.62,
+ "nwkohlehydrateDecimal1": 63.35,
+ "nwzuckerDecimal1": 11.71,
+ "nweiweissDecimal1": 16.9,
+ "nwsalzDecimal1": 3.76,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350401",
+ "price3Decimal2": 4.5,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "127,120,115",
+ "zusatzstoffeIds": "1",
+ "gerichtmerkmaleIds": "72,52"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164181,
+ "aktiv": true,
+ "datum": "2023-12-15T00:00:00+01:00",
+ "gerichtkategorieID": 102,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "gro\u00dfe Schale\nkleine Schale\nRelevo Schale\n100g Stud. 1,00\u20ac/ G\u00e4ste 1,45\u20ac",
+ "zusatzinformationenID": 164171,
+ "speiseplanAdvancedID": 569,
+ "timestampLog": "2023-12-06T15:05:15",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164171,
+ "gerichtnameAlternative": "large bowl\nsmall bowl\nrelevo bowl\n100g stud. 1,00\u20ac/ guests 1,45\u20ac",
+ "mitarbeiterpreisDecimal2": 0,
+ "gaestepreisDecimal2": 0,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 1305,
+ "nwkcalInteger": 314,
+ "nwfettDecimal1": 22.51,
+ "nwfettsaeurenDecimal1": 4.77,
+ "nwkohlehydrateDecimal1": 9.21,
+ "nwzuckerDecimal1": 4.43,
+ "nweiweissDecimal1": 9.9,
+ "nwsalzDecimal1": 1.79,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": null,
+ "price3Decimal2": 0,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,112,113,127,119,114,115,116,117,118",
+ "zusatzstoffeIds": "1,2",
+ "gerichtmerkmaleIds": "51"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164182,
+ "aktiv": true,
+ "datum": "2023-12-15T00:00:00+01:00",
+ "gerichtkategorieID": 153,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Hefekl\u00f6\u00dfe mit Beerenragout und Dessertsauce",
+ "zusatzinformationenID": 164172,
+ "speiseplanAdvancedID": 569,
+ "timestampLog": "2023-12-06T15:05:15",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164172,
+ "gerichtnameAlternative": "Yeast dumplings with berry ragout and dessert sauce",
+ "mitarbeiterpreisDecimal2": 1.9,
+ "gaestepreisDecimal2": 3.8,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 2433,
+ "nwkcalInteger": 569,
+ "nwfettDecimal1": 6.66,
+ "nwfettsaeurenDecimal1": 1.59,
+ "nwkohlehydrateDecimal1": 105.43,
+ "nwzuckerDecimal1": 29.76,
+ "nweiweissDecimal1": 16.77,
+ "nwsalzDecimal1": 1.34,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350101",
+ "price3Decimal2": 2.9,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "111,112,115",
+ "zusatzstoffeIds": "1",
+ "gerichtmerkmaleIds": "51"
+ },
+ {
+ "speiseplanAdvancedGericht": {
+ "id": 164183,
+ "aktiv": true,
+ "datum": "2023-12-15T00:00:00+01:00",
+ "gerichtkategorieID": 154,
+ "reihenfolgeInGerichtkategorie": 1,
+ "gerichtname": "Kartoffelgulasch mit Paprika und Champignons, dazu Pitabrot",
+ "zusatzinformationenID": 164173,
+ "speiseplanAdvancedID": 569,
+ "timestampLog": "2023-12-06T15:05:15",
+ "benutzerID": 300
+ },
+ "zusatzinformationen": {
+ "id": 164173,
+ "gerichtnameAlternative": "Potato goulash with peppers and mushrooms, served with pita bread",
+ "mitarbeiterpreisDecimal2": 2.5,
+ "gaestepreisDecimal2": 4.8,
+ "ernaehrungsampelID": null,
+ "nwkjInteger": 1839,
+ "nwkcalInteger": 438,
+ "nwfettDecimal1": 7.7,
+ "nwfettsaeurenDecimal1": 1.01,
+ "nwkohlehydrateDecimal1": 62.88,
+ "nwzuckerDecimal1": 12.49,
+ "nweiweissDecimal1": 13.18,
+ "nwsalzDecimal1": 2.71,
+ "nwbeDecimal2": null,
+ "allowFeedback": true,
+ "gerichtImage": null,
+ "lieferanteninfo": null,
+ "lieferanteninfoLink": null,
+ "edFaktorDecimal1": null,
+ "plu": "350201",
+ "price3Decimal2": 3.5,
+ "price4Decimal2": null,
+ "contingent": null,
+ "taxRateDecimal2": null,
+ "ingredientList": null,
+ "sustainability": {
+ "co2": null,
+ "nutriscore": null,
+ "trafficLight": null
+ }
+ },
+ "allergeneIds": "120,115",
+ "zusatzstoffeIds": null,
+ "gerichtmerkmaleIds": "52"
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/resources/integration-test/outlets.json b/tests/resources/integration-test/outlets.json
new file mode 100644
index 0000000..582e01f
--- /dev/null
+++ b/tests/resources/integration-test/outlets.json
@@ -0,0 +1,70 @@
+{
+ "success": true,
+ "content": [
+ {
+ "id": 12,
+ "name": "Mensa Griebnitzsee",
+ "logoImage": "https:\\/\\/swp.konkaapps.de\\/kms-resources\\/outlet\\/SWP_OutletbildJPG.JPG",
+ "outletImage": null,
+ "reihenfolge": 5,
+ "outletRGBColor": null,
+ "oeffnungszeitenRichtext": null,
+ "moZeit1": "08:00 - 18:00 Uhr",
+ "moZeit2": null,
+ "diZeit1": "08:00 - 18:00 Uhr",
+ "diZeit2": null,
+ "miZeit1": "08:00 - 18:00 Uhr",
+ "miZeit2": null,
+ "doZeit1": "08:00 - 18:00 Uhr",
+ "doZeit2": null,
+ "frZeit1": "08:00 - 14:30 Uhr",
+ "frZeit2": null,
+ "saZeit1": "geschlossen",
+ "saZeit2": null,
+ "soZeit1": "geschlossen",
+ "soZeit2": null,
+ "adresseID": 12,
+ "kontaktID": 12,
+ "standortID": 9601,
+ "timestampLog": "2023-11-10T12:33:41",
+ "benutzerID": 30,
+ "outletHasMapposition": null,
+ "homepage": "www.studentenwerk-potsdam.de",
+ "addressInfo": {
+ "id": 12,
+ "additionalInfo": null,
+ "street": "August-Bebel-Stra\\u00dfe 89",
+ "city": "Potsdam",
+ "postalCode": "14482",
+ "countryName": "Deutschland",
+ "countryCode": "DE"
+ },
+ "contactInfo": [
+ {
+ "id": 12,
+ "contactPerson": "Mensaleitung",
+ "phone": "per mail",
+ "fax": null,
+ "email": "mensa-gs@studentenwerk-potsdam.de",
+ "role": null
+ }
+ ],
+ "positionInfo": {
+ "longitude": 13.129484554746579,
+ "latitude": 52.39324345
+ },
+ "linkInfo": [],
+ "assignedDishIds": [],
+ "assignedDishes": [],
+ "availableDishCategoryIds": [],
+ "availableDishCategories": [],
+ "availablePickupTimes": [],
+ "availableHolidays": [],
+ "availableOrderInfos": [],
+ "locationInfo": {
+ "id": 9601,
+ "name": "Griebnitzsee"
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/resources/integration-test/snippet.js b/tests/resources/integration-test/snippet.js
new file mode 100644
index 0000000..ff3f155
--- /dev/null
+++ b/tests/resources/integration-test/snippet.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.b25ba5c971eb2b45f391.js.LICENSE.txt */
+!function(e){function t(t){for(var i,o,l=t[0],c=t[1],s=t[2],f=0,p=[];f0&&a.each(t.speiseplanAdvancedGerichtKomponentenData,(function(e,n){if(n.speiseplanAdvancedGerichtKomponente.aktiv){var a={id:n.speiseplanAdvancedGerichtKomponente.id,category:n.speiseplanAdvancedGerichtKomponente.komponentenkategorieID,name:n.speiseplanAdvancedGerichtKomponente.komponententname,plu:n.speiseplanAdvancedGerichtKomponente.plu,ordering:n.speiseplanAdvancedGerichtKomponente.reihenfolgeInGericht,meal:n.speiseplanAdvancedGerichtKomponente.speiseplanAdvancedGerichtID,date:new Date(n.speiseplanAdvancedGerichtKomponente.timestampLog),additionalInformation:n.speiseplanAdvancedGerichtKomponente.zusatzinformationenID,allergens:void 0!==n.allergeneIds&&null!==n.allergeneIds?n.allergeneIds.split(","):[],additives:void 0!==n.zusatzstoffeIds&&null!==n.zusatzstoffeIds?n.zusatzstoffeIds.split(","):[],features:void 0!==n.gerichtmerkmaleIds&&null!==n.gerichtmerkmaleIds?n.gerichtmerkmaleIds.split(","):[]};if(l.push(a),i.push(a.id),null!==n.zusatzinformationen){var o={id:n.zusatzinformationen.id,allowFeedback:n.zusatzinformationen.allowFeedback,image:n.zusatzinformationen.gerichtImage,nutritionalTrafficLight:n.zusatzinformationen.ernaehrungsampelID,employeePrice:n.zusatzinformationen.mitarbeiterpreisDecimal2,guestPrice:n.zusatzinformationen.gaestepreisDecimal2,price3:n.zusatzinformationen.price3Decimal2,price4:n.zusatzinformationen.price4Decimal2,energyDensity:n.zusatzinformationen.edFaktorDecimal1,alternativeName:n.zusatzinformationen.gerichtnameAlternative,protein:n.zusatzinformationen.nweiweissDecimal1,fat:n.zusatzinformationen.nwfettDecimal1,fattyAcids:n.zusatzinformationen.nwfettsaeurenDecimal1,energyCalories:n.zusatzinformationen.nwkcalInteger,energy:n.zusatzinformationen.nwkjInteger,carbohydrates:n.zusatzinformationen.nwkohlehydrateDecimal1,salt:n.zusatzinformationen.nwsalzDecimal1,sugar:n.zusatzinformationen.nwzuckerDecimal1,ingredientList:n.zusatzinformationen.ingredientList,supplierInformation:n.zusatzinformationen.lieferanteninfo,supplierInformationLink:n.zusatzinformationen.lieferanteninfoLink,sustainability:t.zusatzinformationen.sustainability};r.push(o)}}}));var c=new Date(t.speiseplanAdvancedGericht.datum),s={id:t.speiseplanAdvancedGericht.id,name:t.speiseplanAdvancedGericht.gerichtname,category:t.speiseplanAdvancedGericht.gerichtkategorieID,date:c,menu:t.speiseplanAdvancedGericht.speiseplanAdvancedID,ordering:t.speiseplanAdvancedGericht.reihenfolgeInGerichtkategorie,allergens:void 0!==t.allergeneIds&&null!==t.allergeneIds?t.allergeneIds.split(","):[],additives:void 0!==t.zusatzstoffeIds&&null!==t.zusatzstoffeIds?t.zusatzstoffeIds.split(","):[],features:void 0!==t.gerichtmerkmaleIds&&null!==t.gerichtmerkmaleIds?t.gerichtmerkmaleIds.split(","):[],additionalInformation:t.speiseplanAdvancedGericht.zusatzinformationenID,components:i};o.push(s)}}));var n=[];t.speiseplanAdvanced.hasOwnProperty("holidayInfo")&&(n=t.speiseplanAdvanced.holidayInfo);var c=new Date(t.speiseplanAdvanced.gueltigVon),s=new Date(t.speiseplanAdvanced.gueltigBis);i.push({id:t.speiseplanAdvanced.id,name:void 0!==t.speiseplanAdvanced.anzeigename&&null!==t.speiseplanAdvanced.anzeigename&&""!==t.speiseplanAdvanced.anzeigename?t.speiseplanAdvanced.anzeigename:t.speiseplanAdvanced.titel,date:new Date(t.speiseplanAdvanced.timestampLog),from:c,dailyAvailable:t.speiseplanAdvanced.gueltigTaeglich,to:s,ordering:t.speiseplanAdvanced.reihenfolgeInApp,outlet:t.speiseplanAdvanced.outletID,showWeekend:t.speiseplanAdvanced.showWeekend,holidayInfo:n})}})),t.add("additionalInformation",r,t),t.add("meal",o,t),t.add("component",l,t),i)},sort:function(e,t){var i=[],a=n(9);if(void 0!==e||null!==e){var r,o=!1;if(a.each(e,(function(e,t){void 0===r&&(r=t.ordering),void 0===t.ordering||t.ordering===r||(o=!0)})),o)a.each(e,(function(e,t){i.push(t)})),i.sort((function(e,t){return e.ordering-t.ordering}));else{var l,c=!1;a.each(t,(function(e,t){void 0===l&&(l=t.ordering),void 0===t.ordering||t.ordering===l||(c=!0)})),c?t.sort((function(e,t){return e.ordering-t.ordering})):t.sort((function(e,t){var n=e.translations.name.toUpperCase(),i=t.translations.name.toUpperCase();return ni?1:0}));var s=[];a.each(t,(function(t,n){a.each(e,(function(e,t){t.outlet===n.id&&s.push(t)})),s.sort((function(e,t){var n=e.name.toUpperCase(),i=t.name.toUpperCase();return ni?1:0})),a.each(s,(function(e,t){i.push(t)})),s=[]}))}}return i}},mobilesettings:{name:"mobilesettings",synchronizable:!0,initialNeeded:!0,locationRequired:!1,dataRevisionName:"mobileeinstellungen",truncateFn:function(e){},mappingFn:function(e){var t=[];return!0===Array.isArray(e)?q.each(e,(function(e,n){t.push(n)})):t.push(e),t}},imprint:{name:"imprint",synchronizable:!0,locationRequired:!0,dataRevisionName:"impressum",initialNeeded:!0,dependentEntities:["location"],truncateFn:function(e){},mappingFn:function(e){var t=[];return!0===Array.isArray(e)?q.each(e,(function(e,n){t.push(n)})):null!==e&&t.push(e),t}},capacity:{name:"capacity",locationRequired:!0,synchronizable:!0,dataRevisionName:"auslastungsanzeige",modules:[56],mappingFn:function(e){var t=[];return q.each(e,(function(e,n){t.push({id:n.id,periodFrom:new Date(n.auswertungszeitraumVon),periodTill:new Date(n.auswertungszeitraumBis),averageLengthOfStay:n.durchschnittVerweildauer,averageItemNumber:n.durchschnittsArtikelAnzahl,interval:n.intervall,maxSeats:n.maxSitzplaetze,outlet:n.outletID,compareDay:n.vergleichstag})})),t}},vote:{name:"vote",synchronizable:!0,locationRequired:!0,dataRevisionName:"ipadgdw",modules:[44],mappingFn:function(e){var t=[];return q.each(e,(function(e,n){t.push({id:n.id,validFrom:n.gueltigVon,validTill:n.gueltigBis,outlet:n.outletID,image:n.votingImage,translations:{name:n.titel}})})),t}},voteOption:{name:"voteOption",synchronizable:!0,locationRequired:!0,dataRevisionName:"ipadgericht",modules:[44],mappingFn:function(e){var t=[];return q.each(e,(function(e,n){t.push({id:n.id,vote:n.ipadGDWID,image:n.gerichtImage,translations:{name:n.name,description:n.beschreibungRichtext}})})),t}},voteCounting:{name:"voteCounting",synchronizable:!1,locationRequired:!0,mappingFn:function(e){var t=[];return void 0!==e.votingresult&&e.votingresult.length>0&&q.each(e.votingresult,(function(e,n){t.push({id:n.gerichtid,count:parseInt(n.count)})})),t}},capacityAggregate:{name:"capacityAggregate",locationRequired:!1,synchronizable:!1,dataRevisionName:"auslastungsanzeigeaggregat",hasDashboardTile:!1,truncateFn:function(e){},mappingFn:function(e,t,n){var i=[],a="object"===A()(n)&&"outlet"in n?n.outlet:0;return i.push({id:a,aktuellerWert:e.aktuellerWert,vergleichstag:e.vergleichstag,outlet:a,timestamp:new Date,aggregatData:void 0!==e.aggregatData&&null!==e.aggregatData?e.aggregatData:[]}),i}},feedbackQuestionMeal:{name:"feedbackQuestionMeal",synchronizable:!0,locationRequired:!0,dataRevisionName:"gerichtfeedback",modules:[46,43],mappingFn:function(e){var t=[];if(null===e)return[];var n=e.hasOwnProperty("locationInfo")&&e.locationInfo.hasOwnProperty("id")?e.locationInfo.id:null;return e.hasOwnProperty("dishFeedbacks")&&"object"===A()(e.dishFeedbacks)&&q.each(e.dishFeedbacks,(function(e,i){t.push({id:i.id,location:n,name:i.name,feedbackType:1,type:i.hasOwnProperty("dishFeedbackType")&&i.dishFeedbackType.hasOwnProperty("id")?i.dishFeedbackType.id:null,ordering:i.sequence,log:i.timestampLog})})),t}},dietPlanMasterData:{name:"dietPlanMasterData",locationRequired:!0,synchronizable:!0,dataRevisionName:"speiseplanmasterdata",mappingFn:function(e){var t=[];return q.each(e,(function(e,n){t.push({id:n.id,edUnit:n.edEinheit,edEmptyValue:n.inhaltLeerNW,edFactor:n.edFaktorDecimal1,priceUnit1:n.einheitPreis1,priceUnit2:n.einheitPreis2,priceUnit3:n.einheitPreis3,priceUnit4:n.einheitPreis4,priceTitle1:n.titelPreis1,priceTitle2:n.titelPreis2,priceTitle3:n.titelPreis3,priceTitle4:n.titelPreis4,priceEmpty1:n.inhaltLeerPreis1,priceEmpty2:n.inhaltLeerPreis2,priceEmpty3:n.inhaltLeerPreis3,priceEmpty4:n.inhaltLeerPreis4,reminder:n.erinnerungsFunktionAktiv,componentsVisible:n.komponentenAnzeigen,nutritionalInformationViewType:n.naehrwertAnzeigeTypeID,alarm:n.alarmFunktionAktiv,nutritionalTrafficLight:n.ernaehrungsampelAktiv,nutritionalTrafficLightTitle:n.titelErnaehrungsampel,nutritionalInformationTitle:n.titelNaehrwerte,outlet:n.outletID,ordering:n.reihenfolgeInApp,date:new Date(n.timestampLog),usefallbackDishImage:n.usefallbackDishImage})})),t}},accessRestrictionLocation:{name:"accessRestrictionLocation",synchronizable:!1,initialNeeded:!0,locationRequired:!1,mappingFn:function(e){var t=[];return n(9).each(e,(function(e,n){t.push({access_restriction:n.appQRZugangID,location:n.standortID})})),t}},recipeCategory:{name:"recipeCategory",synchronizable:!0,locationRequired:!0,dataRevisionName:"recipecategory",modules:[47],mappingFn:function(e){var t=[];return q.each(e,(function(e,n){t.push({id:n.id,name:n.name,image:n.categoryImage,location_id:n.locationId,sequence:n.sequence,date:new Date(n.timestampLog),translations:{name:n.name}})})),t}},recipe:{name:"recipe",synchronizable:!0,locationRequired:!1,dataRevisionName:"recipe",modules:[47],mappingFn:function(e,t){var n=[],i={energy:"nutritionValueKj",energyCalories:"nutritionValueKcal",fat:"nutritionValueFatty",fattyAcids:"nutritionValueFattyAcids",carbohydrates:"nutritionValueCarbohydrates",sugar:"nutritionValueSugar",protein:"nutritionValueProtein",salt:"nutritionValueSalt"};q.each(e,(function(e,t){var a={};Object.keys(i).forEach((function(e){var n=i[e];void 0!==t[n]&&null!==t[n]&&(a[e]=t[n])}));var r={id:t.id,name:t.name,category:t.recipeCategoryId,image:t.recipeImage,difficulty:t.difficultyId,ingredientsPersonsCount:t.ingredientsPersonsCount,preparationTimeMinutes:t.preparationTimeMinutes,signal:t.nutritionLightId,nutritionalInformation:a,recipeHasIngredient:t.recipeHasIngredient,recipeHasPreparation:t.recipeHasPreparation,date:new Date(t.timestampLog),printable:t.printable,translations:{name:t.name}};n.push(r)}));return t.add("difficult",[{id:1,name:"gui_label_recipe_difficulty_1"},{id:2,name:"gui_label_recipe_difficulty_2"},{id:3,name:"gui_label_recipe_difficulty_3"}],t),t.add("preparationTimes",[{id:"$lte_15",value:"< 15 min."},{id:"$lte_30",value:"< 30 min."},{id:"$lte_45",value:"< 45 min."},{id:"$lte_60",value:"< 60 min."},{id:"$lte_90",value:"< 90 min."},{id:"$lte_120",value:"< 120 min."},{id:"$gte_120",value:"> 120 min."}],t),n}},moduls:{name:"moduls",synchronizable:!0,locationRequired:!0,initialNeeded:!0,params:{platform:L.STANDALONE?L.PlatformTypes.touch:L.PlatformTypes.default},dataRevisionName:"activemodulsmobile",mappingFn:function(e){var t=[],i={speiseplan:"menu",kontakt:"contact",tischanfrage:"dishOrder",rezepte:"recipe",auslastung:"capacity"};return n(9).each(e,(function(e,n){if(n.aktiv&&void 0!==n.name&&null!==n.name){var a=n.name.replace("WSP","").replace("Webspeiseplan","").replace("MTW touch","").replace("MTW","").replace("iOS","").toLowerCase().replace(/[^a-z']/g,"");void 0!==i[a]&&(a=i[a]),t.push({id:n.modulID,ordering:n.reihenfolgeInApp,location:n.standortID,name:void 0!==i[a]?i[a]:a,image:"./images/icons/"+a+".svg",translations:{name:void 0!==n.translatedName?n.translatedName:null}})}})),t}},mealCategory:{name:"mealCategory",locationRequired:!0,synchronizable:!0,dataRevisionName:"gerichtkategorie",modules:[43],mappingFn:function(e){var t=[];return n(9).each(e,(function(e,n){t.push({id:n.gerichtkategorieID,name:n.name,ordering:n.reihenfolgeInApp,image:n.logoImage,nutritionalInformationTitle:n.titelNaehrwerte,translations:{name:n.name}})})),t}},componentCategory:{name:"componentCategory",locationRequired:!1,synchronizable:!0,dataRevisionName:"komponentenkategorie",modules:[43],mappingFn:function(e){var t=[];return n(9).each(e,(function(e,n){t.push({id:n.komponentenkategorieID,name:n.name,ordering:n.reihenfolgeInApp,image:n.logoImage,nutritionalInformationTitle:n.titelNaehrwerte,translations:{name:n.name}})})),t}},signal:{name:"signal",locationRequired:!0,synchronizable:!0,dataRevisionName:"ernaehrungsampel",mappingFn:function(e){var t=[];return n(9).each(e,(function(e,n){t.push({id:n.id,name:n.name,image:n.logoImage,translations:{name:n.name}})})),t}},location:{name:"location",locationRequired:!1,synchronizable:!0,initialNeeded:!0,dataRevisionName:"location",mappingFn:function(e){var t=[];return n(9).each(e,(function(e,n){t.push({name:n.name,id:n.id,ordering:n.reihenfolge,logo:n.logoImage,image:n.standortImage,isPublic:n.isPublic})})),t}},textblock:{name:"textblock",locationRequired:!1,synchronizable:!0,dataRevisionName:"textblock",mappingFn:function(e){var t=[];return n(9).each(e,(function(e,n){void 0!==n.beschreibung&&null!==n.beschreibung&&t.push({name:n.name,key:n.beschreibung,id:n.id,outlet:n.outletID,content:n.inhalt})})),t}},language:{name:"language",locationRequired:!1,initialNeeded:!0,synchronizable:!0,dataRevisionName:"location",mappingFn:function(e){var t=[];return n(9).each(e,(function(e,n){t.push({name:n.name,code:n.code,defaultLanguage:n.defaultLanguage,id:n.id,image:n.logoImage})})),t}},address:{name:"address",synchronizable:!1,locationRequired:!1},contact:{name:"contact",synchronizable:!1,locationRequired:!1},outlet:{name:"outlet",url:"outlet/",locationRequired:!1,synchronizable:!0,initialNeeded:!0,dataRevisionName:"outlet",mappingFn:function(e,t){var i=[],a=[],r=[],o=n(9);return o.each(e,(function(e,t){for(var n="-",l="-",c="-",s="-",u="-",f="-",p="-",d=0;d<7;d++){var h="-",m=void 0,g=void 0;switch(d){case 0:m=t.moZeit1,g=t.moZeit2;break;case 1:m=t.diZeit1,g=t.diZeit2;break;case 2:m=t.miZeit1,g=t.miZeit2;break;case 3:m=t.doZeit1,g=t.doZeit2;break;case 4:m=t.frZeit1,g=t.frZeit2;break;case 5:m=t.saZeit1,g=t.saZeit2;break;case 6:m=t.soZeit1,g=t.soZeit2}switch(null!=m&&null==g?h=m:null==m&&null!=g?h=g:null!=m&&null!=g&&(h=m+"||"+g),d){case 0:n=h;break;case 1:l=h;break;case 2:c=h;break;case 3:s=h;break;case 4:u=h;break;case 5:f=h;break;case 6:p=h}}var v=t.homepage;null!=v&&(v.indexOf(":")>-1?"http"!==v.substring(0,v.indexOf(":"))&&"https"!==v.substring(0,v.indexOf(":"))&&(v="http://"+v):v="http://"+v),i.push({name:t.name,id:t.id,location:t.standortID,positionInfo:t.positionInfo,linkInfo:t.linkInfo,logo:t.logoImage,image:t.outletImage,color:null!==t.outletRGBColor&&void 0!==t.outletRGBColor?"#"+t.outletRGBColor:null,ordering:t.reihenfolge,ot_monday:n,ot_tuesday:l,ot_wednesday:c,ot_thursday:s,ot_friday:u,ot_saturday:f,ot_sunday:p,relation:{address:t.adresseID,contact:t.kontaktID},homepage:v,translations:{name:t.name,opening_times:t.oeffnungszeitenRichtext}}),void 0!==t.addressInfo&&null!==t.addressInfo&&"object"===A()(t.addressInfo)&&a.push({id:t.addressInfo.id,street:t.addressInfo.street,address_additional:t.addressInfo.additionalInfo,city:t.addressInfo.city,postalCode:t.addressInfo.postalCode,countryName:t.addressInfo.countryName,countryCode:t.addressInfo.countryCode}),void 0!==t.contactInfo&&!0===Array.isArray(t.contactInfo)&&o.each(t.contactInfo,(function(e,t){!0!==r.find((function(e){return t.id===e.id}))&&r.push({id:t.id,contact:t.contactPerson,phone:t.phone,fax:t.fax,email:t.email,role:t.role})}))})),t.add("address",a,t),t.add("contact",r,t),i}},additives:{name:"additives",locationRequired:!0,synchronizable:!0,dataRevisionName:"zusatzstoffe",modules:[43],mappingFn:function(e){var t=[];return q.each(e,(function(e,n){t.push({id:n.zusatzstoffeID,name:n.name,contraction:n.kuerzel,image:n.logoImage,imageId:n.id,date:new Date(n.timestampLog),translations:{name:n.name}})})),t}},allergens:{name:"allergens",locationRequired:!0,synchronizable:!0,dataRevisionName:"allergene",modules:[43],mappingFn:function(e){var t=[];return q.each(e,(function(e,n){t.push({id:n.allergeneID,name:n.name,contraction:n.kuerzel,image:n.logoImage,imageId:n.id,date:new Date(n.timestampLog),translations:{name:n.name}})})),t}},features:{name:"features",locationRequired:!0,synchronizable:!0,dataRevisionName:"gerichtmerkmal",modules:[43],mappingFn:function(e){var t=[];return q.each(e,(function(e,n){t.push({id:n.gerichtmerkmalID,name:n.name,contraction:n.kuerzel,date:new Date(n.timestampLog),showInOverview:n.showInSpeiseplanOverview,showNotInFilter:void 0!==n.showNotInFilter&&null!==n.showNotInFilter&&n.showNotInFilter,ordering:n.reihenfolgeInApp,image:n.logoImage,imageId:n.id,translations:{name:n.name}})})),t}},news:{name:"news",synchronizable:!0,locationRequired:!0,dataRevisionName:"news",modules:[42],mappingFn:function(e){var t=[];return q.each(e,(function(e,n){t.push({id:n.id,image:void 0!==n.newsImage&&null!==n.newsImage?n.newsImage:"./images/news/news_default.jpg",date:new Date(n.datum),translations:{name:n.titel,description:n.inhaltRichtext}})})),t}},feedbackSettings:{name:"feedbackSettings",locationRequired:!0,synchronizable:!0,dataRevisionName:"ifeedbacksettings",modules:[46,43],mappingFn:function(e){var t=[];return q.each(e,(function(e,n){var i="OUTLET",a=n.outletID;void 0!==n.standortID&&null!==n.standortID&&n.standortID>-1&&(i="LOCATION",a=n.standortID),t.push({id:n.id,entity:i,image:n.feedbackImage,entity_id:a,translations:{name:void 0!==n.anzeigename&&null!==n.anzeigename?n.anzeigename:n.name,description:null}})})),t}},settings:{name:"settings",synchronizable:!0,locationRequired:!0,dataRevisionName:"forceSynch",initialNeeded:!0,params:{platform:L.STANDALONE?L.PlatformTypes.touch:L.PlatformTypes.default},updateStrategy:{strategy:"insertOrUpdate",keyColumn:"key"},mappingFn:function(e,t){var n=[];return q.each(e,(function(e,t){void 0!==t.name&&n.push({key:"setting."+t.name,value:t})})),n}},settingsGlobal:{name:"settingsGlobal",synchronizable:!0,locationRequired:!1,dataRevisionName:"forceSynch",initialNeeded:!0,params:{platform:L.STANDALONE?L.PlatformTypes.touch:L.PlatformTypes.default},updateStrategy:{strategy:"insertOrUpdate",keyColumn:"key"},mappingFn:function(e,t){var n=[];return q.each(e,(function(e,t){void 0!==t.name&&n.push({key:"setting."+t.name,value:t})})),n}},feedbackQuestionOutlet:{name:"feedbackQuestionOutlet",synchronizable:!0,locationRequired:!0,dataRevisionName:"ifeedbacksettings",modules:[46,43],mappingFn:function(e){var t=[];return q.each(e,(function(e,n){t.push({id:n.id,name:n.name,feedbackType:2,type:n.feedbackTypeID,ordering:n.reihenfolge,additionalText:void 0!==n.infoTextRichtext&&null!==n.infoTextRichtext&&""!==n.infoTextRichtext?String(n.infoTextRichtext):"",log:n.timestampLog,feedback:n.iFeedbackSettingsID})})),t}},weblink:{name:"weblink",locationRequired:!0,synchronizable:!0,dataRevisionName:"weblink",modules:[50,51,52,58,59,60,65],mappingFn:function(e){var t=[];return q.each(e,(function(e,n){var i=null!==n.webLinkImage&&n.webLinkImage;t.push({id:n.id,location:n.standortID,name:n.titel,urlLink:n.urlLink,webLinkTypeID:n.webLinkTypeID,image:i,date:new Date(n.timestampLog),openInNewWindow:n.openInNewWindow})})),t}}},getEntities:function(){return this.data},get:function(e){return this.data[e]},render:function(){return null}},U=n(9),W="CONFIG_INIT",V="CONFIG_CHANGED",z="CONFIG_RESET",H="ERROR_STATE";function Y(e){return{type:W,config:e}}function K(e){return{type:V,config:e}}function J(){return{type:z}}function Q(e){return{type:H,model:e}}var X=n(9),Z=n(9),ee="PROCESS_STATE_CHANGED",te="PROCESS_QUEUE_ADD_FUNCTION",ne="PROCESS_QUEUE_ADD_REQUEST";function ie(e){return{type:ee,process:e}}function ae(e){return{type:ne,oRequest:e}}function re(e){return{type:te,fnProcess:e}}var oe=n(9),le=n(14),ce=n.n(le),se="FILTER_INIT",ue="FILTER_CHANGED",fe="FILTER_RESET";function pe(e){return{type:se,filter:e}}function de(e){return{type:ue,filter:e}}function he(){return{type:fe,filter:{}}}var me=n(9),ge="TRANSLATION_INIT",ve="TRANSLATION_SYNC";function ye(e){return{type:ge,translate:e}}function be(e){return{type:ve,translation:e}}var ke=n(9),_e="LIGHTBOX_CONTENT_CHANGED",Ee="LIGHTBOX_VISIBILITY_CHANGED";function we(e){return{type:_e,content:e}}function Ce(e){return{type:Ee,visible:e}}var Ne=n(9),Se="TRACK_EVENT",Oe="REMOVE_EVENT";function Re(e){return{type:Se,event:e}}function Ie(){return{type:Oe}}n(9);var Te="MEAL_FEEDBACK_INIT",xe="MEAL_FEEDBACK_VALUE_CHANGED",De="MEAL_FEEDBACK_SUBMIT",Me="MEAL_FEEDBACK_SENT";function Ae(e){return{type:xe,value:e}}function Le(){return{type:Te}}function Fe(e){return{type:De,meal:e}}function Pe(e){return{type:Me,mealId:e}}var Be=n(9),je=function(e){var t=e.feedback;void 0===t&&(t={});var n=e.finished,i=e.sent;void 0===n&&(n=[]),void 0===i&&(i=[]),localStorage.setItem("mealFeedback",JSON.stringify({feedback:t,finished:n,sent:i}))},qe="FEEDBACK_INIT",Ge="FEEDBACK_VALUE_CHANGED",Ue="FEEDBACK_SUBMIT",We="FEEDBACK_SENT";function Ve(e){return{type:Ge,value:e}}function ze(){return{type:qe}}function He(e){return{type:Ue,feedback:e}}function $e(e){return{type:We,feedback:e}}var Ye=n(9),Ke=function(e){var t=e.feedback;void 0===t&&(t={});var n=e.finished,i=e.sent;void 0===n&&(n=[]),void 0===i&&(i=[]),localStorage.setItem("feedback",JSON.stringify({feedback:t,finished:n,sent:i}))},Je="TOOLTIP_ADD",Qe="TOOLTIP_SHOW";function Xe(e){return{type:Je,tooltip:e}}function Ze(e){return{type:Qe,tooltip:e}}var et=n(9),tt="VOTE_INIT",nt="VOTE_SUBMIT",it="VOTE_SENT";function at(){return{type:tt}}function rt(e){return{type:nt,voting:e}}function ot(e){return{type:it,voting:e}}var lt=n(9),ct=function(e){var t=e.submitted,n=e.sent;void 0===t&&(t=[]),void 0===n&&(n=[]),localStorage.setItem("vote",JSON.stringify({submitted:t,sent:n}))},st=function(){var e=JSON.parse(localStorage.getItem("vote")),t=[],n=[];return null!==e&&(void 0!==e.submitted&&(t=e.submitted),void 0!==e.sent&&(n=e.sent)),{submitted:t,sent:n}},ut="RECIPE_FILTER_CHANGED",ft="RECIPE_FILTER_RESET",pt="RECIPE_FAVORITE_CHANGED",dt="RECIPE_LOAD_LOCALSTORAGE";function ht(e){return{type:ut,filter:e}}function mt(e){return{type:ft,filter:e}}function gt(e){return{type:pt,favorite:e}}function vt(){return{type:dt}}var yt=n(9),bt="DEVICE_CONFIG_ORIENTATION_CHANGED";function kt(e){return{type:bt,config:e}}var _t=Object(E.b)({store:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case N:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return U.extend({},e,{store:{},ready:!1,changeTime:(new Date).getTime()})}(e,t);case S:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return U.extend({},e,{store:t.store,ready:!0,changeTime:(new Date).getTime()})}(e,t);case O:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return U.extend({},e,{reloadConfig:t.reloadConfig})}(e,t);case R:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{syncModels:[]},t=arguments.length>1?arguments[1]:void 0,n=e.syncModels;void 0===n&&(n=[]);var i=n.indexOf(t.model);return-1!==i?n.splice(i,1):n.push(t.model),G.get(t.model).process=!1,U.extend({},e,{syncModels:n})}(e,t);default:return e}},translation:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"TRANSLATION_INIT":return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{translation:{translate:function(e){return e}}},t=arguments.length>1?arguments[1]:void 0,n=ke.extend({},e.translation,{translate:t.translate});return ke.extend({},e,{translation:n})}(e,t);case"TRANSLATION_SYNC":return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=ke.extend({},e.translation,{translations:t.translation});return ke.extend({},e,{translation:n})}(e,t);default:return e}},filter:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;switch(n.type){case"FILTER_INIT":return null==(e=JSON.parse(localStorage.getItem("filter")))&&(e={allergens:{},additives:{},features:{},day:new Date,featureFilterSelective:!1,active:!1,category:null,cw:null}),{type:se,filter:e};case"FILTER_CHANGED":return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=me.extend({},e.filter);Object.keys(t.filter).map((function(i){if("object"!==A()(n[i])||null===n[i])return"object"===A()(t.filter[i])?null===t.filter[i]?(n=me.extend({},n,t.filter),me.extend({},e,n)):(n=me.extend({},n,ce()({},i,t.filter)),me.extend({},e,n)):(n=me.extend({},n,t.filter),me.extend({},e,n));var a=n[i];if("object"!==A()(t.filter[i])||null===t.filter[i])return n=me.extend({},n,t.filter),me.extend({},e,n);Object.keys(t.filter[i]).map((function(r){var o=a[r];if("object"!==A()(o)||null===o){var l=me.extend({},o,ce()({},r,[t.filter[i][r]]));return n=me.extend({},n,ce()({},i,l)),me.extend({},e,n)}var c=a[r].indexOf(t.filter[i][r]);-1===c?a[r].push(t.filter[i][r]):a[r].splice(c,1),n=me.extend({},n,ce()({},i,a))}))}));var i=me.extend({},n);return i.category=null,i.day=null,i.cw=null,localStorage.setItem("filter",JSON.stringify(i)),me.extend({},e,{filter:n})}(t,n);case"FILTER_RESET":return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={allergens:{},additives:{},features:{},day:e.filter.day,featureFilterSelective:!1,active:!1,category:null,cw:e.filter.cw};return L.STANDALONE&&(t.day=new Date,t.cw=null),localStorage.setItem("filter",JSON.stringify(t)),{type:se,filter:t}}(t);default:return t}},process:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case ee:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return oe.extend({},e,{inProgress:t.process})}(e,t);case te:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{queue:{}},t=arguments.length>1?arguments[1]:void 0,n={};void 0!==e.queue&&(n=e.queue);var i=[];return void 0!==n.toDo&&(i=n.toDo),i.push(t.fnProcess),n=oe.extend({},n,{toDo:i}),oe.extend({},e,{queue:n})}(e,t);case ne:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n={};void 0!==e.queue&&(n=e.queue);var i=[];return void 0!==n.toDo&&(i=n.toDo),i.push(t.oRequest),n=oe.extend({},n,{toDo:i}),oe.extend({},e,{queue:n})}(e,t);default:return e}},lightbox:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case _e:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return Ne.extend({},e,{content:t.content})}(e,t);case Ee:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return Ne.extend({},e,{visible:t.visible})}(e,t);default:return e}},config:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"CONFIG_INIT":return function(){return{type:W,config:(arguments.length>1?arguments[1]:void 0).config}}(e,t);case"CONFIG_CHANGED":return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=X.extend({},e.config);return Object.keys(t.config).forEach((function(e){n[e]=t.config[e]})),n=X.extend({},n,{error:null}),X.extend({},e,{config:n})}(e,t);case"CONFIG_RESET":return function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}}(e);case"ERROR_STATE":return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=X.extend({},e.config,{error:t.model});return X.extend({},e,{config:n})}(e,t);default:return e}},settings:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"SETTING_INIT":return function(e,t){return Z.extend({},e,t.settings)}(e,t);case"SETTING_CHANGED":return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=Z.extend({},e.settings);return Object.keys(t.settings).forEach((function(e){n[e]=t.settings[e]})),n=Z.extend({},n,{error:null}),Z.extend({},e,n)}(e,t);case"SETTING_RESET":return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=Z.extend({},e.settings,{error:t.model});return Z.extend({},e,{settings:n})}(e);case"ERROR_SETTING_STATE":return function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}}(e,t);default:return e}},usageTracking:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"TRACK_EVENT":return function(){return{type:Se,event:(arguments.length>1?arguments[1]:void 0).event}}(e,t);case"REMOVE_EVENT":return{};default:return e}},mealFeedback:function(){var e,t,n,i,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;switch(r.type){case xe:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{feedback:{}},t=arguments.length>1?arguments[1]:void 0,n=e.feedback,i=!1;if(void 0===n&&(n={}),void 0!==t.value){var a=Object.keys(t.value)[0],r=n[a];void 0===r&&(r={});var o=Be.extend({},r,t.value[a]);n[a]=o,i=void 0===e.changed||!e.changed}var l=Be.extend({},e,{feedback:n,changed:i});return je(l),l}(a,r);case De:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=e.finished;void 0===n&&(n=[]),n.push(t.meal.id);var i=Be.extend({},e,{finished:n});return je(i),i}(a,r);case Me:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=e.sent;void 0===n&&(n=[]),t.mealId&&n.push(parseInt(t.mealId));var i=Be.extend({},e,{sent:n});return L.STANDALONE&&(i=Be.extend({},e,{sent:n,feedback:{},finished:[]})),je(i),i}(a,r);case Te:return e=JSON.parse(localStorage.getItem("mealFeedback")),t=[],n=[],i={},null!=e&&(i=e.feedback,null!==e.finished&&"null"!==e.finished&&(t=e.finished),null!==e.sent&&"null"!==e.sent&&(n=e.sent)),{type:Te,feedback:i,finished:t,sent:n};default:return a}},feedback:function(){var e,t,n,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=arguments.length>1?arguments[1]:void 0;switch(a.type){case Ge:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{feedback:{}},t=arguments.length>1?arguments[1]:void 0,n=e.feedback,i=!1;if(void 0===n&&(n={}),void 0!==t.value){var a=Object.keys(t.value)[0],r=n[a];void 0===r&&(r={});var o=Ye.extend({},r,t.value[a]);n[a]=o,i=void 0===e.changed||!e.changed}var l=Ye.extend({},e,{feedback:n,changed:i});return Ke(l),l}(i,a);case Ue:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=e.finished,i=e.sent;void 0===n&&(n=[]),void 0===i&&(i=[]),-1===n.indexOf(t.feedback.id)&&n.push(t.feedback.id);var a=Ye.extend({},e,{finished:n,sent:i});return Ke(a),a}(i,a);case We:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=e.feedback,i=e.finished,a=i.indexOf(t.feedback),r=i;r.splice(a,1);var o=Ye.extend({},n);return delete o[t.feedback],Ye.extend({},e,{finished:r,feedback:o})}(i,a);case qe:return e=JSON.parse(localStorage.getItem("feedback")),t=[],n={},null!=e&&(n=e.feedback,null!==e.finished&&"null"!==e.finished&&(t=e.finished)),{type:qe,feedback:n,finished:t,sent:[]};default:return i}},tooltip:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case Je:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=void 0!==e.tooltips?e.tooltips:[];return n.push(t.tooltip),et.extend({},e,{tooltips:n})}(e,t);case Qe:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=void 0!==e.tooltips?e.tooltips:[],i=n.indexOf(t.tooltip);return-1!==i&&n.splice(i,1),et.extend({},e,{tooltips:n})}(e,t);default:return e}},vote:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case tt:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return lt.extend({},e,st())}(e);case nt:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=e.submitted;void 0===n&&(n=st().submitted),n=lt.extend({},n,t.voting);var i=lt.extend({},e,{submitted:n});return ct(i),i}(e,t);case it:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=e.sent;n.push(t.voting);var i=lt.extend({},e,{sent:n});return ct(i),i}(e,t);default:return e}},recipe:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case ut:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=void 0!==e.filter?e.filter:{},i=yt.extend({},n,t.filter),a=yt.extend({},e,{filter:i});return localStorage.setItem("recipe",JSON.stringify(a)),a}(e,t);case ft:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=yt.extend({},e,{filter:{}});return localStorage.setItem("recipe",JSON.stringify(t)),t}(e,t);case pt:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=void 0!==e.favorites?e.favorites:[],i=n.indexOf(t.favorite);-1===i?n.push(t.favorite):n.splice(i,1);var a=yt.extend({},e,{favorites:n});return localStorage.setItem("recipe",JSON.stringify(a)),a}(e,t);case dt:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return yt.extend({},e,null!==localStorage.getItem("recipe")?JSON.parse(localStorage.getItem("recipe")):{filter:{},favorites:[]})}(e,t);default:return e}},deviceConfig:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return t.type===bt?function(){return(arguments.length>1?arguments[1]:void 0).config}(e,t):e}}),Et="SETTING_INIT",wt="SETTING_CHANGED",Ct="SETTING_RESET",Nt="ERROR_SETTING_STATE";function St(e){return{type:Et,settings:e}}function Ot(e){return{type:wt,settings:e}}function Rt(){return{type:Ct}}function It(e){return{type:Nt,model:e}}var Tt={store:i,config:a,settings:g,translation:l,filter:o,lightbox:c,process:r,usageTracking:s,mealFeedback:u,feedback:f,tooltip:p,vote:d,recipe:h,deviceConfig:m},xt=n(4),Dt=n.n(xt),Mt=n(5),At=n.n(Mt),Lt=n(1),Ft=n.n(Lt),Pt=n(223),Bt=n.n(Pt),jt=function(){function e(t,n){P()(this,e),this.location=n,this.language=t}return j()(e,[{key:"request",value:function(e,t,i){var a=n(9),r=e.url,o=!1,l=L.PROXY_URL;e.name===G.getEntities().translation.name&&(l=r,o=!0);var c,s=this.location;null===s&&e.locationRequired&&i(),o||(c={token:L.PROXY_TOKEN,model:e.name,location:s,languagetype:this.language}),"object"===A()(e.params)&&(c=a.extend({},c,e.params)),a.ajax({url:l,method:"GET",data:c,cache:!1,dataType:"json",success:function(n){t(n,e)},error:function(n){window.navigator.userAgent.indexOf("Trident/")&&200===n.status?t(n,e):i(n,e)}})}}]),e}();function qt(e){this.dbname=e}qt.prototype.loadDatabase=function(e,t){new Promise((function(n,i){try{var a=decodeURI(localStorage.getItem(e));a?n(JSON.parse(a)):t()}catch(e){console.warn("promise failed"),t(),i(e)}})).then((function(e){t(e)}))},qt.prototype.saveDatabase=function(e,t,n){n(localStorage.setItem(e,encodeURI(t)))},qt.prototype.deleteDatabase=function(e,t){t(localStorage.removeItem(e))};var Gt=qt,Ut=n(22),Wt=(n(112),{language:null,setLocale:function(e){Wt.language=e,Ut.locale(Wt.language)},getLocaleDateString:function(e){return e=Wt.getCheckedDateObject(e),Ut(e).format("DD.MM.YYYY")},getDateStringJJJJMMDD:function(e){return e=Wt.getCheckedDateObject(e),Ut(e).format("YYYYMMDD")},getDateStringJJJJMMDD_V2:function(e){return e=Wt.getCheckedDateObject(e),Ut(e).format("YYYY-MM-DD")},getDateStringDDMMJJJJ:function(e){return e=Wt.getCheckedDateObject(e),Ut(e).format("DDMMYYYY")},getLocaleDateTimeString:function(e){return e=Wt.getCheckedDateObject(e),Ut(e).format("DD.MM.YYYY hh:mm:ss")},getLocaleTimetring:function(e){return"string"==typeof e?new Date(e):Ut(e).format("hh:mm:ss")},getCheckedDateObject:function(e){return"string"==typeof e?Ut(e).toDate():e},getDateString:function(e){return null!==(e=Wt.getCheckedDateObject(e))&&"object"===A()(e)&&Ut(e).format("YYYY-MM-DDT00:00:00.000")+"Z"},isSameDay:function(e,t){return e=Wt.getCheckedDateObject(e),t=Wt.getCheckedDateObject(t),Ut(e).isSame(Ut(t),"day")},isBetween:function(e,t,n){return e=Wt.getCheckedDateObject(e),t=Wt.getCheckedDateObject(t),n=Wt.getCheckedDateObject(n),Ut(e).isBetween(Ut(t),Ut(n))},isBefore:function(e,t){return e=Wt.getCheckedDateObject(e),t=Wt.getCheckedDateObject(t),Ut(e).isBefore(Ut(t),"day")},isAfter:function(e,t){return e=Wt.getCheckedDateObject(e),t=Wt.getCheckedDateObject(t),Ut(e).isAfter(Ut(t),"day")},getDateFromString:function(e){var t=Ut(e);return null!==t&&"object"===A()(t)&&t.toDate()},getFirstDateOfISOWeek:function(e){var t=e.split("-"),n=t[0],i=t[1],a=new Date(n,0,1+7*(i-1)),r=a.getDay(),o=a;return r<=4?o.setDate(a.getDate()-a.getDay()+1):o.setDate(a.getDate()+8-a.getDay()),o},localeMonthShort:function(e){if(void 0!==e&&0!==e.length){"string"==typeof e&&(e=new Date(e));return e.toLocaleDateString(Wt.language,{month:"short"})}},localeWeekdayShort:function(e){if(void 0!==e&&0!==e.length){"string"==typeof e&&(e=new Date(e));return e.toLocaleDateString(Wt.language,{weekday:"short"})}},getCalendarWeek:function(e){return Ut(e).isoWeekYear()+"-"+Ut(e).format("WW")},isBeforeCalendarWeek:function(e,t){var n=Wt.getCheckedDateObject(e),i=parseInt(t.substr(5,2)),a=parseInt(t.substr(0,4));return!isNaN(i)&&(Ut(n).isoWeek()i&&Ut(n).year()>a)},calculateNextMonday:function(e){var t=new Date(e);t.setDate(e.getDate()+(8-e.getDay())%7);var n=t.getFullYear(),i=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0");return"".concat(n,"-").concat(i,"-").concat(a)}});function Vt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var zt=n(9),Ht=function(e){Dt()(n,e);var t=Vt(n);function n(e){var i;P()(this,n),(i=t.call(this,e)).storage=new Bt.a("test.db",{autosave:!1,verbose:!0,autoload:!0,autoloadCallback:function(){i.init()},adapter:new Gt});var a=new Date;return a.setHours(0),i.lastSynced=a,i.todayForNextForceSync=Wt.getDateStringJJJJMMDD_V2(a),i.nextForceSyncCalculated=Wt.calculateNextMonday(a),i}return j()(n,[{key:"init",value:function(){var e=this,t=G.getEntities();Object.keys(t).forEach((function(n){t[n].collection=e.loadCollection(t[n].name)})),this._initialSync().finally((function(){e.props.onStoreChanged(e.storage),e._resetReloadConfig()})),G.store=this}},{key:"_initialSync",value:function(){var e=this;return new Promise((function(t,n){G.get("dataRevision").process=!0,e._syncModel(G.get("dataRevision"),e._onSyncedDataRevision.bind(e)).then((function(e){return t(e)}),(function(e){return n(e)})),e.lastSynced.setTime((new Date).getTime())}))}},{key:"_getDataRevisionCollection",value:function(){var e=G.get("dataRevision").collection;return null==e&&(e=this.storage.getCollection("dataRevision")||this.storage.addCollection("dataRevision",{unique:["key"]})),e}},{key:"_getSynchronizableEntitites",value:function(){var e=this,t=[];return zt.each(G.getEntities(),(function(n,i){if(i.synchronizable){var a=e.props.config,r=a.inited,o=a.location;(!0===r||!0===i.initialNeeded&&(!i.locationRequired||i.locationRequired&&null!==o))&&t.push(i)}})),t}},{key:"_hasElementInEntitiesList",value:function(e,t){var n=!1;return t.map((function(t){t.model===e&&(n=!0)})),n}},{key:"_checkModuleIsAvaiable",value:function(e,t){var n=[],i=G.get(e.model);return i.hasOwnProperty("modules")?t.content.map((function(t){if(-1!==i.modules.indexOf(t.modulID)&&!1===this._hasElementInEntitiesList(e.model,n))n.push(e);else{var a=G.get(e.model);a.locationRequired&&a.synchronizable&&a.collection.clear()}}),this):n.push(e),i.locationRequired&&i.synchronizable&&i.collection.clear(),n.length>0}},{key:"_onSynced",value:function(){var e=this,t=this.outdatedEntities,n=this.revisionResponse;t.map((function(t){var n=G.get(t.model);n.process=!0,e._syncModel(n)})),G.get("dataRevision").process=!1,this.addData(G.get("dataRevision"),n.content,this),this._persistDB()}},{key:"_getNecessaryEntitiesForActiveModules",value:function(e){var t=this;this.outdatedEntities=this.outdatedEntities.filter((function(n){return t._checkModuleIsAvaiable(n,e)})),this._onSynced()}},{key:"_getOutdatedEntitiesByRevision",value:function(e){var t=[],n=this._getSynchronizableEntitites(),i=G.get("dataRevision").mappingFn(e.content,this),a=!1;void 0!==this.props.store.reloadConfig&&void 0!==this.props.store.reloadConfig.force&&(a=this.props.store.reloadConfig.force);var r=this._getDataRevisionCollection();return n.map((function(e){var n=r.findOne({key:{$eq:"dataRevision"===e.name?e.dataRevisionName:e.name}});"imageScalingTypes"===e.name?t.push({model:e.name,targetRevision:-1}):i.map((function(i){e.name===i.key&&(null===n||i.value>n.value||!0===a)&&t.push({model:e.name,targetRevision:i.value})}))})),t.map((function(e){var n=G.get(e.model);n.hasOwnProperty("dependentEntities")&&"object"===A()(n.dependentEntities)&&n.dependentEntities.map((function(e){!1===this._hasElementInEntitiesList(e,t)&&t.push({model:e,targetRevision:!1})}),this)}),this),t}},{key:"_onSyncedDataRevision",value:function(e){var t=this;return new Promise((function(n,i){t.revisionResponse=e;var a=G.get("dataRevision").collection.findOne({key:{$eq:"forceSynch"}});null===t.props.config.nextForceSync&&t.props.setConfig({nextForceSync:t.nextForceSyncCalculated}),(null!==a&&e.content.hasOwnProperty("forceSynch")&&a.value=t.props.config.nextForceSync)&&(t.props.onForceSync(),t.props.setConfig({nextForceSync:t.nextForceSyncCalculated})),t.outdatedEntities=t._getOutdatedEntitiesByRevision(e),!0===t.props.config.inited||"true"===t.props.config.inited?t._syncModel(G.get("moduls"),t._getNecessaryEntitiesForActiveModules.bind(t)).then((function(e){return n(e)}),(function(e){return i(e)})):(t._getNecessaryEntitiesForActiveModules.bind(t)(),n(null))}))}},{key:"_successFn",value:function(e,t,n){var i=t;e.success&&i.addData(n,e.content,i)}},{key:"_FailFn",value:function(){}},{key:"_syncModel",value:function(e,t,n){var i=this;return new Promise((function(a,r){var o=1;void 0!==i.props.config&&(o=i.props.config.language);var l=null;void 0!==i.props.config&&(l=i.props.config.location);var c=new jt(o,l);void 0===t&&(t=i._successFn),"undefined"==typeof _FailFn&&(n=i._FailFn),(e.synchronizable||"dataRevision"===e.name)&&(i.props.onStoreSync(e.name),c.request(e,(function(r){!r.hasOwnProperty("success")||r.success?t(r,i,e):n(r,i,e),i.props.onStoreSync(e.name),a(r)}),(function(t){n(t,i,e),i.props.onStoreSync(e.name),r(t)})))}))}},{key:"_sync",value:function(){var e=this;void 0!==this.props.store.reloadConfig.model?this._syncModel(this.loadCollection(G.get(this.props.store.reloadConfig.model)),this):this._initialSync().finally((function(){e._persistDB(),e._resetReloadConfig()}))}},{key:"getEntitites",value:function(){return G.getEntities()}},{key:"_resetReloadConfig",value:function(){this.props.onResetReloadConfig()}},{key:"addData",value:function(e,t,n){void 0===n&&(n=this),n.add(e,e.mappingFn(t,this),n)}},{key:"add",value:function(e,t,n){void 0===n&&(n=this),"string"==typeof e&&(e=G.get(e));var i=n.loadCollection(e),a="id";void 0!==e.updateStrategy&&void 0!==e.updateStrategy.keyColumn&&(a=e.updateStrategy.keyColumn),i.removeDataOnly(),t.forEach((function(e){var t=i.where((function(t){return t[a]===e[a]}));t.length>0?i.update(t[0]):i.insert(e)})),this.props.store.hasOwnProperty("syncModels")&&0===this.props.store.syncModels.length&&n.props.onStoreChanged(n.storage),n._persistDB()}},{key:"_persistDB",value:function(){this.storage.saveDatabase()}},{key:"loadCollection",value:function(e){var t=e;"string"!=typeof e&&(t=e.name);var n="id";return void 0!==e.updateStrategy&&void 0!==e.updateStrategy.key&&(n=e.updateStrategy.key),this.storage.getCollection(t)||this.storage.addCollection(t,{unique:[n]})}},{key:"_checkUpdate",value:function(){var e=new Date,t=!1;void 0!==this.props.store.reloadConfig.force&&(t=this.props.store.reloadConfig.force),!t&&L.SYNC_INTERVAL&&e.getTime()-this.lastSynced.getTime()>L.SYNC_INTERVAL&&(t=!0),t&&this.storage.collections.length>0&&this._sync()}},{key:"componentDidUpdate",value:function(){var e=this.props.store;void 0!==e.syncModels&&0!==e.syncModels.length||void 0===e.reloadConfig||this._checkUpdate()}},{key:"render",value:function(){return null}}]),n}(y.a.Component),$t=Object(_.b)((function(e){return{store:e.store,reloadConfig:e.reloadConfig,config:e.config.config}}),(function(e){return{onStoreInit:function(t){e(I())},onStoreChanged:function(t){e(T(t))},onStoreSync:function(t){e(D(t))},onResetReloadConfig:function(){e(x({}))},onForceSync:function(){e(x({force:!0,locationRequired:!0}))},setConfig:function(t){e(Tt.config.configChanged(t))}}}))(Ht);function Yt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Kt=function(e){Dt()(n,e);var t=Yt(n);function n(e){return P()(this,n),t.call(this,e)}return j()(n,[{key:"init",value:function(e){if(void 0===e){var t=localStorage.getItem("availableOutlets");t=null===t?[]:JSON.parse(t),e={location:localStorage.getItem("location"),outlet:localStorage.getItem("outlet"),language:localStorage.getItem("language"),inited:localStorage.getItem("inited"),forceSettings:localStorage.getItem("forceSettings"),sync:localStorage.getItem("sync"),nextForceSync:localStorage.getItem("nextForceSync"),version:localStorage.getItem("version"),reset:localStorage.getItem("reset"),availableOutlets:t,menu:localStorage.getItem("menu"),initialFilterRequest:localStorage.getItem("initialFilterRequest"),privacyFeedbackAllowed:localStorage.getItem("privacyFeedbackAllowed"),privacyGoogleMapsAllowed:localStorage.getItem("privacyGoogleMapsAllowed"),privacyPushAllowed:localStorage.getItem("privacyPushAllowed"),initialPrivacyCookie:localStorage.getItem("initialPrivacyCookie")};var n=/^\d*$/g;Object.keys(e).map((function(t){"null"===e[t]?e[t]=null:"true"===e[t]?e[t]=!0:"false"===e[t]?e[t]=!1:e[t]instanceof Array||!n.test(e[t])||(e[t]=parseInt(e[t]))}))}this.props.onConfigInit(e)}},{key:"checkVersion",value:function(){var e=this,t=this.props.config,n=t.inited,i=t.version;!L.STANDALONE&&null!==i&&"/Update"!==location.pathname&&n&&Object({VERSION:"2.35.0",NODE_ENV:"production"}).hasOwnProperty("VERSION")&&function(t,n){if(null==t)return e.test=!1,!0;if(null==n)return!1;for(var i=t.split("."),a=n.split("."),r=0;rl)return!0;if(o0&&(t=G.get("language").collection);var n=null;return void 0!==e.deviceConfig&&(n=e.deviceConfig),{config:e.config.config,device:n,state:e,languageCollection:t}}),(function(e){return{onConfigInit:function(t){e(Y(t))},onVersionChanged:function(){this.history.push("/Update")},onConfigChanged:function(t){e(K(t))},storeReload:function(){e(Tt.store.storeReload({force:!0,locationRequired:!0}))},redirect:function(){this.history.push("/Menu")}}}))(Kt));function Qt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Xt=n(9),Zt=function(e){Dt()(n,e);var t=Qt(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={inProcess:!1},i}return j()(n,[{key:"_setVisibleState",value:function(){this.state.inProcess?Xt(this.refs.main).show():Xt(this.refs.main).hide()}},{key:"componentDidUpdate",value:function(){var e=this.props.syncInProcess||this.props.inProgress&&(0!==this.props.queue.process.length||0!==this.props.queue.toDo.length);e!==this.state.inProcess&&this.setState({inProcess:e}),this._setVisibleState()}},{key:"componentDidMount",value:function(){var e=this.props.syncInProcess||this.props.inProgress&&(0!==this.props.queue.process.length||0!==this.props.queue.toDo.length);e!==this.state.inProcess&&this.setState({inProcess:e}),this._setVisibleState()}},{key:"render",value:function(){return this.props.process.toDo.length>0&&this._addElementsToQueue(),this._process(),!this.props.inProgress||0===this.props.queue.process.length&&0===this.props.queue.toDo.length?void 0!==this.props.main&&this.props.main?y.a.createElement("div",{ref:"main",className:"overlay overlay-main"},y.a.createElement("i",{className:"fa fa-spinner fa-spin fa-3x fa-fw"})):null:y.a.createElement("div",{className:"overlay"},y.a.createElement("i",{className:"fa fa-spinner fa-spin fa-3x fa-fw"}))}},{key:"_addElementsToQueue",value:function(){var e=this;this.props.process.toDo.map((function(t,n){"function"==typeof t?e.props.queue.toDo.push(t):e.props.queue.toDo.push(e._addObject(t)),e.props.process.toDo.splice(n,1)}))}},{key:"_addObject",value:function(e){return function(){console.warn("expected function for queue, get:",e)}}},{key:"_callback",value:function(e){this.props.queue.process.splice(e),this.props.onQueueFinished()}},{key:"_process",value:function(){var e=this,t=this.props.queue.toDo.length;this.props.queue.toDo.length>=this.queueLimit&&(t=this.queueLimit);for(var n=0;n<=t;n++)e.props.queue.process.push(e.props.queue.toDo[0]),e.props.queue.toDo.splice(0,1);this._processQueue()}},{key:"_processQueue",value:function(){var e=this;e.props.queue.process.filter((function(e){return"function"==typeof e})).forEach((function(t,n){new Promise((function(e,n){try{e(t())}catch(e){console.warn("promise failed"),n(e)}})).then((function(t){e._callback(n)}))}))}}],[{key:"defaultProps",get:function(){return{queue:{toDo:[],process:[],failed:[]},queueLimit:5}}}]),n}(y.a.Component),en=Object(w.d)(Object(_.b)((function(e){var t=!1,n=G.getEntities();return Object.keys(n).forEach((function(e){n[e].process&&(t=!0)})),{syncInProcess:t,process:e.process.queue,inProgress:e.process.inProgress}}),(function(e){return{onQueueFinished:function(){e(ie(!1))}}}))(Zt));function tn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var nn=function(e){Dt()(n,e);var t=tn(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={language:null},i.props.onTranslationInit(i.translate),i}return j()(n,[{key:"translate",value:function(e){var t=e;return"object"===A()(this.translations)&&this.translations.length>0&&this.translations.forEach((function(n){e===n.translation_key&&(t=n.value)})),t}},{key:"_checkTranslations",value:function(){var e=this.props.collection;if(null===e)return null;if(parseInt(this.props.language)===this.state.language)return null;null===this.state.language&&L.STANDALONE&&this.setState({language:1});var t=null!==this.props.language?parseInt(this.props.language):parseInt(this.state.language);if(!isNaN(t)){var n=e.find({lang_key:{$eq:""+t}});this.props.onTranslationSync(n),this.setState({language:parseInt(t)})}}},{key:"componentDidMount",value:function(){this._checkTranslations()}},{key:"componentDidUpdate",value:function(){this.props.language!==this.state.language&&this._checkTranslations()}},{key:"render",value:function(){return null}}]),n}(y.a.Component),an=Object(_.b)((function(e){var t=null,n=null;return void 0!==e.config.config&&!1!==e.config.config.language&&null!==e.config.config.language&&void 0!==e.config.config.language&&(t=e.config.config.language),void 0!==G.get("translation").collection&&G.get("translation").collection.find().length>0&&(n=G.get("translation").collection),{language:t,translations:e.translation.translation,collection:n}}),(function(e){return{onTranslationInit:function(t){e(ye(t))},onTranslationSync:function(t){e(be(t))}}}))(nn),rn=n(12),on=n.n(rn);function ln(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var cn=n(9),sn=function(e){Dt()(n,e);var t=ln(n);function n(e){var i;P()(this,n),i=t.call(this,e);var a=on()(i),r=a.getQueue();return null===r&&(r=[]),a.queue=r,i}return j()(n,[{key:"_successFn",value:function(){}},{key:"_failFn",value:function(){}},{key:"_doRequest",value:function(e,t,n){var i=this,a=i._successFn;"function"==typeof t&&(a=t);var r=i._failFn;"function"==typeof n&&(r=n),cn.ajax({url:L.PROXY_URL,method:i.method,data:e,dataType:"json",success:a,error:r})}},{key:"getQueue",value:function(){return JSON.parse(localStorage.getItem("requestQueue"))}},{key:"persistQueue",value:function(){localStorage.setItem("requestQueue",JSON.stringify(this.queue))}},{key:"buildQueue",value:function(){}},{key:"processQueue",value:function(){}},{key:"render",value:function(){return null}}]),n}(y.a.Component);function un(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var fn=function(e){Dt()(n,e);var t=un(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).sqlStatements=["SELECT * FROM","DROP TABLE","DROP DATABASE","INSERT INTO","DELETE FROM","ALTER TABLE","CREATE USER","DROP USER","GRANT ALL PRIVILEGES"],i}return j()(n,[{key:"_getOutlet",value:function(e){var t=G.get("menu").collection;if(void 0===t)return!1;var n=this.props.mealCollection.findOne({id:{$eq:parseInt(e)}});if(null===n)return!1;var i=t.findOne({id:{$eq:parseInt(n.menu)}});return null!==i&&i.outlet}},{key:"_filterSQLStatements",value:function(e){var t=e.toUpperCase();return this.sqlStatements.forEach((function(n){for(;-1!==t.indexOf(n);){var i=e.substr(0,t.indexOf(n));i+=e.substr(t.indexOf(n)+n.length),t=(e=i).toUpperCase()}})),e}},{key:"_checkValue",value:function(e){var t=$("");return t.html(e),e=(e=t.text()).replace(/['"\\\/]+/gim,""),e=this._filterSQLStatements(e)}},{key:"_getMealRequestData",value:function(e){var t=this;if(void 0===t.props.mealFeedback.feedback[e])return!1;var n=t.props.mealFeedback.feedback[e],i={location:t.props.location,request:"mealFeedback",token:L.PROXY_TOKEN,data:[]},a=t._getOutlet(e);if(!a)return!1;var r=(new Date).getTime();return Object.keys(n).forEach((function(o){i.data.push({dishId:e,value:t._checkValue(n[o]),timestamp:r,outletId:a,dishFeedbackId:o})})),i}},{key:"_dispatchMealFeedbackSent",value:function(e){this.props.dispatchMealFeedbackSent(e)}},{key:"_dispatchFeedbackSent",value:function(e){this.props.dispatchFeedbackSent(e)}},{key:"_getMealFeedbackRequests",value:function(){var e=[],t=this;return t.props.mealFeedback.finished.forEach((function(n){var i=!1;t.props.mealFeedback.sent.forEach((function(e){parseInt(n)!==parseInt(e)||L.STANDALONE||(i=!0)})),i||e.push(n)})),e}},{key:"_getFeedbackRequests",value:function(){var e=[],t=this;return void 0!==t.props.feedback.finished&&t.props.feedback.finished.forEach((function(n){-1===t.props.feedback.sent.indexOf(n)&&e.push(n)})),e}},{key:"_checkMealFeedbackRequest",value:function(){var e=this;e._getMealFeedbackRequests().forEach((function(t){var n=e._getMealRequestData(t);e._doRequest(n,(function(){e._dispatchMealFeedbackSent(t)}),(function(){console.log("failed")}))}))}},{key:"_getRequestData",value:function(e){if(void 0===this.props.feedback.feedback[e])return!1;var t=this.props.feedback.feedback[e],i={request:"feedback",token:L.PROXY_TOKEN,data:[]},a=n._getFormattedDate(new Date);return Object.keys(t).forEach((function(n){i.data.push({feedback:e,feedbackField:n,value:t[n],date:a})})),i}},{key:"_checkFeedbackRequest",value:function(){var e=this;e._getFeedbackRequests().forEach((function(t){var n=e._getRequestData(t);e._doRequest(n,(function(){e._dispatchFeedbackSent(t)}),(function(){console.log("failed")}))}))}},{key:"render",value:function(){var e=this;return null!==e.props.mealFeedback&&null!==e.props.mealCollection&&e._checkMealFeedbackRequest(),null!==e.props.feedback&&e._checkFeedbackRequest(),null}}],[{key:"_formatDatePart",value:function(e){return 1===(e=String(e)).length&&(e="0"+e),e}},{key:"_getFormattedDate",value:function(e){return e.getUTCFullYear()+"-"+n._formatDatePart(e.getUTCMonth()+1)+"-"+n._formatDatePart(e.getUTCDate())+"T"+n._formatDatePart(e.getUTCHours())+":"+n._formatDatePart(e.getUTCMinutes())+":"+n._formatDatePart(e.getUTCSeconds())}}]),n}(sn),pn=Object(w.d)(Object(_.b)((function(e){var t=null,n=null;void 0!==e.mealFeedback&&(t=e.mealFeedback),void 0!==e.feedback&&(n=e.feedback);var i=null;void 0!==G.get("meal").collection&&G.get("meal").collection.find().length>0&&(i=G.get("meal").collection);var a=null;return void 0!==e.config.config&&null!==e.config.config.location&&"null"!==e.config.config.location&&(a=e.config.config.location),{mealCollection:i,mealFeedback:t,feedback:n,location:a}}),(function(e){return{dispatchMealFeedbackSent:function(t){e(Tt.mealFeedback.mealFeedbackSent(t))},dispatchFeedbackSent:function(t){e(Tt.feedback.feedbackSent(t))}}}))(fn));function dn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var hn=function(e){Dt()(n,e);var t=dn(n);function n(e){var i;P()(this,n),(i=t.call(this,e)).fallbackTrackingSize=5;var a=localStorage.getItem("usageTracking");return null!==a&&(a=JSON.parse(a)),i.state={queue:a instanceof Array?a:[]},i}return j()(n,[{key:"_formatDatePart",value:function(e){return 1===(e=String(e)).length&&(e="0"+e),e}},{key:"_getFormattedDate",value:function(e){var t=this;return e.getUTCFullYear()+"-"+t._formatDatePart(e.getUTCMonth()+1)+"-"+t._formatDatePart(e.getUTCDate())+"T"+t._formatDatePart(e.getUTCHours())+":"+t._formatDatePart(e.getUTCMinutes())+":"+t._formatDatePart(e.getUTCSeconds())}},{key:"_trackEvents",value:function(){if(void 0!==this.props.config){var e=[];this.state.queue.forEach((function(t){e.push(t)}));var t={request:"usageTracking",token:L.PROXY_TOKEN,data:e};this._doRequest(t)}}},{key:"_checkTracking",value:function(){null!==this.props.mobileSettings&&void 0!==this.props.mobileSettings.trackingActive&&this.props.mobileSettings.trackingActive&&void 0!==this.props.usageTracking.event&&(this._addToQueue(),this.props.removeEvent())}},{key:"_addToQueue",value:function(){var e=this.state.queue;e.push({id:this.props.usageTracking.event,time:this._getFormattedDate(new Date),location:this.props.config.location,platform:L.STANDALONE?L.PlatformTypes.touch:L.PlatformTypes.default,version:L.VERSION}),this.setState({queue:e})}},{key:"_getTrackingQueueSize",value:function(){var e=this.fallbackTrackingSize;return null!==this.props.mobileSettings&&void 0!==this.props.mobileSettings.trackingPackageSize&&(e=parseInt(this.props.mobileSettings.trackingPackageSize)),e}},{key:"_checkQueue",value:function(){this.state.queue.length>=this._getTrackingQueueSize()&&(this._trackEvents(),this.setState({queue:[]})),localStorage.setItem("usageTracking",JSON.stringify(this.state.queue))}},{key:"componentDidUpdate",value:function(){this._checkTracking(),this._checkQueue()}},{key:"componentDidMount",value:function(){this._checkTracking(),this._checkQueue()}},{key:"render",value:function(){return null}}]),n}(sn),mn=Object(_.b)((function(e){var t=null;return void 0!==G.get("mobilesettings").collection&&G.get("mobilesettings").collection.find().length>0&&(t=G.get("mobilesettings").collection.find()[0]),{mobileSettings:t,usageTracking:e.usageTracking,config:e.config.config}}),(function(e){return{removeEvent:function(){e(Tt.usageTracking.removeEvent())}}}))(hn);function gn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var vn=function(e){Dt()(n,e);var t=gn(n);function n(e){return P()(this,n),t.call(this,e)}return j()(n,[{key:"hide",value:function(){this.props.hide()}},{key:"render",value:function(){var e=this,t=this.props.lightbox.content;if(null==t)return null;var n=this.props.lightbox.visible;return n?y.a.createElement("div",{className:(n?"visible":"")+" lightboxWrapper"},y.a.createElement("div",{className:"lightboxBackground",onClick:function(){e.hide()}}," "),y.a.createElement("div",{ref:"lightBoxContent",className:"lightboxContent"},t)):null}}]),n}(y.a.Component),yn=Object(w.d)(Object(_.b)((function(e){return{lightbox:e.lightbox}}),(function(e){return{hide:function(){e(Ce(!1))}}}))(vn));function bn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var kn=n(9),_n=function(e){Dt()(n,e);var t=bn(n);function n(e){return P()(this,n),t.call(this,e)}return j()(n,[{key:"rowMapping",value:function(e,t){var n=e.model+"-"+e.id+"-"+t,i=this,a=function(){kn(i.refs[n]).fadeOut("slow")};return setTimeout((function(){a()}),5e3),y.a.createElement("div",{key:t,onClick:a,ref:n,className:"tip tip-"+t+" "+e.state+" "},e.text)}},{key:"render",value:function(){var e=this;return null!==this.props.tooltips&&this.props.tooltips.length>0?y.a.createElement("div",{className:"tooltips"},this.props.tooltips.map((function(t,n){return e.rowMapping(t,n)}))):void 0!==this.props.text?y.a.createElement("div",{className:"tooltips"},this.rowMapping(this.props,0)):null}}]),n}(y.a.Component),En=Object(w.d)(Object(_.b)((function(e){var t=null;return void 0!==e.tooltip.tooltips&&(t=e.tooltip.tooltips),{tooltips:t}}),(function(e){return{onShowToolTip:function(t){e(Tt.tooltip.tooltipShow(t))}}}))(_n));function wn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Cn=n(9),Nn=function(e){Dt()(n,e);var t=wn(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).inited=!1,i.state={response:null},null!==L.BALANCE_URL&&(i.interval=setInterval(i._getBalance.bind(on()(i)),L.BALANCE_INTERVAL)),i}return j()(n,[{key:"_getLightboxContent",value:function(e){var t=e.Balance.toFixed(2),n=this.props.language;return null!==n&&"de"===n.code&&(t=t.replace(/\./g,",")),y.a.createElement("div",{className:"balanceWrapper"},y.a.createElement("p",{className:"balance"},this.props.translation," ",t," €"))}},{key:"_success",value:function(e){this.props.showBalanceLightbox(this._getLightboxContent(e)),this.active=!0}},{key:"_error",value:function(){this.active&&(this.props.hideBalanceLightbox(),this.active=!1)}},{key:"_getBalance",value:function(){var e=this;"/InitialConfig"!==e.props.location.pathname&&"/Settings"!==e.props.location.pathname&&"/Settings"!==e.props.location.pathname&&Cn.ajax({url:L.BALANCE_URL,method:"GET",complete:function(t){var n=t.responseText;if(void 0!==t.responseText&&null!==t.responseText){n=(n=n.slice(1,-1)).substring(0,n.length);try{var i=JSON.parse(n);-1!==Object.keys(i).indexOf("UID")&&""!==i.UID?e._success(i):e._error(t)}catch(n){e._error(t)}}}})}},{key:"render",value:function(){return"/InitialConfig"===this.props.location.pathname||"/Settings"===this.props.location.pathname||null===L.BALANCE_URL||void 0===L.BALANCE_URL?null:y.a.createElement("div",{className:"balance"})}}]),n}(y.a.Component),Sn=Object(w.d)(Object(_.b)((function(e){var t=null;void 0!==e.translation.translation&&null!==e.translation.translation.translate("gui_label_balance")&&(t=e.translation.translation.translate("gui_label_balance"));var n=null;return e.config.hasOwnProperty("state")&&e.config.config.hasOwnProperty("language")&&void 0!==G.get("language").collection&&(n=G.get("language").collection.findOne({id:{$eq:parseInt(e.config.config.language)}})),{lightbox:e.lightbox,language:n,translation:t}}),(function(e){return{showBalanceLightbox:function(t){e(Tt.lightbox.lightboxContentChanged(t)),e(Tt.lightbox.lightboxVisibilityChanged(!0))},hideBalanceLightbox:function(){e(Tt.lightbox.lightboxContentChanged(null)),e(Tt.lightbox.lightboxVisibilityChanged(!1))}}}))(Nn)),On=n(225);function Rn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var In=n(9),Tn=n(464),xn={desktop:"desktop",tablet:"tablet",phone:"phone"},Dn=xn,Mn=function(e){Dt()(i,e);var t=Rn(i);function i(e){var n;return P()(this,i),(n=t.call(this,e)).state={orientation:null,browser:null,version:null,os:null,mobile:!1,touch:!1},n}return j()(i,[{key:"_setBodyCssClass",value:function(){In("body").addClass(Tn.name),In("body").addClass(Tn.name+"-"+Tn.versionNumber)}},{key:"_setOrientation",value:function(){var e="";return In("body").removeClass("portrait"),In("body").removeClass("landscape"),e=window.innerHeight>window.innerWidth?"portrait":"landscape",In("body").addClass(e),In("body").addClass(Tn.platform),In("body").addClass(this._getDeviceType()),e}},{key:"_setProps",value:function(){this.props.onConfigChanged(this.state)}},{key:"_orientationChanged",value:function(){var e=this,t=this._setOrientation();t!==this.state.orientation&&this.setState({orientation:t},(function(){e._setProps()}))}},{key:"_checkUpdate",value:function(){var e=this,t=this._getConfig();Object(On.isEqual)(t,this.state)||this.setState(t,(function(){e._setProps()}))}},{key:"componentDidUpdate",value:function(e,t,n){this._checkUpdate()}},{key:"componentDidMount",value:function(){var e=this;null!==this.props.MobileDetect.os()&&In("body").addClass(this.props.MobileDetect.os()),In(window).on("orientationchange",(function(){e._checkUpdate()})),In(window).on("resize",(function(){e._checkUpdate()})),this._setBodyCssClass(),this._setConfig()}},{key:"_getDeviceType",value:function(){return L.RESPONSIVE&&this.props.MobileDetect.mobile()?this.props.MobileDetect.phone()&&this.props.MobileDetect.isPhoneSized(this.props.MobileDetect.maxPhoneWidth)?xn.phone:this.props.MobileDetect.tablet()&&!this.props.MobileDetect.isPhoneSized(this.props.MobileDetect.maxPhoneWidth)?xn.tablet:null:null}},{key:"_getConfig",value:function(){return{orientation:this._setOrientation(),browser:Tn.name,version:Tn.versionNumber,os:Tn.platform,resolution:{width:document.documentElement.clientWidth,height:document.documentElement.clientHeight},orientations:{landscape:"landscape",portrait:"portrait"},isMobile:L.RESPONSIVE&&(document.documentElement.clientWidth
0){var r=a[n],o=r.slice(0);i=void 0!==e.find?G.get(e.model).collection.chain().find(e.find).data():G.get(e.model).collection.data,r.forEach((function(e){if(null===i||0===Gn.grep(i,(function(t){return t.id===e})).length){var t=o.indexOf(e);-1!==t&&o.splice(t,1)}})),t[e.model][n]=o}})),JSON.stringify(e.props.filter)!==JSON.stringify(t)&&(e.props.onFilterSync(t),this.message=!0)}}},{key:"componentDidUpdate",value:function(){var e=this;void 0!==this.props.process&&!0===this.props.process&&(this.watchForSync=!0),void 0!==this.props.process&&!1===this.props.process&&!0===this.watchForSync&&setTimeout((function(){e._syncFilter()}),500)}},{key:"render",value:function(){var e=this,t=null;if(e.message){var n=y.a.createElement("p",{className:"error"},this.props.translation.translate("gui_label_filter_adjusted_message")),i=y.a.createElement("div",{className:"footer-content p-spacer"},y.a.createElement("button",{onClick:function(){e.message=null,e.setState({closeBtn:!0})}},this.props.translation.translate("gui_label_settings_close")));t=y.a.createElement(jn,{message:n,footer:i,openModal:!0})}return t}}]),n}(y.a.Component),Wn=Object(_.b)((function(e){return{translation:e.translation.translation,config:e.config.config,filter:e.filter.filter,process:G.get("dataRevision").process}}),(function(e){return{onFilterSync:function(t){e(Tt.filter.filterChanged(t))}}}))(Un),Vn=n(9),zn=n.n(Vn),Hn=function(e){var t,n,i,a,r,o,l,c,s,u,f,p=function(e,t){return e<>>32-t},d=function(e,t){var n,i,a,r,o;return a=2147483648&e,r=2147483648&t,o=(1073741823&e)+(1073741823&t),(n=1073741824&e)&(i=1073741824&t)?2147483648^o^a^r:n|i?1073741824&o?3221225472^o^a^r:1073741824^o^a^r:o^a^r},h=function(e,t,n,i,a,r,o){return e=d(e,d(d(function(e,t,n){return e&t|~e&n}(t,n,i),a),o)),d(p(e,r),t)},m=function(e,t,n,i,a,r,o){return e=d(e,d(d(function(e,t,n){return e&n|t&~n}(t,n,i),a),o)),d(p(e,r),t)},g=function(e,t,n,i,a,r,o){return e=d(e,d(d(function(e,t,n){return e^t^n}(t,n,i),a),o)),d(p(e,r),t)},v=function(e,t,n,i,a,r,o){return e=d(e,d(d(function(e,t,n){return t^(e|~n)}(t,n,i),a),o)),d(p(e,r),t)},y=function(e){var t,n="",i="";for(t=0;t<=3;t++)n+=(i="0"+(e>>>8*t&255).toString(16)).substr(i.length-2,2);return n};for(c=1732584193,s=4023233417,u=2562383102,f=271733878,t=(n=function(e){for(var t,n=e.length,i=n+8,a=16*((i-i%64)/64+1),r=new Array(a-1),o=0,l=0;l>>29,r}(e=function(e){var t,n,i,a="";t=n=0,i=(e=(e+"").replace(/\r\n/g,"\n").replace(/\r/g,"\n")).length;for(var r=0;r127&&o<2048?String.fromCharCode(o>>6|192)+String.fromCharCode(63&o|128):String.fromCharCode(o>>12|224)+String.fromCharCode(o>>6&63|128)+String.fromCharCode(63&o|128),null!=l&&(n>t&&(a+=e.substring(t,n)),a+=l,t=n=r+1)}return n>t&&(a+=e.substring(t,e.length)),a}(e))).length,i=0;i0?r:null}},{key:"_checkConfig",value:function(){var e=this,t=this.props,n=t.settingsCollection,i=t.settingsGlobalCollection,a={};null!==i&&i.find().map((function(t){var n=t.value,i=e._getConfigByDependency(n);null!==i&&(a=zn.a.extend({},a,i))}));null!==n&&n.find().map((function(t){var n=t.value,i=e._getConfigByDependency(n);null!==i&&(a=zn.a.extend({},a,i))}));Object.keys(a).length>0&&this.props.onSettingChanged(a)}},{key:"componentDidMount",value:function(){this.props.onSettingInit(this.state.settings),this._checkConfig()}},{key:"componentDidUpdate",value:function(){this._checkConfig()}},{key:"render",value:function(){return null}}]),n}(y.a.Component),Kn=Object(w.d)(Object(_.b)((function(e){var t=null,n=null;return void 0!==G.get(G.data.settings.name).collection&&G.get(G.data.settings.name).collection.find().length>0&&(t=G.get(G.data.settings.name).collection),void 0!==G.get(G.data.settingsGlobal.name).collection&&G.get(G.data.settingsGlobal.name).collection.find().length>0&&(n=G.get(G.data.settingsGlobal.name).collection),{config:e.config.config,settings:e.settings,versionCode:Hn(JSON.stringify(t)+JSON.stringify(n)),settingsCollection:t,settingsGlobalCollection:n}}),(function(e){return{onSettingInit:function(t){e(St(t))},onSettingChanged:function(t){e(Ot(t))},storeReload:function(){e(Tt.store.storeReload({force:!0,locationRequired:!0}))}}}))(Yn)),Jn=n(86),Qn=n.n(Jn),Xn=n(9),Zn={isLocationAccessable:function(e){return!!L.STANDALONE||!(null===e||e.hasOwnProperty("active")&&!1===e.active)&&(!1===L.ACCESS_RESTRICTION||!0===e.isPublic||!Zn.isAccessRestrictionRequiredForLocation(e.id))},isAccessRestrictionRequired:function(){var e=!1;if("remote"!==L.ACCESS_RESTRICTION)return L.ACCESS_RESTRICTION;var t=G.get(G.data.mobilesettings.name).collection.findOne();return null!==t&&(e=t.useZugangscode),e},isAccessRestrictionRequiredForLocation:function(e){var t=G.get(G.data.location.name).collection.findOne({id:{$eq:parseInt(e)}});return!(!Zn.isAccessRestrictionRequired()||null!==t&&t.isPublic)&&null===G.get(G.data.accessRestrictionLocation.name).collection.findOne({location:{$eq:parseInt(e)}})},requestAccessRestriction:function(e){return new Promise((function(t,n){var i={request:"accessRestriction",token:L.PROXY_TOKEN,data:{accessKey:e}};Zn._doRequest(i,(function(e){t(e)}),(function(e){n(e)}))}))},_doRequest:function(e,t,n){var i=this,a=i._successFn;"function"==typeof t&&(a=t);var r=i._failFn;"function"==typeof n&&(r=n),Xn.ajax({url:L.PROXY_URL,method:i.method,data:e,dataType:"json",success:a,error:r})},isOutletOfLocation:function(e,t){return null!==G.get(G.data.outlet.name).collection.findOne({$and:[{id:{$eq:parseInt(e)}},{location:{$eq:parseInt(t)}}]})},persistAccessableLocations:function(e,t){return new Promise((function(n,i){var a=G.get(G.data.accessRestrictionLocation.name).collection;e instanceof Array&&0!==e.length||i(),e.forEach((function(e){null===a.findOne({$and:[{access_restriction:{$eq:t}},{location:{$eq:e}}]})&&a.insert({access_restriction:t,location:e})})),n()}))}};function ei(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var ti=function(e){Dt()(n,e);var t=ei(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={params:[],process:!1,request:!1},i.numRegex=new RegExp("^[0-9]+$"),i.alphNumRegex=new RegExp("^[0-9_A-Z]+$"),i}return j()(n,[{key:"getStateByPath",value:function(){var e=this.props.location.pathname.split("/");e=e.filter((function(e){return""!==e})),JSON.stringify(this.state.params)!==JSON.stringify(e)&&this.setState({params:e})}},{key:"checkIsModulePath",value:function(){var e=this;return new Promise((function(t,n){var i=e.state.params,a=i[0],r=!1;if(e.numRegex.test(a)||e.alphNumRegex.test(a))n(!1);else if("silent"===a)i.splice(0,1),e.props.config.initialFilterRequest||e.props.setConfig({initialPrivacyCookie:!0,initialFilterRequest:!0,privacyFeedbackAllowed:!0}),JSON.stringify(e.state.params)!==JSON.stringify(i)&&e.setState({params:i},(function(){n(!1)}));else if("null"===a){var o=G.get(G.data.location.name).collection.findOne({id:{$eq:parseInt(i[1])}});Zn.isAccessRestrictionRequired()&&!Zn.isLocationAccessable(o)||i.splice(0,1),e.setState({params:i,process:!0},(function(){n(!1)}))}else Object.keys(G.data).map((function(e){var t=G.data[e];t.hasOwnProperty("module")&&t.module===a&&(r=!0)})),t(r)}))}},{key:"checkIsAccessRestriction",value:function(){var e=this;return new Promise((function(t,n){var i=e.state.params,a=i[0],r=a.length>=12&&(e.alphNumRegex.test(a)||e.numRegex.test(a))?i.splice(0,1):null,o=G.get(G.data.location.name).collection.findOne({id:{$eq:parseInt(i[0])}});!Zn.isAccessRestrictionRequired()||Zn.isLocationAccessable(o)?e.setState({process:!0},(function(){t()})):null===r?n(!1):(e.setState({process:!0}),Zn.requestAccessRestriction(r[0]).then((function(a){var o=a.success,l=a.content;o?Zn.persistAccessableLocations(l,r).then((function(){e.setState({params:i}),t()}),(function(){console.warn("error persist locations"+l),n()})):n()}),(function(){n()})))}))}},{key:"checkLanguageIsAvailable",value:function(e){return null!==G.get(G.data.language.name).collection.findOne({id:{$eq:parseInt(e)}})}},{key:"validateLocationParams",value:function(){var e=this;return new Promise((function(t,n){var i=Qn()(e.state.params,5),a=i[0],r=i[1],o=i[2],l=i[3],c=i[4],s=!1,u=!1;return void 0!==r&&e.numRegex.test(r)&&Zn.isOutletOfLocation(r,a)?(e.props.setConfig({outlet:r}),s=!0):n(!0),void 0!==o&&e.numRegex.test(o)&&e.checkLanguageIsAvailable(o)&&(parseInt(o)!==parseInt(e.props.config.language)&&e.props.setConfig({language:o}),u=!0),e.props.setConfig({inited:!0}),e.props.syncStore(),void 0!==l?(e.props.redirectToModule(l,c),void t(!1)):s&&u?(e.props.redirectToModule("Menu"),void t(!1)):void t(!0)}))}},{key:"validateLocationParam",value:function(){var e=this;return new Promise((function(t,n){var i=Qn()(e.state.params,1)[0];void 0===i||!e.numRegex.test(i)||Zn.isAccessRestrictionRequiredForLocation(i)?n(!0):(e.setState({process:!0}),parseInt(i)!==parseInt(e.props.config.location)&&e.props.setConfig({location:i}),e.validateLocationParams().then((function(e){t(e)}),(function(e){n(e)})))}))}},{key:"shouldUpdate",value:function(){return null!==this.props.locationCollection&&null!==this.props.outletCollection&&null!==this.props.mobileSettingsCollection&&0!==this.state.params.length&&!this.state.process}},{key:"componentDidUpdate",value:function(){var e=this;this.shouldUpdate()&&this.checkIsModulePath().then((function(){}),(function(){e.checkIsAccessRestriction().then((function(){e.validateLocationParam().then((function(t){t&&e.props.redirectToInitialConfig()}),(function(t){t&&e.props.redirectToInitialConfig()}))}),(function(){e.validateLocationParam().then((function(t){t&&e.props.redirectToInitialConfig()}),(function(t){t&&e.props.redirectToInitialConfig()}))}))}))}},{key:"componentDidMount",value:function(){this.getStateByPath()}},{key:"componentWillUnmount",value:function(){console.log("componentWillUnmount - accessView wird jetzt nausgeschmissn")}},{key:"render",value:function(){return null}}]),n}(sn),ni=Object(w.d)(Object(_.b)((function(e){var t=null,n=null,i=null;return void 0!==G.get("location").collection&&G.get("location").collection.find().length>0&&(t=G.get("location").collection),void 0!==G.get("outlet").collection&&G.get("outlet").collection.find().length>0&&(n=G.get("outlet").collection),void 0!==G.get("mobilesettings").collection&&G.get("mobilesettings").collection.find().length>0&&(i=G.get("mobilesettings").collection),{config:e.config.hasOwnProperty("config")?e.config.config:null,locationCollection:t,outletCollection:n,mobileSettingsCollection:i}}),(function(e){return{onLocationReset:function(){e(Tt.config.configChanged({location:null,outlet:null,menu:null}))},setConfig:function(t){e(Tt.config.configChanged(t))},redirectToInitialConfig:function(){e(Tt.config.configChanged({inited:!1})),this.history.push("/")},redirectToModule:function(t,n){e(Tt.config.configChanged({inited:!0})),void 0!==n?this.history.push("/"+t+"/"+n):this.history.push("/"+t)},syncStore:function(){e(Tt.store.storeReload({force:!0,locationRequired:!0}))},redirectToMenu:function(){e(Tt.store.storeReload({force:!0,locationRequired:!0})),this.history.push("/Menu")}}}))(ti)),ii=n(46),ai=n.n(ii);function ri(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var oi=n(9),li=n(9);n(215);var ci=function(e){Dt()(n,e);var t=ri(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).scrollListenersAdded=!1,i.isScrolling=!1,i.state={containerHeight:0,scroll:!1},i}return j()(n,[{key:"_checkContainerScrolling",value:function(){var e=this.props.device,t=oi(this.scrollContainerContent);if(t.length>0){var n=!1;(n="landscape"===this.direction?parseInt(t[0].scrollWidth)>parseInt(t.width())+1:parseInt(t[0].scrollHeight)>parseInt(t.height())+1)===this.state.scroll||null!==e&&e.isMobile||(this.setState({scroll:n}),this._checkCurrentInteractions(t))}}},{key:"_checkCurrentInteractions",value:function(e){var t=oi(this.scrollBackward),n=oi(this.scrollForward);this._checkIndicatorPosition(e),void 0!==this.props.arrowInteractionCheck&&!1===this.props.arrowInteractionCheck||("landscape"===this.direction?0===e.scrollLeft()?t.addClass("disabled"):(t.removeClass("disabled"),e.width()+e.scrollLeft()+1>=e[0].scrollWidth?n.addClass("disabled"):n.removeClass("disabled")):0===e.scrollTop()?(t.addClass("disabled"),n.removeClass("disabled")):(t.removeClass("disabled"),e.height()+e.scrollTop()+1>=e[0].scrollHeight?n.addClass("disabled"):n.removeClass("disabled")))}},{key:"_checkIndicatorPosition",value:function(e){var t=null,n=oi(this.scrollIndicator);n.length>0&&("landscape"===this.direction?((t=e.scrollLeft()/(e[0].scrollWidth-e.width()))>1&&(t=1),n.css("left",(e.width()-n.width())*t)):((t=e.scrollTop()/(e[0].scrollHeight-e.height()))>1&&(t=1),n.css("top",(e.height()-n.height())*t)))}},{key:"_scroll",value:function(e){var t=this,n=oi(this.scrollContainerContent);"landscape"===this.direction?oi(n).animate({scrollLeft:n.scrollLeft()+e},5,(function(){t._checkCurrentInteractions(n),t.isScrolling&&n.width()+n.scrollLeft()0&&t._scroll(e)})):oi(n).animate({scrollTop:n.scrollTop()+e},5,(function(){t._checkCurrentInteractions(n),t.isScrolling&&n.height()+n.scrollTop()0&&t._scroll(e)}))}},{key:"_checkBindListeners",value:function(){var e=this,t=oi(this.scrollBackward),n=oi(this.scrollForward),i=oi(this.scrollContainerContent);if(oi("body").find("img, svg").each((function(t,n){oi(n).on("load",(function(){e._checkContainerScrolling()})),oi(n).on("error",(function(){e._checkContainerScrolling()}))})),!this.scrollListenersAdded&&t.length>0&&n.length>0){var a=this;t.bind("touchstart",(function(){a.isScrolling=!1,a._checkCurrentInteractions(i)})),i.bind("touchstart touchend",(function(){a.isScrolling=!1})),t.bind("touchend",(function(){a._checkCurrentInteractions(i)})),a.props.arrowInteractionType&&"click"===a.props.arrowInteractionType?(t.mousedown((function(){a.isScrolling=!0,a._scroll(-5)})).mouseup((function(){a.isScrolling=!1})),n.mousedown((function(){a.isScrolling=!0,a._scroll(5)})).mouseup((function(){a.isScrolling=!1}))):(t.hover((function(){a.isScrolling=!0,a._scroll(-5)}),(function(){a.isScrolling=!1})),n.hover((function(){a.isScrolling=!0,a._scroll(5)}),(function(){a.isScrolling=!1}))),i.bind("scroll",(function(){a._checkCurrentInteractions(i),a._checkIndicatorPosition(i)})),oi("img").on("load",(function(){a._checkContainerScrolling()})),oi("img").on("error",(function(){a._checkContainerScrolling()})),"landscape"===this.direction&&oi(".scroll-container-content").mousewheel((function(e,t){li(this).scrollLeft(this.scrollLeft+60*-t),e.preventDefault()})),this.scrollListenersAdded=!0,a._checkCurrentInteractions(i)}}},{key:"_checkActiveElementIsVisible",value:function(){var e=oi(this.scrollContainerContent),t=oi(e.find(".active"));if(0!==t.length&&(this.state.scroll||this.props.device===Dn.phone))if("landscape"===this.direction){var n=t.offset().left-(e.offset().left-e.scrollLeft()),i=n;n>e[0].scrollWidth&&(i=e[0].scrollWidth),e.scrollLeft(i)}else{var a=t.offset().top-(e.offset().top-e.scrollTop()),r=a;a>e[0].scrollHeight&&(r=e[0].scrollHeight),e.scrollTop(r)}}},{key:"checkIndicatorSize",value:function(){var e=oi(this.scrollContainerContent),t=oi(this.scrollIndicator);void 0!==e[0]&&("landscape"===this.direction?t.css("width",e.width()*(e.width()/e[0].scrollWidth)):t.css("height",e.height()*(e.height()/e[0].scrollHeight)))}},{key:"componentDidUpdate",value:function(){this._checkBindListeners(),this._checkContainerScrolling(),this._checkActiveElementIsVisible(),this.checkIndicatorSize()}},{key:"componentDidMount",value:function(){this._checkBindListeners(),this._checkContainerScrolling(),this._checkActiveElementIsVisible(),this.checkIndicatorSize()}},{key:"render",value:function(){var e=this;if(!this.props.content)return null;var t=this,n=this.state.scroll?" scrollable ":"",i=null,a="",r=null,o=null,l=null,c=null;return t.direction=void 0!==t.props.direction?t.props.direction:"portrait",n+=void 0!==this.props.addClass?this.props.addClass:" p-h-spacer ",n+="portrait"===t.direction?" w-100":" h-100 ",null!==this.props.device&&(n+=" "+this.props.device+" "),a=void 0!==this.props.addClassContent?this.props.addClassContent:a,t.props.hideScrollArrows&&!0===t.props.hideScrollArrows?i="hide":c+=" scrollArrows",this.state.scroll&&(r=y.a.createElement("div",{ref:function(t){e.scrollBackward=t},className:"scroll-backward noprint "+i}),o=y.a.createElement("div",{ref:function(t){e.scrollForward=t},className:"scroll-forward noprint "+i}),void 0!==this.props.hideIndicator&&!1!==this.props.hideIndicator||(l=y.a.createElement("div",{className:"scroll-indicator-wrapper "+c},y.a.createElement("div",{className:"scroll-indicator-inner"},y.a.createElement("div",{ref:function(t){e.scrollIndicator=t},className:"scroll-indicator noprint"}))))),y.a.createElement("div",{ref:function(t){e.scrollContainer=t},className:n+" scroll-container "+this.direction},r,l,y.a.createElement("div",{ref:function(t){e.scrollContainerContent=t},className:a+" scroll-container-content"},t.props.content),o)}}]),n}(y.a.Component),si=Object(w.d)(Object(_.b)((function(e){var t=null;return"undefined"!==e.deviceConfig.mobile&&(t=e.deviceConfig),{device:t}}),(function(){return{}}))(ci));function ui(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var fi=function(e){Dt()(n,e);var t=ui(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={defaultValue:"defaultValue",show:!1,rows:[]},i}return j()(n,[{key:"_checkDefaultValue",value:function(){var e=this._getDefaultValue();e!==this.state.defaultValue&&this.setState({defaultValue:e})}},{key:"_checkRows",value:function(){var e=[],t=void 0!==this.props.model?this.props.model:null;if(void 0!==G.get(t).collection&&null!==t){var n=G.get(t).collection;null!==n&&(e="function"==typeof this.props.filter?this.props.filter(n):n.data)}e.length<2&&1===e.length&&this.props.defaultValue!==e[0].id&&this.props.selectFn(e[0].id),JSON.stringify(e)!==JSON.stringify(this.state.rows)&&this.setState({rows:e})}},{key:"componentDidMount",value:function(){this._checkDefaultValue(),this._checkRows()}},{key:"componentDidUpdate",value:function(){this._checkDefaultValue(),this._checkRows()}},{key:"_getRowById",value:function(e){var t=null;return this.state.rows.map((function(n){n.id===e&&(t=n)})),t}},{key:"_getDefaultValue",value:function(){return null!==this.props.defaultValue?this.props.defaultValue:"defaultValue"}},{key:"dropdownMapping",value:function(e){var t=this,n=this.props.selectFn;return y.a.createElement("div",{key:e.id,className:"d-flex flex-direction-row navigation-item",onClick:function(){t.setState({show:!1},(function(){n(e.id)}))}},y.a.createElement("p",{className:"flex-1-1-a headline-2 p-v-1rem p-h-2rem d-flex align-items-center"},e.name))}},{key:"checkboxMapping",value:function(e){var t=this;return y.a.createElement("label",{key:e.id,className:"inputWrapper"},y.a.createElement("div",{className:"name"},e.name),y.a.createElement("input",{className:"checked",onChange:function(e){t.props.selectFn(e.target.value)},type:"checkbox",checked:this.state.defaultValue===e.id,value:e.id}),y.a.createElement("span",{className:"checkmark"}))}},{key:"render",value:function(){var e=this,t=this,n=this.props.model,i=this.props.hasOwnProperty("addClass")?this.props.addClass:"",a=!1,r=t._getLabel(n),o="";void 0!==t.props.translation&&(o=this.state.rows.length>0?t.props.translation.translation.translate("gui_label_select_empty_option"):t.props.translation.translation.translate("gui_label_select_no_option")),this.state.rows.length<2&&(i+=" disabled ",a=!0);var l=null;if((this.props.errorState||null!==this.props.error&&this.props.error)&&(this.props.errorState||this.props.error.indexOf(n)>-1)&&(i+=" error ",l=y.a.createElement(En,{model:n,text:t.props.translation.translation.translate("gui_label_error_"+n),state:"error"})),t.props.type&&"checkbox"===t.props.type)return y.a.createElement("div",{className:" "+i+" "+n+"Wrapper"},l,y.a.createElement("div",{className:"title"},r),y.a.createElement(si,{content:y.a.createElement("div",{className:this.props.addClass+" checkboxWrapper"},this.state.rows.map((function(t){return e.checkboxMapping(t)}))),hideScrollArrows:!0}));if("dropdown"===this.props.type){var c=this.state,s=c.show,u=c.rows,f=c.defaultValue,p=this._getRowById(this.state.defaultValue);return u=u.filter((function(e){return e.id!==f})),y.a.createElement("div",{className:" "+i+" "+n+"Wrapper interaction"},y.a.createElement("p",{className:i+"d-flex align-items-center p-r-1rem flex-direction-row flex-nowrap",onClick:function(){e.setState({show:!s})}},y.a.createElement("span",{className:"p-h-2rem p-v-1rem flex-1-1-a"},null!==p?p.name:""),y.a.createElement("i",{className:(u?"fa-chevron-down":"fa-chevron-right")+" flex-0-0-a text navbar-toggler menu p-2rem flex-direction-row far d-flex align-items-center justify-content-center","aria-hidden":"true"})),y.a.createElement("div",{className:"collapse interaction dropdown-content m-0 p-0 show "+(s?"in border-top-lightGrey border-bottom-lightGrey ":"")},u.map((function(t){return e.dropdownMapping(t)}))))}return y.a.createElement("div",{className:" "+i+" "+n+"Wrapper select"},l,null!==r?y.a.createElement("div",{className:"title"},r):null,y.a.createElement("div",{className:this.props.addClass+" selectWrapper"},y.a.createElement("select",{disabled:a,onChange:function(e){t.props.selectFn(e.target.value)},value:this.state.defaultValue,className:n+"Selection "+i},y.a.createElement("option",{key:"default",value:"defaultValue",disabled:!0},o),this.state.rows.map((function(e){return function(e){return y.a.createElement("option",{key:e.id,value:e.id},e.name)}(e)})))))}},{key:"_getLabel",value:function(){var e="";return this.props.hasOwnProperty("label")&&(e=this.props.label),e}}]),n}(y.a.Component),pi=Object(w.d)(Object(_.b)((function(e){var t=null;return void 0!==e.config.config&&(t=e.config.config.error),{config:e.config.hasOwnProperty("config")?e.config.config:null,error:t,translation:e.translation,loader:new Date}}),(function(){return{}}))(fi));function di(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var hi=function(e){Dt()(n,e);var t=di(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).modelName="menu",i}return j()(n,[{key:"_onSelection",value:function(e){var t=this;!G.get(t.modelName).process&&e&&parseInt(e)!==parseInt(t.props.menu)&&t.props.onMenuSelect(e)}},{key:"render",value:function(){var e=this,t=this.props,n=t.type,i=t.addClass;n=void 0!==n?n:"select";var a=" w-auto ";return i&&(a=i),a+=this.props.error?" error ":" ",y.a.createElement(pi,{addClass:a,type:n,model:e.modelName,defaultValue:null!==e.props.menu?e.props.menu.id:null,label:this.props.label?this.props.translation.translate("gui_label_menu"):null,selectFn:function(t){e._onSelection(t)},filter:function(){return null===e.props.menus?[]:e.props.menus}})}}]),n}(y.a.Component);function mi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}var gi=Object(w.d)(Object(_.b)((function(e,t){var n=null;if(void 0!==e.config.config&&null!==e.config.config.menu&&"null"!==e.config.config.menu){void 0!==G.get("menu").collection&&G.get("menu").collection.find().length>0&&(n=G.get("menu").collection.findOne({id:{$eq:parseInt(e.config.config.menu)}}))}var i=G.get("outlet").process,a=null,r=null;void 0!==e.config.config&&void 0!==e.config.config.menus&&null!==e.config.config.menus&&"null"!==e.config.config.menus&&(r=e.config.config.menus);var o=!1;return null!==e.config.config.menu&&"null"!==e.config.config.menu||(o=!0),"undefined"!==e.deviceConfig.mobile&&(a=e.deviceConfig),function(e){for(var t=1;t5&&i.resolution.width<1650||i.resolution.width<1440)?y.a.createElement("div",{className:" select select p-h-1rem h-100 min-w-20rem "},y.a.createElement("div",{className:" selectWrapper h-100 w-100 "},y.a.createElement("select",{value:this.state.currentDay,onChange:function(t){var n=t.target.value;e._setDay(n)},className:"menuDaySelect h-100 w-100"},a.map((function(e){var t=Wt.getCheckedDateObject(e);return y.a.createElement("option",{value:e,className:"",key:e},Wt.getLocaleDateString(t))}))))):y.a.createElement("div",{className:"menuDaySelection"},y.a.createElement("div",{className:"d-flex flex-direction-row flex-nowrap"},a.map((function(n){return t.bind(e)(Wt.getCheckedDateObject(n))}))))}}]),n}(y.a.Component),wi=Object(w.d)(Object(_.b)((function(e){var t=null,n=null,i=[];return void 0!==e.filter.filter&&!1!==e.filter.filter.day&&null!==e.filter.filter.day&&"null"!==e.filter.filter.day&&(t=e.filter.filter.day),void 0!==e.config.config&&void 0!==e.config.config.days&&e.config.config.days.length>0&&(i=e.config.config.days),"undefined"!==e.deviceConfig.mobile&&(n=e.deviceConfig),{translation:e.translation.translation,day:t,device:n,settings:e.settings,days:i}}),(function(e){return{onDayFilterSelect:function(t){e(Tt.filter.filterChanged(t)),e(Tt.usageTracking.trackEvent(L.USAGE_TRACKING_ACTIVITY_TYPES.MENU_SET_WEEKDAY))}}}))(Ei)),Ci={timeout:36e5,data:{},remove:function(e){delete Ci.data[e]},exist:function(e){return!!Ci.data[e]&&(new Date).getTime()-Ci.data[e]._t.landscapeWidth?1:0})).data()}},{key:"_getCurrentResolution",value:function(){return{orientation:window.innerHeight>window.innerWidth?"portrait":"landscape",width:window.innerWidth*(void 0!==window.devicePixelRatio?window.devicePixelRatio:1),height:window.innerHeight*(void 0!==window.devicePixelRatio?window.devicePixelRatio:1)}}},{key:"_getScalingType",value:function(){var e=!1,t=this._getCurrentResolution(),n=this._getScalingTypes(),i=null;if(n.forEach((function(n){e||("portrait"===t.orientation?(n.portraitHeight>=t.height&&(e=n),(null===i||n.portraitHeight>=i.portraitHeight)&&(i=n)):(n.landscapeWidth>=t.width&&(e=n),(null===i||n.landscapeWidth>=i.landscapeWidth)&&(i=n)))})),e||null===i||(e=i),!e){var a=G.get("imageScalingTypes").collection.findOne({prfix:{$eq:""}});null!==a&&(e=a)}return e}},{key:"_setDefaultSrc",value:function(){var e=this,t=e.refs["image-"+e.props.model+"-"+e.props.attribute];if(void 0===e.props.fallback||null===e.props.fallback||""===e.props.fallback){var n=G.get(e.props.model);if(void 0===n.collection||void 0===n)return!1;var i="id";void 0!==n.updateStrategy&&void 0!==n.updateStrategy.keyColumn&&(i=n.updateStrategy.keyColumn);var a=n.collection.findOne(ce()({},i,{$eq:e.props.id}));if(null===a||void 0===a[e.props.attribute]||""===a[e.props.attribute])return!1;var r=a[e.props.attribute];e._setSrc(t,r,!1),Si(t).addClass("default-src")}else e._setSrc(t,e.props.fallback,!1)}},{key:"_setSrc",value:function(e,t,n){Si(e).attr("src",t),Si(e).removeClass("is-blank"),n?Si(e).addClass("ip"):Si(e).removeClass("ip"),Si(e).on("error",(function(){Si(e).hide()})).on("load",(function(){Si(e).show()}))}},{key:"completeFn",value:function(e,t){200===e.status?this._successFn(e.responseJSON,t):this._failFn(e)}},{key:"_getSrc",value:function(){var e=this;if("object"!==A()(L.IMAGE_PROCESSING_MAPPING[e.props.model]))return!1;var t=L.IMAGE_PROCESSING_MAPPING[e.props.model];if(void 0===t.resources[e.props.attribute])return!1;var n=t.resources[e.props.attribute],i=e._getScalingType();if(!i)return!1;var a={request:"image",token:L.PROXY_TOKEN,data:{model:t.id,id:this.props.id,resource:n,scalingType:i.id}};Si.ajaxPrefilter((function(e,t,n){if(e.cache){var i=t.complete||Si.noop,a=(t.url,e.data);e.cache=!1,e.beforeSend=function(){return!Ci.exist(a)||(i(Ci.get(a)),!1)},e.complete=function(e,t){Ci.set(a,e,i)}}})),Si.ajax({url:L.PROXY_URL,method:"GET",data:a,dataType:"json",cache:!0,complete:function(t){e.completeFn(t,i)}})}},{key:"_checkSrc",value:function(){L.IMAGE_PROCESSING?this._getSrc():this._setDefaultSrc()}},{key:"componentDidMount",value:function(){this._checkSrc()}},{key:"componentDidUpdate",value:function(){this._checkSrc()}},{key:"render",value:function(){var e=this;if(null===e.props.model||null===e.props.id||null===e.props.attribute)return null;void 0!==e.id&&(e.model===e.props.model&&e.attribute===e.props.attribute&&e.id===e.props.id||e._getSrc()||e._setDefaultSrc()),e.model=e.props.model,e.id=e.props.id,e.attribute=e.props.attribute;var t=void 0!==e.props.class?e.props.class:"";return y.a.createElement("img",{src:"images/blank.png",alt:"",className:"image-"+e.props.model+" is-blank "+t+" imageProcessing",ref:"image-"+e.props.model+"-"+e.props.attribute})}}]),n}(y.a.Component),Ri=Object(_.b)((function(e){var t=null;return void 0!==G.get("imageScalingTypes").collection&&(t=G.get("imageScalingTypes").collection),{filterString:JSON.stringify(e.filter.filter),imageScalingTypesCollection:t}}),(function(){return{}}))(Oi);function Ii(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Ti=function(e){Dt()(n,e);var t=Ii(n);function n(){return P()(this,n),t.apply(this,arguments)}return j()(n,[{key:"componentDidUpdate",value:function(e,t){}},{key:"render",value:function(){var e=this,t=this.props,n=t.row,i=t.model,a=t.active,r=new RegExp("(http|ftp|https)://[a-z0-9-_]+(.[a-z0-9-_]+)+([a-z0-9-.,@?^=%&;:/~+#]*[a-z0-9-@?^=%&;/~+#])?","i").test(n.image),o=y.a.createElement("div",{className:"filterIcon "+i+" "+i+"-"+n.id},y.a.createElement("span",{className:"contraction d-flex align-items-center justify-content-center f-w-bold"},null!==n.contraction?n.contraction.substring(0,3):""));r&&(o=L.IMAGE_PROCESSING&&void 0!==L.IMAGE_PROCESSING_MAPPING[i]?y.a.createElement("div",{className:"filterIcon "+i+" "+i+"-"+n.imageId},y.a.createElement(Ri,{class:"ip",model:i,id:n.imageId,fallback:n.image,attribute:"image"})):y.a.createElement("div",{className:"filterIcon "+i+" "+i+"-"+n.id},y.a.createElement("img",{src:n.image})));var l=a?"active":"",c="active"===l;return y.a.createElement("div",{onClick:function(){e.props.selectFn(n.id)},className:l+" filterContainer "+i+"Container-"+n.id},o,y.a.createElement("span",{className:"ellipsis name"},n.name),y.a.createElement("div",{className:"toggleWrapper"},y.a.createElement("label",{className:"switch"},y.a.createElement("input",{onChange:function(){e.props.selectFn(n.id)},checked:c,type:"checkbox"}),y.a.createElement("div",{className:"slider round p-l-0.5rem w-100"}))))}}]),n}(y.a.Component),xi=Object(w.d)(Object(_.b)((function(){return{}}),(function(){return{}}))(Ti));function Di(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Mi=function(e){Dt()(n,e);var t=Di(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).onSelect=function(e){i.props.selectFn(e)},i}return j()(n,[{key:"_mapRow",value:function(e){var t=this.props,n=t.model,i=(0,t.activeFn)(e.id);return y.a.createElement(y.a.Fragment,{key:n+"-"+e.id},y.a.createElement(xi,{model:n,row:e,active:i,selectFn:this.onSelect}))}},{key:"render",value:function(){var e=this.props,t=e.model,n=e.filterFn,i=e.sortFn,a=[],r=G.get(t).collection;"function"==typeof n?a=n(r):null!==r&&(a="function"==typeof i?r.find().sort(i):r.data);return y.a.createElement("div",{className:" "+t+"Wrapper filterWrapper filter "},a.map(this._mapRow.bind(this)))}}]),n}(y.a.Component),Ai=Object(w.d)(Object(_.b)((function(e){return{}}),(function(){return{}}))(Mi));function Li(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Fi=function(e){Dt()(n,e);var t=Li(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).model="",i}return j()(n,[{key:"_createMarkup",value:function(e){return{__html:e}}},{key:"_sort",value:function(e,t){var n=e.name.toLowerCase(),i=t.name.toLowerCase();if(e.hasOwnProperty("ordering")&&t.hasOwnProperty("ordering")){if(e.orderingt.ordering)return 1}return ni?1:0}},{key:"_filterFn",value:function(e){var t=this;return void 0===e?null:e.chain().sort((function(e,n){return t._sort(e,n)})).data()}},{key:"_isActive",value:function(e){var t=this;return void 0!==t.props.filter.filter[t.model]&&void 0!==t.props.filter.filter[t.model][t.props.config.location]&&-1!==t.props.filter.filter[t.model][t.props.config.location].indexOf(e)}},{key:"_onSelection",value:function(e){var t=this;t.props.onFilterSelect(ce()({},t.model,ce()({},t.props.config.location,e)))}},{key:"render",value:function(){var e=this;if(void 0===G.get(this.model).collection)return null;var t=e.props.process?"process":"";return y.a.createElement(Ai,{addClass:t,model:e.model,filterFn:function(t){return e._filterFn(t)},sortFn:function(t,n){return e._sort(t,n)},activeFn:function(t){return e._isActive(t)},selectFn:function(t){return e._onSelection(t)}})}}]),n}(y.a.Component);function Pi(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Bi=function(e){Dt()(n,e);var t=Pi(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).model="allergens",i}return j()(n,[{key:"render",value:function(){if(void 0===G.get(this.model).collection)return null;var e=this.props.process?"process":"";return y.a.createElement("div",{className:"allergenFilterWrapper"},y.a.createElement(Ai,{addClass:e,model:this.model,filterFn:this._filterFn.bind(this),sortFn:this._sort.bind(this),activeFn:this._isActive.bind(this),selectFn:this._onSelection.bind(this)}))}}]),n}(Fi),ji=Object(w.d)(Object(_.b)((function(e){return{config:e.config.config,filter:e.filter,process:G.get("allergens").process,translation:e.translation}}),(function(e){return{onFilterSelect:function(t){e(Tt.filter.filterChanged(t)),e(Tt.filter.filterChanged({active:!0})),e(Tt.usageTracking.trackEvent(L.USAGE_TRACKING_ACTIVITY_TYPES.SAVE_ALLERGENPROFILE))}}}))(Bi));function qi(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Gi=function(e){Dt()(n,e);var t=qi(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).model="additives",i}return j()(n,[{key:"render",value:function(){var e=this;if(void 0===G.get(this.model).collection)return null;var t=e.props.process?"process":"";return y.a.createElement("div",{className:"additiveFilterWrapper"},y.a.createElement(Ai,{addClass:t,model:e.model,filterFn:function(t){return e._filterFn(t)},sortFn:function(t,n){return e._sort(t,n)},activeFn:function(t){return e._isActive(t)},selectFn:function(t){return e._onSelection(t)}}))}}]),n}(Fi),Ui=Object(w.d)(Object(_.b)((function(e){return{store:e.store.store,config:e.config.config,translation:e.translation,filter:e.filter,process:G.get("additives").process}}),(function(e){return{onFilterSelect:function(t){e(Tt.filter.filterChanged(t)),e(Tt.filter.filterChanged({active:!0})),e(Tt.usageTracking.trackEvent(L.USAGE_TRACKING_ACTIVITY_TYPES.SAVE_ALLERGENPROFILE))}}}))(Gi));function Wi(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Vi=function(e){Dt()(n,e);var t=Wi(n);function n(e){return P()(this,n),t.call(this,e)}return j()(n,[{key:"_createMarkup",value:function(e){return{__html:e}}},{key:"render",value:function(){var e=this.props,t=e.filter,n=e.device,i=e.translation,a=e.onFilterSelectiveToggle,r=n.isMobile?"flex-column":"flex-row";return y.a.createElement("section",{className:"featureFilterSelectiveFilter flex-align-items-start d-flex flex-nowrap "+r},y.a.createElement("div",{className:"d-flex flex-nowrap flex-row"},y.a.createElement("div",{className:"toggleWrapper h-3rem"},y.a.createElement("label",{className:"switch"},y.a.createElement("input",{onChange:function(){var e=t.filter.featureFilterSelective;null===e&&(e=!1),a({featureFilterSelective:!e})},id:"featureFilterSelective",checked:t.filter.featureFilterSelective,name:"featureFilterSelective",type:"checkbox",className:"toggleBtn"}),y.a.createElement("div",{className:"slider w-100 round"}))),y.a.createElement("span",{className:"label"},i.translate("gui_label_settings_feature_selective")," / ")),y.a.createElement("span",{className:"label",dangerouslySetInnerHTML:this._createMarkup(i.translate("gui_label_settings_filter_dishFeatures_desc"))}))}}]),n}(y.a.Component),zi=Object(w.d)(Object(_.b)((function(e){return{store:e.store.store,config:e.config.config,translation:e.translation.translation,filter:e.filter,device:e.deviceConfig}}),(function(e){return{onFilterSelectiveToggle:function(t){e(Tt.filter.filterChanged(t))}}}))(Vi));function Hi(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var $i=function(e){Dt()(n,e);var t=Hi(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).model="features",i}return j()(n,[{key:"_filterFn",value:function(e){var t=this;return void 0===e?null:e.chain().find({showNotInFilter:{$eq:!1}}).sort((function(e,n){return t._sort(e,n)})).data()}},{key:"render",value:function(){var e=this;if(void 0===G.get(this.model).collection)return null;var t=this.props.process?"process":"";return y.a.createElement("div",{className:"featureFilterWrapper"},y.a.createElement(zi,null),y.a.createElement(Ai,{addClass:t,model:this.model,filterFn:function(t){return e._filterFn(t)},sortFn:function(t,n){return e._sort(t,n)},activeFn:function(t){return e._isActive(t)},selectFn:function(t){return e._onSelection(t)}}))}}]),n}(Fi),Yi=Object(w.d)(Object(_.b)((function(e){return{config:e.config.config,filter:e.filter,process:G.get("features").process,translation:e.translation}}),(function(e){return{onFilterSelect:function(t){e(Tt.filter.filterChanged(t)),e(Tt.filter.filterChanged({active:!0})),e(Tt.usageTracking.trackEvent(L.USAGE_TRACKING_ACTIVITY_TYPES.SAVE_ALLERGENPROFILE))}}}))($i)),Ki=n(549),Ji=n(551);function Qi(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}Fn.a.setAppElement("#modal-wrapper");var Xi=function(e){Dt()(n,e);var t=Qi(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={active:!1,modalIsOpen:!1,tabKey:1},i.openModal=i.openModal.bind(on()(i)),i.afterOpenModal=i.afterOpenModal.bind(on()(i)),i.closeModal=i.closeModal.bind(on()(i)),i}return j()(n,[{key:"openModal",value:function(){this.setState({modalIsOpen:!0})}},{key:"afterOpenModal",value:function(){}},{key:"closeModal",value:function(){this.setState({modalIsOpen:!1})}},{key:"createMarkup",value:function(e){return{__html:e}}},{key:"_checkFilterExists",value:function(){var e=this;return void 0!==e.props.filter.filter.allergens[e.props.config.location]&&e.props.filter.filter.allergens[e.props.config.location].length>0||(void 0!==e.props.filter.filter.additives[e.props.config.location]&&e.props.filter.filter.additives[e.props.config.location].length>0||void 0!==e.props.filter.filter.features[e.props.config.location]&&e.props.filter.filter.features[e.props.config.location].length>0)}},{key:"initialFilterRequestInit",value:function(e){this.props.onInitialFilterRequest(),e&&!0===e&&this.openModal()}},{key:"getModalInitialFilterRequest",value:function(){var e=this;if(!0!==e.props.initialFilterRequest&&"true"!==e.props.initialFilterRequest){var t=e.props.translation.translate("gui_label_filter_initial_message"),n=y.a.createElement("div",{className:"footer-content p-spacer"},y.a.createElement("button",{className:" p-h-spacer ",onClick:function(){e.initialFilterRequestInit(!0)}},this.props.translation.translate("gui_label_filter_initial_btn_yes")),y.a.createElement("button",{className:" p-h-spacer ",onClick:function(){e.initialFilterRequestInit(!1)}},this.props.translation.translate("gui_label_filter_initial_btn_no")));return y.a.createElement(jn,{layout:"Overlay onTop",message:t,footer:n,openModal:!0})}return null}},{key:"_checkIsActive",value:function(){var e=this.props.filter.filter.active;e!==this.state.active&&this.setState({active:e})}},{key:"_onSelection",value:function(){var e=this.props.filter.filter.active;null===e&&(e=!1);var t=!e;(t||L.STANDALONE)&&(t=this._checkFilterExists()),this._checkFilterExists()||this.openModal(),this.setState({active:t}),console.log("onFilterActiveToggle -- maybeproblem",t),L.STANDALONE||this.props.onFilterActiveToggle({active:t})}},{key:"componentDidUpdate",value:function(){this._checkIsActive()}},{key:"componentDidMount",value:function(){this._checkIsActive()}},{key:"render",value:function(){var e=this,t=this,n=this.props.device,i=t.getModalInitialFilterRequest();return null!==n&&null!==n.mobile?y.a.createElement("div",{className:"menuTogglePersonalFilter h-100"},y.a.createElement("div",{className:"toggleWrapper h-100 d-flex align-items-center flex-direction-row flex-nowrap"},y.a.createElement("div",{className:"filter-settings overflow-h p-1rem text justify-content-center flex-1-1-a d-flex align-items-center flex-direction-row flex-nowrap",onClick:this.openModal},y.a.createElement("p",{className:(n.mobile!==Dn.phone?"headline-2":"text")+" label m-r-1rem ellipsis uppercase"},t.props.translation.translate("gui_label_menu_personal_filter_mobile")),y.a.createElement("i",{className:"fal fa-filter"})),y.a.createElement("div",{className:"h-100 flex-0-0-a d-flex align-items-center p-1rem flex-direction-row flex-nowrap"},y.a.createElement("i",{className:"fal fa-filter"}),y.a.createElement("label",{className:"switch m-l-spacer m-b-0 w-auto"},y.a.createElement("input",{onChange:function(){e._onSelection()},id:"togglePersonalFilter",checked:this.state.active,name:"togglePersonalFilter",type:"checkbox",className:"toggleBtn"}),y.a.createElement("div",{className:"slider mobile-menu-toolbar p-h-spacer w-4rem round"})))),y.a.createElement(Fn.a,{isOpen:this.state.modalIsOpen,onAfterOpen:this.afterOpenModal,onRequestClose:this.closeModal,overlayClassName:"Overlay onTop",style:{content:{top:"0",left:"0",right:"0",bottom:"0",padding:"0"}}},y.a.createElement("div",{className:"dropdown mobile h-100 d-flex flex-direction-col area-filter filter "},y.a.createElement("div",{className:"filter-modal-content overflow-a flex-1-1-a"},y.a.createElement("p",{className:"content-headline t-a-c f-w-bold"},t.props.translation.translate("gui_label_settings_personal_allergens")),y.a.createElement(ji,null),y.a.createElement("p",{className:"content-headline t-a-c f-w-bold"},t.props.translation.translate("gui_label_settings_personal_additives")),y.a.createElement(Ui,null),y.a.createElement("p",{className:"content-headline t-a-c f-w-bold"},t.props.translation.translate("gui_label_settings_personal_features")),y.a.createElement(Yi,null)),y.a.createElement("div",{className:"footer flex-0-0-a d-flex flex-direction-row filter-modal-footer"},y.a.createElement("button",{className:"filter-modal-footer-reset uppercase headline-2 filter-modal-footer-interaction",onClick:function(){t.setState({active:!1}),t.props.onReset()}},t.props.translation.translate("gui_label_settings_reset")),y.a.createElement("button",{className:"filter-modal-footer-close uppercase headline-2 filter-modal-footer-interaction",onClick:function(){e.closeModal()}},t.props.translation.translate("gui_label_settings_close")))))):y.a.createElement("div",{className:"menu-toggle-personal-filter-wrapper h-100 d-flex flex-row justify-content-end h-100"+(n.orientation===n.orientations.portrait?" p-1rem":"m-l-1rem")},i,y.a.createElement("div",{className:"menuTogglePersonalFilter background-white darkGrey border-radius p-h-1rem h-100 d-flex align-items-center justify-content-center flex-row "},y.a.createElement("div",{className:" h-3rem toggleWrapper"},y.a.createElement("label",{className:" m-r-spacer switch d-block"},y.a.createElement("input",{onChange:function(){t._onSelection()},id:"togglePersonalFilter",checked:this.state.active,name:"togglePersonalFilter",type:"checkbox",className:"toggleBtn"}),y.a.createElement("div",{className:"slider round w-5rem m-h-1rem p-h-1rem"}))),y.a.createElement("div",{className:"headline-2 p-1rem"},t.props.translation.translate("gui_label_menu_personal_filter")),y.a.createElement("div",{className:"filter-settings ",onClick:this.openModal},y.a.createElement("i",{className:"fa defaultGrey fa-cog fa-2x"})),y.a.createElement(Fn.a,{isOpen:this.state.modalIsOpen,onAfterOpen:this.afterOpenModal,onRequestClose:this.closeModal,overlayClassName:"Overlay onTop",style:{content:{top:"1.4rem",left:"1.4rem",right:"1.4rem",bottom:"1.4rem",padding:"0"}}},y.a.createElement("div",{className:"modal-filter-wrapper"},y.a.createElement("div",{className:"filterAccordionPanel"+(L.STANDALONE?" standalone ":"")},y.a.createElement(Ki.a,{defaultActiveKey:1,id:"filter-tabs",className:"tabs",onSelect:function(e){return t.setState({tabKey:e})}},y.a.createElement(Ji.a,{className:"filterTab",eventKey:1,title:t.props.translation.translate("gui_label_settings_personal_allergens")},y.a.createElement(ji,null)),y.a.createElement(Ji.a,{className:"filterTab",eventKey:2,title:t.props.translation.translate("gui_label_settings_personal_additives")},y.a.createElement(Ui,null)),y.a.createElement(Ji.a,{className:"filterTab",eventKey:3,title:t.props.translation.translate("gui_label_settings_personal_features")},y.a.createElement(Yi,null)))),y.a.createElement("div",{className:"footer"},y.a.createElement("div",{className:"footer-content"},y.a.createElement("div",{className:"footer-buttons"},y.a.createElement("button",{onClick:function(){t.setState({active:!1}),t.props.onReset()}},t.props.translation.translate("gui_label_settings_reset")),y.a.createElement("button",{onClick:function(){e.closeModal()}},t.props.translation.translate("gui_label_settings_close")))))))))}}]),n}(y.a.Component),Zi=Object(w.d)(Object(_.b)((function(e){var t=null;void 0!==e.config.config&&null!==e.config.config.initialFilterRequest&&"null"!==e.config.config.initialFilterRequest&&(t=e.config.config.initialFilterRequest);return void 0!==e.deviceConfig.mobile&&e.deviceConfig.mobile,{translation:e.translation.translation,config:e.config.config,filter:e.filter,device:e.deviceConfig,initialFilterRequest:t}}),(function(e){return{onFilterActiveToggle:function(t){e(Tt.filter.filterChanged(t)),e(Tt.usageTracking.trackEvent(L.USAGE_TRACKING_ACTIVITY_TYPES.TOGGLE_PERSONAL_FILTER))},showSettingsLightbox:function(t){e(Tt.lightbox.lightboxContentChanged(t)),e(Tt.lightbox.lightboxVisibilityChanged(!0))},onInitialFilterRequest:function(){e(Tt.config.configChanged({initialFilterRequest:!0,persist:!0}))},onReset:function(){e(Tt.filter.filterReset())}}}))(Xi));function ea(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var ta=n(9),na=function(e){Dt()(n,e);var t=ea(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={link:null,cw:null,lang:null,menu:null},i.refLink=y.a.createRef(),i.refWrapper=y.a.createRef(),i}return j()(n,[{key:"_getURL",value:function(){var e=this,t=e.props.cw.split("-")[1];ta.ajax({url:L.PROXY_URL,method:"GET",data:{token:L.PROXY_TOKEN,request:"pdf",menu:e.props.menu,time:(new Date).getTime(),lang:e.props.lang,cw:t,type:"week"},dataType:"json",success:function(t){t.success&&e.setState({link:t.content,menu:e.props.menu,lang:e.props.lang,cw:e.props.cw})},error:function(){e.setState({link:null,menu:e.props.menu,lang:e.props.lang,cw:e.props.cw})}})}},{key:"_hook",value:function(){void 0!==ta(this.refLink).attr("href")&&this.props.trackPDFEvent()}},{key:"componentDidMount",value:function(){var e=this.state.link,t=this.props,n=t.menu,i=t.cw,a=t.lang;null===e&&n&&i&&a&&this._getURL()}},{key:"componentDidUpdate",value:function(){var e=this.state.link,t=this.props,n=t.menu,i=t.cw,a=t.lang;null!==n&&null!==i&&null!==a&&(null===e?this._getURL():n===this.state.menu&&i===this.state.cw&&a===this.state.lang||this._getURL())}},{key:"render",value:function(){var e=this,t=this.state.link,n=this.props.device;if(null===t||null!==n.mobile)return null;var i=n.orientation===n.orientations.portrait?"t-a-r":"";return y.a.createElement("div",{ref:function(t){return e.refWrapper=t},className:"menuToolbarElement menuPdfLink hide "+i},y.a.createElement("div",{className:"h-100 d-inline-block"},y.a.createElement("a",{target:"_blank",href:t,onClick:function(){e._hook()},ref:function(t){return e.refLink=t},className:"border-radius headline-2 h-100 p-h-spacer m-l-1rem d-flex align-items-center background-white defaultGrey disabled"},y.a.createElement("i",{className:"fas fa-file-pdf fa-2x"}),this.props.translation.translate("gui_label_week"))))}}]),n}(y.a.Component),ia=Object(w.d)(Object(_.b)((function(e){var t=!1,n=!1,i=!1;void 0!==e.config.config&&(n=e.config.config.language),void 0!==e.config.config&&(t=e.config.config.menu),void 0!==e.filter.filter&&(i=e.filter.filter.cw);var a=null;return void 0!==e.deviceConfig.mobile&&(a=e.deviceConfig),{menu:t,lang:n,device:a,cw:i,translation:e.translation.translation}}),(function(e){return{trackPDFEvent:function(){e(Tt.usageTracking.trackEvent(L.USAGE_TRACKING_ACTIVITY_TYPES.PDF_DOWNLOAD))}}}))(na));function aa(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var ra=n(9),oa=function(e){Dt()(n,e);var t=aa(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={link:null,cw:null,lang:null,menu:null},i.refLink=y.a.createRef(),i.refWrapper=y.a.createRef(),i}return j()(n,[{key:"_getURL",value:function(){var e=this,t=e.props.cw.split("-")[1];ra.ajax({url:L.PROXY_URL,method:"GET",data:{token:L.PROXY_TOKEN,request:"pdf",menu:e.props.menu,time:(new Date).getTime(),lang:e.props.lang,cw:t,type:"day"},dataType:"json",success:function(t){t.success?e.setState({link:t.content,menu:e.props.menu,lang:e.props.lang,cw:e.props.cw}):e.setState({link:!1,menu:e.props.menu,lang:e.props.lang,cw:e.props.cw})},error:function(t){console.log(t),e.setState({link:!1,menu:e.props.menu,lang:e.props.lang,cw:e.props.cw})}})}},{key:"_hook",value:function(){void 0!==ra(this.refLink).attr("href")&&this.props.trackPDFEvent()}},{key:"componentDidMount",value:function(){var e=this.state.link,t=this.props,n=t.menu,i=t.cw,a=t.lang;null===e&&n&&i&&a&&this._getURL()}},{key:"componentDidUpdate",value:function(){var e=this.state.link,t=this.props,n=t.menu,i=t.cw,a=t.lang;null!==n&&null!==i&&null!==a&&(null===e?this._getURL():n===this.state.menu&&i===this.state.cw&&a===this.state.lang||this._getURL())}},{key:"render",value:function(){var e=this,t=this.state.link,n=this.props.device;if(null===t||!1===t||null!==n.mobile)return null;var i=n.orientation===n.orientations.portrait?"t-a-r":"";return y.a.createElement("div",{ref:function(t){return e.refWrapper=t},className:"menuToolbarElement menuPdfDayLink hide "+i},y.a.createElement("div",{className:"h-100 d-inline-block"},y.a.createElement("a",{target:"_blank",href:t,onClick:function(){e._hook()},ref:function(t){return e.refLink=t},className:"border-radius headline-2 h-100 p-h-spacer m-l-1rem d-flex align-items-center background-white defaultGrey disabled"},y.a.createElement("i",{className:"fas fa-file-pdf fa-2x"}),this.props.translation.translate("gui_label_day"))))}}]),n}(y.a.Component),la=Object(w.d)(Object(_.b)((function(e){var t=!1,n=!1,i=!1;void 0!==e.config.config&&(n=e.config.config.language),void 0!==e.config.config&&(t=e.config.config.menu),void 0!==e.filter.filter&&(i=e.filter.filter.cw);var a=null;return void 0!==e.deviceConfig.mobile&&(a=e.deviceConfig),{menu:t,lang:n,device:a,cw:i,translation:e.translation.translation}}),(function(e){return{trackPDFEvent:function(){e(Tt.usageTracking.trackEvent(L.USAGE_TRACKING_ACTIVITY_TYPES.PDF_DOWNLOAD))}}}))(oa));function ca(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var sa=n(9),ua=function(e){Dt()(n,e);var t=ca(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).scrollContainer=y.a.createRef(),i.state={elements:[],selection:null},i}return j()(n,[{key:"_getPrevElement",value:function(){var e=this.state,t=e.selection,n=e.elements,i=n.findIndex((function(e){return e.id===t})),a=n[--i];return a?sa(this.scrollContainer.current).children("[data-attr="+a.id+"]"):null}},{key:"_getNextElement",value:function(){var e=this.state,t=e.selection,n=e.elements,i=n.findIndex((function(e){return e.id===t})),a=n[++i];return a?sa(this.scrollContainer.current).children("[data-attr="+a.id+"]"):null}},{key:"_animateScroll",value:function(e,t){var n=this,i=sa(this.scrollContainer.current);if(null===e||this.prozess||!i)return null;this.prozess=!0;var a="backward"===t?-1*e.width():e.width();sa(i).animate({scrollLeft:a+sa(i)[0].scrollLeft},500,"swing",(function(){n.prozess=!1,n.setState({selection:e.attr("data-attr")}),n.props.onSelect(e.attr("data-attr"))}))}},{key:"_animateForward",value:function(){this._animateScroll(this._getNextElement(),"forward")}},{key:"_animateBackward",value:function(){this._animateScroll(this._getPrevElement(),"backward")}},{key:"componentDidMount",value:function(){var e=this.props.elements;(e=e.map((function(e,t){return e.hasOwnProperty("id")&&e.hasOwnProperty("value")?e:{id:t,value:e}})))instanceof Array&&e.length>0&&this.setState({elements:e,selection:e[0].id})}},{key:"componentDidUpdate",value:function(){var e=this.props,t=e.elements,n=e.selection,i=this.state.selection,a=this.state.elements;t=t.map((function(e,t){return e.hasOwnProperty("id")&&e.hasOwnProperty("value")?e:{id:t,value:e}})),JSON.stringify(t)!==JSON.stringify(a)?this.setState({elements:t}):null===i&&null!==n?this.setState({selection:n}):t instanceof Array&&t.length>1&&null===i&&null===n&&this.setState({selection:a[0].id})}},{key:"render",value:function(){var e=this,t=this.state,n=t.selection,i=t.elements,a=this.props.device.mobile===Dn.phone;return y.a.createElement("div",{className:"horizontalArrowScroll m-h-1rem p-h-2rem d-flex align-items-center h-100 justify-content-center relative"},y.a.createElement("div",{className:"elements-container"},y.a.createElement("div",{ref:this.scrollContainer,className:"elements-container-inner w-100 d-flex overflow-h flex-0-0-100 flex-direction-row flex-nowrap"},i.map((function(t){var i=t.id,r=t.value;return y.a.createElement("p",{"data-attr":i,key:"element-"+i,className:(e.props.device.isMobile?a?"text":"headline-2":"headline-1")+" t-a-c min-w-8rem overflow-h flex-0-0-a w-100 h-100 element"+(n===i?" selected ":"")},r)})))),y.a.createElement("button",{className:(i.length>1?"":"disabled")+(a?" w-1rem ":" w-2rem ")+" absolute p-0 h-100 left-0 top-0",onClick:function(){e._animateBackward()}},y.a.createElement("i",{className:"fas fa-chevron-left"})),y.a.createElement("button",{className:(i.length>1?"":"disabled")+(a?" w-1rem ":" w-2rem ")+" p-0 h-100 absolute right-0 top-0",onClick:function(){e._animateForward()}},y.a.createElement("i",{className:"fas fa-chevron-right"})))}},{key:"_getLabel",value:function(){var e="";return this.props.hasOwnProperty("label")&&(e=this.props.label),e}}]),n}(y.a.Component);function fa(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var pa=function(e){Dt()(n,e);var t=fa(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={week:0,weeks:[]},i}return j()(n,[{key:"_setWeek",value:function(e){e!==this.state.week&&this.props.onWeekFilterSelect({cw:e})}},{key:"_getAvailableWeeks",value:function(){var e=this.props.weeks;e.sort(this._sortWeeks),this.setState({weeks:e})}},{key:"_setCurrentWeek",value:function(){this.setState({week:this.props.week})}},{key:"_sortWeeks",value:function(e,t){var n=parseInt(e.substr(5,2)),i=parseInt(t.substr(5,2)),a=parseInt(e.substr(0,4)),r=parseInt(t.substr(0,4));return isNaN(a)?-1:isNaN(r)||a>r?1:ai?1:n0&&void 0!==arguments[0]?arguments[0]:null,t=null;return null!==e&&void 0!==G.get("dietPlanMasterData").collection&&null===(t=G.get("dietPlanMasterData").collection.findOne({outlet:{$eq:e.outlet}}))&&(t=G.get("dietPlanMasterData").collection.findOne({outlet:{$eq:0}})),t},getLastDayAllowed:function(){var e=G.get("mobilesettings").collection.findOne(),t=0;null!==e&&void 0!==e.speiseplanAdvancedFutureWeeks&&(t=e.speiseplanAdvancedFutureWeeks);var n=new Date,i=n.getDate()-n.getDay()+1+6+7*t;return new Date(n.setDate(i))},getAvailableWeeks:function(e,t){var n=[Wt.getCalendarWeek()],i=ga.getLastDayAllowed(),a=Wt.getCalendarWeek(),r=Wt.getCalendarWeek(i),o=G.get("menu").collection;return null!==o&&((t?o.chain().simplesort("from").data():o.chain().find({$and:[{outlet:{$eq:parseInt(e)}}]}).simplesort("from").data()).forEach((function(e){if(!1===e.dailyAvailable){var t=Wt.getCalendarWeek(e.to);Wt.isBeforeCalendarWeek(e.to,a)||Wt.isAfterCalendarWeek(e.to,r)||-1!=n.indexOf(t)||n.push(t)}else{var o=Wt.getCheckedDateObject(e.from),l=Wt.getCheckedDateObject(e.to),c=Wt.getCheckedDateObject(new Date);for(o=new Date(o.getTime());o(c=new Date(c.getTime()))&&(o=c),a=n})).simplesort("ordering").data()},getMenusOfLocationAndWeek:function(e,t){if(void 0===e||void 0===t)return[];var n=Wt.getFirstDateOfISOWeek(t),i=new Date(n.getTime()),a=new Date(i.setDate(n.getDate()+6)),r=G.get("outlet").collection.find({location:{$eq:parseInt(e)}}),o=[];r.forEach((function(e){o.push(e.id)}));var l=G.get("menu").collection.chain().find({outlet:{$in:o}}).where((function(e){var t=Wt.getCheckedDateObject(e.from),i=Wt.getCheckedDateObject(e.to);return t<=a&&i>=n})).data();return G.get("menu").sort(l,r)},getMenuCategories:function(e){var t=G.get("mealCategory").collection,n=ga.getMealsByMenuId(e.id),i=[];return n.forEach((function(e){-1===i.indexOf(e.category)&&i.push(e.category)})),null===t?[]:t.chain().find({id:{$in:i}}).sort((function(e,t){return null===e||null===t?0:e.orderingt.ordering?1:0})).data()},checkMenuDayHasMeals:function(e,t){if(void 0===e||null===t)return!1;if(e.dailyAvailable&&(tWt.getDateString(e.to)))return!1;var n=function(){return!0};return e.dailyAvailable||void 0===t||(n=function(e){return Wt.isSameDay(t,e.date)}),G.get("meal").collection.chain().find({menu:{$eq:e.id}}).where(n).data().length>0},getMealsByMenuId:function(e){return G.get("meal").collection.chain().find({menu:{$eq:e}}).data()},_checkMealIsFiltered:function(e,t,n){if(null!==n&&t.active){if(ga._checkMealIsFilteredByAllergens(e,t,n))return!0;if(ga._checkMealIsFilteredByAdditives(e,t,n))return!0;if(e.hasOwnProperty("components")&&e.components.length>0&&void 0!==G.get("component").collection){var i=G.get("menu").collection.findOne({id:e.menu}),a=this.getMasterData(i);if(a.hasOwnProperty("componentsVisible")&&a.componentsVisible){var r=G.get("component").collection.chain().find({id:{$in:e.components}}).data();if((r=r.filter(function(e){return ga._checkMealIsFiltered(e,t,n)}.bind(this))).length>0)return!0}}}return!1},_checkMealHasFeature:function(e,t,n){var i=!1;if(null!==n&&t.active&&(this._checkMealContainsFeatures(e,t,n)&&(i=!0),e.hasOwnProperty("components")&&e.components.length>0&&void 0!==G.get("component").collection)){var a=G.get("menu").collection.findOne({id:e.menu}),r=this.getMasterData(a);if(r.hasOwnProperty("componentsVisible")&&r.componentsVisible){var o=G.get("component").collection.chain().find({id:{$in:e.components}}).data();(o=o.filter(function(e){return this._checkMealHasFeature(e,t,n)}.bind(this))).length>0&&(i=!0)}}return i},_checkMealIsFilteredByAllergens:function(e,t,n){var i=!1;return void 0!==t.allergens[n]&&0!==t.allergens[n].length&&(e.allergens.forEach((function(e){-1!==t.allergens[n].indexOf(parseInt(e))&&(i=!0)})),i)},_checkMealIsFilteredByAdditives:function(e,t,n){var i=!1;return void 0!==t.additives[n]&&0!==t.additives[n].length&&(e.additives.forEach((function(e){-1!==t.additives[n].indexOf(parseInt(e))&&(i=!0)})),i)},_checkMealContainsFeatures:function(e,t,n){var i=!1;if(void 0===t.features[n]||0===t.features[n].length)return!1;if(t.featureFilterSelective){var a=[];e.features.forEach((function(e){-1!==t.features[n].indexOf(parseInt(e))&&a.push(e)})),i=a.length===t.features[n].length}else t.features[n].forEach((function(t){-1!==e.features.indexOf(t.toString())&&(i=!0)}));return i},_checkFilterNeedsFeature:function(e,t){return void 0!==e.features[t]&&e.features[t].length>0},_checkMealIsFilteredByDate:function(e,t){return!Wt.isSameDay(e.date,t)},_getVisibleRows:function(e){var t=!1,n=!1,i=null,a={price:!1,allergens:!1,additives:!1};return void 0!==G.get("features").collection&&(i=G.get("features").collection),e.forEach((function(e){if(e.features.length>0&&null!==i&&e.features.forEach((function(e){var n=i.findOne({id:{$eq:parseInt(e)}});null!==n&&n.showInOverview&&(t=!0)})),void 0!==G.get("additionalInformation").collection){var r=G.get("additionalInformation").collection.findOne({id:{$eq:e.additionalInformation}});null!==r&&(void 0!==r.employeePrice&&0!==r.employeePrice||void 0!==r.guestPrice&&0!==r.guestPrice)&&(a.price=!0),e.allergens.length>0&&(a.allergens=!0),e.additives.length>0&&(a.additives=!0),null!==r&&void 0!==r.nutritionalTrafficLight&&0!==r.nutritionalTrafficLight&&""!==r.nutritionalTrafficLight&&(n=!0)}})),{features:t,detailInformations:a,nutritionalInformation:n}}};function va(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var ya=n(9),ba=function(e){Dt()(n,e);var t=va(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={category:null,ciColor:null,horizontalNavFocus:!1,ready:!1,scrollSpy:"",currentMenus:!1},i.scrollToCurrent=i.scrollToCurrent.bind(on()(i)),i}return j()(n,[{key:"getMenuSelection",value:function(){var e=this.props,t=e.device,n=e.config;if("undefined"!==n&&void 0!==n.menus&&n.menus.length>1){var i=this.props.device.isMobile?"":t.orientation===t.orientations.portrait?" h-7rem":"h-100";return y.a.createElement("div",{className:"menuToolbarElement headline-2 menuSelection "+(t.orientation===t.orientations.portrait?"p-l-1rem p-v-1rem":"")},y.a.createElement(gi,{addClass:i,type:t.isMobile?"dropdown":"select",label:!1}))}return null}},{key:"resetCategory",value:function(){this.props.onCategoryReset()}},{key:"changeCategory",value:function(e){parseInt(e)!==parseInt(this.props.filter.category)&&this.props.onCategorySelect(e)}},{key:"_checkState",value:function(){if(this.props.filter.category!==this.state.category&&this.setState({category:null!==this.props.filter.category?parseInt(this.props.filter.category):null}),this.props.device.isMobile){var e=this.state.scrollSpy,t=this.props.menu;if(null===t)return;var n=".menuListWrapper."+e,i=ya(".menuListWrapper");if(0===i.length)return;var a="menu-"+t.id;i.addClass("menuListWrapper "+a),""!==e&&0!==ya(n).length&&e==="menu-"+t.id||this.setState({scrollSpy:a})}}},{key:"_getMenuElement",value:function(e,t){if(e.id){var n=this.state.horizontalNavFocus==="section-"+e.id?"text-ci f-w-bold ":null;return y.a.createElement("li",{key:e.id,id:"navsection-"+e.id,className:(this.state.horizontalNavFocus==="section-"+e.id?" text-ci ":"")+"flex-row d-inline-flex "},t>0?y.a.createElement("p",{className:" p-spacer f-s-2_5rem "},"•"):null,y.a.createElement("a",{className:n+" p-spacer f-s-2_5rem ",href:"#section-"+e.id}," ",e.name))}return null}},{key:"_getCategoryElement",value:function(e){if(e.id){var t=this.state.horizontalNavFocus==="section-"+e.id?"is-current":null;return y.a.createElement("li",{key:e.id,id:"navsection-"+e.id,className:t},y.a.createElement("a",{href:"#section-"+e.id},e.name))}return null}},{key:"scrollToCurrent",value:function(e){if(void 0!==e){var t=ya(".navbar-horizontal-scroll.scrollspy-scroll-container");ya(t).mousewheel((function(e,n){t.scrollLeft(t.scrollLeft()+60*-n)}));var n=ya(e).attr("id"),i=ya("#"+n),a=ya("#nav"+n),r=ya(a.parents(".navbar-horizontal-scroll"));if(0!==i.length&&0!==a.length&&0!==r.length){var o=a.offset().left-(r.offset().left-r.scrollLeft());r.animate({scrollLeft:o},100,"swing",(function(){}));var l=document.getElementById("nav"+e.getAttribute("id"));null!==l&&(this.setState({horizontalNavFocus:e.getAttribute("id")}),l.scrollIntoView({behavior:"smooth",block:"start"}))}}}},{key:"getAllOutletMenus",value:function(){var e=this;if(this.props.config.location&&void 0!==G.get("outlet").collection&&void 0!==G.get("menu").collection){var t=G.get("outlet").collection.find({location:{$eq:parseInt(this.props.config.location)}}),n=[];t.forEach((function(e){n.push(e.id)}));var i=G.get("menu").collection.find({outlet:{$in:n}}),a=[],r=[];if(i.forEach((function(t){ga.checkMenuDayHasMeals(t,e.props.filter.day)&&r.push(t)})),(r=G.get("menu").sort(r,t)).forEach((function(e){a.push("section-"+e.id)})),0===r.length)return null;var o=y.a.createElement("div",{className:"navbar-horizontal-scroll w-100 overflow-auto scrollspy-scroll-container meal-category-scrollspy-nav headline-2 p-v-1rem"},y.a.createElement(ma.a,{items:a,className:"menu-scrollspy-nav w-auto scrollspy-nav",currentClassName:"is-current",rootEl:".menuListWrapper",onUpdate:e.scrollToCurrent,offset:-10},r.map((function(t,n){return e._getMenuElement(t,n)}))));return JSON.stringify(r)!==JSON.stringify(e.state.currentMenus)?(e.setState({currentMenus:r}),null):y.a.createElement("div",{className:"w-100 overflow-hidden"},y.a.createElement(si,{addClass:" w-100 ",addClassContent:"navbar-horizontal-scroll",direction:"landscape",content:o,hideIndicator:!1}),";")}return null}},{key:"setInitialScrollElement",value:function(){var e=this,t=this.props,n=t.settings,i=t.config,a=this.state,r=a.outlet,o=a.horizontalNavFocus,l=a.currentMenus;if(n.MENU_LIST_SHOW_ALL_OUTLETS)!1===r&&this.setState({outlet:this.props.outlet}),!1!==r&&this.state.outlet!==this.props.outlet&&this.setState({outlet:this.props.outlet,horizontalNavFocus:!1}),!0===n.MENU_LIST_SHOW_ALL_OUTLETS&&!1===o&&!1!==l&&l.forEach((function(t){if(t.outlet===parseInt(i.outlet)){var n=document.getElementById("navsection-"+t.id).getElementsByTagName("a")[0];e.setState({horizontalNavFocus:"section-"+t.id},(function(){null!==n&&n.click()}))}}));else if(""!==this.state.scrollSpy&&!1===o){var c=this._getCategoriesWhereMealsExists(),s=!1;c.forEach((function(t){if(!s){var n=document.getElementById("navsection-"+t.id).getElementsByTagName("a")[0];e.setState({horizontalNavFocus:"section-"+t.id},(function(){null!==n&&n.click()})),s=!0}}))}}},{key:"getAllCategoriesMenu",value:function(){var e=this,t=this._getCategoriesWhereMealsExists(),n=[];t.map((function(e){n.push("section-"+e.id)}));var i=y.a.createElement("div",{className:"navbar-horizontal-scroll flex-0-0-a border-bottom m-v-spacer w-100 overflow-y-a scrollspy-scroll-container"},y.a.createElement(ma.a,{items:n,className:"menu-scrollspy-nav scrollspy-nav",currentClassName:"is-current",rootEl:".menuListWrapper",onUpdate:function(){e.scrollToCurrent()},offset:-10},t.map((function(t){return e._getCategoryElement(t)}))));return y.a.createElement(si,{direction:"landscape",content:i,hideIndicator:!0})}},{key:"componentDidUpdate",value:function(e,t){this._checkState(),this.setInitialScrollElement()}},{key:"componentDidMount",value:function(){this._checkState(),this.setInitialScrollElement()}},{key:"_getCategoriesWhereMealsExists",value:function(){var e=this,t=G.get("meal").collection,n=G.get("mealCategory").collection,i=G.get("menu").collection.findOne({id:{$eq:parseInt(this.props.config.menu)}});return null===this.props.menu?[]:n.chain().find().where((function(n){return t.chain().find({$and:[{category:{$eq:n.id}},{menu:{$eq:e.props.menu.id}}]}).where((function(t){var n=t.date,a=e.props.filter.day;return i.dailyAvailable||Wt.isSameDay(n,a)})).data().length>0})).sort((function(e,t){return e.orderingt.ordering?1:0})).data()}},{key:"_checkMobileScrollHeight",value:function(){var e=ya("body"),t=ya(".menuToolbarElement.categorySelection"),n=ya(".topBar"),i=ya(".tickerContainer"),a=ya(".bottomBar");if(0!==e.length&&0!==t.length&&0!==a.length){var r=e.height(),o=(t.height(),n.height()),l=i.length>0?i.height():0,c=a.height(),s=ya(".menuListWrapper");if(!ya(".dropdown-mobile").hasClass("in")&&0!==s.length&&0!==r){var u=s.children("section").children().last(),f=ya(".menuToolBarWrapper").height();s.height(r-f-o-c-l),0!==u.length&&ya(u).css({"min-height":s.height()+1+"px"})}}}},{key:"mobileScrollToCurrent",value:function(e,t){var n=this,i=ya("#"+e),a=ya("#nav"+e),r=ya(i.parents(".menuListWrapper")),o=ya(a.parents(".meal-category-scrollspy-nav"));if(0!==i.length&&0!==a.length&&0!==o.length){var l=a.offset().left-(o.offset().left-o.scrollLeft());o.animate({scrollLeft:l},100,"swing",(function(){})),ya(".scrollspy-nav").is(":visible")&&r.is(":visible")&&(r.on("scroll",(function(){ya(document).scrollTop();var e=ya(".scrollspy-nav").offset().top,t=r.scrollTop();t>=e&&(t=e),ya(".scrollspy-nav").is(":visible")&&r.is(":visible")&&ya(document).scrollTop(t)})),r.attr("listener-added",!0)),this.setState({horizontalNavFocus:e},(function(){var e=i.offset().top-(r.offset().top-r.scrollTop());t&&r.animate({scrollTop:e},500,"swing",(function(){n.isScrolling=!1}))}))}}},{key:"getMobileScrollSpy",value:function(){var e=this,t=this.state.scrollSpy,n=".menuListWrapper"+(""!==t?"."+t:""),i=this._getCategoriesWhereMealsExists(),a=i.map((function(e){return"section-"+e.id}));return 0===ya(n).length&&(n=".menuListWrapper",this.setState({scrollSpy:""})),y.a.createElement("div",{className:"navbar-horizontal-scroll max-w-100vw overflow-auto scrollspy-scroll-container meal-category-scrollspy-nav headline-2 p-v-1rem"},y.a.createElement(ma.a,ai()({items:a,key:n,currentClassName:"active f-w-bold text-ci ",className:"headline-2 w-auto p-v-1rem scrollspy-nav",onUpdate:function(t){e._checkMobileScrollHeight(),void 0!==t?e.mobileScrollToCurrent(ya(t).attr("id"),!1):ya("body").scrollTop(0)},rootEl:".menuListWrapper"},this.props),i.map((function(t){var n=e.state.selection===t.id?"is-current":null;return y.a.createElement("li",{key:t.id,id:"navsection-"+t.id,className:"p-h-2rem "+n},y.a.createElement("a",{href:"#section-"+t.id},t.name))}))))}},{key:"componentWillUnmount",value:function(){this.setState({scrollSpy:""})}},{key:"render",value:function(){var e,t=this,n=null,i=null,a=null,r=null,o=this.props.device,l=null,c=null,s=null;if(void 0===G.get("meal").collection||void 0===G.get("menu").collection||!0===G.get("menu").process)return null;if(o.isMobile&&(i=y.a.createElement("div",{className:"menuToolbarElement overflow-h categorySelection"},y.a.createElement("div",{className:"navbar-horizontal-scroll max-w-100vw flex-0-0-a border-bottom m-v-spacer w-100 overflow-y-a scrollspy-scroll-container "},this.getMobileScrollSpy())),this._checkMobileScrollHeight()),null!==t.props.menu&&(t.props.menu.dailyAvailable&&this.props.settings.DAILY_AVAILABLE_MENU_LIST_CATEGORY_GROUP||this.props.settings.MENU_LIST_CATEGORY_GROUP)&&(o.isMobile||null===t.props.filter.category||(a=y.a.createElement("div",{className:"menuToolbarElement resetCategorySelection "},y.a.createElement("div",{className:"m-l-1rem h-100"},y.a.createElement("button",{type:"button",onClick:function(){t.resetCategory()},className:"p-spacer h-100 border-radius"},this.props.translation.translate("gui_label_menu_reset_category")))))),e=y.a.createElement("div",{className:"menuToolbarElement weekSelection min-w-9rem "},y.a.createElement(da,null)),null!==t.props.menu&&!t.props.menu.dailyAvailable||this.props.settings.MENU_LIST_SHOW_ALL_OUTLETS){var u=o.isMobile?"border-top-defaultGrey border-bottom-lightGrey ":"";n=y.a.createElement("div",{className:u+" menuToolbarElement daySelection"},y.a.createElement(wi,{horizontalNavFocus:t.state.horizontalNavFocus})),L.STANDALONE||(c=y.a.createElement(ia,null),s=y.a.createElement(la,null))}var f=y.a.createElement("div",{className:"menuToolbarElement filterSelection absright"},y.a.createElement(Zi,null));return!o.isMobile&&this.props.settings.MENU_LIST_SHOW_ALL_OUTLETS?l=t.getAllOutletMenus():"vertical"===this.props.settings.MENU_LIST_MEAL_VIEW&&this.props.settings.MENU_LIST_SHOW_CATEGORY_NAVIGATION?(l=t.getAllCategoriesMenu(),r=t.getMenuSelection()):r=t.getMenuSelection(),y.a.createElement("section",{className:"menuToolBarWrapper flex-0-0-a d-flex align-items-center justify-content-center flex-column "+(o.isMobile?"":" background-defaultGrey ")},l,y.a.createElement("div",{className:"menuToolBar overflow-h d-grid w-100"+(L.STANDALONE?" standalone ":"")+(o.isMobile||o.orientation===o.orientations.portrait?o.orientation===o.orientations.portrait&&null!==this.props.menu&&this.props.menu.dailyAvailable?" dailyAvailable ":"":" p-1rem h-10rem ")},a,r,n,e,i,c,s,f))}}]),n}(y.a.Component),ka=Object(w.d)(Object(_.b)((function(e){var t=null,n=null;return void 0!==G.get("menu").collection&&(t=G.get("menu").collection.findOne({id:{$eq:parseInt(e.config.config.menu)}})),"undefined"!==e.deviceConfig.mobile&&(n=e.deviceConfig),{menu:t,device:n,config:e.config.config,settings:e.settings,translation:e.translation.translation,filter:e.filter.filter,outlet:e.config.config.outlet}}),(function(e){return{onMenuSelect:function(t){e(Tt.config.configChanged({menu:t})),e(Tt.filter.filterChanged({category:null}))},onCategorySelect:function(t){e(Tt.filter.filterChanged({category:t}))},onCategoryReset:function(t){e(Tt.filter.filterChanged({category:null}))}}}))(ba));function _a(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Ea=function(e){Dt()(n,e);var t=_a(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={priceFields:[]},i.priceFieldsValues=["employeePrice","guestPrice","price3","price4"],i}return j()(n,[{key:"getMenuMasterData",value:function(e){if(void 0!==G.get("dietPlanMasterData").collection){var t=G.get("dietPlanMasterData").collection.findOne({outlet:{$eq:e.outlet}});return null===t&&(t=G.get("dietPlanMasterData").collection.findOne({outlet:{$eq:0}})),t}return null}},{key:"_getMasterDataFields",value:function(e,t){return"employeePrice"===e?{emptyValue:t.priceEmpty1,title:t.priceTitle1,unit:t.priceUnit1}:"guestPrice"===e?{emptyValue:t.priceEmpty2,title:t.priceTitle2,unit:t.priceUnit2}:"price3"===e?{emptyValue:t.priceEmpty3,title:t.priceTitle3,unit:t.priceUnit3}:"price4"===e?{emptyValue:t.priceEmpty4,title:t.priceTitle4,unit:t.priceUnit4}:null}},{key:"_checkPriceIsVisible",value:function(e){var t=this,n=t.props,i=n.language,a=n.device,r=n.meal,o=n.view,l=n.overview;if(null===r)return null;var c=G.get("menu").collection.findOne({id:parseInt(t.props.config.menu)});if(null===c)return null;var s=G.get("additionalInformation").collection.findOne({id:r.additionalInformation}),u=t.getMenuMasterData(c);if(null===u||null===s)return null;if(void 0!==l&&l){if(t.validPrices>=2)return null;if(-1===L.MENU_OVERVIEW_ELEMENTS.priceFields.indexOf(e))return null}var f=t._getMasterDataFields(e,u);if(null===f)return null;if(s[e]||void 0!==f.emptyValue&&null!==f.emptyValue&&""!==f.emptyValue.trim()){var p=null,d=null;if(void 0===f.title||null===f.title||""===f.title)return null;var h=f.title;void 0!==f.unit&&null!==f.unit&&""!==f.unit&&(p=f.unit.replace(/ /g," ")),void 0!==s[e]&&null!==s[e]&&""!==s[e]?d=s[e]:(d=f.emptyValue,p=""),null!==d&&(d=null===i||"de"===i.code?d.toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2}):d.toLocaleString("en-GB",{minimumFractionDigits:2,maximumFractionDigits:2})),t.validPrices++;var m=L.STANDALONE?" headline-2 ":" text ";return"detail"!==o||a.isMobile?y.a.createElement("div",{key:e,className:"price d-flex flex-row price-row "},y.a.createElement("div",{className:"price-label text flex-1-1-a "+(a.isMobile?"line-height-extra-large":"")},h),y.a.createElement("div",{className:"price-value text flex-0-0-a "+(a.isMobile?"line-height-extra-large":"")},d," ",p)):y.a.createElement("div",{key:e,className:e+" p-l-1rem price"+m},h," ",d," ",p)}return null}},{key:"componentDidMount",value:function(){}},{key:"render",value:function(){var e=this,t=this.props,n=t.translation,i=t.title,a=t.overview,r=t.device;this.validPrices=0;var o=this.priceFieldsValues.map((function(t){return e._checkPriceIsVisible(t)})),l=!1;o.forEach((function(e){null!==e&&(l=!0)}));var c=null;l||(c=a?y.a.createElement("div",{className:"price",dangerouslySetInnerHTML:{__html:" "}}):y.a.createElement("p",{className:"p-l-spacer empty-message"},n.translation.translate("gui_label_meal_detail_empty_value")));var s=L.STANDALONE?" headline-1 ":" headline-2 ";return y.a.createElement("div",{className:"priceWrapper"},i&&!r.isMobile?y.a.createElement("p",{className:"f-w-bold border-bottom m-v-spacer "+s},n.translation.translate("gui_label_menu_meal_detail_tab_price")):null,y.a.createElement("div",{className:(r.isMobile?"p-h-1rem":"")+" priceContentWrapper"},o),c)}}]),n}(y.a.Component),wa=Object(w.d)(Object(_.b)((function(e){var t=null;return void 0!==e.config.config.language&&void 0!==G.get("language").collection&&(t=G.get("language").collection.findOne({id:{$eq:parseInt(e.config.config.language)}})),{device:e.deviceConfig,language:t,config:e.config.config,translation:e.translation}}),(function(){return{}}))(Ea));function Ca(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Na=function(e){Dt()(n,e);var t=Ca(n);function n(){return P()(this,n),t.apply(this,arguments)}return j()(n,[{key:"isFilteredElement",value:function(e){return!0===this.props.filter.active&&(void 0!==this.props.filter.features[this.props.location]&&0!==this.props.filter.features[this.props.location].length&&-1!==this.props.filter.features[this.props.location].indexOf(parseInt(e.id)))}},{key:"featureMapping",value:function(e){var t=null,n=this.props,i=n.device,a=n.isOverview;if(this.props.showAll)t=y.a.createElement("span",{className:"name"},e.name);else if(void 0===e.image||null===e.image)return null;var r=null;this.props.showAll&&this.isFilteredElement(e)&&(r=y.a.createElement("span",{className:"filtered-element-icon"},y.a.createElement("i",{className:"far fa-exclamation-triangle hasFeature","aria-hidden":"true"})));var o;o=y.a.createElement("div",{className:"flex-0-0-a p-h-1rem "+(i.isMobile||a?"f-0-0-6rem":"f-0-0-8rem")},y.a.createElement("div",{className:"img-contain-container h-4rem"},y.a.createElement(Ri,{class:" w-auto image-feature",model:"features",fallback:e.image,id:e.imageId,attribute:"image"})));var l="",c=L.STANDALONE?" headline-2 ":" text ";null===o&&(l=" name-with-space");var s=y.a.createElement("span",{className:"nameContainer"+l+c},r," ",t),u=null;a||(u=y.a.createElement("div",{className:"flex-1-1-a d-flex flex-row flex-nowrap align-items-center"},s));var f="";return f=a?" flex-0-0-4rem":" m-t-1rem"+(i.isMobile?"":" flex-0-0-50"),y.a.createElement("div",{key:e.id,className:f+" d-flex flex-row flex-nowrap feature feature-"+e.id},o,u)}},{key:"render",value:function(){var e=this,t=this.props,n=t.meal,i=t.device,a=t.isOverview;if(null===n)return null;var r=[];if(null===e.props.collection)return null;e.showAll=this.props.showAll,n.features.forEach((function(t){var n={id:{$eq:parseInt(t)}};e.showAll||(n={$and:[{id:{$eq:parseInt(t)}},{showInOverview:{$eq:!0}}]});var i=e.props.collection.chain().find(n).data();i.length>0&&(r=r.concat(i))})),r.sort((function(e,t){var n=e.ordering,i=t.ordering,a=e.name.toLowerCase(),r=t.name.toLowerCase();return ni?1:ar?1:0}));var o=null;if(0===r.length&&void 0===this.props.forceShow&&this.props.hideLabel)return null;var l=null,c=L.STANDALONE?" headline-1 ":" headline-2 ",s=L.STANDALONE?" headline-2 ":" text ";i.isMobile||void 0!==this.props.hideLabel||(l=y.a.createElement("p",{className:" f-w-bold border-bottom m-v-spacer"+c},e.props.translation.translation.translate("gui_label_menu_meal_detail_tab_features"))),0===r.length&&void 0===this.props.hideLabel&&(o=y.a.createElement("p",{className:"p-1rem empty-message"+s},e.props.translation.translation.translate("gui_label_meal_detail_empty_features_value")));var u=r.map((function(t){return e.featureMapping(t)}));if(u instanceof Array){var f=!1;if(u.forEach((function(e){void 0!==e&&(f=!0)})),!f&&void 0!==this.props.hideLabel)return null}var p=null;return p=a?"flex-row flex-nowrap":i.isMobile?"flex-column flex-nowrap ":"flex-row flex-wrap ",y.a.createElement("div",{className:"featuresWrapper"},l,y.a.createElement("div",{className:"features d-flex "+p},r.map((function(t,n){return n<=2||!a?e.featureMapping(t):null}))),o)}}]),n}(y.a.Component),Sa=Object(w.d)(Object(_.b)((function(e){var t=null;void 0!==G.get("features").collection&&(t=G.get("features").collection);var n=null;return void 0!==e.config.config&&null!==e.config.config.location&&"null"!==e.config.config.location&&(n=e.config.config.location),{collection:t,device:e.deviceConfig,translation:e.translation,filter:e.filter.filter,location:n,process:G.get("features").process}}),(function(){return{}}))(Na));function Oa(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Ra=function(e){Dt()(n,e);var t=Oa(n);function n(){return P()(this,n),t.apply(this,arguments)}return j()(n,[{key:"getMenuMasterData",value:function(e){if(null!==e&&void 0!==G.get("dietPlanMasterData").collection){var t=G.get("dietPlanMasterData").collection.findOne({outlet:{$eq:e.outlet}});return null===t&&(t=G.get("dietPlanMasterData").collection.findOne({outlet:{$eq:0}})),t}return null}},{key:"render",value:function(){var e=this,t=this.props.meal;if(null===t)return null;var n=G.get("menu").collection.findOne({id:parseInt(e.props.menu)}),i=G.get("additionalInformation").collection.findOne({id:t.additionalInformation}),a=e.getMenuMasterData(n);if(null!==a&&!1===a.nutritionalTrafficLight)return null;var r=this.props,o=r.device,l=r.isOverview,c=null,s=null,u=null,f=L.STANDALONE?" headline-1 ":" headline-2 ",p=L.STANDALONE?" headline-2 ":" text ";if(null!==i&&i.nutritionalTrafficLight){if((null===a||a.nutritionalTrafficLight)&&i.nutritionalTrafficLight&&void 0!==G.get("signal").collection){var d=G.get("signal").collection.findOne({id:{$eq:i.nutritionalTrafficLight}});null!==d&&(c=y.a.createElement("div",{className:"flex-0-0-a p-h-1rem d-flex "+(o.isMobile&&!l?" m-t-1rem ":"")+(o.isMobile||l?l?"f-0-0-4rem":"f-0-0-6rem":"f-0-0-8rem")},y.a.createElement("div",{className:"img-contain-container d-flex"},y.a.createElement(Ri,{class:"w-auto",model:"signal",fallback:d.image,id:d.id,attribute:"image"}))))}i.energyDensity&&null!==a&&void 0!==a.edUnit?u=y.a.createElement("span",{className:"nutritionalInformation energy"+p},i.energyDensity," ",a.edUnit):i.energyDensity&&(u=y.a.createElement("span",{className:"nutritionalInformation energy"+p},i.energyDensity," "))}var h=null;if(null===u&&null===c&&void 0===this.props.forceShow){if(!this.props.showTitle||null===a||!a.nutritionalTrafficLight)return null;h=y.a.createElement("p",{className:"p-1rem empty-message"+p},e.props.translation.translation.translate("gui_label_meal_detail_empty_nutritional_index_value"))}if(void 0!==this.props.forceShow&&null!==a&&!a.nutritionalTrafficLight)return null;var m=null;return o.isMobile||void 0!==this.props.hideLabel||(m=null===a?y.a.createElement("p",{className:"f-w-bold border-bottom m-v-spacer"+f},e.props.translation.translation.translate("gui_label_menu_meal_detail_tab_signal")):void 0!==a.nutritionalTrafficLightTitle&&null!==a.nutritionalTrafficLightTitle&&""!==a.nutritionalTrafficLightTitle?y.a.createElement("p",{className:"f-w-bold border-bottom m-v-spacer"+f},a.nutritionalTrafficLightTitle):y.a.createElement("p",{className:"f-w-bold border-bottom m-v-spacer"+f},e.props.translation.translation.translate("gui_label_menu_meal_detail_tab_signal"))),null!==c&&(s=y.a.createElement("div",{className:"nutritionalSignalRow d-flex flex-row flex-nowrap"},c,u)),y.a.createElement("div",{className:"nutritionalSignalRowWrapper"},m,s,h)}}]),n}(y.a.Component),Ia=Object(w.d)(Object(_.b)((function(e){var t=null,n=null,i=null;return void 0!==e.config.config&&"undefined"!==e.config.config.menu&&(t=e.config.config.menu),void 0!==G.get("dietPlanMasterData").collection&&(n=G.get("dietPlanMasterData").collection),void 0!==G.get("signal").collection&&(i=G.get("signal").collection),{signalCollection:i,device:e.deviceConfig,masterDataCollection:n,translation:e.translation,menu:t}}),(function(){return{}}))(Ra));function Ta(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var xa=n(490),Da=n(9),Ma=function(e){Dt()(n,e);var t=Ta(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).inited=!1,i.refChart=y.a.createRef(),i}return j()(n,[{key:"_drawChart",value:function(){var e=this,t=void 0!==this.props.showLegend&&this.props.showLegend,n=void 0!==this.props.type?this.props.type:"donut",i=void 0!==this.props.data?this.props.data:[],a=void 0!==this.props.keys?this.props.keys:[],r=void 0!==this.props.title?this.props.title:null,o=void 0!==this.props.colorFn?this.props.colorFn:null,l=void 0!==this.props.height?this.props.height:null,c=void 0!==this.props.width?this.props.width:null;if(null===l){var s=.2;document.documentElement.clientWidth>L.MOBILE_BREAKPOINT&&document.documentElement.clientWidth<=L.TABLET_BREAKPOINT?s=.07:document.documentElement.clientWidth>L.TABLET_BREAKPOINT&&(s=.08),l=document.documentElement.clientWidth*s}var u={size:{height:parseInt(l)},bindto:this.refChart,legend:{show:t},keys:a,interaction:{enabled:!0},order:null,tooltip:{contents:function(t){if("function"==typeof e.props.getInfoText)return e.props.getInfoText(t)}},onrendered:function(){"function"==typeof e.props.renderCallback&&e.props.renderCallback()},data:{order:null,type:n}};if("gauge"===n||"donut"===n){var f=ce()({},n,{label:{show:!1},title:r});"gauge"===n&&(f[n].label.format=function(e){return e+"%"},null!==o&&(u.data.color=o)),void 0!==this.props.thick&&(f[n].width=this.props.thick),u=Da.extend({},u,f)}if(i instanceof Array){if(0===A()(i.length))return;var p=Da.extend({},{columns:i},u.data);u=Da.extend({},u,{data:p})}else{if(0===i.data.columns[0].length)return;u=Da.extend({},u,i)}if(console.log("width",c),null!==c&&(u.size.width=c),0!==i.length){var d={columns:i};if(e.inited)void 0===i.length&&(d=i),JSON.stringify(i)!==JSON.stringify(e.data)&&("gauge"===n||"donut"===n?(null!==o&&(d.color=o),this.chart.load(d)):this.chart.load(i.data),this.chart.flush(),e.data=i);else{if(this.chart=xa.generate(u),u.hasOwnProperty("axis")){var h=[],m=[];u.axis.x.categories.map((function(e){h.push({value:e,text:""})})),u.axis.y.tick.values.map((function(e){m.push({value:e,text:""})})),this.chart.xgrids.add(h),this.chart.ygrids.add(m)}e.data=i,e.inited=!0}}}},{key:"_onShowTooltip",value:function(e){var t=Da(this.refChart).find(".c3-tooltip-container");"function"==typeof this.props.getInfoText&&(Da(t).html(this.props.getInfoText()),e?Da(t).show():Da(t).hide())}},{key:"componentDidMount",value:function(){void 0!==this.props.renderListener?this.props.renderListener.push(this):this._drawChart()}},{key:"componentDidUpdate",value:function(){void 0!==this.props.renderListener?this.props.renderListener.push(this):this._drawChart()}},{key:"render",value:function(){var e=this,t=this;return y.a.createElement("div",{className:"chartWrapper"},this.props.label,y.a.createElement("div",{onMouseOver:function(){t._onShowTooltip(!0)},onMouseOut:function(){t._onShowTooltip(!1)},onTouchMove:function(){t._onShowTooltip(!0)},className:"chart "+this.props.cssClass,ref:function(t){return e.refChart=t}},y.a.createElement("span",{className:"in-process"},t.props.translation.translation.translate("gui_label_capacity_process"))))}}]),n}(y.a.Component),Aa=Object(w.d)(Object(_.b)((function(e){return{translation:e.translation,lightbox:e.lightbox}}),(function(e){return{hide:function(){e(Ce(!1))}}}))(Ma));function La(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Fa=n(9),Pa=function(e){Dt()(n,e);var t=La(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).chartListeners=[],i}return j()(n,[{key:"_getDayStringValue",value:function(e){var t=this.props.translation.translation.translate("gui_label_placeholder_description");return t=(t=t.replace("{{value}}",e.mappingDay)).replace("{{label}}",e.label)}},{key:"getMenuMasterData",value:function(){return this.props.masterData}},{key:"getTextBlock",value:function(){if(void 0!==G.get("textblock").collection){var e=G.get("textblock").collection.findOne({$and:[{key:{$eq:this.props.textBlockKey}},{outlet:{$eq:parseInt(this.props.outlet)}}]});if(null!==e)return y.a.createElement("span",{className:"nutritionalInformationTextBlock"},e.content)}return null}},{key:"_checkCharts",value:function(){var e=this,t=Fa(".overlay-main");t.length>0?t.fadeIn("fast",(function(){new Promise((function(t){e.chartListeners.forEach((function(e){"function"==typeof e._drawChart&&e._drawChart()})),t(!0)})).then((function(){t.fadeOut()}))})):e.chartListeners.forEach((function(e){"function"==typeof e._drawChart&&e._drawChart()}))}},{key:"_mapToChart",value:function(e){var t=this,n=y.a.createElement("div",{className:"chartLabel"},e.label),i=(this.props.device.isMobile,"150");return y.a.createElement(Aa,{renderListener:t.chartListeners,getInfoText:function(){return Fa(t.refs.info).html(""+e.label+" "+e.mapping+" "+t._getDayStringValue(e)),""},key:e.chartData[0],cssClass:e.cssClass,data:e.chartData,height:i,thick:12,width:0,label:n,title:e.mapping})}},{key:"getDecimalPlaces",value:function(e,t){var n=2;return void 0===this.props.valueDecimals[e]||isNaN(this.props.valueDecimals[e])||(n=this.props.valueDecimals[e]),"salt"===e&&(n=0,parseFloat(t)>1?n=1:parseFloat(t)>.0125&&(n=2)),n}},{key:"_getNutritionalInformationArray",value:function(){var e=this,t=this,n=this.props.meal;if(null===n)return[];var i=G.get("additionalInformation").collection.findOne({id:n.additionalInformation}),a=t._getFieldsByMasterdata(),r=[];return a.forEach((function(n){if(null!==i&&null!==i[n]&&void 0!==i[n]){var a=t.getDecimalPlaces(n,i[n]),o=i[n].toFixed(a),l=t.props.dayValues[n].toFixed(a),c=G.get("language").collection.findOne({id:{$eq:parseInt(t.props.language)}});null!==c&&"de"===c.code&&null!==o&&(o=o.toString().replace(/\./g,","),l=l.toString().replace(/\./g,","));var s=i[n]/t.props.dayValues[n]*100,u="low";u=!1===e.props.settings.MEAL_CHART_COLORS?"grey":s<33?"low":s<66?"medium":"high";var f=100-s;s>=100&&(f=0),r.push({field:n,donut:{width:10},label:t.props.translation.translation.translate("gui_label_"+n),mapping:t.props.labelMapping[n].replace("{value}",o),cssClass:u,mappingDay:t.props.labelMapping[n].replace("{value}",l),chartData:[[n,s],[n+"Day",f]]})}})),r}},{key:"_getFieldsByMasterdata",value:function(){var e=this.getMenuMasterData();return null!==e&&""!==e.nutritionalInformationViewType?1===e.nutritionalInformationViewType?[]:2===e.nutritionalInformationViewType?["energy","energyCalories"]:3===e.nutritionalInformationViewType?["energy","energyCalories","fat","fattyAcids","sugar","salt"]:["energy","energyCalories","fat","fattyAcids","carbohydrates","sugar","protein","salt"]:["energy","energyCalories","fat","fattyAcids","carbohydrates","sugar","protein","salt"]}},{key:"componentDidUpdate",value:function(){this._checkCharts()}},{key:"componentDidMount",value:function(){this._checkCharts()}},{key:"render",value:function(){var e=this,t=this.props.device,n=e._getNutritionalInformationArray(),i=null,a=L.STANDALONE?" headline-2 ":" text ";0===n.length&&(i=y.a.createElement("p",{className:"p-1rem empty-message"+a},e.props.translation.translation.translate("gui_label_meal_detail_empty_nutritional_value")));var r=e.getMenuMasterData(),o=e.props.translation.translation.translate("gui_label_nutritional_information");null!==r&&r.nutritionalInformationTitle&&(o=r.nutritionalInformationTitle);var l=this.props.meal;if("meal"===this.props.type&&null!==e.props.mealCategoryCollection){var c=e.props.mealCategoryCollection.findOne({id:{$eq:l.category}});null!==c&&void 0!==c.nutritionalInformationTitle&&null!==c.nutritionalInformationTitle&&c.nutritionalInformationTitle.length>0&&(o=c.nutritionalInformationTitle)}if("component"===this.props.type&&null!==e.props.componentCategoryCollection){var s=e.props.componentCategoryCollection.findOne({id:{$eq:l.category}});null!==s&&void 0!==s.nutritionalInformationTitle&&null!==s.nutritionalInformationTitle&&s.nutritionalInformationTitle.length>0&&(o=s.nutritionalInformationTitle)}if(0===n.length&&null!==r&&1===r.nutritionalInformationViewType)return null;var u=y.a.createElement("div",{className:"nutritionalCharts nutritionalCharts flex-wrap"},n.map((function(t){return e._mapToChart(t)}))),f=L.STANDALONE?" headline-1 ":" headline-2 ";return y.a.createElement("div",{className:"nutritionalChartsOuterWrapper"},y.a.createElement("div",{className:"nutritionalChartsWrapper flex-nowrap"},t.isMobile?y.a.createElement("p",{className:"info p-h-1rem p-v-spacer text",ref:"info"}):null,t.isMobile?null:y.a.createElement("p",{className:"f-w-bold border-bottom m-v-spacer "+f},o," ",y.a.createElement("span",{className:"textBlock"},e.getTextBlock())),u,i,t.isMobile?null:y.a.createElement("p",{className:"info p-h-1rem p-v-spacer text",ref:"info"})))}}],[{key:"defaultProps",get:function(){return{dayValues:{protein:50,fat:70,fattyAcids:20,energyCalories:2e3,energy:8400,carbohydrates:260,salt:6,sugar:90},labelMapping:{protein:"{value} g",fat:"{value} g",fattyAcids:"{value} g",energyCalories:"{value} kcal",energy:"{value} kJ",carbohydrates:"{value} g",salt:"{value} g",sugar:"{value} g"},valueDecimals:{protein:1,fat:1,fattyAcids:1,energyCalories:0,energy:0,carbohydrates:1,salt:0,sugar:1},textBlockKey:"wsp_gui_label_nutritional_information"}}}]),n}(y.a.Component),Ba=Object(w.d)(Object(_.b)((function(e){var t=null,n=null,i=null,a=null,r=null;void 0!==e.config.config&&(t=e.config.config.menu,i=e.config.config.outlet,n=e.config.config.language);var o=null;return null!==t&&null!==i&&"null"!==i&&void 0!==G.get("dietPlanMasterData").collection&&null===(o=G.get("dietPlanMasterData").collection.findOne({outlet:{$eq:parseInt(i)}}))&&(o=G.get("dietPlanMasterData").collection.findOne({outlet:{$eq:0}})),null!==t&&void 0!==G.get("mealCategory").collection&&(a=G.get("mealCategory").collection),null!==t&&void 0!==G.get("componentCategory").collection&&(r=G.get("componentCategory").collection),{menu:t,outlet:i,device:e.deviceConfig,masterData:o,language:n,settings:e.settings,translation:e.translation,mealCategoryCollection:a,componentCategoryCollection:r}}),(function(){return{}}))(Pa));function ja(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var qa=function(e){Dt()(n,e);var t=ja(n);function n(){return P()(this,n),t.apply(this,arguments)}return j()(n,[{key:"isFilteredElement",value:function(e){return!0===this.props.filter.active&&(void 0!==this.props.filter.allergens[this.props.location]&&0!==this.props.filter.allergens[this.props.location].length&&-1!==this.props.filter.allergens[this.props.location].indexOf(parseInt(e.id)))}},{key:"mapping",value:function(e,t){var n=L.STANDALONE?" headline-2 ":" text ",i=null,a=null,r=y.a.createElement("span",{className:"name"+n},t.name),o=this.props.device;return this.isFilteredElement(t)&&(a=y.a.createElement("span",{className:"filtered-element-icon"},y.a.createElement("i",{className:"far fa-exclamation-triangle","aria-hidden":"true"}))),i=void 0!==t.image&&null!==t.image&&""!==t.image?y.a.createElement("div",{className:"img-contain-container h-4rem"},y.a.createElement(Ri,{class:"w-auto",model:"allergens",fallback:t.image,id:t.imageId,attribute:"image"})):y.a.createElement("span",{title:t.name,className:"contraction contraction-"+t.contraction},t.contraction),y.a.createElement("div",{key:t.id,className:"m-t-1rem d-flex flex-row flex-nowrap "+(o.isMobile?" ":" flex-0-0-50 ")+e+" "+e+"-"+t.id},y.a.createElement("div",{className:"flex-0-0-a p-h-1rem "+(o.isMobile?"f-0-0-6rem":"f-0-0-8rem")}," ",i),y.a.createElement("div",{className:"flex-1-1-a d-flex flex-row flex-nowrap align-items-center"},a," ",r))}},{key:"checkComponentsHaveAllergens",value:function(){var e=!1;!this.props.meal.hasOwnProperty("meal")&&this.props.meal.hasOwnProperty("components")&&"object"===A()(this.props.meal.components)&&this.props.meal.components.length>0&&G.get("component").collection.find({id:{$in:this.props.meal.components}}).map((function(t){"object"==A()(t.allergens)&&t.allergens.length>0&&(e=!0)}));return e}},{key:"render",value:function(){var e=this,t=this.props,n=t.collection,i=t.meal,a=t.translation,r=t.device;if(null===n)return null;var o=n.chain().find().where((function(e){return-1!==i.allergens.indexOf(e.id.toString())})).sort((function(e,t){var n=e.name.toLowerCase(),i=t.name.toLowerCase();return ni?1:0})).data(),l=this.checkComponentsHaveAllergens(),c=null,s=L.STANDALONE?" headline-1 ":" headline-2 ",u=L.STANDALONE?" headline-2 ":" text ";return 0===o.length&&!1===l?c=y.a.createElement("p",{className:"p-1rem empty-message"+u},a.translation.translate("gui_label_meal_detail_empty_allergens_value")):0===o.length&&!0===l&&(c=y.a.createElement("p",{className:"p-1rem empty-message"+u},a.translation.translate("gui_label_meal_detail_components_has_values"))),y.a.createElement("div",{className:"allergens"},r.isMobile?null:y.a.createElement("p",{className:"f-w-bold border-bottom m-v-spacer"+s},a.translation.translate("gui_label_menu_meal_allergens_tab")),y.a.createElement("div",{className:"row-wrapper"+(r.isMobile?" d-flex flex-column flex-nowrap":"")},o.map((function(t){return e.mapping("allergen",t)}))),c)}}]),n}(y.a.Component),Ga=Object(w.d)(Object(_.b)((function(e){var t=null;void 0!==G.get("allergens").collection&&(t=G.get("allergens").collection);var n=null;return void 0!==e.config.config&&null!==e.config.config.location&&"null"!==e.config.config.location&&(n=e.config.config.location),{device:e.deviceConfig,collection:t,translation:e.translation,filter:e.filter.filter,location:n,process:G.get("allergens").process}}),(function(){return{}}))(qa));function Ua(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Wa=function(e){Dt()(n,e);var t=Ua(n);function n(){return P()(this,n),t.apply(this,arguments)}return j()(n,[{key:"isFilteredElement",value:function(e){return!0===this.props.filter.active&&(void 0!==this.props.filter.additives[this.props.location]&&0!==this.props.filter.additives[this.props.location].length&&-1!==this.props.filter.additives[this.props.location].indexOf(parseInt(e.id)))}},{key:"mapping",value:function(e,t){var n=L.STANDALONE?" headline-2 ":" text ",i=this.props.device,a=null,r=y.a.createElement("span",{className:"name"+n},t.name),o=null;return this.isFilteredElement(t)&&(o=y.a.createElement("span",{className:"filtered-element-icon"},y.a.createElement("i",{className:"far fa-exclamation-triangle","aria-hidden":"true"}))),a=void 0!==t.image&&null!==t.image&&""!==t.image?y.a.createElement("div",{className:"imageWrapper img-contain-container"},y.a.createElement(Ri,{class:"w-auto",model:"additives",fallback:t.image,id:t.imageId,attribute:"image"})):y.a.createElement("span",{title:t.name,className:"contraction contraction-"+t.contraction},t.contraction),y.a.createElement("div",{key:t.id,className:"m-t-1rem d-flex flex-row flex-nowrap "+(i.isMobile?" ":" flex-0-0-50 ")+e+" "+e+"-"+t.id},y.a.createElement("div",{className:"flex-0-0-a "+(i.isMobile?"p-h-1rem f-0-0-4rem":"p-h-1rem f-0-0-8rem")}," ",a),y.a.createElement("div",{className:"flex-1-1-a d-flex flex-row flex-nowrap align-items-center"},o," ",r))}},{key:"checkComponentsHaveAdditives",value:function(){var e=!1;!this.props.meal.hasOwnProperty("meal")&&this.props.meal.hasOwnProperty("components")&&"object"===A()(this.props.meal.components)&&this.props.meal.components.length>0&&G.get("component").collection.find({id:{$in:this.props.meal.components}}).map((function(t){"object"==A()(t.additives)&&t.additives.length>0&&(e=!0)}));return e}},{key:"render",value:function(){var e=this,t=this.props.device,n=this.props.collection;if(null===this.props.collection)return null;var i=n.chain().find().where((function(t){return-1!==e.props.meal.additives.indexOf(t.id.toString())})).sort((function(e,t){var n=e.name.toLowerCase(),i=t.name.toLowerCase();return ni?1:0})).data(),a=this.checkComponentsHaveAdditives(),r=L.STANDALONE?" headline-1 ":" headline-2 ",o=L.STANDALONE?" headline-2 ":" text ",l=null;return 0===i.length&&!1===a?l=y.a.createElement("p",{className:"p-1rem empty-message"+o},this.props.translation.translation.translate("gui_label_meal_detail_empty_additives_value")):0===i.length&&!0===a&&(l=y.a.createElement("p",{className:"p-1rem empty-message"+o},this.props.translation.translation.translate("gui_label_meal_detail_components_has_values"))),y.a.createElement("div",{className:"additives"},t.isMobile?null:y.a.createElement("p",{className:" f-w-bold border-bottom m-v-spacer "+r},this.props.translation.translation.translate("gui_label_menu_meal_additives_tab")),y.a.createElement("div",{className:"row-wrapper"+(t.isMobile?" d-flex flex-column flex-nowrap":"")},i.map((function(t){return e.mapping("additive",t)}))),l)}}]),n}(y.a.Component),Va=Object(w.d)(Object(_.b)((function(e){var t=null,n=null;void 0!==G.get("additives").collection&&(n=(t=G.get("additives").collection).data.length);var i=null;return void 0!==e.config.config&&null!==e.config.config.location&&"null"!==e.config.config.location&&(i=e.config.config.location),{collection:t,collectionCount:n,translation:e.translation,filter:e.filter.filter,device:e.deviceConfig,location:i,process:G.get("additives").process}}),(function(){return{}}))(Wa));function za(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Ha=function(e){Dt()(n,e);var t=za(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).isScrolling=!1,i.state={items:[],mealId:null,horizontalNavFocus:null},i.imageHeight=0,i}return j()(n,[{key:"getMealInformations",value:function(){var e=this.props,t=e.meal,n=e.additionalInformation,i=e.masterData,a=this.state,r=a.items,o=a.mealId;if(!(null===t||null===n||r.length>0&&o===t.id)){var l=["price"];t.allergens.length>0&&l.push("allergens"),t.additives.length>0&&l.push("additives"),t.features.length>0&&l.push("features"),(null!==n.nutritionalTrafficLight||null!==n.energyDensity&&null!==i&&void 0!==i.edUnit)&&l.push("signal"),null!==n.ingredientList&&l.push("ingredientList"),null!==i&&i.nutritionalInformationViewType>1&&l.push("nutritionalInformations"),null!==n.supplierInformation&&l.push("supplierInformation"),l.length>0&&this.setState({items:l,mealId:t.id},(function(){}))}}},{key:"scrollToCurrent",value:function(e,t){var n=this,i=zn()("#"+e),a=zn()("#nav"+e),r=zn()(i.parents(".scroll-container-content")),o=zn()(a.parents(".navbar-horizontal-scroll"));if(0!==i.length&&0!==o.length&&0!==r.length){var l=a.offset().left-(o.offset().left-o.scrollLeft());o.animate({scrollLeft:l},100,"swing",(function(){})),this.setState({horizontalNavFocus:e},(function(){var e=i.offset().top-(r.offset().top-r.scrollTop());t&&r.animate({scrollTop:e},500,"swing",(function(){n.isScrolling=!1}))}))}else this.isScrolling=!1}},{key:"getScrollSpy",value:function(){var e=this,t=this.state.items,n=this.props,i=n.device,a=n.translation;if(!i.isMobile)return null;var r=[];t.map((function(e,t){r.push("section-meal-"+t)}));var o=".meal-main-information-wrapper >.scroll-container > .scroll-container-content";return y.a.createElement("div",{className:"navbar-horizontal-scroll flex-0-0-a border-bottom m-v-spacer w-100 overflow-y-a scrollspy-scroll-container "},y.a.createElement(ma.a,{items:r,className:"scrollspy-nav",currentClassName:"f-w-bold text-ci",rootEl:o,onUpdate:function(t){if(!e.isScrolling&&("portrait"===i.orientation&&zn()(o).on("scroll",(function(){var t=zn()(".mealImageWrapperContent img"),n=zn()(o),i=zn()(t.parents(".mealImageWrapperContent"));if(0!==t.length){0===e.imageHeight&&(e.imageHeight=t.height());var a=n[0].scrollHeight-(n[0].scrollHeight-n.scrollTop()),r=e.imageHeight-a-e.imageHeight;i.css("margin-top")!==r&&i.css("marginTop",r)}})),e.scrollToCurrent(zn()(t).attr("id"),!1),void 0!==t)){var n=zn()(t),a=zn()(n.parents(".scroll-container-content")),r=a.children().last();zn()(r).height(a.height())}}},t.map((function(t,n){var i=e.state.horizontalNavFocus==="section-meal-"+n?"f-w-bold ciColor":"";return y.a.createElement("li",{key:t,className:"m-l-spacer p-spacer "+i,id:"navsection-meal-"+n},y.a.createElement("a",{onClick:function(t){if(!e.isScrolling)return e.isScrolling=!0,e.scrollToCurrent("section-meal-"+n,!0),!0}},a.translation.translate("gui_label_"+t)))}))))}},{key:"componentDidUpdate",value:function(){this.getMealInformations()}},{key:"componentDidMount",value:function(){this.getMealInformations()}},{key:"getComponentsByKey",value:function(e){var t=this.props,n=t.meal,i=t.type,a=t.view;return a=a||!1,"price"===e?y.a.createElement(y.a.Fragment,{key:"price"},y.a.createElement(wa,{meal:n,title:!0,view:a})):"allergens"===e?y.a.createElement(y.a.Fragment,{key:"allergens"},y.a.createElement(Ga,{meal:n})):"additives"===e?y.a.createElement(y.a.Fragment,{key:"additives"},y.a.createElement(Va,{meal:n})):"features"===e?y.a.createElement(y.a.Fragment,{key:"features"},y.a.createElement(Sa,{isOverview:!1,meal:n,showAll:!0})):"signal"===e?y.a.createElement(y.a.Fragment,{key:"signal"},y.a.createElement(Ia,{isOverview:!1,showTitle:!0,meal:n})):"nutritionalInformations"===e?y.a.createElement(y.a.Fragment,{key:"nutritional"},y.a.createElement(Ba,{meal:n,type:i})):"supplierInformation"===e?this._getSupplierInformation():"ingredientList"===e?this._getIngredientList():null}},{key:"_getSupplierInformation",value:function(){var e=this.props,t=e.additionalInformation,n=e.device,i=e.translation,a=null,r=L.STANDALONE?" headline-1 ":" headline-2 ",o=L.STANDALONE?" headline-2 ":" text ";return null!==t&&null!==t.supplierInformation&&(a=void 0!==t.supplierInformationLink&&null!==t.supplierInformationLink?y.a.createElement("div",{key:"supplier-information",className:"supplier-information"},y.a.createElement("div",{className:"supplier-information-wrapper w-100"},n.isMobile?null:y.a.createElement("p",{className:"headline-2 f-w-bold border-bottom m-v-spacer"+r},i.translation.translate("gui_label_menu_meal_detail_tab_supplier")),y.a.createElement("a",{className:" p-h-1rem p-v-spacer supplier-information-name"+o,href:t.supplierInformationLink,target:"_blank"},t.supplierInformation))):y.a.createElement("div",{key:"supplier-information",className:"supplier-information"},y.a.createElement("div",{className:"supplier-information-wrapper"},n.isMobile?null:y.a.createElement("p",{className:"headline-2 f-w-bold border-bottom m-v-spacer"},i.translation.translate("gui_label_menu_meal_detail_tab_supplier")),y.a.createElement("p",{className:"supplier-information-name"},t.supplierInformation)))),a}},{key:"_getIngredientList",value:function(){var e=this.props,t=e.additionalInformation,n=e.device,i=e.translation,a=null,r=L.STANDALONE?" headline-1 ":" headline-2 ",o=L.STANDALONE?" headline-2 ":" text ";return null!==t&&null!==t.ingredientList&&(a=y.a.createElement("div",{key:"ingredientList",className:"ingredientlist-wrapper"},n.isMobile?null:y.a.createElement("p",{className:" f-w-bold border-bottom m-v-spacer"+r},i.translation.translate("gui_label_ingredientList")),y.a.createElement("div",{className:"ingredientlist p-h-1rem"+(n.isMobile?" p-v-spacer ":"")+o,dangerouslySetInnerHTML:{__html:t.ingredientList}}))),a}},{key:"scrollSpyItemWrapper",value:function(e,t){var n=this.props.translation,i=this.state.horizontalNavFocus==="section-meal-"+t?"background-ci":"background-defaultGrey";return i+=t>0?" m-t-1rem":" m-b-1rem",y.a.createElement("section",{key:t,id:"section-meal-"+t},y.a.createElement("p",{className:"border-bottom headline-2 t-a-c text-white "+i},n.translation.translate("gui_label_"+e)),this.getComponentsByKey(e))}},{key:"render",value:function(){var e=this,t=this.state.items,n=this.props,i=n.meal,a=n.device;if(null===i||0===t.length)return null;var r=t.map((function(t,n){return a.isMobile?e.scrollSpyItemWrapper(t,n):e.getComponentsByKey(t)}));return y.a.createElement("div",{className:"meal-information flex-1-1-a meal-main-information d-flex flex-column flex-nowrap overflow-h"},this.getScrollSpy(),y.a.createElement("div",{className:"meal-main-information-wrapper background-white overflow-h align-self-stretch flex-1-1-a d-flex flex-column flex-nowrap"+(a.isMobile?"":" p-r-1rem ")},y.a.createElement(si,{content:r,hideScrollArrows:!0})))}}]),n}(y.a.Component),$a=Object(w.d)(Object(_.b)((function(e,t){var n=null,i=null,a=null,r=null;"component"===t.kind&&void 0!==G.get("meal").collection?i=G.get("meal").collection.findOne({id:i.meal}):i=t.meal;null!==i&&void 0!==G.get("additionalInformation").collection&&(r=G.get("additionalInformation").collection.findOne({id:i.additionalInformation}));null!==i&&void 0!==G.get("menu").collection&&(n=G.get("menu").collection.findOne({id:parseInt(i.menu)}));null!==n&&void 0!==G.get("additionalInformation").collection&&null===(a=G.get("dietPlanMasterData").collection.findOne({outlet:{$eq:n.outlet}}))&&(a=G.get("dietPlanMasterData").collection.findOne({outlet:{$eq:0}}));var o=null;return void 0!==e.config.config&&void 0!==e.config.config.language&&(o=parseInt(e.config.config.language)),{language:o,menu:n,device:e.deviceConfig,meal:i,item:"component"===t.kind?t.meal:i,kind:t.kind,masterData:a,additionalInformation:r,translation:e.translation}}),(function(e){return{}}))(Ha)),Ya={renderRadio:function(e,t,n,i){var a=n<=t?" feedbackGreen far ":" defaultGrey far ";a+=" "+this.props.settings.FEEDBACK_RATING_ICON;var r=y.a.createElement("i",{className:a}),o=n<=t?" defaultGrey ":"";return y.a.createElement("label",{className:o+" labelRadio1 labelFeedbackRadio",key:n},r,y.a.createElement("input",{onClick:function(t){i(e,t.target.value)},name:"feedbackRadio"+e.id,type:"radio",value:n}))},renderRadioField:function(e,t,n){var i=this,a=5;this.props.hasOwnProperty("settings")&&(a=this.props.settings.FEEDBACK_RATING_MAX_NUMBER);for(var r=[],o=1;o<=a;o++)r.push(o);var l=this.props.device,c=null!==l&&l.isMobile?l.orientation===l.orientations.portrait?" headline-2 justify-content-center ":" text justify-content-center ":" headline-1 min-w-20rem ";return y.a.createElement("div",{className:(null!==l&&l.isMobile?"m-spacer border-defaultGrey ":"m-spacer align-items-center p-spacer background-white ")+"feedbackWrapper feedbackRadio d-flex flex-direction-col flex-nowrap feedback "+e.id,key:e.id},y.a.createElement("span",{className:"f-0-0-a labelFeedback darkGrey p-1rem"+c+(null!==l&&l.isMobile?" f-0-0-a ":" flex-1-1-a ")},e.name),y.a.createElement("div",{className:"feedbackRadioMapper h-6rem p-1rem"+(null!==l&&l.isMobile?" flex-1-1-a ":" min-w-40 flex-0-0-50rem ")},r.map((function(a){return Ya.renderRadio.bind(i)(e,t,a,n)}))))},renderTextField:function(e,t,n,i,a){var r=this.props.device,o=null!==r&&r.isMobile?r.orientation===r.orientations.portrait?" headline-2 justify-content-center ":" text justify-content-center ":" headline-1 flex-1-1-a ";return y.a.createElement("div",{className:(null!==r&&r.isMobile?"m-spacer border-defaultGrey ":"m-spacer p-spacer background-white ")+"feedbackWrapper feedbackInput feedback "+e.id,key:e.id},y.a.createElement("span",{className:" labelFeedback p-1rem darkGrey"+o},e.name),y.a.createElement("input",{disabled:i,className:"textFeedback border-defaultGrey m-1rem",onChange:function(t){n(e,t.target.value)},value:t,type:"input",name:"textFeedback"+e.id}),a)},renderTextArea:function(e,t,n,i,a){var r=this.props.device,o=null!==r&&r.isMobile?r.orientation===r.orientations.portrait?" headline-2 justify-content-center ":" text justify-content-center ":" headline-1 flex-1-1-a ";return y.a.createElement("div",{className:(null!==r&&r.isMobile?"border-defaultGrey m-spacer ":"m-spacer p-spacer background-white ")+"feedbackWrapper feedbackTextarea d-flex flex-direction-col flex-nowrap feedback m-spacer "+e.id,key:e.id},y.a.createElement("span",{className:" labelFeedback darkGrey p-1rem"+o},e.name),y.a.createElement("textarea",{disabled:i,className:"textareaFeedback border-defaultGrey m-1rem",onChange:function(t){n(e,t.target.value)},name:"textareaFeedback"+e.id,value:t}," "),a)},renderText:function(e){var t=this.props.device,n=null!==t&&t.isMobile?t.orientation===t.orientations.portrait?" border-defaultGrey headline-2 justify-content-center ":" border-defaultGrey text justify-content-center ":" headline-1 min-w-20rem",i=e.hasOwnProperty("additionalText")&&null!==e.additionalText&&""!==e.additionalText.trim()?e.additionalText:e.name;return y.a.createElement("div",{className:(null!==t&&t.isMobile?"":" background-white ")+"m-spacer p-spacer feedbackWrapper feedbackText feedback"+e.id,key:e.id},y.a.createElement("span",{className:"labelFeedback labelFeedbackText darkGrey p-1rem "+n,dangerouslySetInnerHTML:{__html:i}}))}},Ka=Ya;function Ja(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Qa=function(e){Dt()(n,e);var t=Ja(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).showPrivacyFeedback=!1,i}return j()(n,[{key:"_getPrivacyFeedback",value:function(){var e=this;if(null==e.props.privacyFeedbackAllowed||!1===e.props.privacyFeedbackAllowed){var t=!1;G.get("feedbackQuestionMeal").collection.chain().find({location:{$eq:e.props.location}}).data().forEach((function(e){2!==e.type&&3!==e.type||(t=!0)})),t&&(e.showPrivacyFeedback=!0)}}},{key:"_setPrivacyFeedback",value:function(e){e&&!0===e&&(this.props.onPrivacyFeedback(),this.showPrivacyFeedback=!1)}},{key:"_setValue",value:function(e,t){var n=this.props.meal;if(void 0===this.props.finished||L.STANDALONE||-1===this.props.finished.indexOf(n.id)){var i=this.props.feedback[n.id];1===e.feedbackType&&void 0!==i&&void 0!==i[e.id]&&parseInt(i[e.id])===parseInt(t)&&(t=null),this.props.onValueChanged(ce()({},n.id,ce()({},e.id,t)))}}},{key:"fieldMapping",value:function(e){var t=!L.STANDALONE&&-1!==this.props.finished.indexOf(this.props.meal.id),n=this,i=function(e,t){n.props.feedbackTextMaxInput&&(2===e.type||3===e.type)&&t.length>n.props.feedbackTextMaxInput&&(t=t.substr(0,n.props.feedbackTextMaxInput)),n._setValue(e,t)},a=void 0!==n.props.feedbackTextMaxInput&&n.props.feedbackTextMaxInput,r=null;if(1===e.type){var o=void 0!==n.props.feedback[this.props.meal.id]&&void 0!==n.props.feedback[this.props.meal.id][e.id]?n.props.feedback[this.props.meal.id][e.id]:0;return Ka.renderRadioField.bind(this)(e,parseInt(o),i)}if(2===e.type){var l=void 0!==n.props.feedback&&void 0!==n.props.feedback[this.props.meal.id]&&void 0!==n.props.feedback[this.props.meal.id][e.id]?n.props.feedback[this.props.meal.id][e.id]:"";return a&&!t&&(a=n.props.feedbackTextMaxInput-l.length,r=y.a.createElement("div",{className:"small p-l-1rem"},a," ",this.props.translation.translate("gui_label_feedback_textinput_chars_left"))),Ka.renderTextField.bind(this)(e,l,i,t,r)}if(3===e.type){var c=void 0!==n.props.feedback&&void 0!==n.props.feedback[this.props.meal.id]&&void 0!==n.props.feedback[this.props.meal.id][e.id]?n.props.feedback[this.props.meal.id][e.id]:"";return a&&!t&&(a=n.props.feedbackTextMaxInput-c.length,r=y.a.createElement("div",{className:"small p-l-1rem"},a," ",this.props.translation.translate("gui_label_feedback_textinput_chars_left"))),Ka.renderTextArea.bind(this)(e,c,i,t,r)}return Ka.renderText.bind(this)(e)}},{key:"_getOverlay",value:function(){var e=this,t=this.props.overlay;if(null!==t){var n=null;"success"===t&&(n="gui_label_feedback_success"),"empty"===t&&(n="gui_label_feedback_error_empty"),"finished"===t&&(n="gui_label_feedback_error_finished");var i=y.a.createElement("p",null,this.props.translation.translate(n)),a=y.a.createElement("div",{className:"footer-content p-spacer"},y.a.createElement("button",{onClick:function(){e.props.resetOverlay()}},this.props.translation.translate("gui_label_settings_close")));return y.a.createElement(jn,{layout:"Overlay onTop",message:i,footer:a,openModal:!0})}return null}},{key:"componentDidMount",value:function(){this._getPrivacyFeedback()}},{key:"render",value:function(){var e=this,t=G.get("feedbackQuestionMeal").collection.chain().find({location:{$eq:this.props.location}}).sort((function(e,t){return e.orderingt.ordering?1:0})).data(),n=this.props,i=n.currentTab,a=n.translation,r=this._getOverlay(),o=y.a.createElement("div",{className:"mealFeedbackWrapper d-flex flex-nowrap feedback-detail flex-column"},t.map((function(t){return e.fieldMapping(t)}))),l=null;if(!0===this.showPrivacyFeedback&&2===parseInt(i)){var c=y.a.createElement("div",null,y.a.createElement("h3",null,a.translate("gui_label_privacy_feedback_title")),y.a.createElement("p",{className:"error",dangerouslySetInnerHTML:{__html:this.props.translation.translate("gui_label_privacy_feedback_message")}})),s=y.a.createElement("div",{className:"footer-content p-spacer"},y.a.createElement("button",{className:" p-spacer min-w-10rem ",onClick:function(){e._setPrivacyFeedback(!0),e.props.resetOverlay()}},a.translate("gui_label_privacy_feedback_btn")));l=y.a.createElement(jn,{message:c,footer:s,openModal:!0})}return y.a.createElement("div",{className:"mealFeedback feedback-container"},l,r,y.a.createElement(si,{content:o,hideScrollArrows:!0}))}}]),n}(y.a.Component),Xa=Object(w.d)(Object(_.b)((function(e){var t=e.mealFeedback.feedback;void 0===t&&(t={});var n=e.mealFeedback.finished;void 0===n&&(n=[]);var i=null;void 0!==e.config.config&&void 0!==e.config.config.language&&(i=parseInt(e.config.config.language));var a=null;void 0!==e.config.config&&null!==e.config.config.privacyFeedbackAllowed&&"null"!==e.config.config.privacyFeedbackAllowed&&(a=e.config.config.privacyFeedbackAllowed);var r=e.settings.FEEDBACK_TEXT_MAX_INPUT,o=null;return void 0!==e.config.config&&null!==e.config.config.location&&"null"!==e.config.config.location&&(o=e.config.config.location),{language:i,location:o,device:e.deviceConfig,feedback:t,settings:e.settings,changed:e.mealFeedback.changed,finished:e.mealFeedback.finished,finishedCount:n.length,feedbackTextMaxInput:r,translation:e.translation.translation,privacyFeedbackAllowed:a}}),(function(e){return{onValueChanged:function(t){e(Tt.mealFeedback.mealFeedbackValueChanged(t))},onPrivacyFeedback:function(){e(Tt.config.configChanged({privacyFeedbackAllowed:!0}))},onSubmit:function(t){e(Tt.mealFeedback.mealFeedbackSubmit(t))}}}))(Qa)),Za=n(261),er=n(548);function tr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var nr=n(9),ir=function(e){Dt()(n,e);var t=tr(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).kind={meal:"meal",component:"component",feedback:"feedback"},i.state={selection:null,overlay:null,selectionType:"meal"},i}return j()(n,[{key:"initSelection",value:function(){if(null===this.props.meal||"object"!==A()(this.props.meal))return null;null===this.state.selection&&this.setState({selection:this.props.meal})}},{key:"getAdditionalInformation",value:function(e){var t=null;return void 0===e&&(e=this.props.meal),void 0!==e.additionalInformation&&void 0!==G.get("additionalInformation").collection&&(t=G.get("additionalInformation").collection.findOne({id:{$eq:e.additionalInformation}})),t}},{key:"getMealName",value:function(e){var t=this.props.language;if(void 0===e&&(e=this.props.meal),2===t&&void 0!==e.additionalInformation){var n=this.getAdditionalInformation(e);if(null!==n&&null!==n.alternativeName)return n.alternativeName}return e.name}},{key:"getImage",value:function(){var e=this.getAdditionalInformation();if(null!==e&&null!==e.image){var t=this.props.deviceConfig.isMobile?"":" p-h-spacer ";return y.a.createElement("div",{className:"mealImageWrapper "+t},y.a.createElement("div",{className:"mealImageWrapperContent"},y.a.createElement(Ri,{model:"meal",id:e.id,attribute:"image"})))}return null}},{key:"getMasterData",value:function(e){var t=null;return null!==e&&void 0!==G.get("dietPlanMasterData").collection&&null===(t=G.get("dietPlanMasterData").collection.findOne({outlet:{$eq:e.outlet}}))&&(t=G.get("dietPlanMasterData").collection.findOne({outlet:{$eq:0}})),t}},{key:"onSelection",value:function(e){if("defaultValue"===e&&this.setState({selection:this.props.meal,selectionType:"meal"}),-1!==e.indexOf("component")){var t=e.replace("component-",""),n=G.get("component").collection.findOne({id:{$eq:parseInt(t)}});null!==n&&this.setState({selection:n,selectionType:"component"})}}},{key:"getSelectionDropdown",value:function(){var e=this,t=this,n=null;void 0!==G.get("menu").collection&&(n=G.get("menu").collection.findOne({id:parseInt(t.props.meal.menu)}));var i=this.getMasterData(n);if((null===i||i.hasOwnProperty("componentsVisible")&&i.componentsVisible)&&t.props.meal.components.length>0&&void 0!==G.get("component").collection){var a=void 0!==this.state.selection&&null!==this.state.selection&&void 0!==this.state.selection.name?this.state.selection:this.props.meal,r=a.id===this.props.meal.id?"active":"",o=G.get("component").collection.find({meal:{$eq:t.props.meal.id}});if(0===o.length)return null;var l=function(n){var i=null,a=null,r=ga._checkMealIsFiltered(n,t.props.filter,t.props.location),o=ga._checkMealHasFeature(n,t.props.filter,t.props.location);return r&&(i=y.a.createElement("i",{className:"far fa-exclamation-triangle isFiltered"})),t.filterActive&&o&&(a=y.a.createElement("i",{className:"far fa-exclamation-triangle hasFeature"})),y.a.createElement("span",{className:"overflow-h max-w-95 ellipsis"},i,a," ",e.getMealName(n))},c=function(e){t.onSelection(e)};return this.props.deviceConfig.isMobile?y.a.createElement("div",{className:"select d-flex flex-0-0-a"},y.a.createElement("div",{className:" selectWrapper w-100"},y.a.createElement("select",{onChange:c,value:this.state.defaultValue,className:"Selection "},y.a.createElement("option",{key:"default",value:"defaultValue",disabled:"disabled"},"---"),o.map((function(t){return y.a.createElement("option",{key:t.id,value:t.id},e.getMealName(t))}))))):y.a.createElement("div",{className:"selectWrapper d-flex flex-column"},y.a.createElement("p",{className:"headline-2 f-w-bold m-t-spacer"},t.props.translation.translate("gui_label_meal_detail_components")),y.a.createElement("div",{className:"selectWrapper-inner m-t-1rem p-r-spacer"},y.a.createElement(er.a,{title:l(a),id:"dd_components"},y.a.createElement(Za.a.Toggle,{key:"defaultValue",onClick:function(){c("defaultValue")},className:r},l(this.props.meal)),o.map((function(e){return function(e){return r=a.id===e.id?"active":"",y.a.createElement(Za.a.Item,{key:"component-"+e.id,onClick:function(){c("component-"+e.id)},className:r},l(e))}(e)})))))}return null}},{key:"submitFeedback",value:function(){var e=this.props,t=e.feedback,n=e.meal,i=e.finishedFeedbacks,a=this,r=t[n.id];if(void 0!==r){var o=!1;Object.keys(r).forEach((function(e){null!==r[e]&&(o=!0)})),o?-1===i.indexOf(n.id)||L.STANDALONE?(this.props.onSubmit(n),a.setState({overlay:"success"})):a.setState({overlay:"finished"}):a.setState({overlay:"empty"})}else a.setState({overlay:"empty"})}},{key:"checkTextContainerClass",value:function(){var e=nr(".meal-text"),t=e.outerWidth();t>=1280?e.removeClass("col1 col2").addClass("col4"):t>=800?e.removeClass("col1 col4").addClass("col2"):e.removeClass("col2 col4").addClass("col1")}},{key:"componentDidMount",value:function(){this.initSelection(),this.checkTextContainerClass()}},{key:"componentDidUpdate",value:function(){this.initSelection(),this.checkTextContainerClass()}},{key:"render",value:function(){var e=this,t=this.props,n=t.location,i=t.meal,a=t.kind,r=t.config,o=t.filter,l=t.deviceConfig,c=t.finishedFeedbacks,s=t.feedbackAllowed,u=t.translation,f=this.state,p=f.tabKey,d=f.overlay,h=G.get(G.data.menu.name).collection;if(null===i)return null;var m=h.findOne({id:parseInt(i.menu)}),g=l.orientation,v="feedback"===a?2:1;this.filterActive=o.active,this.filterNeedsFeature=this.props.filterNeedsFeature,this.isFiltered=ga._checkMealIsFiltered(i,o,n),this.hasFeature=ga._checkMealHasFeature(i,o,n),!0!==this.props.settings.MENU_LIST_SHOW_ALL_OUTLETS&&null!==m&&m.outlet!==parseInt(r.outlet)&&(i=null,m=null);var b=this.getImage(),k=l.isMobile||"portrait"!==l.orientation?"":"p-spacer",_=l.isMobile?"headline-2":"headline-1",E=y.a.createElement("div",{className:"meal-content-wrapper "+k},y.a.createElement($a,{meal:this.state.selection,type:this.state.selectionType,view:"detail"})),w=function(e){var t=G.get("additionalInformation").collection.findOne({id:e.additionalInformation});return null!==t&&void 0!==t.sustainability&&void 0!==t.sustainability.co2&&null!==t.sustainability.co2&&null!==t.sustainability.co2.logoDetail&&0!==t.sustainability.co2.logoDetail.length?y.a.createElement("div",{className:"sustainability-detail"},y.a.createElement("div",{className:"sustainability-img"},y.a.createElement(Ri,{model:"sustainability",href:t.sustainability.co2.logoDetail[0].url,id:t.sustainability.co2.id,attribute:"logoDetail"})),y.a.createElement("div",{className:"sustainability-text"},t.sustainability.co2.co2Value," ",t.sustainability.co2.unit)):null}(i);return y.a.createElement("div",{className:"modal-wrapper"},y.a.createElement("div",{className:"meal-detail-container"},y.a.createElement("div",{className:"AccordionPanel"+(L.STANDALONE?" standalone ":"")},y.a.createElement(Ki.a,{defaultActiveKey:v,id:"filter-tabs",className:"tabs",onSelect:function(t){return e.setState({tabKey:t})}},y.a.createElement(Ji.a,{tabClassName:"headerTab "+_,eventKey:1,title:u.translate("gui_label_menu_meal_detail_tab")},y.a.createElement("div",{className:"meal-detail h-100 d-flex flex-column overflow-h "+g+(this.isFiltered||this.filterActive&&this.filterNeedsFeature&&!1===this.hasFeature?" is-filtered":"")},y.a.createElement("div",{className:(l.isMobile?"p-spacer ":"border-bottom m-b-spacer ")+"d-flex flex-row"},y.a.createElement("div",{className:(l.isMobile?"headline-2 ":"headline-1 ")+" p-h-spacer font-weight-bold flex-1-1-a"},this.getMealName()),w),y.a.createElement("div",{className:"meal-detail-inner h-100 "+g},b,y.a.createElement("div",{className:(null!==b||l.isMobile?null:"p-spacer")+" meal-text text"},this.getSelectionDropdown(),E)))),s?y.a.createElement(Ji.a,{tabClassName:"headerTab "+_,eventKey:2,title:u.translate("gui_label_menu_meal_feedback_tab")},y.a.createElement(Xa,{overlay:d,resetOverlay:function(){e.setState({overlay:null})},currentTab:void 0===p?v:parseInt(p),meal:i})):null))),y.a.createElement("div",{className:"footer"},y.a.createElement("div",{className:"footer-content p-spacer"},y.a.createElement("div",{className:"footer-buttons"},2===(void 0===p?v:parseInt(p))?y.a.createElement("button",{className:-1!==c.indexOf(i.id)?"disabled":"",disabled:-1!==c.indexOf(i.id),onClick:function(){e.submitFeedback()}},u.translate("gui_label_feedback_submit")):null,y.a.createElement("button",{onClick:function(){e.props.closeModal()}},u.translate("gui_label_settings_close"))))))}}]),n}(y.a.Component),ar=Object(w.d)(Object(_.b)((function(e){var t=null;void 0!==e.config.config&&void 0!==e.config.config.language&&(t=parseInt(e.config.config.language));var n=e.mealFeedback.feedback;void 0===n&&(n={});var i=e.filter.filter,a=null;void 0!==e.config.config&&null!==e.config.config.location&&"null"!==e.config.config.location&&(a=e.config.config.location);var r=null;return void 0!==e.deviceConfig.mobile&&(r=e.deviceConfig),{config:e.config.config,language:t,deviceConfig:r,feedback:n,settings:e.settings,filter:i,location:a,filterToggle:e.filter.filter.featureFilterSelective,finishedFeedbacks:e.mealFeedback.finished,translation:e.translation.translation}}),(function(e){return{onSubmit:function(t){e(Tt.mealFeedback.mealFeedbackSubmit(t))}}}))(ir));function rr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var or=function(e){Dt()(n,e);var t=rr(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={categoryColor:null,modalIsOpen:!1,kind:!1},i.openModal=i.openModal.bind(on()(i)),i.afterOpenModal=i.afterOpenModal.bind(on()(i)),i.closeModal=i.closeModal.bind(on()(i)),i}return j()(n,[{key:"openModal",value:function(){this.setState({modalIsOpen:!0})}},{key:"afterOpenModal",value:function(){}},{key:"closeModal",value:function(){this.setState({modalIsOpen:!1})}},{key:"showModal",value:function(e,t){void 0!==t&&t!==this.state.kind&&this.setState({kind:t}),this.openModal()}},{key:"getMenuMasterData",value:function(e){if(void 0!==G.get("dietPlanMasterData").collection){var t=G.get("dietPlanMasterData").collection.findOne({outlet:{$eq:e.outlet}});return null===t&&(t=G.get("dietPlanMasterData").collection.findOne({outlet:{$eq:0}})),t}return null}},{key:"_checkCategoryColorExists",value:function(){var e=G.get("mealCategory").collection.findOne({id:{$eq:this.props.meal.category}});if(null!==e){var t=[{key:this.props.settings.MENU_LIST_CATEGORY_TEXTBLOCK_COLOR_NAMESPACE+e.name.replace(/\s/g,"")}];null!==this.props.menu&&this.props.settings.MENU_LIST_CATEGORY_TEXTBLOCK_COLOR_OUTLETCHECK&&t.push({outlet:{$eq:this.props.menu.outlet}});var n=G.get("textblock").collection.findOne({$and:t});null!==n&&this.setState({categoryColor:n.content})}}},{key:"componentDidUpdate",value:function(e,t){L.STANDALONE&&!0===this.state.modalIsOpen&&!0===this.props.config.resetConfig&&this.closeModal(),null===this.state.categoryColor&&this._checkCategoryColorExists()}},{key:"componentDidMount",value:function(){null===this.state.categoryColor&&this._checkCategoryColorExists()}},{key:"_checkAdditionalInformations",value:function(e){if(null===e)return null;var t=Object.keys(e),n=this.props.meal.features.length>0||this.props.meal.allergens.length>0||this.props.meal.additives.length>0;return t.forEach((function(t){"employeePrice"!==t&&"guestPrice"!==t&&"allowFeedback"!==t&&"energyDensity"!==t&&"nutritionalTrafficLight"!==t&&"$loki"!==t&&"id"!==t&&"meta"!==t&&void 0!==e[t]&&(n=!0)})),n}},{key:"_checkFeedbackAllowed",value:function(e){var t=e.date;if("string"==typeof t&&(t=new Date(t)),!(Wt.isSameDay(t,new Date)||!this.props.settings.MEAL_FEEDBACK_ONLY_TODAY&&Wt.isBefore(t,new Date)))return!1;var n=G.get("additionalInformation").collection.findOne({id:e.additionalInformation}),i=G.get("feedbackQuestionMeal").collection;return null!==n&&void 0!==i&&0!==i.data.length&&n.allowFeedback}},{key:"render",value:function(){var e=this,t=this.props.meal,n=this.props.menu,i=this.props.filterActive,a=this.props.isFiltered,r=this.props.hasFeature,o=this.props.filterNeedsFeature,l=this;if(void 0===G.get("meal").collection||void 0===G.get("menu").collection)return null;var c=function(){var t=e.props,n=t.finishedMealFeedbacks,i=t.meal;return null!==n&&-1!==n.indexOf(i.id)},s=function(e){var n=this.getMenuMasterData(),i=G.get("mealCategory").collection.findOne({id:{$eq:this.props.meal.category}});return L.MENU_OVERVIEW_ELEMENTS.image&&null!==e&&void 0!==e.image&&null!==e.image?y.a.createElement("div",{className:"meal-list-image-wrapper img-cover-full-container",onClick:function(){l.showModal(t,!1)}},y.a.createElement(Ri,{class:"meal-list",model:"meal",href:e.image,id:e.id,attribute:"image"})):null!==n&&n.usefallbackDishImage&&null!==i&&null!==i.image?y.a.createElement("div",{className:"meal-list-image-wrapper meal-category-image img-cover-full-container",onClick:function(){l.showModal(t,!1)}},y.a.createElement(Ri,{class:"meal-list",model:"mealCategory",href:i.image,id:i.id,attribute:"image"})):null}.bind(this),u=null;if(this.props.settings.MENU_LIST_SHOW_ALL_OUTLETS&&null!==n){var f=G.get("outlet").collection.findOne({id:{$eq:n.outlet}});null!==f&&void 0!==f.color&&null!==f.color&&"#undefined"!==f.color&&(u={backgroundColor:f.color})}"border"===this.props.settings.MENU_LIST_MEAL_CATEGORY_COLOR&&!0!==this.props.settings.MENU_LIST_SHOW_ALL_OUTLETS&&null!==this.state.categoryColor?u={borderRight:"2.5rem solid "+this.state.categoryColor}:"full"===this.props.settings.MENU_LIST_MEAL_CATEGORY_COLOR&&!0!==this.props.settings.MENU_LIST_SHOW_ALL_OUTLETS&&null!==this.state.categoryColor&&(u={backgroundColor:this.state.categoryColor});var p=y.a.createElement("div",{style:u,className:"categoryName"},function(e){if(void 0===G.get("mealCategory").collection)return null;var t=G.get("mealCategory").collection.findOne({id:e.category});if(null===t)return null;return t.name}(t));null!==n&&(n.dailyAvailable&&this.props.settings.DAILY_AVAILABLE_MENU_LIST_CATEGORY_GROUP||this.props.settings.MENU_LIST_CATEGORY_GROUP)&&!0!==this.props.settings.MENU_LIST_SHOW_ALL_OUTLETS&&(p=y.a.createElement("div",{className:"categoryTopBar"})),"vertical"===this.props.settings.MENU_LIST_MEAL_VIEW&&(p=null),this.props.hasOwnProperty("hideHeader")&&this.props.hideHeader&&(p=null);var d=G.get("additionalInformation").collection.findOne({id:t.additionalInformation}),h=t.name;2===l.props.language&&null!==d&&void 0!==d.alternativeName&&null!==d.alternativeName&&""!==d.alternativeName.trim()&&(h=d.alternativeName),this.getMenuMasterData=function(){if(null!==n&&void 0!==G.get("dietPlanMasterData").collection){var e=G.get("dietPlanMasterData").collection.findOne({outlet:{$eq:n.outlet}});return null===e&&(e=G.get("dietPlanMasterData").collection.findOne({outlet:{$eq:0}})),e}return null};var m=y.a.createElement("div",null);t.features.length>0&&(m=function(e){return L.MENU_OVERVIEW_ELEMENTS.features&&l.props.visibleRows.features?y.a.createElement("div",{onClick:function(){l.showModal(e,!1)},className:"meal-features-wrapper"}," ",y.a.createElement(Sa,{isOverview:!0,forceShow:!0,hideLabel:!0,meal:e,showAll:!1})):null}(t));var g=function(e){var t=G.get("additionalInformation").collection.findOne({id:e.additionalInformation});return null!==t&&void 0!==t.sustainability&&void 0!==t.sustainability.co2&&null!==t.sustainability.co2&&null!==t.sustainability.co2.logoOverview&&0!==t.sustainability.co2.logoOverview.length?y.a.createElement("div",{className:"sustainability-wrapper"},y.a.createElement(Ri,{class:"h-4rem",model:"sustainability",href:t.sustainability.co2.logoOverview[0].url,id:t.sustainability.co2.id,attribute:"logoOverview"})):null}(t);return y.a.createElement("div",{className:"meal-wrapper",key:t.id},y.a.createElement("div",{className:"meal meal-"+t.id+(null!==n&&n.dailyAvailable?" no-top-border ":"")+(a||i&&o&&!1===r?" is-filtered":"")},p,s(d),y.a.createElement("div",{onClick:function(){l.showModal(t,!1)},className:"mealNameWrapper "+(this.props.device.isMobile?"headline-1 p-h-1rem p-t-1rem":"headline-2 p-1rem ")},h),y.a.createElement("div",{onClick:function(){l.showModal(t,!1)},className:"d-flex flex-row jc-sb"},m,g),function(e){G.get("additionalInformation").collection.findOne({id:e.additionalInformation}),l.getMenuMasterData(n);return y.a.createElement("div",{onClick:function(){l.showModal(e,!1)},className:"additionalInformation"},function(e){return L.MENU_OVERVIEW_ELEMENTS.nutritionalInformation&&l.props.visibleRows.nutritionalInformation?y.a.createElement(Ia,{onClick:function(){l.showModal(e,!1)},forceShow:!0,isOverview:!0,hideLabel:!0,meal:e}):null}(e),function(e){return l.props.visibleRows.detailInformations.price?y.a.createElement(wa,{force:l.props.visibleRows.detailInformations.price,overview:!0,meal:e}):null}(e))}(t),function(e){var t=null,n=G.get("additionalInformation").collection.findOne({id:e.additionalInformation}),o=null;return l._checkAdditionalInformations(n)&&(o=a?y.a.createElement("button",{className:"feedbackBtn d-flex flex-row justify-content-center align-items-center btn mealBtn",onClick:function(){l.showModal(e,!1)}},y.a.createElement("i",{className:"far fa-2x fa-exclamation-triangle isFiltered"})):i&&!0===r?y.a.createElement("button",{className:"feedbackBtn d-flex flex-row justify-content-center align-items-center btn mealBtn",onClick:function(){l.showModal(e,!1)}},y.a.createElement("i",{className:"far fa-2x fa-exclamation-triangle hasFeature"})):y.a.createElement("button",{className:"feedbackBtn d-flex flex-row justify-content-center align-items-center btn mealBtn",onClick:function(){l.showModal(e,!1)}},y.a.createElement("i",{className:"far fa-2x fa-info-circle"}))),l._checkFeedbackAllowed(e)&&(t=y.a.createElement("button",{className:"feedbackBtn btn d-flex flex-row align-items-center justify-content-center mealBtn",onClick:function(){l.showModal(e,"feedback")}},y.a.createElement("i",{className:(c()?"fas":"far")+" fa-2x fa-star"}),y.a.createElement("i",{className:(c()?"fas":"far")+" fa-2x fa-star"}),y.a.createElement("i",{className:(c()?"fas":"far")+" fa-2x fa-star"}))),y.a.createElement("div",{className:"interactions"},o,t)}(t),y.a.createElement(Fn.a,{isOpen:this.state.modalIsOpen,onAfterOpen:this.afterOpenModal,onRequestClose:this.closeModal,overlayClassName:"Overlay onTop",style:{content:{top:"1rem",left:"1rem",right:"1rem",bottom:"1rem",padding:"0"}}},y.a.createElement(ar,{meal:t,kind:l.state.kind,filterNeedsFeature:o,closeModal:function(){e.closeModal()},feedbackAllowed:l._checkFeedbackAllowed(t)}))))}}]),n}(y.a.Component),lr=Object(w.d)(Object(_.b)((function(e){var t=null;void 0!==e.config.config&&null!==e.config.config.language&&"null"!==e.config.config.language&&(t=parseInt(e.config.config.language));var n=null;return e.mealFeedback.finished.length>0&&(n=e.mealFeedback.finished),{finishedMealFeedbacks:n,language:t,device:e.deviceConfig,settings:e.settings,translation:e.translation.translation,config:e.config.config}}),(function(e){return{mealSelected:function(t,n){e(Tt.usageTracking.trackEvent(L.USAGE_TRACKING_ACTIVITY_TYPES.START_DISHDETAILS)),void 0!==n?this.history.push("/Meal/"+t.id+"/"+n):this.history.push("/Meal/"+t.id)}}}))(or));function cr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var sr=function(e){Dt()(n,e);var t=cr(n);function n(e){return P()(this,n),t.call(this,e)}return j()(n,[{key:"getMenuCategoryGrouped",value:function(e){var t=this,n=ga.getMenuCategories(e);return y.a.createElement("section",{id:"section-"+e.id,className:"menuList"},n.map((function(e){return function(e){var n=null;return e.hasOwnProperty("image")&&null!==e.image&&(n=y.a.createElement("div",{className:"categoryImageWrapper"},y.a.createElement(Ri,{model:"mealCategory",id:e.id,attribute:"image"}))),y.a.createElement("div",{className:"category-wrapper",key:e.id},y.a.createElement("div",{onClick:function(){t.props.onCategorySelect(e.id)},className:"category background-ci category-"+e.id},n,y.a.createElement("div",{className:"category-name"+(null===n?" big ":"")},e.name)))}(e)})),t.props.checkEmpty(n,"categories"))}},{key:"render",value:function(){return y.a.createElement("div",{className:"menuListWrapper m-b-1rem"},this.getMenuCategoryGrouped(this.props.menu))}}]),n}(y.a.Component),ur=Object(w.d)(Object(_.b)((function(){return{}}),(function(e){return{onCategorySelect:function(t){e(Tt.filter.filterChanged({category:t}))}}}))(sr));function fr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var pr=function(e){Dt()(n,e);var t=fr(n);function n(e){return P()(this,n),t.call(this,e)}return j()(n,[{key:"_getVisibleRows",value:function(e){var t=!1,n=!1,i=null,a={price:!1,allergens:!1,additives:!1};return void 0!==G.get("features").collection&&(i=G.get("features").collection),e.forEach((function(e){if(e.features.length>0&&null!==i&&e.features.forEach((function(e){var n=i.findOne({id:{$eq:parseInt(e)}});null!==n&&n.showInOverview&&(t=!0)})),void 0!==G.get("additionalInformation").collection){var r=G.get("additionalInformation").collection.findOne({id:{$eq:e.additionalInformation}});null!==r&&(void 0!==r.employeePrice&&null!==r.employeePrice&&0!==r.employeePrice||void 0!==r.guestPrice&&0!==r.guestPrice)&&(a.price=!0),e.allergens.length>0&&(a.allergens=!0),e.additives.length>0&&(a.additives=!0),null!==r&&void 0!==r.nutritionalTrafficLight&&null!==r.nutritionalTrafficLight&&0!==r.nutritionalTrafficLight&&""!==r.nutritionalTrafficLight&&(n=!0)}})),{features:t,detailInformations:a,nutritionalInformation:n}}},{key:"getMenu",value:function(e,t){var n=this,i=this.props.getMeals(e),a=this.props.isHoliday(e);this.visibleRows=ga._getVisibleRows(i);var r=void 0!==t&&!0===t?"lastScrollElement":"";return void 0===i&&(i=[]),null!==a&&0===i.length?y.a.createElement("section",{key:e.id,id:"section-"+e.id,className:"menuList "+r},y.a.createElement("p",{className:"emptyLabel"},a.infoText)):y.a.createElement("section",{key:e.id,id:"section-"+e.id,className:"menuList "+r},i.map((function(t){return function(t){var i=ga._checkMealIsFiltered(t,n.props.filter,n.props.location),a=ga._checkMealHasFeature(t,n.props.filter,n.props.location),r=ga._checkFilterNeedsFeature(n.props.filter,n.props.location);return y.a.createElement(lr,{visibleRows:n.visibleRows,key:t.id,meal:t,menu:e,filterActive:n.props.filter.active,isFiltered:i,hasFeature:a,filterNeedsFeature:r})}(t)})),this.props.checkEmpty(i,"meals"))}},{key:"render",value:function(){return y.a.createElement("div",{className:"menuListWrapper m-b-1rem"},this.getMenu(this.props.menu))}}]),n}(y.a.Component),dr=Object(w.d)(Object(_.b)((function(e){var t=e.filter.filter,n=null;return void 0!==e.config.config&&null!==e.config.config.location&&"null"!==e.config.config.location&&(n=e.config.config.location),{filter:t,location:n}}),(function(e){return{onCategorySelect:function(t){e(Tt.filter.filterChanged({category:t}))}}}))(pr));function hr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var mr=function(e){Dt()(n,e);var t=hr(n);function n(e){return P()(this,n),t.call(this,e)}return j()(n,[{key:"getCategories",value:function(e){var t=this.props.getMeals(e),n=[];return t.forEach((function(e){-1===n.indexOf(e.category)&&n.push(e.category)})),null===this.props.mealCategoryCollection?[]:this.props.mealCategoryCollection.chain().find({id:{$in:n}}).where((function(e){return e.meals=[],t.map((function(t){t.category===e.id&&e.meals.push(t)})),e.meals.length>0})).sort((function(e,t){return null===e||null===t?0:null!==e.ordering&&null===t.ordering?-1:null===e.ordering&&null!==t.ordering?1:e.orderingt.ordering?1:0})).data()}},{key:"setScrollHeight",value:function(){var e=this.getCategories(this.props.menu),t=jQuery(".category-container-"+e.length),n=jQuery(".space-category-container");if(t.length>0){var i=jQuery(".menuListWrapper"),a=i[0].scrollHeight,r=i.outerHeight(),o=jQuery(".menuTitleImage").outerHeight(),l=t.outerHeight(),c=a>l+l?r+o:r,s=Math.round(c-l);n.css("height",s>0?s:0)}}},{key:"componentDidUpdate",value:function(e,t,n){this.setScrollHeight()}},{key:"componentDidMount",value:function(){this.setScrollHeight()}},{key:"render",value:function(){var e=this.props.getMeals(this.props.menu),t=this.props.isHoliday(this.props.menu),n=function(e,t){var n=this,i=ga._getVisibleRows(e),a=this;return y.a.createElement("section",{key:"meal-"+t,style:{msGridRow:t,msGridColumn:2,gridColumn:2,gridRow:t},className:"menuList"},e.map((function(e){var t=ga._checkMealIsFiltered(e,n.props.filter,n.props.location),r=ga._checkMealHasFeature(e,a.props.filter,a.props.location),o=ga._checkFilterNeedsFeature(a.props.filter,a.props.location);return y.a.createElement(lr,{visibleRows:i,key:"meal-"+e.id,meal:e,menu:n.props.menu,filterActive:n.props.filter.active,isFiltered:t,hasFeature:r,filterNeedsFeature:o})})))}.bind(this);if(null!==t&&0===e.length)return y.a.createElement("div",{className:"menuListWrapper"},y.a.createElement("section",{key:this.props.menu.id,id:"section-"+this.props.menu.id,className:"menuList"},y.a.createElement("p",{className:"emptyLabel"},t.infoText)));var i=this.getCategories(this.props.menu);return y.a.createElement("div",{className:"menuListWrapper menuListGrid"},i.map((function(e,t){return y.a.createElement("div",{id:"section-"+e.id,style:{msGridRow:t+1,msGridColumn:1,gridColumn:1,gridRow:t+1},className:"category-name-container w-100 h-100 category-container-"+(t+1),key:"category-"+e.id},y.a.createElement("p",{className:"category-name "},e.name," "))})),y.a.createElement("div",{style:{msGridRow:i.length+1,msGridColumn:1,gridColumn:1,gridRow:i.length+1},className:"category-name-container space-category-container"}),this.getCategories(this.props.menu).map((function(e,t){return n(e.meals,t+1)})))}}]),n}(y.a.Component),gr=Object(w.d)(Object(_.b)((function(e){var t=null;void 0!==G.get("mealCategory").collection&&(t=G.get("mealCategory").collection);var n=e.filter.filter,i=null;return void 0!==e.config.config&&null!==e.config.config.location&&"null"!==e.config.config.location&&(i=e.config.config.location),{filter:n,location:i,device:e.deviceConfig,mealCategoryCollection:t}}),(function(e){return{onCategorySelect:function(t){e(Tt.filter.filterChanged({category:t}))}}}))(mr));function vr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var yr=function(e){Dt()(n,e);var t=vr(n);function n(e){return P()(this,n),t.call(this,e)}return j()(n,[{key:"mealRowMapping",value:function(e){var t=this.props,n=t.filter,i=t.menu,a=t.getMeals,r=ga._checkMealIsFiltered(e,this.props.filter,this.props.location),o=ga._checkMealHasFeature(e,this.props.filter,this.props.location),l=ga._checkFilterNeedsFeature(this.props.filter,this.props.location);return y.a.createElement(lr,{key:e.id,meal:e,visibleRows:ga._getVisibleRows(a(i)),menu:i,hideHeader:!0,filterActive:n.active,isFiltered:r,hasFeature:o,filterNeedsFeature:l})}},{key:"getMenuCategoryGrouped",value:function(e){var t=this,n=this.props.getMeals(e),i=ga.getMenuCategories(e);return i=i.filter((function(e){var t=!1;return n.map((function(n){n.category===e.id&&(t=!0)})),t})),y.a.createElement("section",{className:"d-flex flex-nowrap flex-direction-col"},i.map((function(e){return function(e){var i=n.filter((function(t){return t.category===e.id}));return y.a.createElement("div",{className:"category-wrapper",id:"section-"+e.id,key:e.id},y.a.createElement("div",{onClick:function(){t.props.onCategorySelect(e.id)},className:"category category-"+e.id},y.a.createElement("div",{className:"category-name-container headline-2 t-a-c p-spacer background-ci text-white"},e.name),y.a.createElement("div",{className:"meals-wrapper d-flex flex-row justify-content-lg-start flex-wrap"},i.map((function(e){return t.mealRowMapping(e)})))))}(e)})),this.props.checkEmpty(i,"categories"))}},{key:"render",value:function(){return y.a.createElement("div",{className:"menuListWrapper"},this.getMenuCategoryGrouped(this.props.menu))}}]),n}(y.a.Component),br=Object(w.d)(Object(_.b)((function(e){var t=e.filter.filter,n=null;return void 0!==e.config.config&&null!==e.config.config.location&&"null"!==e.config.config.location&&(n=e.config.config.location),{filter:t,location:n}}),(function(e){return{onCategorySelect:function(t){e(Tt.filter.filterChanged({category:t}))}}}))(yr));function kr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var _r=n(9),Er=function(e){Dt()(n,e);var t=kr(n);function n(e){return P()(this,n),t.call(this,e)}return j()(n,[{key:"componentDidUpdate",value:function(e,t){this._checkScrolling(),this.getScrollableHeightLastElement(),this._useHashPosition(),this.checkJumpToNextWeek()}},{key:"componentDidMount",value:function(){this._checkScrolling(),this.getScrollableHeightLastElement()}},{key:"checkEmpty",value:function(e,t){var n=null;if(!this.props.device.isMobile&&this.props.settings.MENU_LIST_SHOW_ALL_OUTLETS?e.length>0&&(n=G.get("menu").collection.findOne({id:parseInt(e[0].menu)})):n=G.get("menu").collection.findOne({id:parseInt(this.props.menu)}),null===n)return y.a.createElement("p",{className:"emptyLabel flex-1-1-a"},this.props.translation.translate("gui_label_menu_empty_"+t));var i=this.getMeals(n,!0);return 0===e.length&&0!==i.length?y.a.createElement("p",{className:"emptyLabel flex-1-1-a"},this.props.translation.translate("gui_label_menu_empty_filtered_"+t)):0===i.length?y.a.createElement("p",{className:"emptyLabel flex-1-1-a"},this.props.translation.translate("gui_label_menu_empty_"+t)):void 0}},{key:"getCurrentMenusForDay",value:function(){var e=this,t=[];if(this.props.location&&void 0!==G.get("outlet").collection&&void 0!==G.get("menu").collection){var n=G.get("outlet").collection.find({location:{$eq:parseInt(this.props.location)}}),i=[];n.forEach((function(e){i.push(e.id)})),G.get("menu").collection.find({outlet:{$in:i}}).forEach((function(n){ga.checkMenuDayHasMeals(n,new Date(e.props.filterDay))&&t.push(n)})),t=G.get("menu").sort(t,n)}return t}},{key:"_getVisibleRows",value:function(e){var t=!1,n=!1,i=null,a={price:!1,allergens:!1,additives:!1};return void 0!==G.get("features").collection&&(i=G.get("features").collection),e.forEach((function(e){if(e.features.length>0&&null!==i&&e.features.forEach((function(e){var n=i.findOne({id:{$eq:parseInt(e)}});null!==n&&n.showInOverview&&(t=!0)})),void 0!==G.get("additionalInformation").collection){var r=G.get("additionalInformation").collection.findOne({id:{$eq:e.additionalInformation}});null!==r&&(void 0!==r.employeePrice&&null!==r.employeePrice&&0!==r.employeePrice||void 0!==r.guestPrice&&0!==r.guestPrice)&&(a.price=!0),e.allergens.length>0&&(a.allergens=!0),e.additives.length>0&&(a.additives=!0),null!==r&&void 0!==r.nutritionalTrafficLight&&null!==r.nutritionalTrafficLight&&0!==r.nutritionalTrafficLight&&""!==r.nutritionalTrafficLight&&(n=!0)}})),{features:t,detailInformations:a,nutritionalInformation:n}}},{key:"_getMasterData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=null;return null===e&&(e=G.get("menu").collection.findOne({id:parseInt(this.props.menu)})),null!==e&&void 0!==G.get("dietPlanMasterData").collection&&null===(t=G.get("dietPlanMasterData").collection.findOne({outlet:{$eq:e.outlet}}))&&(t=G.get("dietPlanMasterData").collection.findOne({outlet:{$eq:0}})),t}},{key:"_getCurrentDate",value:function(e){var t=new Date;t.setTime(new Date(e.from).getTime());var n=0,i=e.to;for("string"==typeof i&&(i=new Date(i));t<=i&&n<=7;){if(Wt.isSameDay(t,this.props.filterDay))return t;n++,t.setTime(t.getTime()+864e5)}return t}},{key:"getMeals",value:function(e,t){var n=this,i=this,a=function(e,t){if(e.category===t.category){if(e.ordering>t.ordering)return 1;if(e.orderingr?1:at.ordering?1:e.orderingt.ordering?1:e.ordering===t.ordering?0:-1:c.orderings.ordering?1:c.ordering===s.ordering?e.ordering>t.ordering:0},r=function(t){return!(e.dailyAvailable&&i.props.settings.DAILY_AVAILABLE_MENU_LIST_CATEGORY_GROUP||i.props.settings.MENU_LIST_CATEGORY_GROUP)||null===i.props.currentCategorySelection||i.props.currentCategorySelection===parseInt(t.category)},o=function(t){if(e.dailyAvailable){if(ga._checkMealIsFilteredByDate(t,e.from))return!1}else if(ga._checkMealIsFilteredByDate(t,i._getCurrentDate(e)))return!1;return this.props.filterActive?!!r(t):r(t)}.bind(this);return void 0!==t&&t&&(o=function(t){return!(!e.dailyAvailable&&ga._checkMealIsFilteredByDate(t,i._getCurrentDate(e)))&&r.bind(n)(t)}),"object"!==A()(e)||null===e?[]:e.dailyAvailable?G.get("meal").collection.chain().find({menu:e.id}).where(o).sort(a).data():G.get("meal").collection.chain().find({$and:[{menu:e.id}]}).where(o).sort(a).data()}},{key:"getMenu",value:function(e,t){var n=this,i=this,a=i.getMeals(e),r=i._getVisibleRows(a),o=void 0!==t&&!0===t?"lastScrollElement":"";return void 0===a&&(a=[]),y.a.createElement("section",{key:e.id,id:"section-"+e.id,className:"menuList "+o},a.map((function(t){return function(t){var a=ga._checkMealIsFiltered(t,i.props.filter,i.props.location),o=ga._checkMealHasFeature(t,i.props.filter,i.props.location),l=ga._checkFilterNeedsFeature(i.props.filter,i.props.location);return y.a.createElement(lr,{visibleRows:r,key:"meal-"+t.id,meal:t,menu:e,filterActive:n.props.filterActive,isFiltered:a,hasFeature:o,filterNeedsFeature:l})}(t)})),i.checkEmpty(a,"meals"))}},{key:"isHoliday",value:function(e){var t=null,n=this._getCurrentDate(e);return e.hasOwnProperty("holidayInfo")&&e.holidayInfo.map((function(e){var i=new Date(e.begin),a=new Date(e.end);a.setHours(23),a.setMinutes(59),i.getTime()<=n.getTime()&&n.getTime()<=a.getTime()&&(t=e)})),t}},{key:"_checkScrolling",value:function(){if(this.scrollContainer&&this.scrollContainer.is(":visible")||(this.scrollContainer=_r(".menuListWrapper"),this.scrollListenerIsAdded=!1),this.scrollListenerIsAdded||0===this.scrollContainer.length)return!1;var e=this;this.scrollListenerIsAdded=!0,this.scrollContainer.on("scroll",(function(){e.props.onScroll(_r(".menuListWrapper"))}))}},{key:"imagesLoaded",value:function(){var e=_r(".menuListWrapper"),t=_r(e).find("img");if(!t.length)return _r.Deferred().resolve().promise();var n=[];return t.each((function(){var e=_r(this),t=_r.Deferred();n.push(t),t.resolve(),e.on("load",(function(){t.resolve()})),e.on("error",(function(){t.resolve()}))})),_r.when.apply(_r,n)}},{key:"_useHashPosition",value:function(){if(_r(".menuListWrapper").length>0)return!1;this.imagesLoaded().then((function(){var e=window.location.hash;if(e.length>0){var t=_r(e);t.length>0&&setTimeout((function(){t[0].scrollIntoView({behavior:"instant",block:"start"})}),500)}}))}},{key:"getScrollableHeightLastElement",value:function(){var e=this,t=_r(".lastScrollElement");setTimeout((function(){if(t.length>0){var e=_r(".menuListWrapper");if(0===e.length)return;var n=e[0].scrollHeight,i=e.outerHeight(),a=_r(".menuTitleImage").outerHeight(),r=t.outerHeight(),o=n>r+r?i+a:i,l=Math.round(o-r);t.css("margin-bottom",l>0?l:0)}}),0),setTimeout((function(){e.props.onScroll(_r(".menuListWrapper"))}),100)}},{key:"checkJumpToNextWeek",value:function(){if(!this.props.settings.MENU_LIST_SHOW_ALL_OUTLETS&&void 0!==G.get("menu").collection){var e=G.get("menu").collection.findOne({id:parseInt(this.props.menu)});if(null===e||!this.props.config.days)return;var t=new Date,n=t.getDay(),i=Wt.getCalendarWeek(t),a=Wt.getDateString(new Date),r=Wt.getDateString(new Date(this.props.filterDay)),o=this.props.filterCw;if(!e.dailyAvailable||e.showWeekend||0!==n&&6!==n||(r=a),a===r&&(0===n||6===n)&&o===i)if((0===this.getMeals(e).length||e.dailyAvailable)&&"object"===A()(this.props.config.menus)&&1===this.props.config.menus.length){var l=null,c=!1;if(this.props.config.weeks.map((function(e){!0===c&&(c=!1,l=e),e===i&&(c=!0)})),null!==l){var s=G.get("menu").collection.chain().data(),u=[];s.forEach((function(e){(Wt.getCalendarWeek(e.from)===l||!0===e.dailyAvailable&&Wt.getCalendarWeek(e.from)<=l&&Wt.getCalendarWeek(e.to)>=l)&&u.push(e)})),u.length>0&&this.props.onWeekChange({cw:l})}}}}},{key:"render",value:function(){var e=this;if(void 0===G.get("meal").collection||void 0===G.get("menu").collection||!0===G.get("menu").process)return y.a.createElement("div",{className:"menuListWrapper m-b-1rem"}," ");if(!this.props.device.isMobile&&this.props.settings.MENU_LIST_SHOW_ALL_OUTLETS){if(!e.props.filterDay)return null;var t=e.getCurrentMenusForDay(),n=[];return t.forEach((function(t){e.getMeals(t).length>0&&n.push(t)})),null===t.length&&0===n.length?y.a.createElement("div",{className:"menuListWrapper m-b-1rem"},y.a.createElement("p",{className:"emptyLabel"},this.props.translation.translate("gui_label_no_menu_exists"))):null!==t.length&&0===n.length?y.a.createElement("div",{className:"menuListWrapper m-b-1rem"},y.a.createElement("p",{className:"emptyLabel"},this.props.translation.translate("gui_label_menu_empty_filtered_meals"))):y.a.createElement("div",{className:"menuListWrapper m-b-1rem"},n.map((function(t,n,i){return e.getMenu(t,i.length-1===n)})))}var i=G.get("menu").collection.findOne({id:parseInt(e.props.menu)});return null===i?y.a.createElement("div",{className:"menuListWrapper m-b-1rem"},y.a.createElement("p",{className:"emptyLabel"},this.props.translation.translate("gui_label_no_menu_exists"))):this.props.device.isMobile?y.a.createElement(br,{checkEmpty:this.checkEmpty.bind(e),getMeals:this.getMeals.bind(this),menu:i}):(i.dailyAvailable&&this.props.settings.DAILY_AVAILABLE_MENU_LIST_CATEGORY_GROUP||this.props.settings.MENU_LIST_CATEGORY_GROUP)&&null===this.props.currentCategorySelection?y.a.createElement(ur,{checkEmpty:this.checkEmpty.bind(e),menu:i}):"vertical"===this.props.settings.MENU_LIST_MEAL_VIEW?y.a.createElement(gr,{checkEmpty:this.checkEmpty.bind(e),getVisibleRows:this._getVisibleRows.bind(this),getMeals:this.getMeals.bind(this),isHoliday:this.isHoliday.bind(this),menu:i}):y.a.createElement(dr,{checkEmpty:this.checkEmpty.bind(e),getMeals:this.getMeals.bind(this),isHoliday:this.isHoliday.bind(this),menu:i})}}]),n}(y.a.Component),wr=Object(w.d)(Object(_.b)((function(e){var t=null;"undefined"!==e.deviceConfig.mobile&&(t=e.deviceConfig);var n=null;void 0!==e.config.config&&null!==e.config.config.menu&&"null"!==e.config.config.menu&&(n=e.config.config.menu);var i=null;void 0!==e.config.config&&null!==e.config.config.location&&"null"!==e.config.config.location&&(i=e.config.config.location);var a=null;void 0!==e.filter.filter.category&&(a=e.filter.filter.category);var r=e.filter.filter,o=G.get("menu").process;return{menu:n,location:i,translation:e.translation.translation,currentCategorySelection:a,filterCw:r.cw,filterActive:r.active,filter:r,filterDay:Wt.getDateString(r.day),device:t,filterToggle:e.filter.filter.featureFilterSelective,processMenu:o,settings:e.settings,config:e.config.config}}),(function(e){return{onCategorySelect:function(t){e(Tt.filter.filterChanged({category:t}))},onWeekChange:function(t){e(Tt.filter.filterChanged(t)),e(Tt.config.configChanged({menu:null}))},redirectToSettings:function(){this.history.push("/Settings")}}}))(Er));function Cr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Nr=function(e){Dt()(n,e);var t=Cr(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).modelName="menu",i.state={menu:null,menus:[]},i}return j()(n,[{key:"_sortFn",value:function(e,t){if(null===e||null===t)return 0;if(e.orderingt.ordering)return 1;var n=e.from;n instanceof Date||(n=new Date(n));var i=t.from;return i instanceof Date||(i=new Date(i)),n.getTime()i.getTime()?1:e.name>t.name?-1:e.name0}},{key:"_checkMenuIsWeek",value:function(e,t){if(e.dailyAvailable)return!0;var n=null===this.props.week?Wt.getCalendarWeek(new Date):this.props.week,i=new Date,a=new Date(e.from);return Wt.getCalendarWeek(i)>n&&a.getFullYear()===i.getFullYear()&&(n=Wt.getCalendarWeek(i)),t?n===Wt.getCalendarWeek(a):Wt.getCalendarWeek(a)===n===Wt.getCalendarWeek(i)&&6!==i.getDay()&&0!==i.getDay||(nWt.getCalendarWeek(i)||52===Wt.getCalendarWeek(i)&&i.getTime()i&&ni||-1===t.indexOf(r)){var o=new Date,l=o.getDay(),c=t.length>0&&Wt.getCalendarWeek(new Date(t[0])),s=Wt.getCalendarWeek(o),u=Wt.getDateString(o);n=o>new Date(e.from)&&o0)return i[0]}return null}},{key:"_checkDependencies",value:function(){return!this.props.process&&(null!==this.props.menuCollection&&(null!==this.props.mealCollection&&void 0!==G.get("mobilesettings").collection))}},{key:"_checkConfig",value:function(){if(this._checkDependencies()){var e=0===this.props.week||null===this.props.week?Wt.getCalendarWeek(new Date):this.props.week,t=ga.getAvailableWeeks(this.props.outlet,this.props.settings.MENU_LIST_SHOW_ALL_OUTLETS),n=null!==this.props.day?new Date(this.props.day):new Date,i=this.props.menu;if(this.props.settings.MENU_LIST_SHOW_ALL_OUTLETS){-1===t.indexOf(e)&&(e=t[0]);var a=[],r=ga.getMenusOfLocationAndWeek(this.props.config.location,e);if(r.forEach((function(t){ga.getMenuDaysOfWeek(t,e).forEach((function(e){!1===a.includes(e)&&a.push(e)}))})),a.sort(),JSON.stringify(this.props.weeks)!==JSON.stringify(t)||e!==this.props.week||e!==Wt.getCalendarWeek(n)){e!==Wt.getCalendarWeek(n)&&(n=e===Wt.getCalendarWeek()?new Date:Wt.getFirstDateOfISOWeek(e));var o=r.length>0?parseInt(r[0].id):0;this.props.onMenuSelect(o,e,t,n,a)}r.length>0&&JSON.stringify(r)!==JSON.stringify(this.props.menus)&&this.props.onMenusChanged(r)}else{var l=ga.getMenusOfOutletAndWeek(this.props.outlet,e);if(0===l.length&&t.length>1)do{t.shift(),e=t[0],(l=ga.getMenusOfOutletAndWeek(this.props.outlet,e)).length>0&&this.props.onFilterChanged(e,null)}while(0===l.length&&t.length>0);var c=null;if(l.forEach((function(t){t.id!==parseInt(i)||!t.dailyAvailable&&Wt.getCalendarWeek(t.from)!==e||(c=t)})),l.length>0)if(null===c)null===(c=this._checkMenuWeekChanged())&&(c=l[0]);else{var s=null;l.forEach((function(t){parseInt(c.id)!==parseInt(t.id)||!t.dailyAvailable&&Wt.getCalendarWeek(t.from)!==e||(s=t)})),c=null!==s?s:l[0]}else null!==this.state.menu&&this.setState({menu:null}),null!==this.props.menu&&0!==this.props.menu&&this.props.onMenuSelect(0,null,[],null,{}),this.props.menus.length>0&&this.props.onMenusChanged([]);if(null!==c&&(c.id!==this.props.menu||JSON.stringify(this.props.weeks)!==JSON.stringify(t)||e!==this.props.week)){-1===t.indexOf(e)&&(e=t[0]);var u=ga.getMenuDaysOfWeek(c,e),f=Wt.getDateString(this._getCurrentDay(c,u));c.dailyAvailable&&void 0===e&&(e=Wt.getCalendarWeek(new Date)),this.props.onMenuSelect(parseInt(c.id),e,t,f,u)}null===c?null!==this.state.menu&&this.setState({menu:c}):c.id!==this.state.menu&&this.setState({menu:c.id}),l.length>0&&JSON.stringify(l)!==JSON.stringify(this.props.menus)&&this.props.onMenusChanged(l)}}}},{key:"componentDidMount",value:function(){this._checkConfig()}},{key:"componentDidUpdate",value:function(){this._checkConfig()}},{key:"render",value:function(){return null}}]),n}(y.a.Component),Sr=Object(w.d)(Object(_.b)((function(e){var t=null,n=null,i=null,a=[],r=[];void 0!==e.filter.filter&&null!==e.filter.filter.cw&&(t=e.filter.filter,i=e.filter.filter.cw,n=e.filter.filter.day);var o=null;void 0!==G.get("menu").collection&&G.get("menu").collection.find().length>0&&(o=G.get("menu").collection);var l=null;void 0!==G.get("meal").collection&&G.get("meal").collection.find().length>0&&(l=G.get("meal").collection);var c=null;void 0!==G.get("mobilesettings").collection&&(c=G.get("mobilesettings").collection.findOne());var s=G.get("menu").process,u=null,f=null,p=null,d=[];return void 0!==e.config.config&&(u=e.config.config,a=void 0!==e.config.config.weeks&&null!==e.config.config.weeks?e.config.config.weeks:[],r=void 0!==e.config.config.days&&null!==e.config.config.days?e.config.config.days:[],f=e.config.config.outlet,null!==e.config.config.menu&&"null"!==e.config.config.menu&&(p=e.config.config.menu),void 0!==e.config.config.menus&&e.config.config.menus.length>0&&(d=e.config.config.menus)),{menuCollection:o,mealCollection:l,process:s,config:u,filter:t,store:e.store,outlet:f,settings:e.settings,mobileSettings:c,menu:p,menus:d,day:n,days:r,week:i,weeks:a}}),(function(e){return{onMenuSelect:function(t,n,i,a,r){e(Tt.config.configChanged({menu:t,weeks:i,days:r})),e(Tt.filter.filterChanged({category:null,cw:n,day:a}))},onMenusChanged:function(t){e(Tt.config.configChanged({menus:t})),e(Tt.filter.filterChanged({category:null}))},onFilterChanged:function(t,n){e(Tt.filter.filterChanged({category:null,cw:t,day:n}))}}}))(Nr));function Or(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Rr=function(e){Dt()(n,e);var t=Or(n);function n(){return P()(this,n),t.apply(this,arguments)}return j()(n,[{key:"_createMarkup",value:function(e){return{__html:e.translations.description}}},{key:"_dateFormatter",value:function(e){return null!=e&&"string"==typeof e&&(e=new Date(e)),null!==e&&"object"===A()(e)&&(e.getDate()<10?"0":"")+e.getDate()+"."+(e.getMonth()+1<10?"0":"")+(e.getMonth()+1)+"."+e.getFullYear()}},{key:"render",value:function(){var e=this.props.device,t=this,n=null,i=" line-height-normal "+(e.isMobile?" headline-2 ":" headline-1 "),a=t.props.orientation?t.props.orientation:"";if(null===t.props.newsCollection||null===t.props.newsCollectionCount)return null;if(void 0!==t.props.news&&null!==t.props.news?n=this.props.newsCollection.findOne({id:{$eq:t.props.news}}):void 0!==t.props.filterNews&&null!==t.props.filterNews&&(n=this.props.newsCollection.findOne({id:{$eq:t.props.filterNews}})),null===n)return null;var r=null;null!==n.image&&""!==n.image&&(r=y.a.createElement("div",{className:"newsImageWrapper"},y.a.createElement("div",{className:"newsImageWrapperContent"},y.a.createElement(Ri,{model:"news",id:n.id,attribute:"image",fallback:"/images/modules/news/news_default.jpg"}))));var o=null;e.isMobile&&(o=r,r=null);var l=y.a.createElement("div",{className:"text"},o,y.a.createElement("div",{className:"p-spacer"},y.a.createElement("div",{className:"news-content-header m-b-1rem"},y.a.createElement("span",{className:"title "+i},y.a.createElement("span",{className:"date f-w-light "+i},this._dateFormatter(n.date))," ",n.translations.name)),y.a.createElement("div",{className:"description "+i,dangerouslySetInnerHTML:t._createMarkup(n)})));return y.a.createElement("div",{className:"news-detail "+a},r,y.a.createElement(si,{addClass:"p-0",content:l,hideScrollArrows:!0}))}}]),n}(y.a.Component),Ir=Object(w.d)(Object(_.b)((function(e){var t=null,n=null,i=null;return void 0!==G.get("news").collection&&(t=G.get("news").collection,n=G.get("news").collection.data.length),void 0!==e.filter.filter&&void 0!==e.filter.filter.news&&(i=e.filter.filter.news),{device:e.deviceConfig,newsCollection:t,translation:e.translation,filterNews:i,newsCollectionCount:n}}),(function(){return{}}))(Rr)),Tr=n(550);function xr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Dr=n(9),Mr=function(e){Dt()(n,e);var t=xr(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={modal:null},i}return j()(n,[{key:"componentDidMount",value:function(){}},{key:"componentDidUpdate",value:function(){}},{key:"_getTextFromHTML",value:function(e,t){var n=Dr("");return n.html(e.translations.description),n.find("*").not("p,br,div").each((function(){Dr(this).replaceWith(this.innerText)})),t||n.find("p,div").each((function(){Dr(this).removeAttr("class"),Dr(this).attr("class"," line-height-normal text w-100 overflow-h "),Dr(this).removeAttr("style")})),n.text()}},{key:"getRowImage",value:function(e){return y.a.createElement("div",{className:"newsImageWrapperContent h-22vh max-h-22vh overflow-h p-h-spacer flex-0-0-a img-contain-height-container"},y.a.createElement(Ri,{class:"h-22vh",fallback:"/images/modules/news/news_default.jpg",model:"news",id:e.id,attribute:"image"}))}},{key:"showDetailDialog",value:function(){var e=this,t=this.props.device,n=this.state.modal;return y.a.createElement(Fn.a,{isOpen:null!==n,onRequestClose:function(){return e.setState({modal:null})},overlayClassName:"leave-headline Overlay onTop",style:{content:{top:"1.4rem",left:"1.4rem",right:"1.4rem",zIndex:1,bottom:"1.4rem",padding:"0",border:"none"}}},y.a.createElement("div",{className:"modal-wrapper"},y.a.createElement("div",{className:"news-container"},y.a.createElement(Ir,{news:this.state.modal,orientation:t.orientation})),y.a.createElement("div",{className:"footer"},y.a.createElement("div",{className:"footer-content"},y.a.createElement("div",{className:"footer-buttons p-1rem"},y.a.createElement("button",{onClick:function(){e.setState({modal:null})}},this.props.translation.translate("gui_label_settings_close")))))))}},{key:"mapNewsItem",value:function(e){var t=this;return y.a.createElement(Tr.a.Item,{key:e.id},y.a.createElement("div",{onClick:function(){return t.setState({modal:e.id})},className:"flex-0-0-100 d-flex pointer p-t-1rem flex-row max-h-100 overflow-h p-h-1rem"},this.getRowImage(e),y.a.createElement("div",{className:"f-1-1-a d-flex flex-column overflow-h"},y.a.createElement("p",{className:"date flex-0-0-6rem headline-1"},Wt.getLocaleDateString(e.date),"  ",y.a.createElement("span",{className:"title f-w-bold m-b-spacer"},e.translations.name)),y.a.createElement("p",null,y.a.createElement("span",{className:"ellipsis-5 f-s-1_5vh flex-1-1-a",dangerouslySetInnerHTML:{__html:this._getTextFromHTML(e)}}),y.a.createElement("a",{href:"#"},this.props.translation.translate("gui_label_news_banner_detail_link"))))))}},{key:"render",value:function(){var e=this,t=this.props,n=t.device,i=t.newsBannerSlideInterval;if(n.isMobile)return null;this.props.news.map((function(t){return e.mapNewsItem(t)}));return y.a.createElement("div",{className:"list-wrapper news-banner carousel flex-0-0-25vh max-h-25vh h-25vh overflow-h p-v-1rem"},y.a.createElement(Tr.a,{nextIcon:y.a.createElement("i",{className:"fas fa-4x darkGrey fa-arrow-alt-circle-right"}),prevIcon:y.a.createElement("i",{className:"fas fa-4x darkGrey fa-arrow-alt-circle-left"}),indicators:!1,interval:i,className:" h-25vh overflow-h p-h-12rem background-white "},this.props.news.map((function(t){return e.mapNewsItem(t)}))),null!==this.state.modal?this.showDetailDialog():null)}}]),n}(y.a.Component),Ar=Object(w.d)(Object(_.b)((function(e){var t=[];void 0!==G.get("news").collection&&(t=G.get("news").collection.chain().find().sort((function(e,t){var n=new Date(e.date),i=new Date(t.date);return n instanceof Date?i instanceof Date?n.getTime()
i.getTime()?1:0:1:-1})).data());var n=null;return void 0!==e.deviceConfig.mobile&&(n=e.deviceConfig),{device:n,news:t,newsBannerSlideInterval:e.settings.hasOwnProperty("MENU_LIST_NEWS_BANNER_SLIDE_INTERVAL")?e.settings.MENU_LIST_NEWS_BANNER_SLIDE_INTERVAL:null,translation:e.translation.translation}}),(function(e){return{onNewsSelect:function(t){e(Tt.filter.filterChanged({news:t}))}}}))(Mr));function Lr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Fr=n(9),Pr=function(e){Dt()(n,e);var t=Lr(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).menuImageHeight=0,i}return j()(n,[{key:"_checkMenuImageScroll",value:function(e){var t=this;if(0!==Fr(this.menuImage).height()&&0===t.menuImageHeight&&(t.menuImageHeight=Fr(this.menuImage).height()),0!==e.length){var n=e[0].scrollHeight-e.height(),i=e.scrollTop();return n>e[0].offsetTop+t.menuImageHeight&&i>t.menuImageHeight&&Fr(this.menuImage).height()>0}}},{key:"_hideTitleImage",value:function(e){if("safari"!==this.props.device.browser||"portrait"!==this.props.device.orientation){var t=this;t.animateTitleImage||void 0===this.menuImage||(t._checkMenuImageScroll(e)?Fr(this.menuImage).slideUp("slow",(function(){t.animateTitleImage=!1})):0===Fr(e).scrollTop()?Fr(this.menuImage).slideDown("slow",(function(){t.animateTitleImage=!1})):t.animateTitleImage=!1)}}},{key:"_validateCurrentFilter",value:function(){var e=this;"undefined"===e.props.cw||null===e.props.cw||isNaN(e.props.cw)||e.props.onFilterChange({cw:Wt.getCalendarWeek()})}},{key:"componentDidUpdate",value:function(e,t){}},{key:"componentDidMount",value:function(){this._validateCurrentFilter()}},{key:"onScroll",value:function(e){null===this.props.device.mobile&&this._hideTitleImage(e)}},{key:"render",value:function(){var e=this,t=this.props,n=t.device,i=t.showNewsBanner,a=t.newsExists,r=this.props.device.mobile!==Dn.desktop?" mobile ":"",o=null;if(L.BANNER_URL&&null===n.mobile){o=y.a.createElement("div",{ref:function(t){e.menuImage=t},className:"menuTitleImage flex-0-0-a noprint"},y.a.createElement("div",{className:"image"},y.a.createElement("img",{src:"./images/banner.jpg",alt:"image"})))}return y.a.createElement("section",{className:r+" d-flex flex-column flex-nowrap menu "},i&&a?y.a.createElement(Ar,null):o,y.a.createElement("div",{className:"menuSplitContent overflow-hidden flex-1-1-a d-flex flex-column flex-nowrap "},y.a.createElement(Sr,null),y.a.createElement(ka,null),y.a.createElement(wr,{onScroll:this.onScroll.bind(this)})))}}]),n}(y.a.Component),Br=Object(w.d)(Object(_.b)((function(e){var t=null,n=null,i=null;"undefined"!==e.deviceConfig.mobile&&(t=e.deviceConfig),void 0!==e.filter.filter&&(n=e.filter.filter),void 0!==e.config.config&&(i=e.config.config);var a=G.get(G.data.news.name).collection,r=void 0!==a&&a.find().length>0;return{device:t,showNewsBanner:!!e.settings.hasOwnProperty("MENU_LIST_NEWS_BANNER")&&e.settings.MENU_LIST_NEWS_BANNER,newsExists:r,cw:n.cw,config:i}}),(function(e){return{onFilterChange:function(t){e(Tt.filter.filterChanged(t))}}}))(Pr));function jr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var qr=function(e){Dt()(n,e);var t=jr(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).inited=!1,i}return j()(n,[{key:"_mappingFn",value:function(e,t){var n=this,i=this.props.getRowImage(e),a="landscape"===this.props.orientation?t>0?"m-l-2rem":"":"m-t-spacer",r=e.hasOwnProperty("translations")&&e.translations.hasOwnProperty("name")?e.translations.name:e.name,o=e.hasOwnProperty("translations")&&e.translations.hasOwnProperty("description")?y.a.createElement("span",{className:" d-block font-weight-normal"},e.translations.description):null;return null===o&&e.hasOwnProperty("description")&&(o=e.description),y.a.createElement("div",{className:(null!==i?" has-image ":"")+a+" default-list-item",onClick:function(){return n.props.onSelect(e)},key:e.id},y.a.createElement("div",{className:"default-list-item-container min-h-60"},y.a.createElement("div",{className:"default-list-item-image"}," ",i," "),y.a.createElement("div",{className:"default-list-item-text w-100"},y.a.createElement("p",{className:"name t-a-c darkGrey w-100"},r," ",o))))}},{key:"render",value:function(){var e=this;if(!(this.props.items instanceof Array)||0===this.props.items.length)return null;var t="landscape"===this.props.orientation?"flex-row":"flex-column",n=this.props.items.length>1?"justify-content-between ":"justify-content-center",i=this.props.device,a=void 0!==this.props.orientation&&"portrait"===this.props.orientation?this.props.orientation:"landscape",r=y.a.createElement("div",{className:"default-list-mapper d-flex align-items-stretch flex-nowrap "+t+" "+n},this.props.items.map((function(t,n){return"function"==typeof e.props.mappingFn?e.props.mappingFn(t,n):e._mappingFn(t,n)}))),o=i.isMobile||"landscape"!==a?"":" p-1rem ";return o+=this.props.addClass,"safari"!==i.browser&&(o+=" h-100 "),console.log("device",i),y.a.createElement("div",{className:"default-list-wrapper w-100 d-flex flex-nowrap align-items-center justify-content-center "+o},y.a.createElement(si,ai()({addClass:"p-h-spacer",direction:a,content:r,arrowInteractionType:"click",arrowInteractionCheck:!0,hideIndicator:!0},this.props)))}}]),n}(y.a.Component),Gr=Object(w.d)(Object(_.b)((function(e){var t=null;return void 0!==e.deviceConfig.mobile&&(t=e.deviceConfig),{device:t}}),(function(e){return{}}))(qr));function Ur(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Wr=n(9);Fn.a.setAppElement("#modal-wrapper");var Vr=function(e){Dt()(n,e);var t=Ur(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).limit=5,i.state={news:null,modalIsOpen:!1},i.openModal=i.openModal.bind(on()(i)),i.afterOpenModal=i.afterOpenModal.bind(on()(i)),i.closeModal=i.closeModal.bind(on()(i)),i}return j()(n,[{key:"openModal",value:function(){this.setState({modalIsOpen:!0})}},{key:"afterOpenModal",value:function(){}},{key:"closeModal",value:function(){this.setState({modalIsOpen:!1})}},{key:"_onNewsSelect",value:function(e){this.setState({news:e.id}),this.openModal()}},{key:"_getTextFromHTML",value:function(e,t){var n=Wr(""),i=" line-height-normal "+(t?" text ":" headline-2 "),a=t?"br":"p,br,div";return n.html(e.translations.description),n.find("*").not(a).each((function(){Wr(this).replaceWith(this.innerText)})),t||n.find("p,div").each((function(){Wr(this).removeAttr("class"),Wr(this).attr("class",i+" w-100 overflow-h"),Wr(this).removeAttr("style")})),n.html()}},{key:"_dateFormatter",value:function(e){return void 0!==e&&("string"==typeof e&&(e=new Date(e)),null!==e&&"object"===A()(e)&&Wt.getLocaleDateString(e))}},{key:"_sortFn",value:function(e,t){var n=e.date;n instanceof Date||(n=new Date(n));var i=t.date;return i instanceof Date||(i=new Date(i)),n.getTime()>i.getTime()?-1:n.getTime()
0?"m-l-spacer":"":"m-b-spacer",l=" line-height-normal "+(i.isMobile?" headline-2 ":" headline-1 ");return y.a.createElement("div",{onClick:function(){n._onNewsSelect(e)},className:o+" news list-col-4 align-items-stretch overflow-x-h default-list-item news-"+e.id,key:e.id},y.a.createElement("div",{className:"default-list-item-container"},y.a.createElement("div",{className:"newsImageWrapper default-list-item-image"},y.a.createElement("div",{className:"newsImageWrapperContent"},y.a.createElement(Ri,{fallback:"/images/modules/news/news_default.jpg",model:"news",id:e.id,attribute:"image"}))),y.a.createElement("div",{className:"default-list-item-text flex-grow-1 news-content-wrapper p-spacer"},y.a.createElement("div",{className:" w-100 "},y.a.createElement("p",{className:"date m-b-1rem"},this._dateFormatter(e.date)),y.a.createElement("span",{className:"title m-b-spacer"+l},e.translations.name),y.a.createElement("div",{className:"description "+r,dangerouslySetInnerHTML:{__html:a}})))))}},{key:"getRowImage",value:function(e){return y.a.createElement("div",{className:"newsImageWrapperContent"},y.a.createElement(Ri,{model:"news",id:e.id,attribute:"image"}))}},{key:"render",value:function(){var e=this;if(null===this.props.newsCollection)return null;var t=this.props.newsCollection,n=this.props.device,i=n.isMobile?"":" p-1rem ",a=t.chain().find().where(this._whereFn).sort(this._sortFn).data(),r=y.a.createElement(Gr,{addClass:i,orientation:n.orientation,mappingFn:this._mapping.bind(this),items:a,getRowImage:this.getRowImage,onSelect:this._onNewsSelect.bind(this)});return y.a.createElement("div",{className:"list-wrapper p-spacer "},r,y.a.createElement(Fn.a,{isOpen:this.state.modalIsOpen,onAfterOpen:this.afterOpenModal,onRequestClose:this.closeModal,overlayClassName:"leave-headline Overlay",style:{content:{top:"1.4rem",left:"1.4rem",right:"1.4rem",zIndex:1,bottom:"1.4rem",padding:"0"}}},y.a.createElement("div",{className:"modal-wrapper"},y.a.createElement("div",{className:"news-container"},y.a.createElement(Ir,{news:this.state.news,orientation:n.orientation})),y.a.createElement("div",{className:"footer"},y.a.createElement("div",{className:"footer-content"},y.a.createElement("div",{className:"footer-buttons p-1rem"},y.a.createElement("button",{onClick:function(){e.closeModal()}},this.props.translation.translate("gui_label_settings_close"))))))))}}]),n}(y.a.Component),zr=Object(w.d)(Object(_.b)((function(e){var t=null,n=null;void 0!==G.get("news").collection&&(t=G.get("news").collection,n=G.get("news").collection.data.length);var i=null;return void 0!==e.deviceConfig.mobile&&(i=e.deviceConfig),{newsCollection:t,translation:e.translation.translation,newsCollectionCount:n,device:i}}),(function(e){return{onNewsSelect:function(t){e(Tt.filter.filterChanged({news:t}))}}}))(Vr));function Hr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var $r=function(e){Dt()(n,e);var t=Hr(n);function n(e){return P()(this,n),t.call(this,e)}return j()(n,[{key:"render",value:function(){return y.a.createElement("section",{className:"d-flex flex-column justify-content-center news-container "},y.a.createElement(zr,null))}}]),n}(y.a.Component),Yr=Object(w.d)(Object(_.b)((function(e){var t=null;return void 0!==e.deviceConfig.mobile&&(t=e.deviceConfig.mobile),{deviceIsMobile:t===Dn.phone}}),(function(e){return{onNewsReset:function(){e(Tt.filter.filterChanged({news:null}))}}}))($r));function Kr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Jr=function(e){Dt()(n,e);var t=Kr(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).limit=5,i}return j()(n,[{key:"_filterFn",value:function(e){if("OUTLET"!==e.entity)return!0;return null!==this.props.outlet&&this.props.outlet.id===parseInt(e.entity_id)}},{key:"_getRowImage",value:function(e){return void 0!==e.image&&null!==e.image&&""!==e.image?y.a.createElement(Ri,{model:"feedback",id:e.id,fallback:e.image,attribute:"image"}):y.a.createElement("div",{className:"border-white img-cover-container"},y.a.createElement("img",{src:"/images/modules/feedback/feedback_blank.jpg"}))}},{key:"_getFeedbacks",value:function(){var e=this;return this.props.feedbackCollection.chain().find().where((function(t){return e._filterFn(t)})).sort((function(e,t){return"LOCATION"===e.entity&&"OUTLET"===t.entity?-1:"LOCATION"===t.entity&&"OUTLET"===e.entity||e.translations.name.toLowerCase()>t.translations.name.toLowerCase()?1:e.translations.name.toLowerCase()0){var a=G.get("outlet").collection;void 0!==e.config.config&&null!==e.config.config.outlet&&"null"!==e.config.config.outlet&&(i=a.findOne({id:{$eq:parseInt(e.config.config.outlet)}}))}return{outlet:i,feedbackCollection:t,translation:e.translation,feedbackCollectionCount:n,device:e.deviceConfig}}),(function(e){return{onNewsSelect:function(t){e(Tt.filter.filterChanged({feedback:t}))}}}))(Jr));function Xr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Zr=function(e){Dt()(n,e);var t=Xr(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).limit=5,i.state={overlay:null},i.showPrivacyFeedback=!1,i}return j()(n,[{key:"_getPrivacyFeedback",value:function(){var e=this;if(null==e.props.privacyFeedbackAllowed||!1===e.props.privacyFeedbackAllowed){var t=!1;e.props.feedbackCollection.chain().find({feedback:{$eq:e.props.currentFeedback.id}}).data().forEach((function(e){2!==e.type&&3!==e.type||(t=!0)})),t&&(e.showPrivacyFeedback=!0)}}},{key:"_setPrivacyFeedback",value:function(e){e&&!0===e&&(this.props.onPrivacyFeedback(),this.showPrivacyFeedback=!1)}},{key:"_checkCurrentOutlet",value:function(){var e=this;"OUTLET"===e.currentFeedback.entity&&e.currentFeedback.entity_id!=e.props.outlet.id&&this.props.redirectToRoute("/Feedback")}},{key:"goToList",value:function(){this.props.redirectToRoute("/Feedback")}},{key:"_setValue",value:function(e,t){var n=this,i=this.props.feedbackState;1===e.type&&null!==i&&void 0!==i[n.currentFeedback.id]&&void 0!==i[n.currentFeedback.id][e.id]&&parseInt(i[n.currentFeedback.id][e.id])===parseInt(t)&&(t=null),this.props.onValueChanged(ce()({},n.currentFeedback.id,ce()({},e.id,t)))}},{key:"_mapField",value:function(e){var t=null,n=this,i=function(e,t){n.props.feedbackTextMaxInput&&(2===e.type||3===e.type)&&t.length>n.props.feedbackTextMaxInput&&(t=t.substr(0,n.props.feedbackTextMaxInput)),n._setValue(e,t)},a="",r=void 0!==n.props.feedbackTextMaxInput&&n.props.feedbackTextMaxInput,o=null;return null!==this.props.feedbackState&&void 0!==this.props.feedbackState[n.currentFeedback.id]&&void 0!==this.props.feedbackState[n.currentFeedback.id][e.id]&&(a=this.props.feedbackState[n.currentFeedback.id][e.id]),1===e.type?(a=""===a?0:a,t=Ka.renderRadioField.bind(this)(e,a,i)):2===e.type?(r&&(r=n.props.feedbackTextMaxInput-a.length,o=y.a.createElement("div",{className:"small p-h-1rem p-b-1rem"},r," ",this.props.translation.translate("gui_label_feedback_textinput_chars_left"))),t=Ka.renderTextField.bind(this)(e,a,i,!1,o)):3===e.type?(r&&(r=n.props.feedbackTextMaxInput-a.length,o=y.a.createElement("div",{className:"small p-h-1rem p-b-1rem"},r," ",this.props.translation.translate("gui_label_feedback_textinput_chars_left"))),t=Ka.renderTextArea.bind(this)(e,a,i,!1,o)):t=Ka.renderText.bind(this)(e),t}},{key:"submit",value:function(){var e=this.props.feedbackState,t=!1,n=this;null!==e&&void 0!==e[this.currentFeedback.id]&&Object.keys(e[n.currentFeedback.id]).forEach((function(i){null!==e[n.currentFeedback.id][i]&&(t=!0)})),null!==e&&void 0!==e[this.currentFeedback.id]&&t?(this.setState({overlay:"success"}),this.props.onSubmit(this.currentFeedback)):this.setState({overlay:"empty"})}},{key:"componentDidMount",value:function(){this._getPrivacyFeedback(),this._checkCurrentOutlet()}},{key:"componentDidUpdate",value:function(){this._checkCurrentOutlet()}},{key:"_filterFn",value:function(e){if("OUTLET"!==e.entity)return!0;return null!==this.props.outlet&&this.props.outlet.id===parseInt(e.entity_id)}},{key:"_getFeedbacks",value:function(){var e=this;return this.props.feedbackSettingsCollection.chain().find().where((function(t){return e._filterFn(t)})).sort((function(e,t){return"LOCATION"===e.entity&&"OUTLET"===t.entity?-1:"LOCATION"===t.entity&&"OUTLET"===e.entity||e.translations.name.toLowerCase()>t.translations.name.toLowerCase()?1:e.translations.name.toLowerCase()t.ordering?1:0})).data(),n=y.a.createElement("div",{className:"feedback p-b-spacer m-b-0"+(null!==this.props.device&&this.props.device.isMobile?" background-white ":"")},y.a.createElement("p",{className:"p-h-1rem m-b-1rem t-a-c headline-1 f-w-bold darkGrey background-lightGrey"},e.currentFeedback.translations.name),t.map((function(t){return e._mapField(t)}))),i=null;if(null!==this.state.overlay){var a=null;"success"===this.state.overlay?a=y.a.createElement("p",{className:"t-a-c"},this.props.translation.translate("gui_label_feedback_success")):"empty"===this.state.overlay&&(a=y.a.createElement("p",null,this.props.translation.translate("gui_label_feedback_error_empty")));var r=y.a.createElement("div",{className:"footer-content p-spacer"},y.a.createElement("button",{onClick:function(){e.setState({overlay:null})}},this.props.translation.translate("gui_label_settings_close")));i=y.a.createElement(jn,{layout:"Overlay leave-headline onTop",message:a,footer:r,openModal:!0})}var o=null;if(!0===e.showPrivacyFeedback){var l=y.a.createElement("div",null,y.a.createElement("h3",null,this.props.translation.translate("gui_label_privacy_feedback_title")),y.a.createElement("p",{className:"error",dangerouslySetInnerHTML:{__html:this.props.translation.translate("gui_label_privacy_feedback_message")}})),c=y.a.createElement("div",{className:"footer-content p-spacer"},y.a.createElement("button",{className:"min-w-5rem",onClick:function(){e._setPrivacyFeedback(!0)}},this.props.translation.translate("gui_label_privacy_feedback_btn")));o=y.a.createElement(jn,{layout:"Overlay leave-headline onTop",message:l,footer:c,openModal:!0})}return y.a.createElement("div",{className:"feedback-detail"},o,i,y.a.createElement(si,{content:n,addClass:null===this.props.device.mobile?"p-2rem":"p-0",hideScrollArrows:!0}),y.a.createElement("div",{className:"feedback-footer"},y.a.createElement("div",{className:"footer-buttons"},this._getFeedbacks().length>1?y.a.createElement("button",{className:"headline-2 ",onClick:function(){e.goToList()}},e.props.translation.translate("gui_label_back")):null,y.a.createElement("button",{onClick:function(){e.submit()},className:"headline-2 submit"},e.props.translation.translate("gui_label_feedback_submit")))))}}]),n}(y.a.Component),eo=Object(w.d)(Object(_.b)((function(e){var t=null,n=null,i=null;void 0!==e.feedback.feedback&&(i=e.feedback.feedback),void 0!==G.get("feedbackQuestionOutlet").collection&&(t=G.get("feedbackQuestionOutlet").collection,n=G.get("feedbackSettings").collection);var a=null;if(void 0!==G.get("outlet").collection&&G.get("outlet").collection.find().length>0){var r=G.get("outlet").collection;void 0!==e.config.config&&null!==e.config.config.outlet&&"null"!==e.config.config.outlet&&(a=r.findOne({id:{$eq:parseInt(e.config.config.outlet)}}))}var o=null;void 0!==e.deviceConfig.mobile&&(o=e.deviceConfig);var l=null;void 0!==e.config.config&&null!==e.config.config.privacyFeedbackAllowed&&"null"!==e.config.config.privacyFeedbackAllowed&&(l=e.config.config.privacyFeedbackAllowed);var c=e.settings.FEEDBACK_TEXT_MAX_INPUT;return{device:o,feedbackCollection:t,translation:e.translation.translation,feedbackState:i,feedbackTextMaxInput:c,settings:e.settings,changed:e.feedback.changed,feedbackSettingsCollection:n,outlet:a,privacyFeedbackAllowed:l}}),(function(e){return{onValueChanged:function(t){e(Tt.feedback.feedbackValueChanged(t))},onSubmit:function(t){e(Tt.feedback.feedbackSubmit(t))},onPrivacyFeedback:function(){e(Tt.config.configChanged({privacyFeedbackAllowed:!0}))},redirectToRoute:function(e){this.history.goBack()}}}))(Zr));function to(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var no=function(e){Dt()(n,e);var t=to(n);function n(e){return P()(this,n),t.call(this,e)}return j()(n,[{key:"selectFn",value:function(e){this.props.goToDetail(e)}},{key:"render",value:function(){var e=this,t=this.props.device,n=null!==t&&t.isMobile?" mobile ":"",i=y.a.createElement(Qr,{selectFn:function(t){e.selectFn(t)}});if(null===this.props.feedbackSettingsCollection)return null;var a=null;return null!==this.props.feedback&&(a=this.props.feedbackSettingsCollection.findOne({id:{$eq:parseInt(this.props.feedback)}})),null!==a&&(i=y.a.createElement(eo,{currentFeedback:a})),y.a.createElement("section",{className:n+(null!==t&&t.orientation===t.orientations.portrait?" justify-content-start ":" justify-content-center ")+"h-100 d-flex flex-column feedback-container "},y.a.createElement("div",{className:"contentContainer h-100 d-flex align-items-center justify-content-center flex-direction-col"},i))}}]),n}(y.a.Component),io=Object(w.d)(Object(_.b)((function(e,t){var n=t.match,i=null;void 0!==G.get("feedbackSettings").collection&&(i=G.get("feedbackSettings").collection);var a=null;void 0!==e.deviceConfig.mobile&&(a=e.deviceConfig);var r=null,o=n.params;return o.hasOwnProperty("feedback")&&(r=o.feedback),{feedback:r,feedbackSettingsCollection:i,device:a}}),(function(){return{goToDetail:function(e){this.history.push("/feedback/"+e)}}}))(no));function ao(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var ro=function(e){Dt()(n,e);var t=ao(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={activeKey:1},i}return j()(n,[{key:"_getHomepageLink",value:function(){var e=this;return null===e.props.outlet.homepage||void 0===e.props.outlet.homepage?null:y.a.createElement("a",{className:"m-r-1rem",key:"homepage",href:e.props.outlet.homepage,target:"_blank"},y.a.createElement("i",{className:"p-1rem white background-defaultGrey headline-2 far fa-browser"}))}},{key:"_getEMailLink",value:function(){var e=this;if(null===e.props.contactCollection)return null;var t=e.props.contactCollection.findOne({id:{$eq:e.props.outlet.relation.contact}});return null===t||void 0===t.email||null===t.email?null:y.a.createElement("a",{className:"m-r-1rem",key:"email",href:"mailto:"+t.email},y.a.createElement("i",{className:"p-1rem white background-defaultGrey headline-2 far fa-envelope"}))}},{key:"_getRouteLink",value:function(){var e=this;if(null===e.props.addressCollection)return null;var t=e.props.addressCollection.findOne({id:{$eq:e.props.outlet.relation.address}});if(null===t)return null;var n=t.street+", "+t.postalCode+"/"+t.city;return y.a.createElement("a",{className:"m-r-1rem",target:"_blank",key:"route",href:"https://maps.google.de/maps?q="+n},y.a.createElement("i",{className:"p-1rem white background-defaultGrey headline-2 far fa-map-marker"}))}},{key:"_getSocialMediaLink",value:function(e){var t=null;return null!==e.icon.code?t=y.a.createElement("i",{className:"p-1rem white background-defaultGrey headline-2 far "+e.icon.code}):null!==e.icon.filename?t=y.a.createElement("img",{src:"/images/contact/"+e.icon.fileName}):null!==e.icon.url&&(t=y.a.createElement("img",{src:e.icon.url})),y.a.createElement("a",{className:"m-r-1rem",key:e.link,href:e.link},t)}},{key:"_getInteraction",value:function(e){return"homepage"===e?this._getHomepageLink():"email"===e?this._getEMailLink():"route"===e?this._getRouteLink():e.hasOwnProperty("type")&&"BROWSER"===e.type?this._getSocialMediaLink(e):null}},{key:"render",value:function(){var e=this,t=this.props.outlet,n=t.hasOwnProperty("linkInfo")&&null!==t.linkInfo&&t.linkInfo.length>0?t.linkInfo:L.CONTACT_INTERACTIONS;return null===t||null===n?null:y.a.createElement("div",{className:"w-100 d-flex p-1rem flex-row justify-content-center"},n.map((function(t){return e._getInteraction(t)})))}}]),n}(y.a.Component),oo=Object(w.d)(Object(_.b)((function(e){var t=null,n=null;return void 0!==G.get("address").collection&&(t=G.get("address").collection),void 0!==G.get("contact").collection&&(n=G.get("contact").collection),{translation:e.translation,addressCollection:t,contactCollection:n}}),(function(){return{}}))(ro));function lo(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var co=function(e){Dt()(n,e);var t=lo(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).days=["monday","tuesday","wednesday","thursday","friday","saturday","sunday"],i.state={contact:null},i}return j()(n,[{key:"_createMarkup",value:function(e){return{__html:e}}},{key:"_getOpeningTimesRichtext",value:function(){var e=this.props,t=e.outlet,n=e.isMobile;return void 0!==t.translations.opening_times?y.a.createElement("div",{className:n?" p-spacer text darkGrey opening-times-text":" p-h-3rem p-b-3rem ",dangerouslySetInnerHTML:this._createMarkup(t.translations.opening_times)}):null}},{key:"_getDayNameColumn",value:function(e){var t=this.props,n=t.translation,i=t.isMobile;return y.a.createElement("span",{key:"opening-times-label-"+e,className:" f-w-bold darkGrey opening-times-label"+(i?" text p-h-1rem line-height-large ":" headline-2 p-h-1rem line-height-extra-large ")}," ",n.translation.translate("gui_label_"+e.toLowerCase())," ")}},{key:"_getDayOpeningTime",value:function(e){var t=this.props.isMobile;return y.a.createElement("p",{key:"opening-times-value-"+e,className:" p-h-1rem "},this.props.outlet["ot_"+e].split("||").map((function(e,n){return y.a.createElement("span",{key:n,className:" darkGrey "+(t?" text line-height-large ":" headline-2 d-block p-h-1rem line-height-extra-large ")},t&&0!==n?" / ":"",e)})))}},{key:"_dayHasOpeningTime",value:function(e){return"-"!==this.props.outlet["ot_"+e]}},{key:"render",value:function(){var e=this;return y.a.createElement("div",{className:" flex-1-1-a background-white overflow-a "},y.a.createElement("div",{className:"p-spacer opening-times-content d-grid grid-columns-2-label"},this.days.map((function(t){return e._dayHasOpeningTime(t)?y.a.createElement(y.a.Fragment,{key:t},e._getDayNameColumn(t,!0),e._getDayOpeningTime(t,!0)):null}))),this._getOpeningTimesRichtext())}}]),n}(y.a.Component);function so(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var uo=function(e){Dt()(n,e);var t=so(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={contact:null},i}return j()(n,[{key:"_getOutletPositionLink",value:function(){var e=this.props.outlet.positionInfo;return null!=e?'https://maps.google.de/maps?q="'+e.latitude+","+e.longitude+'"':null}},{key:"_addressRowMapping",value:function(e){var t=this._getOutletPositionLink(),n=[e.street,e.address_additional,e.postalCode+" "+e.city];return n=n.filter((function(e){return null!==e&&""!==e.trim()})),null!==t?y.a.createElement("a",{key:e.id,className:"d-block headline-2 t-a-c link",href:t,target:"_blank"},n.map((function(e,t){return y.a.createElement("span",{key:t,className:"name"},t>0?",":""," ",e)}))):y.a.createElement("p",{key:e.id,className:"headline-2 t-a-c"},n.map((function(e,t){return y.a.createElement("span",{key:t,className:"name"},t>0?",":""," ",e)})))}},{key:"_setContact",value:function(){var e=this.props,t=e.outlet,n=e.contactCollection;if(null!==n&&null!==t){var i=n.findOne({id:{$eq:t.relation.contact}});null===i||null!==this.state.contact&&i.id===this.state.contact.id||this.setState({contact:i})}}},{key:"_getOutletName",value:function(e,t){return t?y.a.createElement("p",{className:"f-w-bold t-a-c p-t-spacer darkGrey p-spacer headline-1"},e.translations.name):y.a.createElement("p",{className:"f-w-bold t-a-c p-t-spacer darkGrey headline-2 "},e.translations.name)}},{key:"_getContactName",value:function(e){var t=this.state.contact;if(null!==t&&null!==t.contact&&""!==t.contact.trim())return y.a.createElement("p",{className:"f-w-bold darkGrey t-a-c "+(e?" headline-2":" headline-1 p-t-spacer")},t.contact)}},{key:"_getContactRole",value:function(){var e=this.state.contact;if(null!==e&&null!==e.role&&""!==e.role.trim())return y.a.createElement("p",{className:"headline-1 t-a-c"},e.role)}},{key:"_getContactPhone",value:function(){var e=this.state.contact,t=this.props.translation;if(null!==e&&null!==e.phone&&""!==e.phone.trim())return y.a.createElement("p",{className:"headline-2 darkGrey t-a-c"},t.translation.translate("gui_label_contact_phone"),": ",e.phone)}},{key:"_getContactMail",value:function(){var e=this.state.contact,t=this.props.translation;if(null!==e&&null!==e.email&&""!==e.email.trim())return y.a.createElement("p",{className:"headline-2 darkGrey t-a-c"},t.translation.translate("gui_label_contact_email"),":",y.a.createElement("a",{href:"mailto:"+e.email}," ",e.email))}},{key:"componentDidMount",value:function(){this._setContact()}},{key:"componentDidUpdate",value:function(){this._setContact()}},{key:"render",value:function(){var e=this,t=this.props,n=t.outlet,i=t.device;if(null===n)return null;var a=this.props.addressCollection.find({id:{$eq:n.relation.address}}),r=i.isMobile,o=i.orientation===i.orientations.landscape?"p-v-spacer p-l-spacer":"p-t-spacer p-h-spacer",l=y.a.createElement("div",{className:"img-cover-container outlet-image "+(r?"h-40":"")},y.a.createElement(Ri,{model:"outlet",id:n.id,attribute:"detailImage"}));return y.a.createElement("div",{className:"flex-0-0-50 overflow-a overflow-x-h "+o},y.a.createElement("div",{className:"overflow-x-h background-white d-flex flex-direction-col justify-content-center"},r?l:null,r?this._getOutletName(n,r):null,this._getContactName(r),this._getContactRole(),r?null:this._getOutletName(n,r),a.map((function(t){return e._addressRowMapping(t)})),this._getContactPhone(),this._getContactMail(),y.a.createElement(oo,{outlet:n}),r?y.a.createElement(co,{outlet:this.props.outlet,translation:this.props.translation,isMobile:r}):null),r?null:y.a.createElement("div",{className:""}," ",l," "))}}]),n}(y.a.Component),fo=Object(w.d)(Object(_.b)((function(e){var t=null,n=null,i=null;return void 0!==G.get("address").collection&&(t=G.get("address").collection),void 0!==G.get("contact").collection&&(i=G.get("contact").collection),"undefined"!==e.deviceConfig.mobile&&(n=e.deviceConfig),{device:n,addressCollection:t,contactCollection:i,translation:e.translation}}),(function(){return{}}))(uo));function po(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var ho=n(9),mo=function(e){Dt()(n,e);var t=po(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={activeKey:1,showModal:!1,modalIsOpen:!1,mapLoadProgress:!1},i.openModal=i.openModal.bind(on()(i)),i.closeModal=i.closeModal.bind(on()(i)),window.initMap=i.initMap.bind(on()(i)),i}return j()(n,[{key:"initMap",value:function(){this.setState({mapLoadProgress:!1})}},{key:"openModal",value:function(){this.setState({modalIsOpen:!0})}},{key:"closeModal",value:function(){this.setState({modalIsOpen:!1})}},{key:"checkMapHeight",value:function(){var e=this.props.device,t=".img-cover-container.outlet-image img";e.isMobile||e.orientation===e.orientations.portrait||jQuery("#map").height(jQuery(t).height()),jQuery(t).on("load",(function(){e.isMobile||e.orientation===e.orientations.portrait||jQuery("#map").height(jQuery(t).height())}))}},{key:"showMap",value:function(){var e=this;if("object"===("undefined"==typeof google?"undefined":A()(google))||!1!==this.state.mapLoadProgress||!0!==e.props.privacyGoogleMapsAllowed&&"true"!==e.props.privacyGoogleMapsAllowed||(this.setState({mapLoadProgress:!0}),ho.getScript("https://maps.googleapis.com/maps/api/js?key=AIzaSyDfrD1AIfztN0vHNoeIt3Ooa6782m1GNik&callback=initMap",(function(){}))),"object"===("undefined"==typeof google?"undefined":A()(google))&&(!0===e.props.privacyGoogleMapsAllowed||"true"===e.props.privacyGoogleMapsAllowed)&&void 0!==e.address){var t=new google.maps.Geocoder,n=e.address.street+", "+e.address.postalCode+"/"+e.address.city;t.geocode({address:n},(function(t,n){if(n===google.maps.GeocoderStatus.OK){var i={zoom:16,center:t[0].geometry.location,mapTypeId:google.maps.MapTypeId.ROADMAP},a=new google.maps.Map(document.getElementById("map"),i);e.checkMapHeight();new google.maps.Marker({map:a,position:t[0].geometry.location})}}))}}},{key:"componentDidMount",value:function(){this.showMap()}},{key:"componentDidUpdate",value:function(){this.showMap()}},{key:"setPrivacyGoogleMapsAllowed",value:function(e){this.props.onPrivacyGoogleMapsAllowed(e),this.closeModal()}},{key:"getPrivacyGoogleMapsAllowedModal",value:function(){var e=this,t=this.props,n=(t.device,t.privacyGoogleMapsAllowed),i=t.translation;if(this.state.showModal||null===n||!0===this.state.modalIsOpen){var a=y.a.createElement("p",{dangerouslySetInnerHTML:{__html:i.translation.translate("gui_label_privacy_googlemaps_message")}}),r=y.a.createElement("div",{className:"footer-content p-spacer"},y.a.createElement("button",{className:"headline-2 p-h-spacer m-v-spacer m-r-spacer",onClick:function(){e.setPrivacyGoogleMapsAllowed(!1)}},i.translation.translate("gui_label_privacy_googlemaps_btn_noaccept")),y.a.createElement("button",{className:"headline-2 p-h-spacer m-v-spacer",onClick:function(){e.setPrivacyGoogleMapsAllowed(!0)}},i.translation.translate("gui_label_privacy_googlemaps_btn_accept")));return y.a.createElement(jn,{layout:"Overlay onTop",message:a,footer:r,openModal:!0})}return null}},{key:"_dayHasOpeningTime",value:function(e){return"-"!==this.props.outlet["ot_"+e]}},{key:"hasOpeningTimes",value:function(){var e=this,t=!1;return["monday","tuesday","wednesday","thursday","friday","saturday","sunday"].map((function(n){t=t||e._dayHasOpeningTime(n)})),t||null!==this.props.outlet.translations.opening_times}},{key:"render",value:function(){var e=this,t=this.props,n=t.device,i=t.translation,a=t.outlet,r=t.addressCollection,o=t.privacyGoogleMapsAllowed;if(null===r||null===a)return null;var l=r.findOne({id:{$eq:a.relation.address}});if(null===l)return null;this.address=l;var c=n.isMobile,s=this.getPrivacyGoogleMapsAllowedModal(),u=null,f="h-100";if(n.isMobile||(f=" min-h-20rem "),!0===o||"true"===o){var p=" flex-0-0-a ";n.isMobile||n.orientation!==n.orientations.landscape?(c||n.orientation===n.orientations.portrait)&&(p+=" min-h-20rem "):p=" flex-1-1-a ",u=y.a.createElement("div",{id:"map",className:" w-100 "+p+f},"Loading map...")}else u=y.a.createElement("p",{onClick:function(){e.setState({modalIsOpen:!0})},className:" mt-5 headline-2 t-a-c"},y.a.createElement("i",{className:"far fa-map","aria-hidden":"true"})," ",y.a.createElement("br",null),i.translation.translate("gui_label_privacy_googlemaps_denied_container"));var d=n.orientation===n.orientations.landscape?"p-spacer":"p-h-spacer p-b-spacer";return n.isMobile||n.orientation!==n.orientations.landscape?y.a.createElement("div",{className:" d-flex flex-column contact-map flex-0-0-50 "+d},c?null:y.a.createElement(co,{outlet:this.props.outlet,translation:this.props.translation,isMobile:c}),s,u):y.a.createElement("div",{className:" d-flex flex-column contact-map flex-0-0-50 "+d},y.a.createElement(Ki.a,{defaultActiveKey:this.hasOpeningTimes()?"detail":"map",onSelect:function(){}},this.hasOpeningTimes()?y.a.createElement(Ji.a,{tabClassName:"headline-1 uppercase f-w-bold darkGrey t-a-c flex-0-0-50 p-spacer border-right-defaultGrey ",eventKey:"detail",title:i.translation.translate("gui_label_contact_opening_times")},y.a.createElement("div",{className:"h-100 w-100 d-flex"},y.a.createElement(co,{outlet:a,translation:i,isMobile:c}))):null,y.a.createElement(Ji.a,{tabClassName:"headline-1 uppercase f-w-bold t-a-c flex-0-0-50 p-spacer",eventKey:"map",title:i.translation.translate("gui_label_contact_opening_map")},y.a.createElement("div",{className:"h-100 w-100 d-flex flex-column"},u))),s)}}]),n}(y.a.Component),go=Object(w.d)(Object(_.b)((function(e){var t=null;void 0!==G.get("address").collection&&(t=G.get("address").collection);var n=null;void 0!==e.config.config&&null!==e.config.config.privacyGoogleMapsAllowed&&"null"!==e.config.config.privacyGoogleMapsAllowed&&(n=e.config.config.privacyGoogleMapsAllowed);var i=null;return"undefined"!==e.deviceConfig.mobile&&(i=e.deviceConfig),{device:i,addressCollection:t,config:e.config.config,translation:e.translation,privacyGoogleMapsAllowed:n}}),(function(e){return{onPrivacyGoogleMapsAllowed:function(t){e(Tt.config.configChanged({privacyGoogleMapsAllowed:t}))}}}))(mo));function vo(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var yo=function(e){Dt()(n,e);var t=vo(n);function n(){return P()(this,n),t.apply(this,arguments)}return j()(n,[{key:"render",value:function(){var e=this.props,t=e.device,n=e.outlet;return null===n?null:y.a.createElement("div",{className:"contact-container overflow-h d-flex flex-column h-100 defaultContainer"},y.a.createElement("div",{className:"w-100 h-100 overflow-a flex-1-1-a d-flex "+("portrait"===t.orientation?"flex-column":"flex-row")},y.a.createElement(fo,{outlet:n}),y.a.createElement(go,{outlet:n})))}}]),n}(y.a.Component),bo=Object(w.d)(Object(_.b)((function(e){var t=null;void 0!==e.config.config&&void 0!==G.get("outlet").collection&&(t=G.get("outlet").collection.findOne({id:{$eq:parseInt(e.config.config.outlet)}}));var n=null;return void 0!==e.deviceConfig.mobile&&(n=e.deviceConfig),{device:n,settings:e.settings,outlet:t}}),(function(){return{}}))(yo));function ko(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var _o=n(9),Eo=function(e){Dt()(n,e);var t=ko(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={shouldUpdate:!1,configuration:null,currentTakenPlaces:0,valueRelative:0,maxPersonsCount:0,aggregateData:[],outlet:!1},i.process=!1,i}return j()(n,[{key:"_requestFailed",value:function(e){console.warn("capacity request error",e),this.setState({configuration:!1})}},{key:"_requestSucceeded",value:function(e){if(e.success){var t=e.content,n=this.state,i=n.aggregateData,a=n.configuration,r={},o=void 0!==t.historicalData&&t.historicalData.hasOwnProperty("values")?t.historicalData.values:[];JSON.stringify(i)!==JSON.stringify(o)&&(r.aggregateData=o),JSON.stringify(a)!==JSON.stringify(t.configuration)&&(r.configuration=t.configuration),this.state.currentTakenPlaces===t.currentData.valueAbsolute&&this.state.maxPersonsCount===parseInt(t.configuration.maxPersonsCount)||(r.currentTakenPlaces=parseInt(t.currentData.valueAbsolute),r.valueRelative=parseInt(t.currentData.valueRelative),r.maxPersonsCount=parseInt(t.configuration.maxPersonsCount)),console.log("state",r,Object.keys(r),Object.keys(r).length),Object.keys(r).length>0&&this.setState(r)}else this._requestFailed(e)}},{key:"_requestCapacityData",value:function(){var e=this;_o.ajax({url:L.PROXY_URL,method:"GET",data:{token:L.PROXY_TOKEN,model:"capacityOutlet",outlet:this.props.outlet.id,languagetype:this.props.language},dataType:"json",success:function(t){e._requestSucceeded(t),e.process=!1},error:function(t){e._requestFailed(t),e.process=!1}})}},{key:"_getFormattedDate",value:function(e,t){if(null!==e){var n=(e.getUTCDate()<10?"0":"")+e.getUTCDate()+"."+(e.getMonth()+1<10?"0":"")+(e.getMonth()+1)+"."+e.getFullYear();return t&&(n=n+" - "+(e.getHours()+1<10?"0":"")+e.getHours()+":"+(e.getMinutes()+1<10?"0":"")+e.getMinutes()+":"+(e.getSeconds()+1<10?"0":"")+e.getSeconds()),n}}},{key:"_mapAggregateToGaugeData",value:function(){return[["aggregate",this.state.valueRelative]]}},{key:"_mapAggregateToScatterData",value:function(e){var t=this,n=[];return e.length>0&&n.push("values"),this.timeArray=[],e.map((function(e){var i=new Date(e.timestamp),a=(i.getHours()<10?"0":"")+i.getHours()+":"+(i.getMinutes()<10?"0":"")+i.getMinutes();if(-1===t.timeArray.indexOf(a)){var r=e.value>100?100:e.value;n.push(r),t.timeArray.push(a)}})),{data:{columns:[n],type:"area-spline",colors:["#ffAA11"],order:null},bar:{width:{ratio:.7},spacing:2},axis:{rotated:"portrait"===this.props.device.orientation,y:{padding:{top:5,bottom:0},min:0,max:110,tick:{culling:!1,format:function(e){return e>100?null:e},outer:!0,count:12,values:[0,10,20,30,40,50,60,70,80,90,100,110]}},x:{type:"category",categories:this.timeArray,label:{position:"outer-center"},tick:{format:function(e){return t.timeArray[e]}}}}}}},{key:"_getFreePlaces",value:function(){var e=this.state;return e.maxPersonsCount-e.currentTakenPlaces}},{key:"getCiColor",value:function(){var e,t,n,i,a,r,o="#B1B1B1";for(n=0,i=document.styleSheets.length;n=r?c=i:n>=l&&(c=a),null!==c?(-1===c.indexOf("#")&&(c="#"+c),c):void 0}},{key:"_getContent",value:function(){var e=this,t=this.props,n=t.capacityCollection,i=t.outlet,a=t.translation,r=this.state.configuration;if(null===n||null===i)return null;if(null===r)return y.a.createElement("div",{className:"defaultContainer w-100 flex-1-1-auto"},y.a.createElement("p",{className:"h-100 d-flex align-items-center justify-content-center headline-1 t-a-c p-2rem m-0"},a.translation.translate("gui_label_capacity_process")));if(!1===r)return y.a.createElement("div",{className:"defaultContainer w-100 flex-1-1-auto"},y.a.createElement("p",{className:"headline-1 t-a-c p-2rem m-0"},a.translation.translate("gui_label_capacity_empty")));var o=this._mapAggregateToGaugeData(),l="portrait"===this.props.device.orientation?.2*document.documentElement.clientHeight:.3*document.documentElement.clientHeight,c=null,s=null,u=this.state.aggregateData;if(null!==u&&u.length>0){c=new Date(u[0].timestamp);var f=this._mapAggregateToScatterData(u),p=.35*document.body.clientHeight;null!==this.props.device.mobile&&(p=.5*document.body.clientHeight);s=y.a.createElement("div",{className:"timeCapacity"},y.a.createElement("div",{className:"headline-wrapper"},y.a.createElement("p",{className:"headline-2 p-t-2rem "},y.a.createElement("span",{className:"f-w-bold uppercase"},a.translation.translate("gui_label_all_capacity")),"Â ",y.a.createElement("span",{className:"f-w-normal"},a.translation.translate("gui_label_all_capacity_label_from")," ",this._getFormattedDate(c,!1)))),y.a.createElement("div",{className:"t-a-c headline-1 m-2rem m-h-25rem"},y.a.createElement(Aa,{getInfoText:function(t){if(void 0===t||void 0===t[0])return"";var n=t[0],i=a.translation.translate("gui_label_capacity_area_chart_tooltip");return i=(i=i.replace("{{value}}",n.value)).replace("{{time}}",e.timeArray[n.index])},cssClass:"capacity-area",data:f,type:"line",height:p})))}return y.a.createElement("div",{className:"flex-1-1-a t-a-c p-t-2rem overflow-a capacity-content"},y.a.createElement("div",{className:"currentCapacity"},y.a.createElement("p",{className:"headline-2"},y.a.createElement("span",{className:"f-w-bold uppercase"},a.translation.translate("gui_label_capacity")),"Â ",y.a.createElement("span",{className:"f-w-normal"},this._getFormattedDate(new Date,!0)+" "+a.translation.translate("gui_label_capacity_label_time"))),y.a.createElement(Aa,{cssClass:"capacity-gauge",type:"gauge",colorFn:this.colorFn.bind(this),showLegend:!1,data:o,legend:!1,height:l}),y.a.createElement("p",{className:"capacity-empty-places uppercase m-0 headline-2 f-w-bold"},y.a.createElement("span",{className:"text-ci"},this._getFreePlaces()),"Â ",a.translation.translate("gui_label_empty_places"))),s)}},{key:"_checkRequirements",value:function(){if(!this.process&&null!==this.props.capacityCollection&&null!==this.props.outlet){var e=this.props.outlet;null!==e&&JSON.stringify(e)!==JSON.stringify(this.state.outlet)?this.setState({outlet:e,configuration:null}):(this.process=!0,this._requestCapacityData())}}},{key:"componentDidUpdate",value:function(){this._checkRequirements()}},{key:"componentDidMount",value:function(){this._checkRequirements()}},{key:"render",value:function(){return y.a.createElement("div",{className:"defaultContainer df-c-nw h-100"},this._getContent())}}]),n}(y.a.Component),wo=Object(w.d)(Object(_.b)((function(e){var t=null,n=null,i=null,a=null;void 0!==e.config.config&&void 0!==G.get("outlet").collection&&(t=G.get("outlet").collection.findOne({id:{$eq:parseInt(e.config.config.outlet)}})),void 0!==G.get("capacity").collection&&(n=G.get("capacity").collection),void 0!==e.config.config&&(i=e.config.config.location,a=e.config.config.language);var r=null;return void 0!==e.deviceConfig.mobile&&(r=e.deviceConfig.mobile),{outlet:t,location:i,language:a,device:e.deviceConfig,deviceIsMobile:r===Dn.phone,translation:e.translation,capacityCollection:n}}),(function(){return{}}))(Eo));function Co(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var No=function(e){Dt()(n,e);var t=Co(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).view=null,i.state={webLink:null},i}return j()(n,[{key:"_selectFn",value:function(e){this.setState({webLink:e})}},{key:"_mappingFn",value:function(e){var t=this,n=null;return void 0!==e.image&&""!==e.image&&(n=y.a.createElement(Ri,{model:"webLink",id:e.id,fallback:e.image,attribute:"image"})),y.a.createElement("div",{className:(null!==n?" has-image ":"")+" entity-list-item webLink-list-item",onClick:function(){t._selectFn(e)},key:e.id},n,y.a.createElement("div",{className:" entity-list-item-text webLink-list-item-text"},y.a.createElement("p",{className:"name"},e.name)))}},{key:"_checkView",value:function(){if(null!==this.props.views&&0!==this.props.views.length&&1===this.props.views.length){var e=this.props.views[0];null!==this.state.webLink&&e.id===this.state.webLink.id||this.setState({webLink:e})}}},{key:"getPaymentLink",value:function(){var e=new Date,t='{"date":"'+(e.getDate().toString()+"."+(e.getMonth()+1).toString()+"."+e.getFullYear().toString())+'","code":"'+L.PAYMENT_CODE_HANDSHAKE+'"}',n=Hn(t);return this.state.webLink.urlLink+"?Handshake="+n}},{key:"getFrameUrl",value:function(){return null===this.state.webLink?null:3===this.state.webLink.webLinkTypeID?this.getPaymentLink():this.state.webLink.urlLink}},{key:"componentWillReceiveProps",value:function(){null!==this.state.webLink&&this.setState({webLink:null})}},{key:"componentDidUpdate",value:function(){this._checkView()}},{key:"componentDidMount",value:function(){this._checkView()}},{key:"getRowImage",value:function(e){var t=null;return void 0!==e.image&&""!==e.image&&(t=y.a.createElement(Ri,{model:"webLink",id:e.id,fallback:e.image,attribute:"image"})),t}},{key:"render",value:function(){var e=null,t=this.props.deviceConfig;if(null===this.props.views||0===this.props.views.length)return null;if(null!==this.state.webLink){var n=this.getFrameUrl();!0===this.state.webLink.openInNewWindow?(window.open(n,"_blank"),this.props.redirectBack()):e=y.a.createElement("iframe",{name:"weblinkFrame",className:" h-100 w-100"+(t.isMobile?" flex-1-1-a ":""),frameBorder:"0",src:n})}else e=y.a.createElement(Gr,{orientation:t.orientation,items:this.props.views,getRowImage:this.getRowImage,onSelect:this._selectFn.bind(this)});return y.a.createElement("section",{className:" webLink "+(t.isMobile?" p-b-spacer flex-1-1-a d-flex "+(t.orientation===t.orientations.landscape?" d-flex justify-content-center ":""):" p-spacer ")},e)}}]),n}(y.a.Component),So=Object(w.d)(Object(_.b)((function(e,t){var n=t.match,i=null,a=null;return void 0!==G.get("weblink").collection&&G.get("weblink").collection.find().length>0&&(a=G.get("weblink").collection,void 0!==n.params.type&&(i=a.find({webLinkTypeID:{$eq:parseInt(n.params.type)}}))),{views:i,deviceConfig:e.deviceConfig,viewCollection:a}}),(function(e){return{redirectBack:function(){this.history.goBack()}}}))(No));function Oo(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Ro=function(e){Dt()(n,e);var t=Oo(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).limit=5,i}return j()(n,[{key:"_dateReduced",value:function(e){return"string"==typeof e&&(e=new Date(e)),null!==e&&"object"===A()(e)&&e.getFullYear()+"-"+("0"+(e.getMonth()+1)).slice(-2)+"-"+("0"+e.getDate()).slice(-2)}},{key:"_dateFormatter",value:function(e){return"string"==typeof e&&(e=new Date(e)),null!==e&&"object"===A()(e)&&(e.getDate()<10?"0":"")+e.getDate()+"."+(e.getMonth()+1<10?"0":"")+(e.getMonth()+1)+"."+e.getFullYear()}},{key:"_mapRow",value:function(e,t){var n=this,i=this._dateFormatter(e.validFrom),a=this._dateFormatter(e.validTill),r="landscape"===this.props.device.orientation?t>0?"m-l-2rem":"":"m-t-spacer",o=e.hasOwnProperty("translations")&&e.translations.hasOwnProperty("name")?e.translations.name:e.name,l=this.props.translation.translation.translate("gui_label_voting_date");l=(l=l.replace("{{startDate}}",i)).replace("{{endDate}}",a);var c=null;return c=void 0!==e.image&&null!==e.image?y.a.createElement(Ri,{model:"vote",id:e.id,fallback:e.image,attribute:"image"}):y.a.createElement("div",{className:"border-white img-cover-container"},y.a.createElement("img",{src:"/images/modules/feedback/feedback_blank.jpg"})),y.a.createElement("div",{className:(null!==c?" has-image ":"")+r+" default-list-item",onClick:function(){return n.props.selectFn(e.id)},key:e.id},y.a.createElement("div",{className:"default-list-item-container"},y.a.createElement("div",{className:"default-list-item-image"}," ",c," "),y.a.createElement("div",{className:"default-list-item-text w-100"},y.a.createElement("p",{className:"w-100 t-a-c f-w-bold darkGrey"+(this.props.device.isMobile?" headline-2 ":" headline-1 ")},o,y.a.createElement("span",{className:"d-block f-w-normal"},l)))))}},{key:"_getRowImage",value:function(e){return y.a.createElement(Ri,{model:"vote",id:e.id,attribute:"image"})}},{key:"render",value:function(){var e=this,t=this;if(null===t.props.votingCollection)return null;var n=t.props.votingCollection.chain().find().where((function(e){var n=t._dateReduced(new Date);return null!==t.props.outlet&&t.props.outlet.id===e.outlet&&(n>=t._dateReduced(new Date(e.validFrom))&&n<=t._dateReduced(new Date(e.validTill)))})).sort((function(e,t){return e.namet.name?1:0})).data();return 1===n.length?(t.props.selectFn(n[0].id),0):y.a.createElement(Gr,{orientation:this.props.device.orientation,items:n,mappingFn:this._mapRow.bind(this),getRowImage:this._getRowImage,onSelect:function(t){e.props.selectFn(t.id)}})}}]),n}(y.a.Component),Io=Object(w.d)(Object(_.b)((function(e){var t=null,n=null;void 0!==G.get("vote").collection&&(t=G.get("vote").collection,n=G.get("vote").collection.data.length);var i=null;if(void 0!==G.get("outlet").collection&&G.get("outlet").collection.find().length>0){var a=G.get("outlet").collection;void 0!==e.config.config&&null!==e.config.config.outlet&&"null"!==e.config.config.outlet&&(i=a.findOne({id:{$eq:parseInt(e.config.config.outlet)}}))}return{outlet:i,device:e.deviceConfig,votingCollection:t,translation:e.translation,votingCollectionCount:n}}),(function(){return{}}))(Ro));function To(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var xo=function(e){Dt()(n,e);var t=To(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={votingResults:[]},i}return j()(n,[{key:"_filterResults",value:function(e){if(null===this.props.voteOptionCollection)return[];var t=this,n=[];return e.forEach((function(e){null!==t.props.voteOptionCollection.findOne({$and:[{id:{$eq:parseInt(e.gerichtid)}},{vote:{$eq:parseInt(t.props.voting.id)}}]})&&n.push(e)})),n}},{key:"_successFn",value:function(e){if(e.success&&void 0!==e.content.votingresult){var t=this._filterResults(e.content.votingresult);t=t.sort((function(e,t){return e.hasOwnProperty("count")&&!t.hasOwnProperty("count")?1:!e.hasOwnProperty("count")&&t.hasOwnProperty("count")?-1:parseInt(e.count)>parseInt(t.count)?1:parseInt(e.count)0&&0===t.count?-1:0===e.count&&0!==t.count?1:e.count>t.count?-1:e.countt.translations.name.toLowerCase()?-1:e.translations.name.toLowerCase()0&&(t=G.get("voteOption").collection);var n=null,i=null;return void 0!==e.config.config&&(i=e.config.config.language,n=e.config.config.location),{voteOptionCollection:t,translation:e.translation,device:e.deviceConfig,language:i,location:n}}),(function(){return{}}))(xo));function Mo(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Ao=n(9),Lo=function(e){Dt()(n,e);var t=Mo(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={voteOption:null,error:!1,viewSelection:"selection",sent:!1},i}return j()(n,[{key:"_selectFn",value:function(e){if(null!==e){var t=parseInt(this.props.voting.id),n=!1;if(console.log("select",this.props.voting.id),Object.keys(this.props.votes.submitted).forEach((function(e){t===parseInt(e)&&(n=!0)})),console.log("exists",n),n)return void this.setState({error:"voted"});this.props.onSubmit(ce()({},t,e.id)),this.setState({error:"success"})}this.setState({voteOption:e})}},{key:"_checkConfig",value:function(){var e=this,t=null;if(Object.keys(this.props.votes.submitted).forEach((function(n){e.props.voting.id===parseInt(n)&&(t=e.props.votes.submitted[n])})),null!==t){var n=e.props.voteOptionCollection.findOne({id:{$eq:t}});null===n||null!==e.state.voteOption&&n.id===e.state.voteOption.id||this.setState({voteOption:n})}}},{key:"_checkSuccessfulSent",value:function(){var e=this;!1!==e.state.sent&&e.state.sent!==JSON.stringify(e.props.sent)&&this.setState({sent:JSON.stringify(this.props.sent),viewSelection:"result"})}},{key:"_checkCurrentOutlet",value:function(){this.props.voting.outlet!=this.props.outlet.id&&this.props.redirectToRoute("/Vote")}},{key:"componentDidMount",value:function(){this.setState({sent:JSON.stringify(this.props.sent)}),this._checkConfig(),this._checkCurrentOutlet()}},{key:"componentDidUpdate",value:function(){this._checkConfig(),this._checkSuccessfulSent(),this._checkCurrentOutlet()}},{key:"_getRowImage",value:function(e){return void 0!==e.image&&null!==e.image?y.a.createElement(Ri,{model:"voteOption",id:e.id,fallback:e.image,attribute:"image"}):y.a.createElement("div",{className:"border-white img-cover-container"},y.a.createElement("img",{src:"/images/modules/feedback/feedback_blank.jpg"}))}},{key:"_getTextFromHTML",value:function(e){var t=Ao("");return t.html(e),t.find("*").not("p,br,div").each((function(){Ao(this).replaceWith(this.innerText)})),t.find("p,div").each((function(){Ao(this).removeAttr("style")})),t.html()}},{key:"render",value:function(){var e=this,t=this;if(null===t.props.voteOptionCollection||0===t.props.voting)return null;var n=t.props.voteOptionCollection.chain().find({vote:{$eq:t.props.voting.id}}).sort((function(e,t){return e.name
t.name?1:0})).data(),i=function(e){null!==t.state.voteOption||"result"!==e?(t.setState({error:!1}),t.setState({viewSelection:e})):t.setState({error:"toggle"})},a=null;if("selection"===this.state.viewSelection){var r=this.props,o=r.voting,l=r.device,c=o.hasOwnProperty("translations")&&o.translations.hasOwnProperty("name")?o.translations.name:o.name;a=y.a.createElement("div",{className:"max-w-100 flex-1-1-a d-flex flex-direction-col"+(l.orientation===l.orientations.portrait?" w-100 ":"")},y.a.createElement("p",{className:"headline-1 p-spacer flex-0-1-a d-flex align-items-center justify-content-center"},c),y.a.createElement(Gr,{orientation:this.props.device.orientation,mappingFn:function(e,t){var n=this,i=null,a="landscape"===this.props.device.orientation?t>0?"m-l-2rem":"":"m-t-2rem",r=e.hasOwnProperty("translations")&&e.translations.hasOwnProperty("name")?e.translations.name:e.name;return i=null!==e.image?y.a.createElement(Ri,{model:"voteOption",id:e.id,fallback:e.image,attribute:"image"}):y.a.createElement("div",{className:"border-white img-cover-container"},y.a.createElement("img",{src:"/images/modules/feedback/feedback_blank.jpg"})),y.a.createElement("div",{className:(null!==i?" has-image ":"")+a+" default-list-item",onClick:function(){return n._selectFn(e)},key:e.id},y.a.createElement("div",{className:"default-list-item-container min-h-60"},y.a.createElement("div",{className:"default-list-item-image"}," ",i," "),y.a.createElement("div",{className:"default-list-item-text w-100"},y.a.createElement("p",{className:"headline-2 d-flex align-items-center justify-content-center flex-1-1-a w-100 t-a-c f-w-bold darkGrey"},r))))}.bind(this),items:n,getRowImage:this._getRowImage,onSelect:function(t){e._selectFn(t.id)}}))}else"result"===this.state.viewSelection&&(a=y.a.createElement(Do,{voting:this.props.voting}));var s=null;if(t.state.error){var u=null;"toggle"===t.state.error&&(u=y.a.createElement("p",{className:"error f-w-bold headline-2"},t.props.translation.translation.translate("gui_label_voting_error_empty_toggle"))),"voted"===t.state.error&&(u=y.a.createElement("p",{className:"error f-w-bold headline-2"},t.props.translation.translation.translate("gui_label_voting_error_voted"))),"success"===t.state.error&&(u=y.a.createElement("p",{className:"success f-w-bold headline-2"},t.props.translation.translation.translate("gui_label_voting_success_voted")));var f=y.a.createElement("div",{className:"footer-content"+(this.props.device.isMobile?" p-1rem ":" p-2rem ")},y.a.createElement("button",{onClick:function(){t.setState({error:!1})}},this.props.translation.translation.translate("gui_label_settings_close")));s=y.a.createElement(jn,{layout:"Overlay leave-headline onTop",message:u,footer:f,openModal:!0})}return y.a.createElement("div",{className:"max-w-100 vote-detail-container h-100 flex-1-1-a d-flex flex-column flex-nowrap"},a,s,y.a.createElement("div",{className:"flex-0-0-a d-flex flex-row flex-nowrap bottom-bar"},y.a.createElement("div",{className:"flex-0-0-50 m-1rem btn-wrapper"},y.a.createElement("p",{onClick:function(){i("selection")},className:"white t-a-c headline-2 bolder p-1rem uppercase vote-detail-selection "+("selection"===t.state.viewSelection?"background-darkGrey":"background-defaultGrey")},t.props.translation.translation.translate("gui_label_voting_bottombar_selection"))),y.a.createElement("div",{className:"flex-0-0-50 m-1rem btn-wrapper"},y.a.createElement("p",{onClick:function(){i("result")},className:"white t-a-c headline-2 bolder p-1rem uppercase vote-detail-result "+("result"===t.state.viewSelection?"background-darkGrey":"background-defaultGrey")},t.props.translation.translation.translate("gui_label_voting_bottombar_result")))))}}]),n}(y.a.Component),Fo=Object(w.d)(Object(_.b)((function(e){var t=null;void 0!==G.get("voteOption").collection&&G.get("voteOption").collection.find.length>0&&(t=G.get("voteOption").collection);var n=null;if(void 0!==G.get("outlet").collection&&G.get("outlet").collection.find().length>0){var i=G.get("outlet").collection;void 0!==e.config.config&&null!==e.config.config.outlet&&"null"!==e.config.config.outlet&&(n=i.findOne({id:{$eq:parseInt(e.config.config.outlet)}}))}return{voteOptionCollection:t,translation:e.translation,votes:e.vote,device:e.deviceConfig,outlet:n,sent:e.vote.sent}}),(function(e){return{onSubmit:function(t){e(Tt.vote.voteSubmit(t)),e(Tt.usageTracking.trackEvent(L.USAGE_TRACKING_ACTIVITY_TYPES.SAVE_VOTING))},onErrorVoted:function(t){e(Tt.lightbox.lightboxContentChanged(t)),e(Tt.lightbox.lightboxVisibilityChanged(!0))},onHideLightbox:function(){e(Tt.lightbox.lightboxVisibilityChanged(!1)),e(Tt.lightbox.lightboxContentChanged(null))},redirectToRoute:function(e){this.history.push(e)}}}))(Lo));function Po(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Bo=function(e){Dt()(n,e);var t=Po(n);function n(e){return P()(this,n),t.call(this,e)}return j()(n,[{key:"_successFn",value:function(e){this.props.onSent(e)}},{key:"_failFn",value:function(){console.warn("vote sent failed",arguments)}},{key:"_sentVote",value:function(e){var t=this,n={request:"vote",token:L.PROXY_TOKEN,data:{voteOption:t.props.votes.submitted[e],date:t._getFormattedDate(new Date)}};t._doRequest(n,(function(n){t._successFn(e,n)}),(function(n){t._failFn(e,n)}))}},{key:"_checkVotes",value:function(){var e=this,t=[];"object"===A()(e.props.votes.submitted)&&Object.keys(e.props.votes.submitted).forEach((function(n){if(void 0!==e.props.votes.sent){var i=!1;e.props.votes.sent.forEach((function(e){parseInt(e)===parseInt(n)&&(i=!0)})),i||t.push(parseInt(n))}})),t.forEach((function(t){e._sentVote(t)}))}},{key:"render",value:function(){return null!==this.props.votes&&this._checkVotes(),null}},{key:"_getFormattedDate",value:function(e){return e.getUTCFullYear()+"-"+n._formatDatePart(e.getUTCMonth()+1)+"-"+n._formatDatePart(e.getUTCDate())+"T"+n._formatDatePart(e.getUTCHours())+":"+n._formatDatePart(e.getUTCMinutes())+":"+n._formatDatePart(e.getUTCSeconds())}}],[{key:"_formatDatePart",value:function(e){return 1===(e=String(e)).length&&(e="0"+e),e}}]),n}(sn),jo=Object(w.d)(Object(_.b)((function(e){var t=null;return void 0!==e.vote&&(t=e.vote),{votes:t}}),(function(e){return{onSent:function(t){e(Tt.vote.voteSent(t))}}}))(Bo));function qo(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Go=function(e){Dt()(n,e);var t=qo(n);function n(e){return P()(this,n),t.call(this,e)}return j()(n,[{key:"_selectFn",value:function(e){this.props.goToDetail(e)}},{key:"render",value:function(){var e=this,t=y.a.createElement(Io,{selectFn:function(t){e._selectFn(t)}});if(null!==this.props.votingCollection&&null!==this.props.votingSelection){var n=this.props.votingCollection.findOne({id:{$eq:parseInt(this.props.votingSelection)}});null!==n&&(t=y.a.createElement(Fo,{voting:n}))}return y.a.createElement("div",{className:"vote-container h-100 d-flex align-items-center flex-row"},y.a.createElement(jo,null),t)}}]),n}(y.a.Component),Uo=Object(w.d)(Object(_.b)((function(e,t){var n=t.match,i=null;void 0!==G.get("vote").collection&&G.get("vote").collection.find().length>0&&(i=G.get("vote").collection);var a=null,r=n.params;return r.hasOwnProperty("voting")&&(a=r.voting),{votingSelection:a,votingCollection:i,translation:e.translation}}),(function(){return{goToDetail:function(e){this.history.push("/Vote/"+e)}}}))(Go));function Wo(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Vo=function(e){Dt()(n,e);var t=Wo(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).model="name",i}return j()(n,[{key:"_getValue",value:function(){void 0!==this.searchBox&&""===this.searchBox.value&&void 0!==this.props.filter&&void 0!==this.props.filter.name?this.searchBox.value=this.props.filter.name:void 0!==this.searchBox&&""!==this.searchBox.value&&void 0===this.props.filter.name&&(this.searchBox.value="")}},{key:"_checkSubmit",value:function(e){13===e.charCode&&this._search()}},{key:"_search",value:function(){var e=this.searchBox.value;this.props.onFilterSelect({name:e})}},{key:"_hasActiveFilterElements",value:function(){var e=this;if(0===Object.keys(e.props.filter).length)return!1;for(var t in e.props.filter){if("name"===t&&e.props.filter[t].length>0)return!0;if("name"!==t&&0!=e.props.filter[t])return!0}return!1}},{key:"componentDidMount",value:function(){this._getValue()}},{key:"componentDidUpdate",value:function(){this._getValue()}},{key:"_resetFilterFn",value:function(e){this.searchBox.value="",this.props.onFilterReset()}},{key:"render",value:function(){var e=this,t=null;null!==e.props.device.mobile&&e._hasActiveFilterElements()&&(t=y.a.createElement("i",{className:"fa h-100 d-flex align-items-center fa-times",onClick:e._resetFilterFn.bind(this),"aria-hidden":"true"}));var n=this.props,i=n.device,a=n.translation,r=n.className,o=i.resolution.width>=1600?"headline-2 min-w-27rem ":"text",l=i.resolution.width>=1600?"p-spacer":"p-1rem";return y.a.createElement("div",{className:(i.resolution.width<=1200?"flex-0-1-a overflow-h ":" ")+"m-l-auto border-radius h-100 background-white align-self-end recipe-filter-bar-search-box "+r},y.a.createElement("input",{type:"text",onKeyPress:e._checkSubmit.bind(this),placeholder:a.translation.translate("gui_label_recipe_text_input_placeholder"),ref:function(t){e.searchBox=t},className:(i.resolution.width<=1200?" flex-1-1-a ":" flex-0-1-a ")+" f-w-bold overflow-h border-radius p-l-spacer recipe-filter-bar-search-box-input "+o}),y.a.createElement("i",{className:(i.resolution.width>=1600?"fa-2x ":" ")+" fa darkGrey border-left-white h-100 d-flex align-items-center fa-search "+l,onClick:e._search.bind(this),"aria-hidden":"true"}),t)}}]),n}(y.a.Component),zo=Object(w.d)(Object(_.b)((function(e){return{filter:void 0!==e.recipe.filter?e.recipe.filter:{},translation:e.translation,device:e.deviceConfig}}),(function(e){return{onFilterSelect:function(t){e(Tt.recipe.recipeFilterChanged(t))},onFilterReset:function(){e(Tt.recipe.recipeFilterReset({}))}}}))(Vo));function Ho(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var $o=function(e){Dt()(n,e);var t=Ho(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).model="",i.state={sortOrder:null,selection:0,data:[]},i}return j()(n,[{key:"_checkSelection",value:function(){void 0!==this.props.filter[this.model]?this.state.selection!==this.props.filter[this.model]&&this.setState({selection:this.props.filter[this.model]}):0!==this.state.selection&&this.setState({selection:0})}},{key:"_onSelect",value:function(e){var t=e.target.value;0===t&&(t=null),null!==t?(t=parseInt(t))!==this.state.selection&&(this.setState({selection:t}),this.props.onFilterSelect(ce()({},this.model,t))):this.props.onFilterSelect(ce()({},this.model,null))}},{key:"_filterFn",value:function(){return{}}},{key:"_sortFn",value:function(){return 0}},{key:"_checkCollection",value:function(){if(void 0===this.props.collection||null===this.props.collection)return null;var e=this.props.collection.chain().find(this._filterFn).sort(this._sortFn).data();JSON.stringify(e)!==JSON.stringify(this.state.data)&&this.setState({data:e})}},{key:"_checkLastSelection",value:function(){var e=localStorage.getItem(this.model);null!==e&&(this.setState({selection:e}),this.props.onFilterSelect(ce()({},this.model,e)))}},{key:"componentDidMount",value:function(){this._checkSelection(),this._checkCollection(),this._checkLastSelection()}},{key:"componentWillMount",value:function(){this._checkSelection()}},{key:"componentDidUpdate",value:function(){this._checkSelection(),this._checkCollection(),this._checkCollection()}},{key:"render",value:function(){return null}}]),n}(y.a.Component);function Yo(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Ko=function(e){Dt()(n,e);var t=Yo(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).model="category",i}return j()(n,[{key:"_mapFn",value:function(e){return y.a.createElement("option",{key:e.id,value:e.id},e.name)}},{key:"_sortFn",value:function(e,t){return e.sequencet.sequence?1:e.namet.name?1:0}},{key:"render",value:function(){var e=this,t=this.props,n=t.device,i=t.translation,a=t.className,r=t.selectClassName,o=t.iconClassName,l=n.resolution.width>=1600?"headline-2":"text",c=n.resolution.width>=1600?"p-spacer":"p-1rem",s=this.state.data;return y.a.createElement("div",{className:"recipe-filter-bar-category-filter border-radius background-white "+a},y.a.createElement("i",{className:(n.resolution.width>=1600?"headline-1 ":"headline-2 ")+"fa darkGrey border-right-defaultGrey h-100 d-flex align-items-center fa-align-left pre-select "+o+" "+c,"aria-hidden":"true",title:i.translation.translate("gui_label_recipe_category_select")}),y.a.createElement("select",{className:"f-w-bold "+l+" "+r,value:this.state.selection,onChange:this._onSelect.bind(this)},y.a.createElement("option",{value:0},i.translation.translate("gui_label_recipe_category_select")),s.map((function(t){return e._mapFn(t)}))))}}]),n}($o),Jo=Object(w.d)(Object(_.b)((function(e){var t=void 0!==e.recipe.filter?e.recipe.filter:{},n=null;return void 0!==G.get("recipeCategory").collection&&G.get("recipeCategory").collection.find().length>0&&(n=G.get("recipeCategory").collection),{filter:t,translation:e.translation,device:e.deviceConfig,collection:n}}),(function(e){return{onFilterSelect:function(t){e(Tt.recipe.recipeFilterChanged(t))}}}))(Ko));function Qo(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Xo=function(e){Dt()(n,e);var t=Qo(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).model="difficulty",i}return j()(n,[{key:"_mapFn",value:function(e){return y.a.createElement("option",{key:e.id,value:e.id},this.props.translation.translation.translate(e.name))}},{key:"render",value:function(){var e=this,t=this.props,n=t.device,i=t.translation,a=t.className,r=t.iconClassName,o=t.selectClassName,l=n.resolution.width>=1600?"headline-2":"text",c=n.resolution.width>=1600?"p-spacer":"p-1rem";return y.a.createElement("div",{className:"recipe-filter-bar-difficult-filter border-radius background-white "+a},y.a.createElement("i",{className:(n.resolution.width>=1600?"headline-1 ":"headline-2 ")+" far darkGrey border-right-defaultGrey h-100 d-flex align-items-center fa-hand-paper pre-select "+r+" "+c,"aria-hidden":"true",title:i.translation.translate("gui_label_recipe_difficulty")}),y.a.createElement("select",{className:"f-w-bold "+l+" "+o,value:this.state.selection,onChange:this._onSelect.bind(this)},y.a.createElement("option",{value:0},i.translation.translate("gui_label_recipe_difficulty")),this.state.data.map((function(t){return e._mapFn(t)}))))}}]),n}($o),Zo=Object(w.d)(Object(_.b)((function(e){var t=void 0!==e.recipe.filter?e.recipe.filter:{},n=null;return void 0!==G.get("difficult").collection&&G.get("difficult").collection.find().length>0&&(n=G.get("difficult").collection),{filter:t,collection:n,device:e.deviceConfig,translation:e.translation}}),(function(e){return{onFilterSelect:function(t){e(Tt.recipe.recipeFilterChanged(t))}}}))(Xo));function el(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var tl=function(e){Dt()(n,e);var t=el(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).model="preparationTimeMinutes",i}return j()(n,[{key:"_onSelect",value:function(e){var t=e.target.value;0===t&&(t=null),null!==t?t!==this.state.selection&&(this.setState({selection:t}),this.props.onFilterSelect(ce()({},this.model,t))):this.props.onFilterSelect(ce()({},this.model,null))}},{key:"_mapFn",value:function(e){return y.a.createElement("option",{key:e.id,value:e.id},e.value)}},{key:"render",value:function(){var e=this,t=this.props,n=t.device,i=t.translation,a=t.className,r=t.iconClassName,o=t.selectClassName,l=n.resolution.width>=1600?"headline-2":"text",c=n.resolution.width>=1600?"p-spacer":"p-1rem";return y.a.createElement("div",{className:"recipe-filter-bar-preparationtime-filter border-radius background-white "+a},y.a.createElement("i",{className:"far darkGrey headline-1 border-right-defaultGrey h-100 d-flex align-items-center fa-clock pre-select "+r+" "+c,"aria-hidden":"true",title:i.translation.translate("gui_label_recipe_preparationTime")}),y.a.createElement("select",{className:"f-w-bold "+l+" "+o,value:this.state.selection,onChange:this._onSelect.bind(this)},y.a.createElement("option",{value:0},i.translation.translate("gui_label_recipe_preparationTime")),this.state.data.map((function(t){return e._mapFn(t)}))))}}]),n}($o),nl=Object(w.d)(Object(_.b)((function(e){var t=void 0!==e.recipe.filter?e.recipe.filter:{},n=null;return void 0!==G.get("preparationTimes").collection&&G.get("preparationTimes").collection.find().length>0&&(n=G.get("preparationTimes").collection),{filter:t,collection:n,device:e.deviceConfig,translation:e.translation}}),(function(e){return{onFilterSelect:function(t){e(Tt.recipe.recipeFilterChanged(t))}}}))(tl));function il(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var al=function(e){Dt()(n,e);var t=il(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).model="signal",i}return j()(n,[{key:"_mapFn",value:function(e){return y.a.createElement("option",{key:e.id,value:e.id},e.name)}},{key:"render",value:function(){var e=this,t=this.props,n=t.device,i=t.translation,a=t.className,r=t.iconClassName,o=t.selectClassName,l=n.resolution.width>=1600?"headline-2":"text",c=n.resolution.width>=1600?"p-spacer":"p-1rem";return y.a.createElement("div",{className:"d-flex border-radius recipe-filter-bar-signal-filter background-white "+a},y.a.createElement("span",{className:"d-flex align-items-center flex-direction-row border-right-defaultGrey "+r+" "+c},y.a.createElement("i",{className:l+" fas p-r-025rem lightGrey text align-items-center fa-circle pre-select","aria-hidden":"true",title:i.translation.translate("gui_label_signal")}),y.a.createElement("i",{className:l+" fas p-r-025rem darkGrey text align-items-center fa-circle pre-select","aria-hidden":"true",title:i.translation.translate("gui_label_signal")}),y.a.createElement("i",{className:l+" fas text lightGrey align-items-center fa-circle pre-select","aria-hidden":"true",title:i.translation.translate("gui_label_signal")})),y.a.createElement("select",{className:"f-w-bold "+l+" "+o,value:this.state.selection,onChange:this._onSelect.bind(this)},y.a.createElement("option",{value:0},i.translation.translate("gui_label_menu_meal_detail_tab_signal")),this.state.data.map((function(t){return e._mapFn(t)}))))}}]),n}($o),rl=Object(w.d)(Object(_.b)((function(e){var t=void 0!==e.recipe.filter?e.recipe.filter:{},n=null;return void 0!==G.get("signal").collection&&G.get("signal").collection.find().length>0&&(n=G.get("signal").collection),{filter:t,collection:n,device:e.deviceConfig,translation:e.translation}}),(function(e){return{onFilterSelect:function(t){e(Tt.recipe.recipeFilterChanged(t))}}}))(al));function ol(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var ll=function(e){Dt()(n,e);var t=ol(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={hasCategories:!1,hasDifficult:!1,hasPreparationTime:!1,hasSignal:!1},i}return j()(n,[{key:"_resetFilterFn",value:function(e){this.props.onFilterReset()}},{key:"_hasActiveFilterElements",value:function(){var e=this;if(0===Object.keys(e.props.filter).length)return!1;for(var t in e.props.filter){if("name"===t&&e.props.filter[t].length>0)return!0;if("name"!==t&&0!=e.props.filter[t])return!0}return!1}},{key:"getFilterOptions",value:function(){var e=this.props.recipeCollection.chain().find().data();this.setState({hasCategories:e.filter((function(e){return null!==e.category})).length>0,hasDifficult:e.filter((function(e){return null!==e.difficulty})).length>0,hasPreparationTime:e.filter((function(e){return null!==e.preparationTimeMinutes&&0!==e.preparationTimeMinutes})).length>0,hasSignal:e.filter((function(e){return null!==e.signal&&0!==e.signal})).length>0})}},{key:"componentDidMount",value:function(){this.getFilterOptions()}},{key:"render",value:function(){var e,t=this,n=null,i=this.props.device,a=this.state,r=a.hasCategories,o=a.hasDifficult,l=a.hasPreparationTime,c=a.hasSignal,s=i.resolution.width>=1600?"p-spacer":"p-1rem",u="/Recipe"===this.props.location.pathname||this.props.location.pathname.includes("/RecipeCategory");return e=y.a.createElement("div",{className:"flex-0-0-a border-left-white align-self-end recipe-switch-view-btn-wrapper "+(i.isMobile?" p-l-1rem p-r-1rem ":"p-l-1rem")},y.a.createElement("i",{onClick:function(){u?t.props.redirectToCookBook():t.props.redirectToList()},className:(i.resolution.width>=1600?"fa-2x ":" ")+"border-radius background-white fas fa-heart "+("/RecipeCookBook"===this.props.location.pathname?" text-ci ":" darkGrey ")+s})),this._hasActiveFilterElements()&&!i.isMobile&&(n=y.a.createElement("div",{className:" flex-0-0-a recipe-filter-reset-wrapper "+(i.orientation===i.orientations.portrait?" p-t-1rem p-r-1rem ":"")},y.a.createElement("i",{onClick:function(){t._resetFilterFn()},className:(i.resolution.width>=1600?"fa-2x ":" ")+"border-radius background-white darkGrey fas fa-times-circle "+s+" d-flex h-100 align-items-center justify-content-center "}))),i.isMobile?y.a.createElement("div",{className:"recipe-filter-bar-mobile"},y.a.createElement(zo,null),e):i.orientation===i.orientations.portrait?y.a.createElement("div",{className:"flex-0-0-a w-100 p-1rem background-defaultGrey recipe-filter-bar"},y.a.createElement("div",{className:"d-flex w-100 flex-row flex-nowrap"},y.a.createElement(zo,{className:" w-100 flex-1-1-a"}),e),y.a.createElement("div",{className:"d-flex w-100 w-100 flex-row flex-nowrap"},y.a.createElement("div",{className:"d-flex flex-row flex-1-1-a flex-wrap"},r?y.a.createElement("div",{className:"flex-0-0-50 p-r-1rem p-t-1rem "},y.a.createElement(Jo,{selectClassName:" w-100 ",iconClassName:" justify-content-center f-0-0-8rem ",className:" w-100 "})):null,o?y.a.createElement("div",{className:"flex-0-0-50 p-r-1rem p-t-1rem "},y.a.createElement(Zo,{selectClassName:" w-100 ",iconClassName:" justify-content-center f-0-0-8rem ",className:" w-100 "})):null,l?y.a.createElement("div",{className:"flex-0-0-50 p-r-1rem p-t-1rem "},y.a.createElement(nl,{selectClassName:" w-100 ",iconClassName:" justify-content-center f-0-0-8rem ",className:" w-100 "})):null,c?y.a.createElement("div",{className:"flex-0-0-50 p-r-1rem p-t-1rem "},y.a.createElement(rl,{selectClassName:" w-100 ",iconClassName:" justify-content-center f-0-0-8rem ",className:" h-100 w-100 "})):null),n)):y.a.createElement("div",{className:"flex-0-0-a p-1rem background-defaultGrey recipe-filter-bar"},r?y.a.createElement(Jo,null):null,o?y.a.createElement(Zo,null):null,l?y.a.createElement(nl,null):null,c?y.a.createElement(rl,null):null,n,y.a.createElement(zo,null),e)}}]),n}(y.a.Component),cl=Object(w.d)(Object(_.b)((function(e){var t=void 0!==e.recipe.filter?e.recipe.filter:{},n=[];void 0!==G.get("recipeCategory").collection&&G.get("recipeCategory").collection.find().length>0&&(n=G.get("recipeCategory").collection);var i=null;void 0!==G.get("recipe").collection&&G.get("recipe").collection.find().length>0&&(i=G.get("recipe").collection);var a=null;return void 0!==e.deviceConfig.mobile&&(a=e.deviceConfig),{filter:t,translation:e.translation,recipeCollection:i,recipeCategories:n,device:a}}),(function(e){return{redirectToCookBook:function(){this.history.push("/RecipeCookBook")},redirectToList:function(){this.history.push("/Recipe")},onFilterReset:function(){e(Tt.recipe.recipeFilterReset({}))}}}))(ll));function sl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var ul=n(9);n(9);n(215);var fl=function(e){Dt()(n,e);var t=sl(n);function n(){return P()(this,n),t.apply(this,arguments)}return j()(n,[{key:"_convertRemToPixels",value:function(e){return e*parseFloat(getComputedStyle(document.documentElement).fontSize)}},{key:"_scroll",value:function(e){var t=this,n=ul(this.scrollContainerContent);console.log(n),"landscape"===this.direction?ul(n).animate({scrollLeft:n.scrollLeft()+e},500,(function(){t._checkCurrentInteractions(n)})):ul(n).animate({scrollTop:n.scrollTop()+e},500,(function(){t._checkCurrentInteractions(n)}))}},{key:"_getJumpWidth",value:function(e){var t=0,n=ul(this.scrollContainerContent),i=n.width();if(n.children().length>0){var a=void 0!==n.children(0).children()&&n.children(0).children();if(!1!==a){var r=a[0].scrollWidth;if(t=r*Math.floor(i/r),void 0!==e&&"backwards"===e){var o=r-(i-t);console.log(o),t-=o}}}return console.log(i,0,t),t}},{key:"_checkBindListeners",value:function(){var e=this,t=0,n=ul(this.scrollBackward),i=ul(this.scrollForward),a=ul(this.scrollContainerContent);e._convertRemToPixels(5);if(ul("body").find("img").each((function(t,n){ul(n).on("load",(function(){e._checkContainerScrolling()})),ul(n).on("error",(function(){e._checkContainerScrolling()}))})),!this.scrollListenersAdded&&n.length>0&&i.length>0){var r=this;n.bind("touchstart",(function(){r.isScrolling=!1,r._checkCurrentInteractions(a)})),a.bind("touchstart touchend",(function(){r.isScrolling=!1})),n.bind("touchend",(function(){r._checkCurrentInteractions(a)})),n.click((function(){t=r._getJumpWidth(i.hasClass("disabled")?"backwards":""),r.isScrolling=!0,r._scroll(-t)})),i.click((function(){t=r._getJumpWidth(),r.isScrolling=!0,r._scroll(t)})),ul("img").on("load",(function(){r._checkContainerScrolling()})),ul("img").on("error",(function(){r._checkContainerScrolling()})),this.scrollListenersAdded=!0,r._checkCurrentInteractions(a)}}}]),n}(ci),pl=Object(w.d)(Object(_.b)((function(e){var t=null;return"undefined"!==e.deviceConfig.mobile&&(t=e.deviceConfig.mobile),{device:t}}),(function(){return{}}))(fl));function dl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var hl=function(e){Dt()(n,e);var t=dl(n);function n(){return P()(this,n),t.apply(this,arguments)}return j()(n,[{key:"_getDifficulty",value:function(){return void 0===this.props.recipe.difficulty?null:y.a.createElement("p",{className:"icon text darkGrey recipe-info-bar-information recipe-difficulty"},y.a.createElement("i",{className:"far headline-2 p-h-05rem fa-hand-paper"}),y.a.createElement("span",{className:"d-inline-block"},this.props.translation.translation.translate("gui_label_recipe_difficulty_"+this.props.recipe.difficulty)))}},{key:"_getIngredientsPersonsCount",value:function(){return void 0===this.props.recipe.ingredientsPersonsCount?null:y.a.createElement("p",{className:"icon text darkGrey recipe-info-bar-information t-a-c recipe-ingredients-persons-count"},y.a.createElement("i",{className:"far headline-2 p-h-05rem fa-user"}),y.a.createElement("span",{className:"d-inline-block"},this.props.recipe.ingredientsPersonsCount," P."))}},{key:"_getPreparationTimeMinutes",value:function(){return void 0===this.props.recipe.preparationTimeMinutes?null:y.a.createElement("p",{className:"icon text darkGrey recipe-info-bar-information t-a-r recipe-preparation-time-minutes"},y.a.createElement("i",{className:"far headline-2 p-h-05rem fa-clock"}),y.a.createElement("span",{className:"d-inline-block"},this.props.recipe.preparationTimeMinutes," m"))}},{key:"render",value:function(){return y.a.createElement("div",{className:"recipe-box-info-bar p-h-1rem"},this._getDifficulty(),this._getIngredientsPersonsCount(),this._getPreparationTimeMinutes())}}]),n}(y.a.Component),ml=Object(w.d)(Object(_.b)((function(e){return{translation:e.translation}}),(function(e){return{onBackToList:function(){console.log("RecipeInfoBar onBackToList",this,this.props),void 0!==this.params.context?this.history.push("/"+this.params.context):this.history.push("/Recipe")}}}))(hl));function gl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var vl=function(e){Dt()(n,e);var t=gl(n);function n(){return P()(this,n),t.apply(this,arguments)}return j()(n,[{key:"_onSetFavorite",value:function(){this.props.onSetFavorite(this.props.recipe.id)}},{key:"render",value:function(){var e=-1!==this.props.favorites.indexOf(this.props.recipe.id),t=y.a.createElement("i",{className:"far fa-heart","aria-hidden":"true","data-link":"false"}),n=!0===this.props.isMobile,i=this.props.translation.translation.translate("gui_label_recipe_add_favorite");e&&(t=y.a.createElement("i",{className:"fas fa-heart","aria-hidden":"true","data-link":"false"}),i=this.props.translation.translation.translate("gui_label_recipe_is_favorite"));var a=null;return this.props.isDetailPage&&(a=y.a.createElement("p",{className:"recipe-favorite-title text "},i)),y.a.createElement("div",{onClick:this._onSetFavorite.bind(this),className:(n?"recipe-favorite-mobile-btn ":"recipe-favorite-btn ")+(e?"active-favorite":"")+" noprint"},t,a)}}]),n}(y.a.Component),yl=Object(w.d)(Object(_.b)((function(e){var t=void 0!==e.recipe.favorites?e.recipe.favorites:[];return{favorites:t,favoritesLength:t.length,translation:e.translation}}),(function(e){return{onSetFavorite:function(t){e(Tt.recipe.recipeFavoriteChanged(t))}}}))(vl));function bl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var kl=function(e){Dt()(n,e);var t=bl(n);function n(){return P()(this,n),t.apply(this,arguments)}return j()(n,[{key:"_getImage",value:function(){return void 0===this.props.recipe.image||null===this.props.recipe.image?null:y.a.createElement("div",{className:"recipe-image-wrapper"},y.a.createElement(Ri,{class:"recipe-image",model:"recipe",fallback:this.props.recipe.image,id:this.props.recipe.id,attribute:"image"}))}},{key:"_onSelectRecipe",value:function(e){e.target.getAttribute("data-link")||this.props.onSelectRecipe(this.props.recipe)}},{key:"_getSignal",value:function(){if(void 0===this.props.recipe.signal)return null;var e=G.get("signal").collection.findOne({id:{$eq:this.props.recipe.signal}});return null===e?null:y.a.createElement("div",{className:"recipe-info-bar-information h-2rem recipe-signal d-flex justify-content-end"},y.a.createElement(Ri,{class:"recipe-signal-image",fallback:e.image,model:"signal",id:e.id,attribute:"image"}))}},{key:"render",value:function(){return void 0===this.props.recipe?null:y.a.createElement("div",{onClick:this._onSelectRecipe.bind(this),className:"recipe-box-content h-100"},y.a.createElement(yl,{recipe:this.props.recipe,isDetailPage:!1}),this._getImage(),this._getSignal(),y.a.createElement("div",{className:"recipe-name darkGrey headline-2"},this.props.recipe.name),y.a.createElement(ml,{recipe:this.props.recipe}))}}]),n}(y.a.Component),_l=Object(w.d)(Object(_.b)((function(e){return{translation:e.translation}}),(function(e){return{onSelectRecipe:function(e){console.log("onSelectRecipe",this),null!==this.location.pathname&&"/RecipeCookBook"===this.location.pathname||null!==this.location.pathname&&this.location.pathname.includes("RecipeCategory")?this.history.push("/Recipe/"+e.id+this.location.pathname):this.history.push("/Recipe/"+e.id)}}}))(kl));function El(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var wl=function(e){Dt()(n,e);var t=El(n);function n(e){return P()(this,n),t.call(this,e)}return j()(n,[{key:"_getCurrentFilter",value:function(e){var t=this,n=[];if(void 0!==this.props.filter&&(Object.keys(this.props.filter).forEach((function(e){var i=t.props.filter[e];if("name"!==e)if("preparationTimeMinutes"===e){if(i.length>0){var a=i.split("_");if(2===a.length){var r=ce()({},e,ce()({},a[0],parseInt(a[1])));n.push(r)}}}else if(0!==parseInt(i)){var o=ce()({},e,{$eq:parseInt(t.props.filter[e])});n.push(o)}})),void 0!==e)){var i={category:{$eq:e.id}};n.push(i)}return{$and:n}}},{key:"_recipesSearchFulltextFn",value:function(e){if(0===e.length)return e;var t=[];if(void 0!==this.props.filter&&void 0!==this.props.filter.name&&""!=this.props.filter.name){var n=this.props.filter.name.toLowerCase();return e.forEach((function(e){var i=!1;-1!==e.name.toLowerCase().indexOf(n)&&(i=!0),e.recipeHasIngredient.length>0&&e.recipeHasIngredient.forEach((function(e){-1!==e.name.toLowerCase().indexOf(n)&&(i=!0)})),e.recipeHasPreparation.length>0&&e.recipeHasPreparation.forEach((function(e){-1!==e.description.toLowerCase().indexOf(n)&&(i=!0)})),!0===i&&t.push(e)})),t}return e}},{key:"_recipeSortFn",value:function(){return function(e,t){return e.name.toLowerCase().localeCompare(t.name.toLowerCase())}}},{key:"_categorySortFn",value:function(e,t){return e.sequencet.sequence?1:e.namet.name?1:0}},{key:"_recipeMapping",value:function(e){return y.a.createElement("div",{className:"recipe-box",key:e.id},y.a.createElement(_l,{recipe:e}))}},{key:"_showCategoryOnlyFn",value:function(e){this.props.redirectToRecipeCategory(e)}},{key:"_categoryMapping",value:function(e){var t=this;if(void 0!==this.props.filter.category&&0!==parseInt(this.props.filter.category)&&e.id!==parseInt(this.props.filter.category))return null;this.category=e;var n=this.props.recipeCollection.chain().find(t._getCurrentFilter(e)).sort(t._recipeSortFn()).data();if(0===(n=t._recipesSearchFulltextFn(n)).length)return null;var i=y.a.createElement("div",{className:"recipe-wrapper"},n.map((function(e){return t._recipeMapping(e)})));return y.a.createElement("div",{key:e.id,className:"recipe-category"},y.a.createElement("div",{className:"recipe-category-name-wrapper"},y.a.createElement("p",{className:"headline uppercase darkGrey headline-2"},e.name),y.a.createElement("span",{className:"recipe-category-showonly-btn",onClick:function(){t._showCategoryOnlyFn(e.id)}},t.props.translation.translation.translate("gui_label_recipe_show_all"))),y.a.createElement(pl,{direction:"landscape",content:i}))}},{key:"_categoryListMapping",value:function(e){var t=this,n=this.props.recipeCollection.chain().find(t._getCurrentFilter(e)).data();return 0===(n=t._recipesSearchFulltextFn(n)).length?null:y.a.createElement("div",{key:e.id,className:"recipe-category-box",onClick:function(){t._showCategoryOnlyFn(e.id)}},y.a.createElement("div",{className:"recipe-category-image-wrapper"},y.a.createElement(Ri,{className:"recipe-category-image",model:"recipeCategory",fallback:e.image,id:e.id,attribute:"image"})),y.a.createElement("div",{className:"recipe-category-label"},y.a.createElement("div",{className:"recipe-category-name"},e.name),y.a.createElement("div",{className:"recipe-category-counter"},"(",n.length,")")))}},{key:"_loadLocalStorage",value:function(){this.props.onLoadLocalStorage()}},{key:"componentWillMount",value:function(){this._loadLocalStorage()}},{key:"_getFavorites",value:function(){var e=this.props.recipeCollection.chain().find({$and:[this._getCurrentFilter(),{id:{$in:this.props.favorites}}]}).sort(this._recipeSortFn().bind(this)).data();return 0===(e=this._recipesSearchFulltextFn(e)).length?[]:e}},{key:"render",value:function(){var e=this;if(null===this.props.recipeCollection||null===this.props.recipeCategoryCollection)return null;var t=this.props,n=t.device,i=t.location,a=t.translation,r=t.category;if(n.isMobile){var o=null;if("/Recipe"===i.pathname||i.pathname.includes("/RecipeCategory")?o=y.a.createElement("div",{className:"recipe-switch-view-btn-wrapper"},y.a.createElement("button",{onClick:function(){e.props.redirectToCookBook()},className:"recipe-switch-view-btn text switch-cook-book"},a.translation.translate("gui_label_recipe_switch_cook_book"))):"/RecipeCookBook"===i.pathname&&(o=y.a.createElement("div",{className:"recipe-switch-view-btn-wrapper"},y.a.createElement("button",{onClick:function(){e.props.redirectToList()},className:"recipe-switch-view-btn text switch-list"},a.translation.translate("gui_label_recipe_switch_list")))),"/RecipeCookBook"===i.pathname){var l=this._getFavorites();return y.a.createElement("div",{className:"recipe-list recipe-wrapper mobile"},l.map((function(t){return e._recipeMapping(t)})),y.a.createElement("div",{className:"recipe-bottom-bar-mobile"},o))}if(null!==this.props.category){var c=this.props.recipeCategoryCollection.findOne({id:{$eq:parseInt(this.props.category)}});if(null===c)return;var s=this.props.recipeCollection.chain().find({$and:[this._getCurrentFilter(c)]}).sort(this._recipeSortFn().bind(this)).data();return s=this._recipesSearchFulltextFn(s),y.a.createElement("div",{className:"recipe-list"},y.a.createElement("div",{className:"recipe-category-name-wrapper"},y.a.createElement("p",{className:"headline uppercase darkGrey headline-2"},c.name),y.a.createElement("span",{className:"close",onClick:function(){e.props.redirectToList()}},y.a.createElement("i",{className:"fa fa-times","aria-hidden":"true"})," ")),y.a.createElement("div",{className:"recipe-wrapper mobile"},s.map((function(t){return e._recipeMapping(t)}))),y.a.createElement("div",{className:"recipe-bottom-bar-mobile"},o))}return y.a.createElement("div",{className:"recipe-category-list-wrapper"},y.a.createElement("div",{className:"recipe-category-list"},this.props.recipeCategoryCollection.chain().sort(this._categorySortFn.bind(this)).data().map((function(t){return e._categoryListMapping(t)}))),y.a.createElement("div",{className:"recipe-bottom-bar-mobile"},o))}if("/RecipeCookBook"===i.pathname){var u=this._getFavorites();return y.a.createElement("div",{className:"recipe-list recipe-wrapper cook-book"},u.map((function(t){return e._recipeMapping(t)})))}if(null!==r){var f=this.props.recipeCategoryCollection.findOne({id:{$eq:parseInt(r)}});if(null===f)return null;var p=this.props.recipeCollection.chain().find({$and:[this._getCurrentFilter(),{category:{$eq:f.id}}]}).sort(this._recipeSortFn().bind(this)).data();return p=this._recipesSearchFulltextFn(p),y.a.createElement("div",{className:"recipe-list"},y.a.createElement("div",{className:"recipe-category-name-wrapper"},y.a.createElement("p",{className:"headline uppercase darkGrey headline-2"},f.name),y.a.createElement("span",{className:"close",onClick:function(){e.props.redirectToList()}},y.a.createElement("i",{className:"fa fa-times","aria-hidden":"true"}))),y.a.createElement("div",{className:"recipe-wrapper cook-book"},p.map((function(t){return e._recipeMapping(t)}))))}return y.a.createElement("div",{className:(null===this.props.device?" p-r-2rem ":" ")+" recipe-list "},this.props.recipeCategoryCollection.chain().sort(this._categorySortFn.bind(this)).data().map((function(t){return e._categoryMapping(t)})))}}]),n}(y.a.Component),Cl=Object(w.d)(Object(_.b)((function(e,t){var n=t.match.params,i=void 0!==e.recipe.filter?e.recipe.filter:{},a=void 0!==e.recipe.favorites?e.recipe.favorites:[],r=null,o=null,l=void 0!==n.category?n.category:null;void 0!==G.get("recipe").collection&&G.get("recipe").collection.find().length>0&&(r=G.get("recipe").collection),void 0!==G.get("recipeCategory").collection&&G.get("recipeCategory").collection.find().length>0&&(o=G.get("recipeCategory").collection);var c=null;return void 0!==e.deviceConfig&&(c=e.deviceConfig),{filter:i,favorites:a,favoritesLength:a.length,recipeCollection:r,recipeCategoryCollection:o,translation:e.translation,device:c,category:l}}),(function(e){return{onLoadLocalStorage:function(){e(Tt.recipe.recipeLoadLocalStorage())},redirectToCookBook:function(){this.history.push("/RecipeCookBook")},redirectToList:function(){this.history.push("/Recipe")},redirectToRecipeCategory:function(e){this.history.push("/RecipeCategory/"+e)}}}))(wl));function Nl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Sl=function(e){Dt()(n,e);var t=Nl(n);function n(){return P()(this,n),t.apply(this,arguments)}return j()(n,[{key:"_getBackBtn",value:function(){return y.a.createElement("p",{onClick:this._onBackToList.bind(this),className:"close noprint"},y.a.createElement("i",{className:"fa fa-times","aria-hidden":"true"}))}},{key:"_onBackToList",value:function(){this.props.onBackToList()}},{key:"_getTitle",value:function(){return y.a.createElement("p",{className:"headline-2"},this.props.recipe.translations.name)}},{key:"render",value:function(){return y.a.createElement("div",{className:"recipe-detail-topbar"},this._getBackBtn(),this._getTitle())}}]),n}(y.a.Component),Ol=Object(w.d)(Object(_.b)((function(e){return{translation:e.translation}}),(function(e){return{onBackToList:function(){this.history.goBack()}}}))(Sl));function Rl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Il=n(9),Tl=function(e){Dt()(n,e);var t=Rl(n);function n(){return P()(this,n),t.apply(this,arguments)}return j()(n,[{key:"_getSubject",value:function(){var e=this.props.translation.translation.translate("gui_label_recipe_mail_subject");return e=e.replace("{{recipeName}}",this.props.recipe.name),encodeURIComponent(e)}},{key:"_getBody",value:function(){var e=this.props.translation.translation.translate("gui_label_recipe_mail_text"),t=this.props.recipe.name.toUpperCase()+"\n\n";t+=this._getLink();var n=e.replace("{{recipeContent}}",t);return encodeURIComponent(n)}},{key:"_getAccessCodeByLocation",value:function(){var e=this.props,t=e.accessRestrictionCollection,n=e.mobileSettings,i=e.config;if(null===n||!n.useZugangscode)return null;var a=t.findOne({location:{$eq:parseInt(i.config.location)}});return null!==a?a.access_restriction:null}},{key:"_getLink",value:function(){var e=window.location.origin,t=this.props.config.config,n=t.location,i=t.outlet,a=t.language;return e+="/"+this._getAccessCodeByLocation(),e+="/"+n,e+="/"+i,e+="/"+a,e+=window.location.pathname.toLowerCase()}},{key:"_onSpread",value:function(){Il(location).attr("href","mailto:?subject="+this._getSubject()+"&body="+this._getBody())}},{key:"render",value:function(){if(L.STANDALONE)return null;var e=-1!==this.props.favorites.indexOf(this.props.recipe.id),t=y.a.createElement("i",{className:"far fa-envelope","aria-hidden":"true"}),n=this.props.translation.translation.translate("gui_label_recipe_spread"),i=null;return this.props.showTitle&&(i=y.a.createElement("p",{className:"recipe-spread-title recipe-difficulty text "},n)),y.a.createElement("div",{onClick:this._onSpread.bind(this),className:(e?"active":"")+" recipe-spread-btn noprint"},t,i)}}]),n}(y.a.Component),xl=Object(w.d)(Object(_.b)((function(e){var t=void 0!==e.recipe.favorites?e.recipe.favorites:[],n=null,i=null;return void 0!==G.get("mobilesettings").collection&&G.get("mobilesettings").collection.data.length>0&&(n=G.get("mobilesettings").collection.findOne()),void 0!==G.store&&null!==G.store.storage.getCollection("accessRestrictionLocation")&&(i=G.get("accessRestrictionLocation").collection),{favorites:t,mobileSettings:n,accessRestrictionCollection:i,favoritesLength:t.length,translation:e.translation,config:e.config}}),(function(e){return{onSetFavorite:function(t){e(Tt.recipe.recipeFavoriteChanged(t))}}}))(Tl)),Dl=n(227),Ml=n.n(Dl);function Al(){Al=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},a="function"==typeof Symbol?Symbol:{},r=a.iterator||"@@iterator",o=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function c(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,n){return e[t]=n}}function s(e,t,n,a){var r=t&&t.prototype instanceof p?t:p,o=Object.create(r.prototype),l=new N(a||[]);return i(o,"_invoke",{value:_(e,n,l)}),o}function u(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=s;var f={};function p(){}function d(){}function h(){}var m={};c(m,r,(function(){return this}));var g=Object.getPrototypeOf,v=g&&g(g(S([])));v&&v!==t&&n.call(v,r)&&(m=v);var y=h.prototype=p.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){function a(i,r,o,l){var c=u(e[i],e,r);if("throw"!==c.type){var s=c.arg,f=s.value;return f&&"object"==A()(f)&&n.call(f,"__await")?t.resolve(f.__await).then((function(e){a("next",e,o,l)}),(function(e){a("throw",e,o,l)})):t.resolve(f).then((function(e){s.value=e,o(s)}),(function(e){return a("throw",e,o,l)}))}l(c.arg)}var r;i(this,"_invoke",{value:function(e,n){function i(){return new t((function(t,i){a(e,n,t,i)}))}return r=r?r.then(i,i):i()}})}function _(e,t,n){var i="suspendedStart";return function(a,r){if("executing"===i)throw new Error("Generator is already running");if("completed"===i){if("throw"===a)throw r;return O()}for(n.method=a,n.arg=r;;){var o=n.delegate;if(o){var l=E(o,n);if(l){if(l===f)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===i)throw i="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);i="executing";var c=u(e,t,n);if("normal"===c.type){if(i=n.done?"completed":"suspendedYield",c.arg===f)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(i="completed",n.method="throw",n.arg=c.arg)}}}function E(e,t){var n=t.method,i=e.iterator[n];if(void 0===i)return t.delegate=null,"throw"===n&&e.iterator.return&&(t.method="return",t.arg=void 0,E(e,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),f;var a=u(i,e.iterator,t.arg);if("throw"===a.type)return t.method="throw",t.arg=a.arg,t.delegate=null,f;var r=a.arg;return r?r.done?(t[e.resultName]=r.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,f):r:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function w(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function N(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(w,this),this.reset(!0)}function S(e){if(e){var t=e[r];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var i=-1,a=function t(){for(;++i=0;--a){var r=this.tryEntries[a],o=r.completion;if("root"===r.tryLoc)return i("end");if(r.tryLoc<=this.prev){var l=n.call(r,"catchLoc"),c=n.call(r,"finallyLoc");if(l&&c){if(this.prev=0;--i){var a=this.tryEntries[i];if(a.tryLoc<=this.prev&&n.call(a,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),C(n),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var i=n.completion;if("throw"===i.type){var a=i.arg;C(n)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:S(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),f}},e}function Ll(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Fl=function(e){Dt()(i,e);var t,n=Ll(i);function i(e){var t;return P()(this,i),(t=n.call(this,e)).state={progress:!1},t}return j()(i,[{key:"_onDownloadPdf",value:(t=Ml()(Al().mark((function e(){var t,n=this;return Al().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.setState({progress:!0}),t={token:L.PROXY_TOKEN,model:"recipePrint",personsCount:this.props.personCount,languagetype:this.props.language,recipe:this.props.recipe.id},e.next=4,this._doRequest(t,(function(e){if(n.props.trackPDFEvent(),e.content.data){var t="data:application/pdf;base64,"+e.content.data,i=document.createElement("a"),a=e.content.fileInfo.fileName;i.href=t,i.download=a,i.click(),n.setState({progress:!1})}}),(function(e){console.log(e)}));case 4:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"render",value:function(){if(!this.props.recipe.hasOwnProperty("printable")||!0!==this.props.recipe.printable)return null;var e=!0===this.props.isMobile,t=this.props.translation.translation.translate("gui_label_recipe_pdf_download"),n=this.state.progress,i=null;return this.props.showTitle&&(i=y.a.createElement("p",{className:"recipe-spread-title recipe-difficulty text "},t)),y.a.createElement("div",{onClick:n?function(){}:this._onDownloadPdf.bind(this),className:(n?" loading ":"")+(e?"recipe-pdf-mobile-btn":"recipe-pdf-btn ")+" noprint"},n?y.a.createElement("i",{className:"fal fa-file-download","aria-hidden":"true","data-link":"false"}):y.a.createElement("i",{className:"fal fa-file-pdf","aria-hidden":"true","data-link":"false"}),i)}}]),i}(sn),Pl=Object(w.d)(Object(_.b)((function(e){return{language:e.config.config.language,translation:e.translation}}),(function(e){return{trackPDFEvent:function(){e(Tt.usageTracking.trackEvent(L.USAGE_TRACKING_ACTIVITY_TYPES.COCKING_RECIPE_DOWNLOAD))}}}))(Fl));function Bl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var jl=function(e){Dt()(n,e);var t=Bl(n);function n(){return P()(this,n),t.apply(this,arguments)}return j()(n,[{key:"_preparationMapping",value:function(e){return y.a.createElement("div",{key:e.sequence,className:"recipe-preparation-step"},y.a.createElement("p",{className:"recipe-preparation-step-sequence"},e.sequence),y.a.createElement("p",{className:"text-small recipe-preparation-step-description"},e.description))}},{key:"render",value:function(){var e=this,t=this.props.recipe.recipeHasPreparation,n=null,i=null,a=null;return null===this.props.device&&(n=y.a.createElement(Pl,{personCount:this.props.personCount,recipe:this.props.recipe,showTitle:!0}),i=y.a.createElement(yl,{recipe:this.props.recipe,isDetailPage:!0}),a=y.a.createElement(xl,{recipe:this.props.recipe,showTitle:!0})),y.a.createElement("div",{className:"recipe-preparation"},y.a.createElement("div",{className:"recipe-preparation-headline"},y.a.createElement("p",{className:"recipe-preparation-title"},this.props.translation.translation.translate("gui_label_recipe_preparation")),i,n,a),t.map((function(t){return e._preparationMapping(t)})))}}]),n}(y.a.Component),ql=Object(w.d)(Object(_.b)((function(e){var t=e.recipe,n=t.hasOwnProperty("favorites")?t.favorites:[],i=null;return A()(e.deviceConfig.hasOwnProperty("mobile"))&&(i=e.deviceConfig.mobile),{translation:e.translation,favorites:n,favoritesLength:n.length,device:i}}),(function(){return{}}))(jl));function Gl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Ul=function(e){Dt()(n,e);var t=Gl(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={persons:0,ingredients:{}},i}return j()(n,[{key:"_calcIntredientValues",value:function(){var e=this,t=this.props.recipe.ingredientsPersonsCount,n=this.state.persons;if(0===n&&0!==t)return this.setState({persons:t}),void this.props.onPersonCountChange(t);var i={};e.props.recipe.recipeHasIngredient.forEach((function(e){var a=0;a=t>0?e.valueDecimal2/t:e.valueDecimal2,i[e.id]=(a*n).toFixed(2)})),JSON.stringify(i)!==JSON.stringify(e.state.ingredients)&&e.setState({ingredients:i})}},{key:"componentDidUpdate",value:function(){this._calcIntredientValues()}},{key:"componentDidMount",value:function(){this._calcIntredientValues()}},{key:"_ingredientMapping",value:function(e){return y.a.createElement("div",{key:e.id,className:"recipe-ingredient"},this.state.ingredients[e.id],"  ",e.unit,"  ",e.name)}},{key:"_setPersons",value:function(e){var t=this.state.persons+e;t>0&&(this.props.onPersonCountChange(t),this.setState({persons:t}))}},{key:"_removePerson",value:function(){this._setPersons(-1)}},{key:"_addPerson",value:function(){this._setPersons(1)}},{key:"render",value:function(){var e=this,t=this.props.recipe.recipeHasIngredient;return y.a.createElement("div",{className:"recipe-ingredients"},y.a.createElement("div",{className:"recipe-ingredient-person"},y.a.createElement("span",{onClick:this._removePerson.bind(this),className:"recipe-ingredient-person-interaction recipe-ingredient-person-remove"},"-"),y.a.createElement("span",{className:"recipe-ingredient-person-title"},this.state.persons," ",this.props.translation.translation.translate("gui_label_recipe_ingredient_person")),y.a.createElement("span",{onClick:this._addPerson.bind(this),className:"recipe-ingredient-person-interaction recipe-ingredient-person-add"},"+")),t.map((function(t){return e._ingredientMapping(t)})))}}]),n}(y.a.Component),Wl=Object(w.d)(Object(_.b)((function(e){return{translation:e.translation}}),(function(e){return{onBackToList:function(){console.log("RecipeIngredient onBackToList",this,this.props),void 0!==this.params.context?this.history.push("/"+this.params.context):this.history.push("/Recipe")}}}))(Ul));function Vl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var zl=function(e){Dt()(n,e);var t=Vl(n);function n(e){return P()(this,n),t.call(this,e)}return j()(n,[{key:"_recipeNutritionalInformationMapping",value:function(e){return void 0!==this.props.recipe.nutritionalInformation[e]&&null!==this.props.recipe.nutritionalInformation[e]?y.a.createElement("p",{key:this.props.recipe.id+"-"+e,className:"nutritional-information nutritional-information-"+e},y.a.createElement("span",{className:"name"},this.props.translation.translation.translate("gui_label_"+e),":"),y.a.createElement("span",{className:"value"},this.props.labelMapping[e].replace("{value}",this.props.recipe.nutritionalInformation[e]))):null}},{key:"render",value:function(){var e=this,t=this,n=t._getFieldsByMasterdata();if(null===this.props.recipe||0===Object.keys(this.props.recipe.nutritionalInformation).length)return null;var i=!1;return Object.keys(this.props.recipe.nutritionalInformation).map((function(t){null!==e.props.recipe.nutritionalInformation[t]&&(i=!0)})),i?y.a.createElement("div",{className:"recipe-nutritional-information-wrapper"},y.a.createElement("p",{className:"recipe-nutritional-information-title"},this.props.translation.translation.translate("gui_label_nutritional_information")),n.map((function(e){return t._recipeNutritionalInformationMapping(e)}))):null}},{key:"getMasterData",value:function(){if(null!==this.props.outlet&&void 0!==G.get("dietPlanMasterData").collection){var e=G.get("dietPlanMasterData").collection.findOne({outlet:{$eq:this.props.outlet.id}});return null===e&&(e=G.get("dietPlanMasterData").collection.findOne({outlet:{$eq:0}})),e}return null}},{key:"_getFieldsByMasterdata",value:function(){var e=this.getMasterData();return null!==e&&""!==e.nutritionalInformationViewType?1===e.nutritionalInformationViewType?[]:2===e.nutritionalInformationViewType?["energy","energyCalories"]:3===e.nutritionalInformationViewType?["energy","energyCalories","fat","fattyAcids","sugar","salt"]:["energy","energyCalories","fat","fattyAcids","carbohydrates","sugar","protein","salt"]:["energy","energyCalories","fat","fattyAcids","carbohydrates","sugar","protein","salt"]}}],[{key:"defaultProps",get:function(){return{labelMapping:{protein:"{value} g",fat:"{value} g",fattyAcids:"{value} g",energyCalories:"{value} kcal",energy:"{value} kJ",carbohydrates:"{value} g",salt:"{value} g",sugar:"{value} g"}}}}]),n}(y.a.Component),Hl=Object(w.d)(Object(_.b)((function(e){var t=null;void 0!==e.config.config&&null!==e.config.config.outlet&&"null"!==e.config.config.outlet&&(void 0!==G.get("outlet").collection&&(t=G.get("outlet").collection.findOne({id:{$eq:parseInt(e.config.config.outlet)}})));return{outlet:t,translation:e.translation}}),(function(e){return{onBackToList:function(){console.log("RecipeNutritionalInformation onBackToList",this,this.props),void 0!==this.params.context?this.history.push("/"+this.params.context):this.history.push("/Recipe")}}}))(zl));function $l(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Yl=function(e){Dt()(n,e);var t=$l(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={persons:0},i}return j()(n,[{key:"personCountChange",value:function(e){this.setState({persons:e})}},{key:"render",value:function(){var e=this,t=null,n=null,i=null;return null!==e.props.device?(t=y.a.createElement("div",{className:"recipe-bottom-bar-mobile noprint"},y.a.createElement(xl,{recipe:this.props.recipe,showTitle:!0}),y.a.createElement(Pl,{personCount:this.state.persons,recipe:this.props.recipe,showTitle:!0,isMobile:!0}),y.a.createElement("div",{className:"recipe-switch-view-btn-wrapper"},y.a.createElement("button",{onClick:function(){e.props.redirectToCookBook()},className:"recipe-switch-view-btn text switch-cook-book"},e.props.translation.translation.translate("gui_label_recipe_switch_cook_book")))),n=y.a.createElement(yl,{recipe:this.props.recipe,isDetailPage:!1,isMobile:!0})):i=null,y.a.createElement("div",{className:"recipe-detail-view-wrapper"},y.a.createElement("div",{className:"recipe-detail-view"+(null!==e.props.device?" mobile":"")},y.a.createElement(Ol,{recipe:this.props.recipe}),y.a.createElement("div",{className:" recipe-detail-content "+(null!==this.props.device?this.props.device:"")},y.a.createElement("div",{className:"recipe-detail-right"},n,i,y.a.createElement(Ri,{class:"recipe-image",model:"recipe",fallback:this.props.recipe.image,id:this.props.recipe.id,attribute:"image"}),y.a.createElement(Wl,{onPersonCountChange:this.personCountChange.bind(this),recipe:this.props.recipe}),y.a.createElement(Hl,{recipe:this.props.recipe})),y.a.createElement("div",{className:"recipe-detail-left"},y.a.createElement(ml,{recipe:this.props.recipe}),y.a.createElement(ql,{personCount:this.state.persons,recipe:this.props.recipe})))),t)}}]),n}(y.a.Component),Kl=Object(w.d)(Object(_.b)((function(e){var t=[];void 0!==G.get("recipe").collection&&G.get("recipe").collection.find().length>0&&(t=G.get("recipe").collection);var n=null;return void 0!==e.deviceConfig.mobile&&(n=e.deviceConfig.mobile),{recipeCollection:t,device:n,translation:e.translation}}),(function(){return{redirectToCookBook:function(){this.history.push("/RecipeCookBook")}}}))(Yl));function Jl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Ql=function(e){Dt()(n,e);var t=Jl(n);function n(e){return P()(this,n),t.call(this,e)}return j()(n,[{key:"_getRecipeList",value:function(){return y.a.createElement(Cl,null)}},{key:"render",value:function(){var e=null;if(null!==this.props.recipe){var t=y.a.createElement(Kl,{recipe:this.props.recipe});e=y.a.createElement("div",{className:"flex-1-1-a recipe-detail-main-content"},y.a.createElement(si,{content:t,addClass:null===this.props.device||this.props.device.isMobile?"p-0":"p-2rem"}))}else if(null!==this.props.recipeCategoriesCollection){var n=this._getRecipeList();e=y.a.createElement("div",{className:"flex-1-1-a recipe-list-main-content"},y.a.createElement(cl,{state:this.state,changeFn:function(e){}}),y.a.createElement(si,{content:n,addClass:"main-scroll-container "+(null===this.props.device||this.props.device.isMobile?"p-0":"p-2rem")}))}return y.a.createElement("section",{className:"recipe-container d-flex flex-column recipe-list-container"+(null!==this.props.device&&this.props.device.isMobile?" overflow-a h-100 w-100 ":"")},y.a.createElement("div",{className:"content-container d-flex flex-column flex-1-1-a recipe-split-content h-100 w-100"},e))}}]),n}(y.a.Component),Xl=Object(w.d)(Object(_.b)((function(e,t){var n=null,i=null,a=null,r=t.match.params;void 0!==G.get("recipe").collection&&G.get("recipe").collection.find().length>0&&(a=G.get("recipe").collection,r.hasOwnProperty("recipe")&&(n=a.findOne({id:{$eq:parseInt(r.recipe)}}))),void 0!==G.get("recipeCategory").collection&&G.get("recipeCategory").collection.find().length>0&&(i=G.get("recipeCategory").collection);var o=null;return void 0!==e.deviceConfig&&(o=e.deviceConfig),{device:o,recipe:n,recipeCollection:a,recipeCategoriesCollection:i}}),(function(e){return{}}))(Ql));function Zl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}window.jQuery=window.$=n(9),n(495);var ec=function(e){Dt()(n,e);var t=Zl(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).tickerRef=y.a.createRef(),i.state={inited:!1,content:null,activeKey:1},i}return j()(n,[{key:"_checkTickerContent",value:function(){var e=this,t=this.props.ticker,n=this.state.content;null===t||null===t.content||""===t.content.trim()?null!==this.state.content&&this.setState({content:null,inited:!1}):t.content!==n&&this.setState({content:t.content,inited:!1},(function(){e._checkMarquee()}))}},{key:"_checkMarquee",value:function(){if(!(null===this.tickerRef||this.tickerRef.hasOwnProperty("current")&&null===this.tickerRef.current)){var e=this.tickerRef;!this.state.inited&&e&&jQuery(e).width()>0&&(jQuery(e).marquee({duration:this.props.deviceIsPhone?5e3:2e4,gap:50,delayBeforeStart:0,direction:"left",duplicated:!1}),this.setState({inited:!0}))}}},{key:"componentDidMount",value:function(){this._checkTickerContent()}},{key:"componentDidUpdate",value:function(e,t){this._checkTickerContent()}},{key:"render",value:function(){var e=this,t=this;return void 0!==t.props.showMobile&&!this.props.deviceIsPhone&&t.props.showMobile||void 0!==t.props.showDesktop&&this.props.deviceIsPhone&&t.props.showDesktop||null===L.TICKER_KEY||null===this.state.content||null===this.props.ticker?null:y.a.createElement("div",{ref:function(t){return e.tickerRef=t},className:"tickerContainer border-bottom-defaultGrey p-0.5rem line-height-extra-large"},y.a.createElement("p",{className:"ticker-content "},this.state.content))}}]),n}(y.a.Component),tc=Object(w.d)(Object(_.b)((function(e){var t=null,n=null,i=null;void 0!==G.get("textblock").collection&&(t=G.get("textblock").collection),void 0!==e.config.config&&void 0!==G.get("language").collection&&(n=G.get("language").collection.findOne({id:{$eq:parseInt(e.config.config.language)}})),void 0!==e.config.config&&void 0!==G.get("outlet").collection&&(i=G.get("outlet").collection.findOne({id:{$eq:parseInt(e.config.config.outlet)}}));var a=null;null!==t&&null!==i&&null!==n&&(a=t.findOne({$and:[{key:{$eq:L.TICKER_KEY+"_"+n.code}},{outlet:{$eq:i.id}}]}));var r=null;return void 0!==e.deviceConfig.mobile&&(r=e.deviceConfig.mobile),{ticker:a,deviceIsPhone:r===Dn.phone}}),(function(){return{}}))(ec));function nc(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var ic=function(e){Dt()(n,e);var t=nc(n);function n(e){return P()(this,n),t.call(this,e)}return j()(n,[{key:"render",value:function(){return null===this.props.outlet||null===this.props.deviceConfig?null:void 0!==this.props.outlet.logo&&null!==this.props.outlet.logo&&""!==this.props.outlet.logo?y.a.createElement("div",{className:"outlet-logo img-contain-container"+(this.props.deviceConfig.isMobile?"":" max-h-12rem ")},y.a.createElement(Ri,{model:"outlet",id:this.props.outlet.id,attribute:"logo"})):null}}]),n}(y.a.Component),ac=Object(w.d)(Object(_.b)((function(e){var t=null;void 0!==e.config.config&&void 0!==G.get("outlet").collection&&(t=G.get("outlet").collection.findOne({id:{$eq:parseInt(e.config.config.outlet)}}));var n=null;return void 0!==e.deviceConfig.mobile&&(n=e.deviceConfig),{deviceConfig:n,outlet:t}}),(function(){return{}}))(ic));function rc(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var oc=function(e){Dt()(n,e);var t=rc(n);function n(e){return P()(this,n),t.call(this,e)}return j()(n,[{key:"render",value:function(){return null===this.props.location?null:void 0!==this.props.location.logo&&null!==this.props.location.logo&&""!==this.props.location.logo?y.a.createElement("img",{className:"outlet-logo",src:this.props.location.logo}):null}}]),n}(y.a.Component),lc=Object(w.d)(Object(_.b)((function(e){var t=null;return void 0!==e.config.config&&void 0!==G.get("location").collection&&(t=G.get("location").collection.findOne({id:{$eq:parseInt(e.config.config.location)}})),{location:t}}),(function(){return{}}))(oc)),cc=n(262);function sc(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var uc=n(497),fc=function(e){Dt()(n,e);var t=sc(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={text:null},i}return j()(n,[{key:"render",value:function(){var e=this.props,t=e.modul,n=e.className,i=null,a="./"+t+".svg";if(uc.keys().indexOf(a)>-1)i=uc("./"+t+".svg");else{if("settings"===t)return y.a.createElement("div",{className:" d-flex align-items-center justify-content-center "+n},y.a.createElement("i",{className:"fa fal fa-2x fa-cog"}));i=uc("./weblink.svg")}return y.a.createElement(cc.a,ai()({},this.props,{src:i}))}}]),n}(y.a.Component),pc=(Object(w.d)(Object(_.b)((function(){return{}}),(function(){return{}}))(fc)),{getModulsOfLocation:function(e){var t=[];if(void 0===G.get(G.data.location.name))return t;if(void 0===G.get(G.data.moduls.name)||null===e)return t;var n=G.get(G.data.moduls.name).collection;return null===location||(t=n.chain().find({$or:[{location:{$eq:parseInt(e)}},{location:{$eq:0}}]}).sort((function(e,t){return e.orderingt.ordering?1:0})).data(),!0===L.STANDALONE&&t.length>0&&t.push({id:999,name:"settings",image:"./images/icons/settings.svg"})),t},getModuleTitle:function(e,t){var n=null,i="gui_label_"+e.name;e.hasOwnProperty("translations")&&null!==e.translations.name?n=e.translations.name:i!==t.translate(i)&&(n=t.translate(i));var a=null;if(void 0!==L.MODULS_TO_WEBVIEW_MAPPING[e.id]&&null===e.translations.name){var r=G.get("weblink").collection.chain().find({webLinkTypeID:{$eq:L.MODULS_TO_WEBVIEW_MAPPING[e.id]}}).data();if(!(r.length>0))return null;a=L.MODULS_TO_WEBVIEW_MAPPING[e.id],r.length>1?(i="gui_label_weblink_"+a,n=t.translate(i)):n=r[0].name}return n},getModuleTrackingEvent:function(e,t){if("webView"!==e){var n="START_"+e.toUpperCase();return void 0!==L.USAGE_TRACKING_ACTIVITY_TYPES[n]?L.USAGE_TRACKING_ACTIVITY_TYPES[n]:null}var i=null;if(Object.keys(L.MODULS_TO_WEBVIEW_MAPPING).forEach((function(e){L.MODULS_TO_WEBVIEW_MAPPING[e]===t&&(i=e)})),null!==i){var a="START_"+i.toUpperCase();if(void 0!==L.USAGE_TRACKING_ACTIVITY_TYPES[a])return L.USAGE_TRACKING_ACTIVITY_TYPES[a]}return L.USAGE_TRACKING_ACTIVITY_TYPES.START_WEBVIEW},getFirstModule:function(e){var t=pc.getModulsOfLocation(e);return t.sort((function(e,t){return e.ordering-t.ordering})),t.length>0?t.splice(0,1)[0]:null},getModulByRoute:function(e,t){var n=null;if(null===t)return n;var i=e.split("/"),a=!!i[1]&&i[1];return pc.getModulsOfLocation(t).map((function(e){a&&e.name===a.toLowerCase()||i.length>2&&"WebView"===a&&parseInt(i[2])===L.MODULS_TO_WEBVIEW_MAPPING[e.id]?n=e:47!==e.id||"RecipeCookBook"!==a&&"RecipeCategory"!==a?(43===e.id&&"imprint"===a||43===e.id&&"privacySettings"===a)&&(n=e):n=e})),n}});function dc(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var hc=function(e){Dt()(n,e);var t=dc(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).timerStart=0,i.activationTime=L.STANDALONE_ACTIVATION_TIME,i.state={moduls:[],timerIsSet:!1,settingsActive:!1},i}return j()(n,[{key:"_trackModul",value:function(e,t){var n=pc.getModuleTrackingEvent(e,t);null!==n&&this.props.onTrackModul(n)}},{key:"_close",value:function(){this.props.toggleMenu({menuVisible:!1})}},{key:"onClick",value:function(e,t){if(!0===L.STANDALONE&&"settings"===e)return!!this.state.settingsActive&&void this.props.redirectToModul("InitialConfig",null);this._trackModul(e,t),this.props.device.isMobile&&this._close(),this.props.redirectToModul(e,t)}},{key:"onMouseDown",value:function(){var e=this;console.log("start und so",this.timer),this.timerStart=(new Date).getTime(),this.timer=setTimeout((function(){e.setState({settingsActive:!0}),clearTimeout(e.timer),e.onClick("settings")}),this.activationTime)}},{key:"onMouseUp",value:function(){(this.timer&&clearTimeout(this.timer),this.timer=!1,0!==this.timerStart)&&((new Date).getTime()-this.timerStart>this.activationTime&&this.setState({settingsActive:!0}))}},{key:"rowMapping",value:function(e){var t=this,n=this,i=this.props.location.pathname,a=pc.getModuleTitle(e,this.props.translations),r="";(i.toLowerCase()==="/"+e.name.toLowerCase()||"/menu"===e.name.toLowerCase()&&-1!==i.toLowerCase().indexOf("/meal"))&&(r+=" active ");var o=e.name.trim(),l=null;if(void 0!==L.MODULS_TO_WEBVIEW_MAPPING[e.id]){if(o="webView",!(G.get("weblink").collection.chain().find({webLinkTypeID:{$eq:L.MODULS_TO_WEBVIEW_MAPPING[e.id]}}).data().length>0))return null;l=L.MODULS_TO_WEBVIEW_MAPPING[e.id],this.props.params.hasOwnProperty("type")&&parseInt(this.props.params.type)===L.MODULS_TO_WEBVIEW_MAPPING[e.id]&&(r+=" active ")}var c=y.a.createElement("div",{className:"modulTitle headline-2"},a);return!0===L.STANDALONE&&"settings"===e.name&&(c=y.a.createElement("div",{onMouseDown:this.onMouseDown.bind(this),onMouseUp:this.onMouseUp.bind(this),onTouchStart:this.onMouseDown.bind(this),onTouchEnd:this.onMouseUp.bind(this),className:"modulTitle headline-2"},a)),this.props.device.isMobile?y.a.createElement("div",{key:e.id,className:"d-flex flex-direction-row navigation-item "+r,onMouseDown:this.onMouseDown.bind(this),onMouseUp:this.onMouseUp.bind(this),onTouchStart:this.onMouseDown.bind(this),onTouchEnd:this.onMouseUp.bind(this),onClick:function(){t.onClick(o,l)}},y.a.createElement(fc,{className:"navigation-row-svg-wrapper svgWrapper p-1rem",modul:e.name}),y.a.createElement("p",{className:"flex-1-1-a headline-2 uppercase d-flex align-items-center"},pc.getModuleTitle(e,this.props.translations))):y.a.createElement("div",{className:r,key:e.id},y.a.createElement(Za.a.Item,{onClick:function(){n.onClick(o,l)},className:"svgWrapper"+r},y.a.createElement(fc,{modul:e.name}),c))}},{key:"getDropdownHeaderTitle",value:function(e){var t=pc.getModulByRoute(this.props.location.pathname,this.props.locationId);return null===t?null:y.a.createElement("div",{className:"svgWrapper activeModule"},y.a.createElement(fc,{modul:t.name}),y.a.createElement("div",{className:"modulTitle headline-2"},pc.getModuleTitle(t,this.props.translations)),e.length>1?y.a.createElement("div",{className:"chevron"},y.a.createElement("i",{className:"fas fa-angle-down fa-2x","aria-hidden":"true"})):null)}},{key:"verifyCurrentPath",value:function(){var e=this.props,t=e.location,n=e.locationId;null===pc.getModulByRoute(t.pathname,n)&&"/"!==t.pathname&&"/Update"!==t.pathname&&this.props.redirectToRoot()}},{key:"componentDidMount",value:function(){var e=this.props.moduls;e.length>0&&this.setState({moduls:e})}},{key:"componentDidUpdate",value:function(){var e=this.state.moduls,t=this.props.moduls;t.length!==e.length?this.setState({moduls:t}):e.length>0&&this.verifyCurrentPath()}},{key:"render",value:function(){var e=this,t=this.state.moduls;return 0===t.length?null:this.props.device.isMobile?y.a.createElement("div",{className:"collapse modul-navigation dropdown-mobile m-0 p-0 show "+(this.props.show?"in":"")},y.a.createElement("div",{className:"nav navbar-nav"},t.map((function(t){return e.rowMapping(t)})))):t.length<=1?y.a.createElement("div",{className:"collapse flex m-0 p-0 show "},y.a.createElement("div",{className:"modul-navigation"},y.a.createElement("div",{className:"dropdown"},this.getDropdownHeaderTitle(t)))):y.a.createElement("div",{className:"modul-navigation"},y.a.createElement(Za.a,null,y.a.createElement(Za.a.Toggle,{variant:"success",id:"dd-header"},this.getDropdownHeaderTitle(t)),y.a.createElement(Za.a.Menu,null,t.map((function(t){return e.rowMapping(t)})))))}}]),n}(y.a.Component),mc=Object(w.d)(Object(_.b)((function(e,t){var n=t.match,i=null,a=null;void 0!==e.config.config&&void 0!==e.config.config.location&&(a=e.config.config.location);var r=pc.getModulsOfLocation(a),o=null;return void 0!==e.deviceConfig.mobile&&(o=e.deviceConfig),void 0!==e.translation.translation&&(i=e.translation.translation),{moduls:r,locationId:a,translations:i,device:o,params:n.params,config:e.config.config,process:G.get("moduls").process}}),(function(e){return{redirectToModul:function(t,n){var i=t[0].toUpperCase()+t.slice(1),a=null!==n?"/"+n:"";"InitialConfig"===t&&e(Tt.config.configChanged({forceSettings:!0})),this.history.push("/"+i+a)},redirectToRoot:function(){this.history.push("/")},onTrackModul:function(t){e(Tt.usageTracking.trackEvent(t))}}}))(hc)),gc=new(n(232).Pushwoosh),vc={isInited:!1,onReady:!1,queue:[],message:!1,init:function(){!1===vc.isInited&&(vc.isInited=!0,gc.push(["init",{logLevel:"error",applicationCode:L.PUSH_APPLICATION_CODE,safariWebsitePushID:L.PUSH_SAFARIWEBSITE_ID,defaultNotificationTitle:"Pushwoosh",defaultNotificationImage:"/images/logo.png",autoSubscribe:!1,subscribeWidget:{enable:!1,position:"bottomLeft",bgColor:"#12AE7E",bellColor:"white",bellStrokeColor:"#08754f",bellButtonBorder:"1px solid #379676",shadow:"0px 0px 6px rgba(0, 0, 0, 0.75)",size:"48px",indent:"20px",zIndex:"999999",tooltipText:{successSubscribe:"Hast Du super gemacht!",needSubscribe:"Verpasse keinen Nachrichten Deines Lieblingsrestaurants mehr. Wir wollen Dich glücklich machen.",blockSubscribe:"Schaue, wie Du wieder Benachrichtigungen erhalten kannst",alreadySubscribed:"Bist doch schon registriert."}}}]),gc.push(["onReady",function(e){vc.onReady=!0,vc.executeQueue()}]),gc.push(["onSubscribe",function(e){console.log("Event: onSubscribe triggered"),vc.locationId&&vc.registerDevice4Location(vc.locationId)}]),gc.push(["onNotificationClick",function(e,t){console.log("Event: onNotificationClick triggered",t),vc.message=t}]),gc.push(["onNotificationClose",function(e,t){console.log("Event: onNotificationClose triggered",t)}]),gc.push(["onShowNotificationPermissionDialog",function(e){console.log("EVENT: onShowNotificationPermissionDialog")}]),gc.push(["onShowSubscriptionWidget",function(e){console.log("EVENT: onShowSubscriptionWidget")}]),gc.push(["onHideSubscriptionWidget",function(e){console.log("EVENT: onHideSubscriptionWidget")}]),gc.push(["onPermissionPrompt",function(e){console.log("Event: onPermissionPrompt triggered")}]),gc.push(["onPermissionDenied",function(e){console.log("Event: onPermissionDenied triggered")}]),gc.push(["onPermissionGranted",function(e){console.log("Event: onPermissionGranted triggered")}]),gc.push(["onPushDelivery",function(e,t){console.log("Event: onPushDelivery triggered",t)}]))},executeQueue:function(){if(vc.queue.length>0){var e=vc.queue.shift();"object"===A()(e)&&e.hasOwnProperty("action")&&"function"==typeof e.action&&e.action(),vc.queue.length>0&&vc.executeQueue()}},isAvailable:function(){var e=!1,t=G.get("mobilesettings").collection.findOne();return null===t||L.STANDALONE||(e=t.pushActive),e&&(e=gc.isAvailableNotifications()),e},isSubscribed:function(){var e=new Promise((function(e,t){gc.isSubscribed().then((function(t){return console.log("isSubscribed",t),e(t)}),(function(e){return t(e)}))}));return e},checkForReSubscribe:function(e){vc.queue.push({action:function(){vc.subscribe(e)}})},subscribe:function(e){vc.locationId=e,!0===vc.onReady?vc.isSubscribed().then((function(e){!1===e&&gc.subscribe().then((function(e){}),(function(e){console.log(e)}))}),(function(e){console.log("not subscribed",e)})):vc.queue.push({action:function(){vc.subscribe(e)}})},unsubscribe:function(){gc.unsubscribe()},registerDevice4Location:function(e){vc.isSubscribed().then((function(){gc.push((function(t){t.setTags({standort:e}).then((function(e){})).catch((function(e){console.error("setTags error:",e)}))}))}))},getTags:function(){return new Promise((function(e,t){vc.isSubscribed().then((function(n){n&&gc.push((function(n){n.getTags().then((function(t){console.log("Erfolg Tags:",t),e(t)}),(function(e){console.log("Fehler Tags:",e),t(e)}))}))}),(function(){return e(!1)}))}))}};function yc(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var bc=function(e){Dt()(n,e);var t=yc(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={entity:G.get("location"),location:null},i}return j()(n,[{key:"_onSelection",value:function(e){var t=this;t.state.entity.process||e&&parseInt(e)!==parseInt(t.state.location)&&(e!==parseInt(t.state.location)&&t.setState({location:parseInt(e)}),e!==parseInt(t.props.location)&&t.props.onLocationSelect(parseInt(e)),vc.isAvailable()&&t.props.config.privacyPushAllowed&&vc.isSubscribed().then((function(t){t&&vc.registerDevice4Location(e)})),t.props.onReload())}},{key:"_checkState",value:function(){null!==this.props.location&&parseInt(this.props.location)!==parseInt(this.state.location)&&this.setState({location:parseInt(this.props.location)})}},{key:"componentDidMount",value:function(){this._checkState()}},{key:"componentDidUpdate",value:function(){this._checkState()}},{key:"render",value:function(){var e=this;if(null===e.props.locationCollection)return null;var t=void 0!==e.props.type?e.props.type:"select",n=this.props.addClass?this.props.addClass:"";return n+=this.props.error?" error ":"",y.a.createElement(pi,{errorState:this.props.error,type:t,addClass:n,model:"location",filter:function(){if(void 0===G.get("location").collection)return[];if(!1===L.STANDALONE&&Zn.isAccessRestrictionRequired()){if(null!==e.props.accessRestrictionLocationCollection){var t=e.props.accessRestrictionLocationCollection;return G.get("location").collection.chain().find().where((function(e){var n=t.findOne({location:{$eq:e.id}}),i=e.isPublic;return null!==n||i})).sort((function(e,t){return e.orderingt.ordering?1:0})).data()}return[]}return G.get("location").collection.chain().find().sort((function(e,t){return e.orderingt.ordering?1:0})).data()},label:this.props.translation.translation.translate("gui_label_location"),defaultValue:e.state.location,selectFn:function(t){e._onSelection(t)}})}}]),n}(y.a.Component),kc=Object(w.d)(Object(_.b)((function(e){var t=null,n=null,i=null,a=null,r=null;return void 0!==G.get("location").collection&&G.get("location").collection.data.length>0&&(t=G.get("location").collection),void 0!==G.get("mobilesettings").collection&&G.get("mobilesettings").collection.data.length>0&&(n=G.get("mobilesettings").collection),void 0!==G.get("accessRestrictionLocation").collection&&(i=G.get("accessRestrictionLocation").collection),void 0!==e.config.config&&(void 0!==e.config.config.location&&"null"!==e.config.config.location&&null!==e.config.config.location&&(a=parseInt(e.config.config.location)),r=e.config.config.inited),{locationCollection:t,accessRestrictionLocationCollection:i,mobileSettingsCollection:n,location:a,inited:r,translation:e.translation,config:e.config.config}}),(function(e){return{onLocationSelect:function(t){e(Tt.config.configChanged({location:t,outlet:null,menu:null,menus:[],weeks:[]})),e(Tt.usageTracking.trackEvent(L.USAGE_TRACKING_ACTIVITY_TYPES.SET_LOCATION))},onReload:function(){e(Tt.store.storeReload({force:!0,locationRequired:!0}))}}}))(bc));function _c(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Ec=function(e){Dt()(n,e);var t=_c(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).modelName="outlet",i.entity=G.get(G.data.outlet.name),i.state={outlet:null},i}return j()(n,[{key:"_checkCurrentOutlet",value:function(){var e=this;if(null===e.props.config||null===e.props.languageCollection)return null;(null!==e.props.config.outlet&&"null"!==e.props.config.outlet||null!==e.state.outlet)&&parseInt(e.props.config.outlet)!==parseInt(e.state.outlet)&&(null===e.props.config.outlet?e.setState({outlet:e.props.config.outlet}):e.setState({outlet:parseInt(e.props.config.outlet)}))}},{key:"componentDidMount",value:function(){this._checkCurrentOutlet()}},{key:"componentDidUpdate",value:function(){this._checkCurrentOutlet()}},{key:"_onSelection",value:function(e){if(e&&parseInt(e)!==parseInt(this.props.config.outlet)){this.props.onOutletSelect(e);var t=!1;this.props.location.pathname.includes("/Meal/")&&(t="/Menu"),!1!==t&&this.props.redirectToRoute(t)}}},{key:"whereFn",value:function(e){return!(L.STANDALONE&&(L.STANDALONE_FILTER_OUTLETS||!L.STANDALONE)&&"/InitialConfig"!==this.props.location.pathname)||-1!==this.props.config.availableOutlets.indexOf(e.id)}},{key:"render",value:function(){var e=this,t=this,n=void 0!==t.props.type?t.props.type:"select",i=this.props.addClass?this.props.addClass:"";return i+=this.props.error?" error ":"",y.a.createElement(pi,{errorState:this.props.error,type:n,addClass:i,model:t.modelName,defaultValue:t.state.outlet,label:this.props.hideLabel?null:t.props.translation,selectFn:function(t){e._onSelection(t)},filter:function(e){return e.chain().find({location:{$eq:parseInt(t.props.config.location)}}).where((function(e){return t.whereFn(e)})).sort((function(e,t){return e.orderingt.ordering?1:0})).data()}})}}]),n}(y.a.Component),wc=void 0,Cc=Object(w.d)(Object(_.b)((function(e){var t=!1;void 0!==e.config.config&&null!==e.config.config.location&&void 0!==G.get("location").collection&&G.get("location").collection.find({id:{$eq:e.config.config.location}}).length>0&&(t=e.config.config.location);var n=!1;G.get("outlet").process||!t||!e.config.config.inited||"false"===e.config.config.inited||null!==e.config.config.outlet&&"null"!==e.config.config.outlet||(n=!0);var i=G.get("outlet").process,a=null;return void 0!==e.translation.translation&&null!==e.translation.translation.translate("gui_label_outlet")&&(a=e.translation.translation.translate("gui_label_outlet")),{config:e.config.hasOwnProperty("config")?e.config.config:null,error:n,process:i,translation:a}}),(function(e){return{onOutletSelect:function(t){e(Tt.config.configChanged({outlet:t,menu:null,weeks:[],days:[]})),e(Tt.filter.filterChanged({category:null,cw:null,day:new Date}))},redirectToRoute:function(e){wc.history.push(e)}}}))(Ec));function Nc(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Sc=function(e){Dt()(n,e);var t=Nc(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={language:null},i}return j()(n,[{key:"onSelection",value:function(e){e&&parseInt(e)!==parseInt(this.props.languageConfig)&&this.props.onLanguageSelect(parseInt(e))}},{key:"_checkLanguage",value:function(){null===this.props.languageCollection&&null!==this.props.languageConfig?this.props.onLanguageSelect(this.state.language):null!==this.props.languageConfig&&parseInt(this.props.languageConfig)!==parseInt(this.state.language)&&this.setState({language:parseInt(this.props.languageConfig)})}},{key:"componentDidMount",value:function(){this._checkLanguage()}},{key:"componentDidUpdate",value:function(){this._checkLanguage()}},{key:"render",value:function(){var e=this,t=this.props,n=t.type,i=t.flags,a=t.addClass,r=t.languageCollection,o=this.state.language,l=void 0!==n?n:"select",c=a||"";return c+=this.props.error?" error ":"",i?y.a.createElement("div",{className:"h-100 align-items-center flex-0-1-a d-flex p-v-2rem p-h-spacer flex-row flex-nowrap"},r.find().map((function(t){return y.a.createElement("div",{key:"language"+t.id,className:"w-7rem pointer m-l-1rem flex-0-1-a img-contain-container"},y.a.createElement("img",{onClick:function(){return e.onSelection(t.id)},className:t.id!==o?"grayscale":"",src:t.image,alt:t.name}))}))):y.a.createElement(pi,{errorState:this.props.error,type:l,addClass:c,model:"language",label:this.props.translation,defaultValue:this.state.language,selectFn:function(t){e.onSelection(t)}})}}]),n}(y.a.Component),Oc=Object(w.d)(Object(_.b)((function(e){var t=null,n=null;void 0!==G.get("language").collection&&G.get("language").collection.find().length>0&&(t=G.get("language").collection),void 0!==e.translation.translation&&null!==e.translation.translation.translate("gui_label_language")&&(n=e.translation.translation.translate("gui_label_language"));var i=null;return void 0!==e.config.config&&void 0!==e.config.config.language&&null!==e.config.config.language&&(i=e.config.config.language),{languageCollection:t,languageConfig:i,translation:n}}),(function(e){return{onLanguageSelect:function(t){e(Tt.config.configChanged({language:t})),e(Tt.store.storeReload({force:!0,locationRequired:!0})),e(Tt.usageTracking.trackEvent(L.USAGE_TRACKING_ACTIVITY_TYPES.CHANGE_LANGUAGE))}}}))(Sc));function Rc(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Ic=function(e){Dt()(n,e);var t=Rc(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={show:!1},i.doSomething=i.doSomething.bind(on()(i)),i.toggleShow=i.toggleShow.bind(on()(i)),i.hide=i.hide.bind(on()(i)),i}return j()(n,[{key:"doSomething",value:function(e){e.preventDefault(),console.log(e.target.innerHTML)}},{key:"toggleShow",value:function(){if(!1!==this.checkConfigComplete()){var e=!1===this.state.show?"open":"";this.setState({show:!this.state.show,showHideSidenav:e})}}},{key:"hide",value:function(e){e&&e.relatedTarget&&e.relatedTarget.click(),this.setState({show:!1})}},{key:"checkConfigComplete",value:function(){var e=this;return void 0!==e.props.config&&null!==e.props.config.location&&null!==e.props.config.language}},{key:"getClickblockerCss",value:function(){return this.checkConfigComplete()?"":"clickblocker"}},{key:"getSettingsTitle",value:function(){var e="Settings",t=!1,n=!1,i=G.get("location").collection,a=G.get("outlet").collection;if(void 0!==i&&void 0!==a){var r=i.findOne({id:{$eq:parseInt(this.props.config.location)}});r&&r.name&&(t=r.name);var o=a.findOne({id:{$eq:parseInt(this.props.config.outlet)}});o&&o.name&&(n=o.name),e=y.a.createElement("div",{className:"settings-title"},y.a.createElement("div",{className:"chevron"},y.a.createElement("i",{className:"fas fa-angle-down fa-2x","aria-hidden":"true"})),y.a.createElement("div",{className:"headline-2 ellipsis"},t),y.a.createElement("div",{className:"headline-2 ellipsis"},n))}return e}},{key:"getContent",value:function(){var e=this,t=this;return L.STANDALONE?y.a.createElement("div",{className:"main-settings-content p-2rem"},y.a.createElement(Cc,null),y.a.createElement("div",{className:"footer-buttons"},y.a.createElement("button",{className:t.checkConfigComplete()?"":"disabled",disabled:!0!==t.checkConfigComplete(),onClick:function(){e.hide()}},t.props.translation.translate("gui_label_settings_close")))):y.a.createElement("div",{className:"main-settings-content p-2rem"},y.a.createElement(kc,{addClass:"m-b-spacer"}),y.a.createElement(Cc,{addClass:"m-b-spacer"}),y.a.createElement(Oc,{addClass:"m-b-spacer"}),y.a.createElement("div",{className:"m-t-spacer footer-buttons"},y.a.createElement("button",{className:t.checkConfigComplete()?"":"disabled",disabled:!0!==t.checkConfigComplete(),onClick:function(){e.hide()}},t.props.translation.translate("gui_label_settings_close"))))}},{key:"render",value:function(){return this.props.device.isMobile?y.a.createElement(y.a.Fragment,null,y.a.createElement("i",{onClick:this.toggleShow,className:"navbar-toggler settings flex-0-0-a fa-2x p-2rem flex-direction-row far fa-cog d-flex align-items-center justify-content-center","aria-hidden":"true"}),y.a.createElement("ul",{role:"menu",className:"dropdown-menu dropdown-mobile show "+(this.state.show?"in":""),"aria-labelledby":"dd-settings"},this.getContent(),y.a.createElement("div",{className:"version"},this.props.translation.translate("gui_label_settings_version")," ",L.VERSION," - ",L.BUILDDATE))):y.a.createElement("div",{className:"main-settings "+this.getClickblockerCss()},y.a.createElement("div",{className:"dropdown "+this.state.showHideSidenav,id:"dd-settings"},y.a.createElement("div",{className:"settingsWrapper"},y.a.createElement("button",{className:"btn btn-primary dropdown-toggle",type:"button",onClick:this.toggleShow},this.getSettingsTitle()),this.state.show&&y.a.createElement("ul",{role:"menu",className:"p-2rem dropdown-menu","aria-labelledby":"dd-settings"},this.getContent(),y.a.createElement("div",{className:"version"},this.props.translation.translate("gui_label_settings_version")," ",L.VERSION," - ",L.BUILDDATE)))))}}]),n}(y.a.Component),Tc=Object(w.d)(Object(_.b)((function(e){var t=null,n=null;return void 0!==e.deviceConfig.mobile&&(t=e.deviceConfig),void 0!==e.translation.translation&&(n=e.translation.translation),{device:t,config:e.config.config,translation:n}}),(function(e){return{setError:function(t){e(Tt.config.setError(t))}}}))(Ic));function xc(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Dc=n(9),Mc=function(e){Dt()(n,e);var t=xc(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).timerStart=0,i.navigation=!1,i.activationTime=15e3,i.state={navigation:!1,settingsActive:!1},i}return j()(n,[{key:"goToSettings",value:function(){if(L.STANDALONE){if(!this.state.settingsActive)return;this.props.redirectToConfig()}else this.props.redirectToSettings()}},{key:"checkModuls",value:function(){var e=G.get("moduls").collection;if(void 0!==e&&e.chain().find().data().length>1)return!0;return!1}},{key:"_getStandardLogo",value:function(){var e=this.props.outletCollection;if(null!==e&&void 0!==this.props.config){var t=e.findOne({id:{$eq:parseInt(this.props.config.outlet)}});return"object"===A()(t)&&null!==t&&(void 0!==t.logo&&" "!==t.logo?y.a.createElement(ac,null):y.a.createElement(lc,null))}}},{key:"componentDidMount",value:function(){var e=this,t=Dc(this.refs.timerBtn);t&&t.bind("touchstart mousedown",(function(){e.timerStart=(new Date).getTime(),e.timer=setInterval((function(){e.setState({settingsActive:!0}),clearInterval(e.timer),e.goToSettings()}),e.activationTime)})).bind("touchend mouseup",(function(){(clearInterval(e.timer),0!==e.timerStart)&&((new Date).getTime()-e.timerStart>e.activationTime&&e.setState({settingsActive:!0}))}))}},{key:"render",value:function(){var e=this,t=null,n=this.props,i=n.device,a=n.settings;return i.isMobile&&(t=y.a.createElement("i",{onClick:function(){e.setState({navigation:!e.state.navigation})},className:"navbar-toggler menu fa-2x p-2rem flex-direction-row far fa-bars d-flex align-items-center justify-content-center","aria-hidden":"true"})),y.a.createElement("header",{className:"topBar noprint p-0 d-flex flex-direction-row flex-wrap f-0-0-a relative"},y.a.createElement("div",{className:"w-100 d-flex flex-direction-row flex-nowrap "},t,i.isMobile?null:y.a.createElement(mc,{show:this.state.navigation}),L.STANDALONE&&a.SHOW_FLAGS_IN_TOOLBAR?y.a.createElement(y.a.Fragment,null,y.a.createElement("div",{className:"middle justify-content-center flex-1-1-a"},y.a.createElement("div",{className:"border-defaultGrey p-1rem "},y.a.createElement(Cc,{addClass:" headline-2 ",hideLabel:!0}))),y.a.createElement(Oc,{flags:!0})):y.a.createElement(y.a.Fragment,null,y.a.createElement("div",{className:"middle justify-content-center flex-1-1-a"},this._getStandardLogo()),y.a.createElement(Tc,null))),i.isMobile?y.a.createElement(mc,{toggleMenu:function(){e.setState({navigation:!e.state.navigation})},show:this.state.navigation}):null)}}]),n}(y.a.Component),Ac=Object(w.d)(Object(_.b)((function(e){var t=null;void 0!==G.get("outlet").collection&&G.get("outlet").collection.find().length>0&&(t=G.get("outlet").collection);var n=null;return void 0!==e.deviceConfig.mobile&&(n=e.deviceConfig),{outletCollection:t,store:e.store.store,settings:e.settings,device:n,config:e.config.config}}),(function(e){return{redirectToConfig:function(){this.history.push("/StandAloneConfig")},redirectToSettings:function(){this.history.push("/Settings")},toggleMenu:function(t){e(Tt.config.configChanged(t))},changeLanguage:function(t){e(Tt.config.configChanged(t)),e(Tt.store.storeReload({force:!0,locationRequired:!0})),e(Tt.usageTracking.trackEvent(L.USAGE_TRACKING_ACTIVITY_TYPES.CHANGE_LANGUAGE))}}}))(Mc));function Lc(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Fc=function(e){Dt()(n,e);var t=Lc(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={showModal:!1,content:null},i}return j()(n,[{key:"goBack",value:function(){this.props.redirectBack()}},{key:"_checkContent",value:function(){var e=this;if(null===this.props.settings.LMIV_KEY||null===this.props.collection)return null;var t=new RegExp("(http|ftp|https)://[a-z0-9-_]+(.[a-z0-9-_]+)+([a-z0-9-.,@?^=%&;:/~+#]*[a-z0-9-@?^=%&;/~+#])?","i"),n=e.props.collection.findOne({$and:[{key:{$eq:this.props.settings.LMIV_KEY}},{outlet:{$eq:parseInt(this.props.config.outlet)}}]});null!==n&&null!==n.content&&""!==n.content.trim()&&t.test(n.content)?n.content!==e.state.content&&e.setState({content:n.content}):null!==this.state.content&&e.setState({content:null})}},{key:"_getModal",value:function(){var e=this,t=this.state,n=t.showModal,i=t.content,a=this.props.translation;if(!n)return null;var r=y.a.createElement("div",{className:"img-contain-container"},y.a.createElement("img",{src:i,alt:""}));return y.a.createElement(Fn.a,{isOpen:!0,onRequestClose:function(){e.setState({showModal:!1})},style:{content:{top:"1rem",left:"1rem",right:"1rem",bottom:"1rem",zIndex:"1000",padding:"0"}},overlayClassName:"Overlay"},y.a.createElement("div",{className:"modal-wrapper lmiv"},y.a.createElement(si,{content:r,hideScrollArrows:!0}),y.a.createElement("div",{className:"footer"},y.a.createElement("div",{className:"footer-content p-spacer"},y.a.createElement("div",{className:"footer-buttons"},y.a.createElement("button",{onClick:function(){e.setState({showModal:!1})}},a.translate("gui_label_settings_close")))))))}},{key:"componentDidMount",value:function(){this._checkContent()}},{key:"componentDidUpdate",value:function(){this._checkContent()}},{key:"render",value:function(){var e=this,t=this.state.content;if(null===t)return null;var n=null;if(null!==this.props.settings.LMIV_BUTTON_KEY){var i=G.get("textblock").collection.findOne({$and:[{key:{$eq:this.props.settings.LMIV_BUTTON_KEY}},{outlet:{$eq:parseInt(this.props.config.outlet)}}]});n=null!==i&&null!==i.content&&""!==i.content.trim()?i.content:this.props.translation.translate("gui_label_menu_lmiv")}else n=this.props.translation.translate("gui_label_menu_lmiv");var a=y.a.createElement(y.a.Fragment,null,y.a.createElement("a",{onClick:function(){L.STANDALONE?e.setState({showModal:!0}):window.open(t,"_blank")},className:"t-a-r text-small p-1rem white"},n),y.a.createElement("span",{className:"spacer"},"•")),r=this._getModal();return y.a.createElement("section",{className:"noprint pointer lmiv-container flex-0-0-a j-s-f-e m-l-auto"},r,a)}}]),n}(y.a.Component),Pc=Object(w.d)(Object(_.b)((function(e){var t=null;return void 0!==G.get("textblock").collection&&(t=G.get("textblock").collection),{collection:t,settings:e.settings,translation:e.translation.translation,config:e.config.config}}),(function(e){return{redirectBack:function(){this.router.goBack()}}}))(Fc));function Bc(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var jc=function(e){Dt()(n,e);var t=Bc(n);function n(e){return P()(this,n),t.call(this,e)}return j()(n,[{key:"goImprint",value:function(e){this.props.redirectToImprint(e)}},{key:"goPrivacySettings",value:function(){this.props.redirectToPrivacySettings()}},{key:"_getPolicyLinks",value:function(){var e=this;if(null===L.DATA_POLICY_LINK&&null===L.IMPRINT_LINK)return null;var t=null;null!==L.DATA_POLICY_LINK&&(t=y.a.createElement("a",{onClick:function(){e.goImprint("dataPolicy")}},this.props.translation.translation.translate("gui_label_data_policy_link")));var n=null;null!==L.IMPRINT_LINK&&(n=y.a.createElement("a",{onClick:function(){e.goImprint("imprint")}},this.props.translation.translation.translate("gui_label_imprint_link")));var i=y.a.createElement("a",{onClick:function(){e.goPrivacySettings()}},this.props.translation.translation.translate("gui_label_privacy")),a=null;return null!==n&&null!==t&&(a=y.a.createElement("span",{className:"spacer"},"•")),y.a.createElement("div",{className:"t-a-r text-small p-v-1rem p-r-1rem policy-links"},t,a,i,a,n)}},{key:"getCopyRight",value:function(){var e=new Date;return y.a.createElement("div",{className:"t-a-l align-items-center text-small p-v-1rem d-flex flex-row flex flex-nowrap p-l-1rem"},"Copyright ",y.a.createElement("i",{className:"fa fa-copyright","aria-hidden":"true"}," "),this.props.device.mobile!==Dn.phone?y.a.createElement(y.a.Fragment,null,y.a.createElement("p",{className:"p-l-1rem"},"2003-",Ut(e).format("yyyy")),y.a.createElement("div",{className:"p-l-1rem version"},this.props.translation.translation.translate("gui_label_settings_version")," ",L.VERSION)):null)}},{key:"_getLMIV",value:function(){return y.a.createElement(Pc,null)}},{key:"render",value:function(){var e=this.props.device.orientation;return y.a.createElement("div",{className:e+" f-0-0-2rem bottomBar overflow-h relative noprint"},y.a.createElement("div",{className:" h-100 d-flex f-1-0-auto m-0 align-items-center justify-content-between bottomBar-content"},this.getCopyRight(),this._getLMIV(),this._getPolicyLinks()))}}]),n}(y.a.Component),qc=Object(w.d)(Object(_.b)((function(e){var t=null;return void 0!==e.deviceConfig&&(t=e.deviceConfig),{config:e.config.config,translation:e.translation,device:t}}),(function(e){return{redirectToImprint:function(e){this.history.push("/imprint/"+e)},redirectToPrivacySettings:function(e){this.history.push("/privacySettings")}}}))(jc));function Gc(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Uc=function(e){Dt()(n,e);var t=Gc(n);function n(e){return P()(this,n),t.call(this,e)}return j()(n,[{key:"render",value:function(){var e=this.props.moduls;return null===e||0===e.length?y.a.createElement(y.a.Fragment,null,y.a.createElement(tc,{showMobile:!0}),y.a.createElement(Ac,null),y.a.createElement("div",{className:"defaultContainer d-flex align-items-stretch flex-column flex-justify-stretch "}),y.a.createElement(tc,{showDesktop:!0}),y.a.createElement(qc,null)):y.a.createElement(y.a.Fragment,null,y.a.createElement(tc,{showMobile:!0}),y.a.createElement(Ac,null),y.a.createElement("div",{className:"defaultContainer d-flex align-items-stretch flex-column flex-justify-stretch "},y.a.createElement(w.a,{path:"/Menu",module:"Menu",exact:!0,component:Br}),y.a.createElement(w.a,{path:"/News",module:"News",exact:!0,component:Yr}),y.a.createElement(w.a,{path:"/Feedback",module:"Feedback",exact:!0,component:io}),y.a.createElement(w.a,{path:"/Feedback/:feedback",module:"Feedback",exact:!0,component:io}),y.a.createElement(w.a,{path:"/Contact",module:"Contact",exact:!0,component:bo}),y.a.createElement(w.a,{path:"/Capacity",module:"Capacity",exact:!0,component:wo}),y.a.createElement(w.a,{path:"/Webview",module:"Webview",exact:!0,component:So}),y.a.createElement(w.a,{path:"/Webview/:type",module:"Webview",exact:!0,component:So}),y.a.createElement(w.a,{path:"/Vote",module:"Vote",exact:!0,component:Uo}),y.a.createElement(w.a,{path:"/Vote/:voting",module:"NavigationBarViewVote",exact:!0,component:Uo}),y.a.createElement(w.a,{path:"/Recipe",module:"Recipe",exact:!0,component:Xl}),y.a.createElement(w.a,{path:"/Recipe/:recipe",module:"Recipe",exact:!0,component:Xl}),y.a.createElement(w.a,{path:"/Recipe/:recipe/:context",module:"Recipe",exact:!0,component:Xl}),y.a.createElement(w.a,{path:"/Recipe/:recipe/:context/:contextId",module:"Recipe",exact:!0,component:Xl}),y.a.createElement(w.a,{path:"/RecipeCategory/:category",module:"Recipe",exact:!0,component:Xl}),y.a.createElement(w.a,{path:"/RecipeCookBook",module:"Recipe",exact:!0,component:Xl})),y.a.createElement(tc,{showDesktop:!0}),y.a.createElement(qc,null))}}]),n}(y.a.Component);function Wc(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Vc=function(e){Dt()(n,e);var t=Wc(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={showInitialPrivacyCookieRequest:!1},i}return j()(n,[{key:"_getInitialPrivacyCookieRequest",value:function(){void 0!==G.get("location").collection&&void 0!==this.props.config.location&&(null===G.get("location").collection.findOne({id:{$eq:parseInt(this.props.config.location)}})||!1!==this.state.showInitialPrivacyCookieRequest||null!=this.props.initialPrivacyCookie&&0!=this.props.initialPrivacyCookie||this.setState({showInitialPrivacyCookieRequest:!0}))}},{key:"showModuleErrorDialog",value:function(){var e=y.a.createElement("div",{className:"p-spacer background-white"},y.a.createElement("p",null,this.props.translation.translation.translate("gui_label_location_no_modules_available")));this.props.showLightbox(e)}},{key:"checkConfig",value:function(){if(void 0!==this.props.config)if(this.props.config.location&&"null"!==this.props.config.location)if(this.props.config.outlet&&"null"!==this.props.config.outlet)if(this.props.config.language&&"null"!==this.props.config.language){if(0!==G.get(G.data.moduls.name).collection.find().length)return this.props.redirectToMenu(),!0;this.showModuleErrorDialog()}else this.props.setError("language");else this.props.setError("outlet");else this.props.setError("location");return!1}},{key:"_checkFields",value:function(){if(void 0!==G.get("location").collection&&void 0!==G.get("outlet").collection&&void 0!==G.get("language").collection&&void 0!==this.props.config.location&&void 0!==this.props.config.outlet&&void 0!==this.props.config.language){var e=G.get("location").collection.findOne({id:{$eq:parseInt(this.props.config.location)}}),t=G.get("outlet").collection.findOne({id:{$eq:parseInt(this.props.config.outlet)}}),n=G.get("language").collection.findOne({id:{$eq:parseInt(this.props.config.language)}});if(null!==e&&null!==t&&null!==n){var i=G.get("outlet").collection.find({location:{$eq:e.id}}).length,a=G.get("location").collection.data.length,r=G.get("language").collection.data.length,o=!1;if("remote"===L.ACCESS_RESTRICTION&&void 0!==G.get("mobilesettings").collection){var l=G.get("mobilesettings").collection.findOne();null!==l&&(o=l.useZugangscode)}if(o)a=G.get("accessRestrictionLocation").collection.data.length+G.get("location").collection.find({isPublic:{$eq:!0}}).length;1===i&&1===a&&1===r&&this.props.redirectToMenu()}}}},{key:"componentDidMount",value:function(){this._checkFields()}},{key:"componentDidUpdate",value:function(){this._getInitialPrivacyCookieRequest(),this._checkFields()}},{key:"render",value:function(){var e=this;return y.a.createElement("div",{className:"initialConfig w-100 h-100 d-flex j-s-c m-auto flex-column align-items-center justify-content-center"},null,y.a.createElement("div",{className:"centerContainer"+(this.props.device.isMobile?" m-1rem min-w-30rem ":" min-w-40rem ")},y.a.createElement("div",{className:"logo background-white m-0 d-flex flex-column align-items-center justify-content-center"},y.a.createElement("img",{src:"/images/logo.png",alt:"logo"})),y.a.createElement("div",{className:"p-h-2rem p-v-1rem"},y.a.createElement(kc,null),y.a.createElement("p",{className:"text-small"}," "),y.a.createElement(Cc,null),y.a.createElement("p",{className:"text-small"}," "),y.a.createElement(Oc,null)),y.a.createElement("button",{className:"submit uppercase",onClick:function(){e.checkConfig()}},this.props.translation.translation.translate("gui_label_to_menu"))))}}]),n}(y.a.Component),zc=Object(w.d)(Object(_.b)((function(e){var t=null;return void 0!==e.deviceConfig&&(t=e.deviceConfig),{device:t,config:e.config.config,translation:e.translation}}),(function(e){return{redirectToMenu:function(){e(Tt.config.configChanged({inited:!0,version:"2.35.0"})),e(Tt.store.storeReload({force:!0,locationRequired:!0})),this.history.push("/Menu")},setConfig:function(t){e(Tt.config.configChanged(t))},setError:function(t){e(Tt.config.setError(t))},showLightbox:function(t){e(Tt.lightbox.lightboxContentChanged(t)),e(Tt.lightbox.lightboxVisibilityChanged(!0))},hideLightbox:function(){e(Tt.lightbox.lightboxContentChanged(null)),e(Tt.lightbox.lightboxVisibilityChanged(!1))}}}))(Vc)),Hc=n(98),$c=n.n(Hc);n(219);function Yc(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Kc=n(9),Jc=function(e){Dt()(n,e);var t=Yc(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={error:!1,password:""},i.method="POST",i}return j()(n,[{key:"_checkPassword",value:function(){var e=this,t=this.state.password;void 0!==this.refs.password.refs.input&&(t=Kc(this.refs.password.refs.input).val());var n={request:"authenticateMTW",token:L.PROXY_TOKEN,data:{validate:t}};this._doRequest(n,(function(t){void 0!==t.content&&!0===t.content?e.props.setConfig({login:!0}):e.setState({error:!0})}),(function(t){e.setState({error:!0})}))}},{key:"componentDidMount",value:function(){$("input[type='password']").keypress(function(e){13==e.which&&this._checkPassword()}.bind(this))}},{key:"render",value:function(){var e=null;null===this.props.inited||!0!==this.props.inited&&"true"!==this.props.inited||(e=y.a.createElement("input",{className:"back",type:"button",onClick:function(){t.props.goBack()},value:this.props.translation.translation.translate("gui_label_login_cancel")}));var t=this;t.passwordField=null;var n=null;this.state.error&&(n=y.a.createElement(En,{text:this.props.translation.translation.translate("gui_label_password_error"),state:"error"}));var i=this.state.error?"error":"";return y.a.createElement("div",{className:"login-container flex-1-1-a"},y.a.createElement("div",{className:"logo img-cover-container"},y.a.createElement("img",{src:"/images/logo.png",alt:"logo"})),y.a.createElement("div",{className:"passwordWrapper"},n,y.a.createElement($c.a,{ref:"password",enabled:!0,type:"password",value:this.state.password,onChange:function(e){t.setState({password:e})},name:"password",className:i,placeholder:this.props.translation.translation.translate("gui_label_password"),defaultKeyboard:"de"})),y.a.createElement("input",{type:"button",className:"submit",onClick:function(){t._checkPassword()},value:this.props.translation.translation.translate("gui_label_login")}),e)}}]),n}(sn),Qc=Object(w.d)(Object(_.b)((function(e){var t=null;void 0!==G.get("mobilesettings").collection&&null!==G.get("mobilesettings").collection.findOne()&&(t=G.get("mobilesettings").collection.findOne());var n=null;return void 0!==e.config.config&&e.config.config.inited&&(n=e.config.config.inited),{mobileSettings:t,translation:e.translation,inited:n}}),(function(e){return{goBack:function(){this.history.push("/Menu")},setConfig:function(t){e(Tt.config.configChanged(t))}}}))(Jc));function Xc(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var Zc=n(9);Fn.a.setAppElement("#modal-wrapper");var es=function(e){Dt()(n,e);var t=Xc(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).closeModal=i.closeModal.bind(on()(i)),i.refReset=y.a.createRef(),i.refSync=y.a.createRef(),i}return j()(n,[{key:"closeModal",value:function(){}},{key:"_checkConfig",value:function(){var e=this.props.config;if(void 0!==e)if(e.location&&"null"!==e.location)if(e.outlet&&"null"!==e.outlet){if(e.language&&"null"!==e.language)return void 0!==this.refReset&&this._setConfig("reset",this.refReset.props.value),void 0!==this.refSync&&this._setConfig("sync",this.refSync.props.value),this.props.setInited(),this.props.redirectToMenu(),!0;this.props.setError("language")}else this.props.setError("outlet");else this.props.setError("location");return!1}},{key:"_checkLogin",value:function(){return void 0!==this.props.config.login&&this.props.config.login}},{key:"_setConfig",value:function(e,t){this.props.setConfig(ce()({},e,t))}},{key:"_getLocationOutlets",value:function(){return null===this.props.config.location?[]:this.props.outletCollection.find({location:{$eq:parseInt(this.props.config.location)}})}},{key:"_getMappedOutletCheckbox",value:function(e){var t=this,n=-1!==this.props.config.availableOutlets.indexOf(e.id),i=e.id===parseInt(this.props.config.outlet)?"readonly":"";return n||e.id!==parseInt(this.props.config.outlet)||t._setAvailableOutletConfig(e),y.a.createElement("label",{key:e.id,className:"text inputWrapper"},e.name,y.a.createElement("input",{className:"checked",onChange:function(){t._setAvailableOutletConfig(e)},type:"checkbox",disabled:e.id===parseInt(this.props.config.outlet),checked:n,value:e.id}),y.a.createElement("span",{className:"checkmark "+i}))}},{key:"_setAvailableOutletConfig",value:function(e){var t=this.props.config.availableOutlets,n=t.indexOf(e.id);-1===n?t.push(e.id):t.splice(n,1)}},{key:"componentDidMount",value:function(){this.refSync.hasOwnProperty("props")&&Zc(this.refSync.props.value).val(this.props.config.sync),this.refReset.hasOwnProperty("props")&&Zc(this.refReset.props.value).val(this.props.config.reset)}},{key:"componentDidUpdate",value:function(){var e=this.props.config;null!==e.location&&null!==e.outlet&&null===e.inited&&this.props.syncModel({model:G.data.menu.name}),this.refSync.hasOwnProperty("props")&&Zc(this.refSync.props.value).val(e.sync),this.refReset.hasOwnProperty("props")&&Zc(this.refReset.props.value).val(e.reset)}},{key:"render",value:function(){var e=this;if(!this._checkLogin())return y.a.createElement(Qc,null);var t=this.props,n=t.config,i=t.translation,a=t.device.orientation,r=function(){return void 0===n||(null===n.location||null===n.outlet||null===n.language)},o=null;if(L.STANDALONE_FILTER_OUTLETS){var l=this._getLocationOutlets();o=y.a.createElement("div",{className:"row"},y.a.createElement("div",{className:"config-label"},i.translation.translate("gui_label_available_outlets"),":"),y.a.createElement("div",{className:"available-outlet-selection"},l.map((function(t){return e._getMappedOutletCheckbox(t)}))))}var c=void 0!==n.reset&&"undefined"!==n.reset&&null!==n.reset&&"null"!==n.reset?n.reset:"",s=void 0!==n.sync&&"undefined"!==n.sync&&null!==n.sync&&"null"!==n.sync?n.sync:"",u=y.a.createElement("div",{className:"d-flex flex-column flex-nowrap h-100 overflow-h flex-1-1-a"},y.a.createElement(Sr,null),y.a.createElement("div",{className:"main-settings d-flex flex-nowrap "+("portrait"===a?"flex-column overflow-h ":"flex-row overflow-a ")},y.a.createElement(kc,{addClass:" flex-0-0-40 p-spacer overflow-h ",type:"checkbox"}),y.a.createElement(Cc,{addClass:" flex-0-0-40 p-spacer overflow-h ",type:"checkbox"}),null,y.a.createElement(Oc,{addClass:" flex-0-0-20 p-spacer overflow-h ",type:"checkbox"})),y.a.createElement("div",{className:"special-settings p-spacer"},o,y.a.createElement("div",{className:"row"},y.a.createElement("div",{className:"config-label"},i.translation.translate("gui_label_reset_interval"),":"),y.a.createElement($c.a,{ref:function(t){return e.refReset=t},enabled:!0,type:"text",value:c,onChange:function(t){e._setConfig("reset",t)},name:"reset",placeholder:"",defaultKeyboard:"de"}),y.a.createElement("span",{className:"config-postlabel"},i.translation.translate("gui_label_seconds"))),y.a.createElement("div",{className:"row"},y.a.createElement("div",{className:"config-label"},i.translation.translate("gui_label_sync_interval"),":"),y.a.createElement($c.a,{ref:function(t){return e.refSync=t},enabled:!0,type:"text",value:s,onChange:function(t){e._setConfig("sync",t)},name:"sync",placeholder:"",defaultKeyboard:"de"}),y.a.createElement("span",{className:"config-postlabel"},i.translation.translate("gui_label_seconds")))));return y.a.createElement(Fn.a,{isOpen:!0,onRequestClose:this.closeModal,overlayClassName:"Overlay",style:{content:{top:"1rem",left:"1rem",right:"1rem",bottom:"1rem",padding:"0"}}},y.a.createElement("div",{className:"modal-wrapper d-flex flex-column flex-nowrap standalone-config"},u,y.a.createElement("div",{className:"footer flex-0-0-a"},y.a.createElement("div",{className:"footer-content p-1rem"},y.a.createElement("div",{className:"footer-buttons"},y.a.createElement("button",{className:r()?"disabled":"",disabled:r(),onClick:function(){e._checkConfig()}},i.translation.translate("gui_label_settings_close")))))))}}]),n}(y.a.Component),ts=Object(w.d)(Object(_.b)((function(e){var t=null;return void 0!==G.get("outlet").collection&&(t=G.get("outlet").collection),{device:e.deviceConfig,config:e.config.config,outletCollection:t,translation:e.translation}}),(function(e){return{setError:function(t){e(Tt.config.setError(t))},setConfig:function(t){e(Tt.config.configChanged(t))},syncModel:function(t){e(Tt.store.storeReload(t))},setInited:function(){e(Tt.store.storeReload({force:!0})),e(Tt.config.configChanged({inited:!0,forceSettings:!1,persist:!0,login:!1}))},redirectToMenu:function(){this.history.push("/Menu")}}}))(es));function ns(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var is=function(e){Dt()(n,e);var t=ns(n);function n(e){return P()(this,n),t.call(this,e)}return j()(n,[{key:"render",value:function(){return null!==this.props.isInited&&!this.props.isInited||!0===this.props.forceSettings?L.STANDALONE?y.a.createElement(ts,null):y.a.createElement(zc,null):null}}]),n}(y.a.Component),as=Object(w.d)(Object(_.b)((function(e){var t=null,n=null;return e.config.hasOwnProperty("config")&&(t=!0===e.config.config.inited||"true"===e.config.config.inited,n=!0===e.config.config.forceSettings||"true"===e.config.config.forceSettings),{isInited:t,forceSettings:n}}),(function(){return{redirectToMenu:function(){this.history.push("/Menu")}}}))(is));function rs(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}Fn.a.setAppElement("#modal-wrapper");var os=function(e){Dt()(n,e);var t=rs(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).closeModal=i.closeModal.bind(on()(i)),i}return j()(n,[{key:"closeModal",value:function(){}},{key:"goBack",value:function(){this.props.redirectBack()}},{key:"render",value:function(){var e=this,t=this.props,n=t.imprint,i=t.inited,a=t.location,r=t.params,o=t.translation;if(null===a)return null;var l=null,c=null,s=null;return this.props.settings.LEGAL_SHOW_IMAGE&&(s=y.a.createElement(Ri,{model:"location",fallback:a.image,id:a.id,attribute:"image"})),void 0!==r.information&&("imprint"===r.information&&null!==n&&void 0!==n.impressumRichtext&&(l=y.a.createElement("p",{className:"headline"},o.translation.translate("gui_label_imprint_link")),c=y.a.createElement("div",{className:"imprint-content-wrapper"},s,y.a.createElement("div",{className:"m-t-2rem imprint-text text",dangerouslySetInnerHTML:{__html:n.impressumRichtext}}))),i&&"imprint"===r.information&&null!==n&&void 0!==n.impressumLink&&null!==n.impressumLink&&n.impressumLink.length>0&&(l=y.a.createElement("p",{className:"headline"},o.translation.translate("gui_label_imprint_link")),c=y.a.createElement("iframe",{name:"weblinkFrame",frameBorder:"0",src:n.impressumLink})),"dataPolicy"===r.information&&null!==n&&void 0!==n.datenschutzRichtext&&(l=y.a.createElement("p",{className:"headline"},o.translation.translate("gui_label_data_policy_link")),c=y.a.createElement("div",{className:"m-t-2rem imprint-content-wrapper"},s,y.a.createElement("div",{className:"data-policy-text text",dangerouslySetInnerHTML:{__html:n.datenschutzRichtext}}))),"dataPolicy"===r.information&&null!==n&&void 0!==n.datenschutzLink&&null!==n.datenschutzLink&&n.datenschutzLink.length>0&&(l=y.a.createElement("p",{className:"headline"},o.translation.translate("gui_label_data_policy_link")),c=y.a.createElement("iframe",{name:"weblinkFrame",frameBorder:"0",src:n.datenschutzLink}))),y.a.createElement(Fn.a,{isOpen:!0,onAfterOpen:function(){console.log("after open")},onRequestClose:this.closeModal,overlayClassName:"Overlay onTop ",style:{content:{top:"1.4rem",left:"1.4rem",right:"1.4rem",bottom:"1.4rem",padding:"0"}}},y.a.createElement("div",{className:"modal-wrapper imprint"},l,y.a.createElement(si,{content:c,hideScrollArrows:!0}),y.a.createElement("div",{className:"footer"},y.a.createElement("div",{className:"footer-content p-spacer"},y.a.createElement("div",{className:"footer-buttons"},y.a.createElement("button",{onClick:function(){e.goBack()}},o.translation.translate("gui_label_settings_close")))))))}}]),n}(y.a.Component),ls=Object(w.d)(Object(_.b)((function(e,t){var n=null,i=null,a=!1,r=null,o=t.match.params;return void 0!==e.config.config&&void 0!==G.get("location").collection&&(i=G.get("location").collection.findOne({id:{$eq:parseInt(e.config.config.location)}})),void 0!==e.config.config&&(a=e.config.config.inited),"undefined"!==e.deviceConfig.mobile&&(n=e.deviceConfig),void 0!==G.get("imprint").collection&&(r=G.get("imprint").collection.findOne()),null!==i&&"object"===A()(i.legalInfo)&&(r=i.legalInfo),{device:n,location:i,inited:a,settings:e.settings,imprint:r,params:o,translation:e.translation}}),(function(e){return{redirectBack:function(){this.history.goBack()},hideLightbox:function(){e(Tt.lightbox.lightboxVisibilityChanged(!1)),e(Tt.lightbox.lightboxContentChanged(null))}}}))(os));function cs(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}Fn.a.setAppElement("#modal-wrapper");var ss=function(e){Dt()(n,e);var t=cs(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).closeModal=i.closeModal.bind(on()(i)),i.state={isSubscribed:!1,tags:!1},i}return j()(n,[{key:"closeModal",value:function(){}},{key:"toogleSelect",value:function(e,t){switch(e){case"gmaps":this.props.onConfigChange({privacyGoogleMapsAllowed:!t,persist:!0});break;case"push":if(!1===t){var n=parseInt(this.props.config.location);vc.subscribe(n)}!0===t&&vc.unsubscribe(),this.props.onConfigChange({privacyPushAllowed:!t,persist:!0})}}},{key:"goBack",value:function(){this.props.redirectBack()}},{key:"componentDidMount",value:function(){var e=this;vc.isSubscribed().then((function(t){t&&vc.getTags().then((function(t){e.setState({tags:t})})),e.setState({isSubscribed:t})}),(function(e){console.log("isSubscribed",e)}))}},{key:"render",value:function(){var e=this,t=this.props,n=t.translation,i=t.config,a=G.get(G.data.moduls.name).collection,r=i.privacyGoogleMapsAllowed,o=(i.privacyPushAllowed,!1),l=y.a.createElement("p",{className:"headline"},n.translation.translate("gui_label_privacy"));void 0!==a&&(null!==a.findOne({name:{$eq:"contact"}})&&(o=y.a.createElement("div",{key:"googlemaps",value:"googlemaps"},y.a.createElement("div",{className:"name"},y.a.createElement("div",{className:"subheader"},n.translation.translate("gui_label_privacy_googlemaps_denied_container")," "),y.a.createElement("span",{dangerouslySetInnerHTML:{__html:n.translation.translate("gui_label_privacy_googlemaps_message")}})),y.a.createElement("div",{className:"toggleWrapper"},y.a.createElement("label",{className:"switch"},y.a.createElement("input",{onClick:function(){e.toogleSelect("gmaps",r)},defaultChecked:r,type:"checkbox"}),y.a.createElement("div",{className:"slider w-100 round"}))))));var c=y.a.createElement("div",{className:"privacy-content-wrapper"},y.a.createElement("p",{className:"error",dangerouslySetInnerHTML:{__html:this.props.translation.translation.translate("gui_label_privacy_technical_cookies")}}),o,false);return y.a.createElement(Fn.a,{isOpen:!0,onRequestClose:this.closeModal,style:{content:{top:"1rem",left:"1rem",right:"1rem",bottom:"1rem",padding:"0"}},overlayClassName:"Overlay onTop"},y.a.createElement("div",{className:"modal-wrapper imprint"},l,y.a.createElement(si,{content:c,hideScrollArrows:!0}),y.a.createElement("div",{className:"footer"},y.a.createElement("div",{className:"footer-content p-spacer"},y.a.createElement("div",{className:"footer-buttons"},y.a.createElement("button",{onClick:function(){e.goBack()}},n.translation.translate("gui_label_settings_close")))))))}}]),n}(y.a.Component),us=Object(w.d)(Object(_.b)((function(e){return{config:e.config.config,translation:e.translation}}),(function(e){return{redirectBack:function(){this.history.goBack()},onConfigChange:function(t){e(Tt.config.configChanged(t))}}}))(ss));function fs(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var ps=function(e){Dt()(n,e);var t=fs(n);function n(e){var i;P()(this,n),i=t.call(this,e);var a=null===localStorage.getItem("appLinkShown");return i.state={show:a,content:null},i}return j()(n,[{key:"componentDidMount",value:function(){}},{key:"persist",value:function(){localStorage.setItem("appLinkShown",!0)}},{key:"gotToApp",value:function(){var e=this;this.setState({show:!1},(function(){window.open(e.props.link,"_blank"),e.persist()}))}},{key:"render",value:function(){var e=this,t=this.props,n=t.link,i=t.device,a=t.settings,r=this.state.show;return null!==n&&!1!==r&&null!==i.mobile&&a.SHOW_APP_BANNER?y.a.createElement("div",{className:"w-100 h-10rem relative background-lightGrey darkGrey d-flex flex-direction-row align-items-center justify-content-center"},y.a.createElement("div",{onClick:function(){return e.gotToApp()},className:"flex-0-0-a d-flex flex-direction-row align-items-center justify-content-center"},y.a.createElement("div",{className:"logo flex-0-0-a"},"android"===i.os?y.a.createElement("i",{className:"fab p-1rem fa-3x darkGrey fa-google"}):null,"iphone"===i.os||"ipad"===i.os?y.a.createElement("i",{className:"fab p-1rem darkGrey fa-3x fa-apple"}):null),y.a.createElement("div",{className:"d-flex flex-1-1-a flex-direction-col"},y.a.createElement("p",{className:"f-w-bold headline-2 t-a-l"},this.props.translation.translate("gui_label_app_banner_title")),y.a.createElement("p",{className:"text-small t-a-l"},this.props.translation.translate("gui_label_app_banner_text")))),y.a.createElement("p",{onClick:function(){e.setState({show:!1},(function(){e.persist()}))},className:"absolute right-1rem top-1rem"},y.a.createElement("i",{className:"fal fa-2x fa-times-circle"}))):null}}]),n}(y.a.Component),ds=Object(w.d)(Object(_.b)((function(e){var t=null;if(G.get("mobilesettings").hasOwnProperty("collection")){var n=G.get("mobilesettings").collection.findOne();null!==n&&(t=n.permaLink)}return{link:t,translation:e.translation.translation,device:e.deviceConfig,settings:e.settings}}),(function(e){return{redirectBack:function(){this.router.goBack()}}}))(ps));function hs(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var ms=function(e){Dt()(n,e);var t=hs(n);function n(e){var i;P()(this,n),(i=t.call(this,e)).process=!1;var a=localStorage.getItem("dailyUsageSent");return null!==a&&(a=new Date(a)),i.state={lastUpdate:a},i}return j()(n,[{key:"_getDailyUsageData",value:function(){var e=this.props,t=e.config,n=e.device,i=e.filter;return{timestampTracking:Wt.getDateString(new Date),favLocationID:t.location,favOutletID:t.outlet,appVersion:L.VERSION,osVersion:n.version,deviceType:n.os,allergenIDs:i.allergenIDs,additiveIDs:i.additiveIDs,dishFeatureIDs:i.dishFeatureIDs,dashboardWidgetIDs:[],isFeatureFilterExpandable:i.isFeatureFilterExpandable,isDietplanFilterActive:i.isDietplanFilterActive,navigationType:1,platformTypeID:L.STANDALONE?6:5,trackingTypeID:36,languageTypeID:t.language}}},{key:"_successFn",value:function(e){if(!e.success)return this._failFn(e.content);var t=new Date;localStorage.setItem("dailyUsageSent",Wt.getDateString(t)),this.process=!1}},{key:"_failFn",value:function(e){console.warn(e),this.process=!1}},{key:"checkDailyUsageTracking",value:function(){var e=this,t=this.props,n=t.mobileSettings,i=t.config,a=this.state.lastUpdate,r=new Date;this.process||null!==a&&!Wt.isAfter(r,a)||null===n||!0!==n.trackingActive||null===i||!i.inited||(this.process=!0,this.setState({lastUpdate:new Date},(function(){var t=e._getDailyUsageData();e._doRequest({request:"dailyUsageTracking",token:L.PROXY_TOKEN,data:JSON.stringify(t)},(function(t){e._successFn(t)}),(function(t){e._failFn(t)}))})))}},{key:"componentDidUpdate",value:function(){this.checkDailyUsageTracking()}},{key:"componentDidMount",value:function(){this.checkDailyUsageTracking()}},{key:"render",value:function(){return null}}]),n}(sn),gs=Object(_.b)((function(e){var t=null;void 0!==G.get("mobilesettings").collection&&G.get("mobilesettings").collection.find().length>0&&(t=G.get("mobilesettings").collection.find()[0]);var n=null;e.config.hasOwnProperty("config")&&(n=e.config.config);var i=e.filter.filter,a=null;return null!==n&&(a={allergenIDs:i.allergens.hasOwnProperty(n.location)?i.allergens[n.location]:[],additiveIDs:i.additives.hasOwnProperty(n.location)?i.additives[n.location]:[],dishFeatureIDs:i.features.hasOwnProperty(n.location)?i.features[n.location]:[],isFeatureFilterExpandable:i.featureFilterSelective,isDietplanFilterActive:i.active}),{mobileSettings:t,device:e.deviceConfig,filter:a,config:n}}),(function(){return{}}))(ms);function vs(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var ys=function(e){Dt()(n,e);var t=vs(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={storeRevision:null},i}return j()(n,[{key:"componentDidUpdate",value:function(e,t){Object.entries(this.props).forEach((function(t){var n=Qn()(t,2),i=n[0],a=n[1];return e[i]!==a&&console.log("Prop '".concat(i,"' changed"),e[i],a)})),this.state&&Object.entries(this.state).forEach((function(n){var i=Qn()(n,2),a=i[0],r=i[1];return t[a]!==r&&console.log("State '".concat(a,"' changed"),e[a],r)}))}},{key:"componentDidMount",value:function(){this.props.storeReload(),this.setState({storeRevision:this.props.storeRevision})}},{key:"goBack",value:function(){this.props.onConfigChanged({version:"2.35.0"}),this.props.redirectBack()}},{key:"render",value:function(){var e=this,t=this.props,n=t.translation,i=t.storeRevision,a=t.storeReady,r=t.isInited;return n&&r?(i!==this.state.storeRevision&&a&&this.goBack(),y.a.createElement(Fn.a,{isOpen:!0,onAfterOpen:function(){console.log("after open")},onRequestClose:this.closeModal,overlayClassName:"Overlay onTop ",style:{content:{top:"1.4rem",left:"1.4rem",right:"1.4rem",bottom:"1.4rem",padding:"0"}}},y.a.createElement("div",{className:"modal-wrapper d-flex flex-column imprint"},y.a.createElement("p",{className:"headline-2 f-w-bold p-spacer text-ci t-a-c flex-0-0-a"},n.translate("gui_label_update_title")),y.a.createElement("p",{className:"flex-1-1-a d-flex flex-direction-col align-items-center justify-content-center"},y.a.createElement("i",{className:"fas fa-5x fa-spinner fa-spin"}),y.a.createElement("p",{className:"headline-2 t-a-c m-t-spacer f-w-bold"},n.translate("gui_label_update_description"))),y.a.createElement("div",{className:"flex-0-0-a footer"},y.a.createElement("div",{className:"footer-content p-spacer"},y.a.createElement("div",{className:"footer-buttons"},y.a.createElement("button",{disabled:i===this.state.storeRevision||!a,onClick:function(){e.goBack()}},n.translate("gui_label_update_close")))))))):null}}]),n}(y.a.Component),bs=Object(w.d)(Object(_.b)((function(e){var t=null;e.config.hasOwnProperty("config")&&(t=!0===e.config.config.inited||"true"===e.config.config.inited);var n=e.store;return{isInited:t,storeRevision:n.changeTime,storeReady:0===Object.keys(e.store.reloadConfig).length&&n.hasOwnProperty("syncModels")&&0===n.syncModels.length&&e.store.ready,translation:e.translation.translation}}),(function(e){return{redirectToMenu:function(){this.history.push("/Menu")},storeReload:function(){e(Tt.store.storeReload({force:!0,locationRequired:!0}))},onConfigChanged:function(t){e(Tt.config.configChanged(t))},redirectBack:function(){this.history.push("/")}}}))(ys));function ks(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Ft()(e);if(t){var a=Ft()(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return At()(this,n)}}var _s=n(9),Es=n(220),ws=function(e){Dt()(n,e);var t=ks(n);function n(e){var i;return P()(this,n),(i=t.call(this,e)).state={timer:null,ciColor:null,inited:!1,notifiedNoModuls:!1,sync:new Date,reset:new Date,showInitialPrivacyCookieRequest:!1,gmapsAllowed:!1,pushAllowed:!1},i.sync=new Date,i.reset=new Date,i}return j()(n,[{key:"_intervalFn",value:function(){if(L.STANDALONE&&null!==this.props.config&&"/InitialConfig"!==this.props.location.pathname){var e=this.props.config,t=e.reset,n=e.sync;if(void 0!==t&&0!==t){var i=new Date,a=parseInt(t),r=parseInt(n);parseInt(a)<1||parseInt(r)<1||(i.getTime()/1e3-this.sync.getTime()/1e3>r&&(this.sync=new Date,this.props.syncStore()),i.getTime()/1e3-this.reset.getTime()/1e3>a&&(this.reset=new Date,this.props.resetConfig()))}}}},{key:"_checkIsInited",value:function(){var e=this.props,t=e.config,n=e.outlet,i=e.location,a=e.accessKey,r=e.ready,o=e.oLocation,l=e.inited;if(null!==t&&r){var c=this.state.ciColor;if(null!==n&&null!==n.color&&n.color!==c?this.setState({ciColor:n.color},(function(){Es.modifyVars({"@ciColor":n.color})})):null!==n&&null===n.color&&null!==c&&this.setState({ciColor:null},(function(){Es.refresh()})),i.pathname.length>1&&null===a&&null===o)"/InitialConfig"===i.pathname||this._checkIsPrivacySite()||this.props.redirectToInitialConfig();else if(i.pathname.length<=1)if(null!==l&&l&&null!==o){var s=pc.getFirstModule(o.id);null!==s&&this.props.redirectToModule(s)}else this.props.redirectToInitialConfig();!0===t.privacyPushAllowed&&!1!==vc.message&&(vc.message=!1,this.props.redirectToNews()),this.state.inited||(this.props.requiredRequestsLoaded(),this.setState({inited:!0}))}}},{key:"_getInitialPrivacyCookieRequest",value:function(){var e=this.props,t=e.oLocation,n=e.config,i=e.initialPrivacyCookie,a=this.state.showInitialPrivacyCookieRequest,r=G.get(G.data.moduls.name).collection;if(void 0!==r&&r.data.length>0&&null!==t&&null!==n&&!1===a&&(null==i||!1===i)){var o=r.findOne({name:{$eq:"contact"}});this.props.settings.hasOwnProperty("INITIAL_START_SWITCHES_ACTIVE")?this.setState({showInitialPrivacyCookieRequest:!0,gmapsAllowed:null!==o?this.props.settings.INITIAL_START_SWITCHES_ACTIVE:null,pushAllowed:!!vc.isAvailable()&&this.props.settings.INITIAL_START_SWITCHES_ACTIVE}):this.setState({showInitialPrivacyCookieRequest:!0})}}},{key:"_setInitialPrivacyCookieRequest",value:function(e){var t=this.state,n=t.gmapsAllowed,i=t.pushAllowed;e&&!0===e&&(this.props.onInitialPrivacyCookie(n,i),this.state.showInitialPrivacyCookieRequest=!1)}},{key:"componentDidUpdate",value:function(e,t){this._getInitialPrivacyCookieRequest(),this._checkIsInited();var n=G.get(G.data.language.name).collection;if(void 0!==n){var i=n.findOne({id:{$eq:this.props.config.language}});null!==i&&Wt.setLocale(i.code)}}},{key:"componentDidMount",value:function(){var e=this;this._checkIsInited(),this._getInitialPrivacyCookieRequest(),L.RESPONSIVE&&_s("body").addClass("responsive"),L.STANDALONE&&null===this.state.timer&&this.setState({timer:setInterval((function(){e._intervalFn()}),1e3)})}},{key:"_resetTimer",value:function(){L.RESPONSIVE&&(this.sync=new Date,this.reset=new Date)}},{key:"_checkIsPrivacySite",value:function(){var e=this.props.location;return"/imprint/dataPolicy"===e.pathname||"/privacySettings"===e.pathname}},{key:"getModules",value:function(){var e=this,t=this.props,n=t.inited,i=t.ready,a=t.moduls,r=t.config,o=t.translation,l=null;if(null!==a&&0===a.length&&this.state.notified!==r.location){var c=y.a.createElement("p",null,o.translation.translate("gui_label_location_no_modules_available")),s=y.a.createElement("div",{className:"buttonWrapper"},y.a.createElement("button",{onClick:function(){e.setState({notified:r.location})}},o.translation.translate("gui_label_location_no_modules_available_btn")));l=y.a.createElement(jn,{openModal:!0,message:c,footer:s})}return null!==l?l:n&&i?y.a.createElement(Uc,{moduls:a}):null}},{key:"render",value:function(){var e=this,t="";this.state.inited||(t="process");var n=this.props.ready,i=null;if(!0===this.state.showInitialPrivacyCookieRequest&&!this._checkIsPrivacySite()&&null!==this.props.oLocation){var a=this.state,r=a.gmapsAllowed,o=(a.pushAllowed,G.get(G.data.moduls.name).collection),l=!1;if(void 0!==o)null!==o.findOne({name:{$eq:"contact"}})&&(l=y.a.createElement(y.a.Fragment,null,y.a.createElement("div",null,y.a.createElement("div",{className:"name"},y.a.createElement("p",{className:"error",dangerouslySetInnerHTML:{__html:this.props.translation.translation.translate("gui_label_privacy_googlemaps_message_text")}}),y.a.createElement("p",{className:"error line-height-extra-large flex-1-1-a",dangerouslySetInnerHTML:{__html:this.props.translation.translation.translate("gui_label_privacy_googlemaps_message_confirmation")}}),y.a.createElement("p",{className:"error",dangerouslySetInnerHTML:{__html:this.props.translation.translation.translate("gui_label_privacy_further")}})),y.a.createElement("div",{className:"toggleWrapper"},y.a.createElement("label",{className:"switch flex-0-0-a m-r-spacer"},y.a.createElement("input",{onChange:function(){e.setState({gmapsAllowed:!r})},id:"featureFilterSelective",checked:r,name:"featureFilterSelective",type:"checkbox",className:"toggleBtn"}),y.a.createElement("div",{className:"slider p-025rem w-100 round"}))))));var c=y.a.createElement("div",null,y.a.createElement("h3",null,this.props.translation.translation.translate("gui_label_privacy_cookie_title")),y.a.createElement("div",{className:"privacy-content-wrapper"},l,l?"":y.a.createElement("p",{className:"error",dangerouslySetInnerHTML:{__html:this.props.translation.translation.translate("gui_label_privacy_technical_cookies")}}),false)),s=y.a.createElement("div",{className:"footer-content min-w-8rem p-spacer"},y.a.createElement("button",{className:"min-w-8rem",onClick:function(){e._setInitialPrivacyCookieRequest(!0)}},this.props.translation.translation.translate("gui_label_privacy_cookie_btn")));i=y.a.createElement(jn,{layout:"Overlay onTop",message:c,footer:s,openModal:!0})}return y.a.createElement("div",{onTouchStart:this._resetTimer.bind(this),onMouseMove:this._resetTimer.bind(this),className:t+" d-flex flex-nowrap f-1-1-a h-100 flex-column content main-content-wrapper "},i,y.a.createElement(Jt,null),y.a.createElement(An,null),y.a.createElement(en,{main:!0}),y.a.createElement(Kn,null),y.a.createElement(Sn,null),y.a.createElement(ds,null),y.a.createElement($t,null),y.a.createElement(w.a,{path:"/Update",exact:!0,component:bs}),y.a.createElement(an,null),y.a.createElement(ni,null),y.a.createElement(mn,null),y.a.createElement(gs,null),n?y.a.createElement(y.a.Fragment,null,y.a.createElement(En,null),y.a.createElement(yn,null),y.a.createElement(pn,null),y.a.createElement(Wn,null),y.a.createElement(w.a,{path:"/",exact:!0,component:as}),y.a.createElement(w.a,{path:"/InitialConfig",exact:!0,component:as}),y.a.createElement(w.a,{path:"/imprint/:information",module:"Imprint",exact:!0,component:ls}),y.a.createElement(w.a,{path:"/privacysettings",module:"Privacy",exact:!0,component:us}),"/InitialConfig"!==this.props.location.pathname?this.getModules():null):null)}}]),n}(y.a.Component),Cs=Object(w.d)(Object(_.b)((function(e,t){var n=null,i=null,a=null,r=null,o=null,l=(t.match.params,null);if(void 0!==t.location&&t.location.pathname.length>1){var c=new RegExp("^[0-9]+$"),s=t.location.pathname.split("/");""===s[0]&&s.splice(0,1),l=!("silent"!==s[0]&&!c.test(s[0]))||null}if(void 0!==e.config.config&&void 0!==G.get("location").collection){var u=(n=G.get("location").collection).findOne({id:{$eq:parseInt(e.config.config.location)}});Zn.isLocationAccessable(u)&&(i=u)}void 0!==e.config.config&&void 0!==G.get("outlet").collection&&G.get("outlet").collection.find().length>0&&(r=(a=G.get("outlet").collection).findOne({id:{$eq:parseInt(e.config.config.outlet)}})),void 0!==G.get("mobilesettings").collection&&null!==G.get("mobilesettings").collection.findOne()&&(o=G.get("mobilesettings").collection.findOne());var f=null;void 0!==e.config.config&&null!==e.config.config.initialPrivacyCookie&&"null"!==e.config.config.initialPrivacyCookie&&(f=e.config.config.initialPrivacyCookie);var p=null,d=null;void 0!==e.config.config&&void 0!==e.config.config.inited&&(p=e.config.config.inited&&"null"!==e.config.config.inited&&null!==i,G.get(G.data.moduls.name).collection&&!G.get(G.data.moduls.name).process&&G.get(G.data.moduls.name).collection&&0===e.store.syncModels.length&&0===Object.keys(e.store.reloadConfig).length&&(d=pc.getModulsOfLocation(e.config.config.location)));return{inited:p,initialPrivacyCookie:f,oLocation:i,ready:e.store.ready&&null!==n&&null!==o&&null!==a,translation:e.translation,config:e.config.hasOwnProperty("config")?e.config.config:null,configInited:void 0!==e.config.config&&null!==a&&null!==n,accessKey:l,moduls:d,outletCollection:a,outlet:r,mobileSettings:o,settings:e.settings}}),(function(e){return{requiredRequestsLoaded:function(){e(Tt.process.processStateChanged(!1))},resetConfig:function(){e(Tt.lightbox.lightboxContentChanged(null)),e(Tt.config.configChanged({resetConfig:!0})),e(Tt.filter.filterReset())},onInitialPrivacyCookie:function(t,n){e(Tt.config.configChanged({initialPrivacyCookie:!0,privacyGoogleMapsAllowed:t,privacyPushAllowed:n,persist:!0}))},syncStore:function(){e(Tt.store.storeReload({force:!0,locationRequired:!0}))},redirectToInitialConfig:function(){e(Tt.config.configChanged({inited:!1})),this.history.push("/InitialConfig")},redirectToModule:function(e){this.history.push("/"+e.name)},redirectToNews:function(){this.history.push("/News")}}}))(ws)),Ns=(n(532),n(536),n(537),n(538),n(539),n(540),Object(C.a)());n(534),n(535);var Ss=n(9),Os=n(220);if(0===Os.sheets.length){var Rs=Ss('[rel="stylesheet/less"]');Ss(Rs).each((function(e,t){Os.sheets.push(t)}))}var Is=Object(E.c)(_t,Object(E.a)((function(e){return function(e){return function(t){e(t)}}})));Is.dispatch(Tt.store.storeInit()),Is.dispatch(Tt.filter.filterInit()),Is.dispatch(Tt.process.processStateChanged(!0)),Is.dispatch(Tt.process.processQueueAddFunction((function(){return!0}))),Is.dispatch(Tt.store.storeReload({force:!1})),Is.dispatch(Tt.mealFeedback.mealFeedbackInit()),Is.dispatch(Tt.vote.voteInit()),-1!==navigator.userAgent.indexOf("Trident/7.0")&&(document.body.className=document.body.className+"ie"),k.a.render(y.a.createElement(_.a,{store:Is},y.a.createElement(w.b,{history:Ns},y.a.createElement(w.c,null,y.a.createElement(w.a,{path:"/",component:Cs})))),document.getElementById("app"))}});
\ No newline at end of file
diff --git a/tests/stub_api.py b/tests/stub_api.py
index 93227d1..7a960b6 100644
--- a/tests/stub_api.py
+++ b/tests/stub_api.py
@@ -1,10 +1,9 @@
# -*- encoding: utf-8 -*-
import os
+import re
import httpretty
import pytest
-from stw_potsdam.swp_webspeiseplan_api import SWPWebspeiseplanAPI
-
@pytest.fixture
def api_offline():
@@ -21,22 +20,73 @@ def api_online_one_shot():
Subsequent API invocations will return with HTTP status code 500.
"""
- # pylint: disable=unused-argument
- def canned_menu(request, uri, response_headers):
- path = os.path.join(os.path.dirname(__file__),
- 'resources', 'input.json')
- with open(path, encoding='utf-8') as api_response:
- return 200, response_headers, api_response.read()
+ def make_handler(filename):
+ path = os.path.join(
+ os.path.dirname(__file__),
+ 'resources',
+ 'integration-test',
+ filename,
+ )
- responses = [
- httpretty.Response(body=canned_menu),
- httpretty.Response(body='invalid', status=500),
- ]
+ # pylint: disable=unused-argument
+ def handle(request, uri, response_headers):
+ with open(path, encoding='utf-8') as api_response:
+ return 200, response_headers, api_response.read()
- httpretty.register_uri(httpretty.POST,
- SWPWebspeiseplanAPI.URL_BASE,
- responses=responses)
+ return handle
+
+ httpretty.register_uri(
+ httpretty.GET,
+ "https://swp.webspeiseplan.de",
+ responses=[
+ httpretty.Response(body=make_handler('index.html')),
+ httpretty.Response(body='invalid', status=500),
+ ],
+ )
+
+ httpretty.register_uri(
+ httpretty.GET,
+ 'https://swp.webspeiseplan.de/main.b25ba5c971eb2b45f391.js',
+ responses=[
+ httpretty.Response(body=make_handler("snippet.js")),
+ ])
+
+ httpretty.register_uri(
+ httpretty.GET,
+ re.compile(r'.*index.php.*model=outlet.*'),
+ match_querystring=True,
+ responses=[
+ httpretty.Response(body=make_handler('outlets.json')),
+ ],
+ )
+
+ httpretty.register_uri(
+ httpretty.GET,
+ re.compile(r'.*index.php.*model=location.*'),
+ match_querystring=True,
+ responses=[
+ httpretty.Response(body=make_handler('location.json')),
+ ],
+ )
+
+ httpretty.register_uri(
+ httpretty.GET,
+ re.compile(r'.*index.php.*model=menu.*'),
+ match_querystring=True,
+ responses=[
+ httpretty.Response(body=make_handler("menu.json")),
+ ]
+ )
+
+ httpretty.register_uri(
+ httpretty.GET,
+ re.compile(r'.*index.php.*model=mealCategory.*'),
+ match_querystring=True,
+ responses=[
+ httpretty.Response(body=make_handler('meal_category.json')),
+ ]
+ )
httpretty.enable(allow_net_connect=False)
yield httpretty
diff --git a/tests/test_views.py b/tests/test_views.py
index 7d62489..d43ba03 100644
--- a/tests/test_views.py
+++ b/tests/test_views.py
@@ -7,6 +7,8 @@ from stw_potsdam import views
# pragma pylint: disable=unused-import,redefined-outer-name,unused-argument
from tests.stub_api import api_offline, api_online_one_shot
+from .response_util import meal_names
+
# Long test method names are not 'snake case'!
# See https://github.com/PyCQA/pylint/issues/2047
# The fix has not been ported to Python 2.x.
@@ -46,17 +48,13 @@ def test_canteen_menu_api_unavailable(client, api_offline):
_request_check_meals(client)
-@pytest.mark.xfail(strict=True)
def test_canteen_menu_request(client, api_online_one_shot):
- raise NotImplementedError()
- # _request_check_meals(client)
+ _request_check_meals(client)
-@pytest.mark.xfail(strict=True)
def test_canteen_menu_cached(client, api_online_one_shot):
- raise NotImplementedError()
- # _request_check_meals(client)
- # _request_check_meals(client)
+ _request_check_meals(client)
+ _request_check_meals(client)
@pytest.mark.xfail(strict=True)
@@ -66,14 +64,12 @@ def test_canteen_menu_second_request_indeed_fails(client, api_online_one_shot):
_request_check_meals(client)
-@pytest.mark.xfail(strict=True)
def _request_check_meals(client):
- raise NotImplementedError()
- # response = client.get("/canteens/griebnitzsee/xml")
- # assert response.status_code == 200
- # meal = meal_names(response.data)[0]
- # print(meal)
- # assert meal == "Gefüllter Germknödel \nmit Vanillesauce und Mohnzucker"
+ response = client.get('/canteens/griebnitzsee/xml')
+
+ assert response.status_code == 200
+ meals = meal_names(response.data)
+ assert "Rostbratwurst mit Sauerkraut und Salzkartoffeln" in meals
@pytest.fixture