# flbEventList

Zobrazí seznam všech a nebo vyspecifikovaných aktivních akcí poskytovatele, které je možné filtrovat podle střediska a nebo tagu

**Volitelné parametry:**

* **tag**: je pole textových řetězců asociované k akci nebo zdroji. Tagy se kombinují pomocí logického operátoru AND. V příkladu výše se tedy zobrazí akce označené tagem *kurt* a tagem *trener*. Tagy středisek je možné dohledat v back-officu rezervačního systému FlexBook.
  * Příklad použití parametru:
    * tag: \['kurt','trener']
* **tagOperator:** možnost předefinování defaultního logického operátoru (AND), který se aplikuje na tagy &#x20;
  * Možné hodnoty
    * or
    * and
* **center**: je pole integer hodnot, identifikující konkrétní střediska poskytovatele. Identifikátory středisek je možné dohledat v back-officu rezervačního systému FlexBook.
* **region:** pole řetězců omezující výpis akcí na akce, které jsou na střediscích v konkrétním kraji
* **organiser**: možnost omezit akce na akce konkrétního organizátora. Konkrétní organizátor se zadává pomocí emailové adresy a nebo je možné zadat místo emailové adresy speciální hodnotu ***loggedInUser***, která zajistí doplnění aktuálně nalogovaného uživatele do front-endu
* **dateMin**: možnost omezit akce podle datumu začátku akce (YYYY-MM-DD)
* **dateMax**: možnost omezit akce podle datumu konce akce (YYYY-MM-DD)
* **weekday:** možnost omezit akce pouze na ty, které začínají v určitý den v týdnu. Např.: weekday: 'mon,tue' zajistí zobrazení událostí začínajících v pondělí nebo v úterý.
* **count**: možnost omezit počet zobrazených akcí
* **onPageCount:** možnost omezit počet zobrazených akcí s možností zobrazit (dogenerovat) další pomocí buttonu&#x20;
  * Příklad použití parametru:
    * *onPageCount: 10*
* **renderText:** definice atributů, které se mají pro konkrétní akci zobrazit v detailu vybrané akce. Viz. parametr *renderText* v komponentě *flbEventDetail*
* **cycleItemTemplate:** možnost definice HTML šablony pro změnu řádku jedné lekce v cyklu zobrazované v detailu vybrané akce (typu cyklus). Viz. parametr *cycleItemTemplate* v komponentě *flbEventDetail*
* **attendeeTemplate:** možnost definice HTML šablony jednoho účastníka akce, tak jak se to má pro konkrétní akci zobrazit v detailu vybrané akce. Viz. parametr *attendeeTemplate* v komponentě *flbEventDetail*
* **eventResourcePrefix** a **eventResourcePostfix**: parametry, které se dají použít v případě, že je použit *@@EVENT\_RESOURCE* v parametru *eventTemplate*. Parametry je možné nadefinovat co se ma zobrazit před zdrojem a za zdrojem - např. někdo chce udělat seznam "\<název události> - \<název zdroje>", některé události nemusí mít zdroj a pak by tam bylo "\<název události> - ", takže řešení je nadefinovat eventResourcePrefix=' - ' a ten se přidá pouze když má událost asociovaný nějaký zdroj.
* **eventTemplate:** možnost definice HTML šablony jedné neopakující se akce v seznamu
  * Možné hodnoty: jeden string obsahující následující tagy
    * @@ID
    * @@EVENT\_NAME
    * @@EVENT\_DESCRIPTION
    * @@EVENT\_CENTER
      * @@EVENT\_CENTER\_STREET
      * @@EVENT\_CENTER\_CITY
      * @@EVENT\_CENTER\_ZIP
      * @@EVENT\_CENTER\_REGION
      * @@EVENT\_CENTER\_COUNTRY
    * @@EVENT\_START
    * @@EVENT\_END
    * @@EVENT\_START\_DATE
    * @@EVENT\_START\_TIME
    * @@EVENT\_END\_DATE
    * @@EVENT\_END\_TIME
    * @@EVENT\_ORGANISER
    * @@EVENT\_PLACES
    * @@EVENT\_FREE
    * @@EVENT\_FREE\_SUBSTITUTE
    * @@EVENT\_PRICE
    * @@EVENT\_ATTRIBUTE(\<zkratka\_atributu>)
    * @@EVENT\_RESOURCE
    * @@EVENT\_PHOTO - zobrazí první foto z externích fotek definovaných v rámci akce
    * @@EVENT\_PHOTOTHUMB - zobrazí náhled všech fotografií z externích fotek definovaných v rámci akce
  * Default: '@@EVENT\_NAME (@@EVENT\_START - @@EVENT\_END) - @@EVENT\_OVERALL\_FREE - @@EVENT\_PRICE'
* **eventCycleTemplate:** možnost definice HTML šablony jedné opakující se akce v seznamu
  * String může obsahovat stejné jako u parametru eventTemplate, ale navíc jsou implemetované následující tagy specfické pro opakující se akce (tzv. cykly)&#x20;
    * @@EVENT\_CYCLE\_COUNT - počet akcí (lekcí) v rámci cyklu&#x20;
  * Default: '@@EVENT\_NAME (@@EVENT\_START\_DATE - @@EVENT\_END\_DATE @@EVENT\_START\_TIME - @@EVENT\_END\_TIME) - @@EVENT\_OVERALL\_FREE - @@EVENT\_PRICE'
* **tag**: je pole textových řetězců asociované k akci nebo zdroji. Tagy se kombinují pomocí logického operátoru OR. V příkladu výše se tedy zobrazí akce označené tagem *kurt* nebo tagem *trener*. Tagy středisek je možné dohledat v back-officu rezervačního systému FlexBook.
  * Příklad použití parametru:
    * tag: \['kurt','trener']
* **tagOperator:** možnost předefinování defaultního logického operátoru (OR), který se aplikuje na tagy &#x20;
  * Možné hodnoty
    * or
    * and
* **center**: je integer hodnota, identifikující konkrétní středisko poskytovatele. Identifikátory středisek je možné dohledat v back-officu rezervačního systému FlexBook.
* **organiser**: možnost omezit akce na akce konkrétního organizátora. Konkrétní organizátor se zadává pomocí emailové adresy a nebo je možné zadat místo emailové adresy speciální hodnotu ***loggedInUser***, která zajistí doplnění aktuálně nalogovaného uživatele do front-endu
* **organiserCanReserveOnBehalf:** parameter, kterým je možné povolit z front-endu dělat rezervace organizátorům akcí. Pomocí hodnoty tohoto parametru se určuje, kterým uživatelům může rezervaci udělat. Jen tací uživatelé se mu nabízí ve výběru.
  * Možné hodnoty:
    * 'allUsers' - všichni uživatelé poskytovatele
    * {usersHavingReservationsOnEventWithTag: 'tag'} - uživatelé, kteří mají rezervaci na akci s uvedeným tagem
    * {usersHavingPaidReservationsOnEventWithTag: 'tag'} - uživatelé, kteří mají zaplacenou rezervaci na akci s uvedeným tagem
* **organiserCanReserveOnBehalfFunctionButtons**: parameter (pole), kterým je možné nadefinovat jaké buttony (funkce) bude mít organizátor na front-endu k dispozici.
  * Možné hodnoty:
    * 'attendeeToSubstitute'
    * 'cancelAttendee'
    * 'failAttendee'
    * 'substituteToAttendee'
    * 'cancelSubstitute'
  * Příklad použití parametru
    * *organiserCanReserveOnBehalfFunctionButtons:\[‘attendeeToSubstitute’,’cancelAttendee’,’failAttendee’,’substituteToAttendee’,’cancelSubstitute’],*
* **organiserCanReserveOnBehalfCustomColumn:** parametr (objekt / json), kterým je možné nadefinovat název a obsah třetího sloupce v AJAXovém vyhledávání.
  * Možné hodnoty:
    * 'name'
    * 'firstname'
    * 'lastname'
    * 'email'
    * 'address'
    * 'attribute\_\<XXX>', kde \<XXX> je ID uživatelského atributu z backoffice
  * Příklad použití parametru
    * *organiserCanReserveOnBehalfCustomColumn: { title: 'Custom column', value: 'attribute\_BIRTH' }*
* **organiserShowReservationAttendee**:&#x20;
  * Možné hodnoty:
    * 1 (default) - input liny pro zadání účastníků jména, příjmení a emailu se zobrazují
    * 0, false, null - input liny pro zadání účastníků jména, příjmení a emailu se nezobrazují, ale jen v případě, že jsou požadovány informace pro jednoho účastníka. V případě vstupu osobních informací pro více účastníků se input liny pro zadání účastníků zobrazují
* **dateMin**: možnost omezit akce podle datumu začátku akce (YYYY-MM-DD)
* **dateMax**: možnost omezit akce podle datumu konce akce (YYYY-MM-DD)
* **weekday:** možnost omezit akce pouze na ty, které začínají v určitý den v týdnu. Např.: weekday: 'mon,tue' zajistí zobrazení událostí začínajících v pondělí nebo v úterý.
* **count**: možnost omezit počet zobrazených akcí
* **onPageCount:** omezení počtu zobrazených akcí s možností dogenerování dalších akcí stisknutím tlačítka na konci výpisu
  * Příklad použití parametru
    * onPageCount: 10
* **renderText:** definice atributů, které se mají pro konkrétní akci zobrazit v detailu vybrané akce. Viz. parametr *renderText* v komponentě *flbEventDetail*
* **attendeeTemplate:** možnost definice HTML šablony jednoho účastníka akce, tak jak se to má pro konkrétní akci zobrazit v detailu vybrané akce. Viz. parametr *attendeeTemplate* v komponentě *flbEventDetail*
* **eventResourcePrefix** a **eventResourcePostfix**: parametry, které se dají použít v případě, že je použit *@@EVENT\_RESOURCE* v parametru *eventTemplate*. Parametry je možné nadefinovat co se ma zobrazit před zdrojem a za zdrojem - např. někdo chce udělat seznam "\<název události> - \<název zdroje>", některé události nemusí mít zdroj a pak by tam bylo "\<název události> - ", takže řešení je nadefinovat eventResourcePrefix=' - ' a ten se přidá pouze když má událost asociovaný nějaký zdroj.
* **eventTemplate:** možnost definice HTML šablony jedné akce v seznamu
  * Možné hodnoty: jeden string obsahující následující parametry
    * @@ID
    * @@EVENT\_NAME
    * @@EVENT\_DESCRIPTION
    * @@EVENT\_CENTER
    * @@EVENT\_START
    * @@EVENT\_END
    * @@EVENT\_ORGANISER
    * @@EVENT\_PLACES
    * @@EVENT\_FREE
    * @@EVENT\_FREE\_SUBSTITUTE
    * @@EVENT\_PRICE
    * @@EVENT\_ATTRIBUTE(\<zkratka\_atributu>)
    * @@EVENT\_RESOURCE
  * Default: empty string
  * Příklad: ' @@EVENT\_NAME *-* @@EVENT\_START '

**Přiklad 1 - seznam akcí ze střediska s ID 153 a rendrovat komponentu v českém jazyce**&#x20;

```
flbInit('https://www.flexbook.cz/ajax.php', 4, [
{
  type: 'flbEventList',
  placeHolder: 'flb_placeholder_1',
  params: {
    lang: 'cz',
    center : [153],
  },
}
]);
```

**Přiklad** **2 - seznam akcí s tagem** *kurt* **nebo** *trener***, ale jen ze středisek s ID 1 a 2**

```
flbEventList(
'flexbook_2',    
{
  tag: ['kurt','trener'],   
  center: [1,2]
}
);
```

**Přiklad 3 - akce organizátora s emailem** *<david.pasek@flexbook.cz>* **ze střediska ID 150 a v detailu rendrovat specifické atributy**

```
<script>// <![CDATA[
flbInit('https://www.flexbook.cz/ajax.php', @@PROVIDER_ID(), [
{ type: 'flbEventList', placeHolder: 'f_3',
   params: { 
                    center: [150],
                    organiser: 'david.pasek@flexbook.cz',
                    renderText: ['name', 'center', 'start', 'end', 'description', 'organiser', 'price', 'places', 'attendees', 'reservation', 'repeat_start', 'resource'],
                 },
}
]);
// ]]></script>
```

**Přiklad** **4 - akce organizátora, který je aktuálně nalogován do front-endu**

```
<script>// <![CDATA[
flbInit('https://www.flexbook.cz/ajax.php', @@PROVIDER_ID(), [
{ type: 'flbEventList', placeHolder: 'f_3',
   params: { 
                    organiser: 'loggedInUser',
                 },
}
]);
// ]]></script>
```

**Přiklad 5** **- omezení počtu akcí na stránce s možností přigenerování dalších akcí**

```
<div id="flb_placeholder_1">&nbsp;</div>
<script>// <![CDATA[
flbInit('https://www.flexbook.cz/ajax.php', @@PROVIDER_ID(), [
{ type: 'flbEventList', placeHolder: 'flb_placeholder_1',
   params: {
     format: { datetime: '<b>D</b> d.m. H:i', time: 'H:i' }, 
     lang: 'cz',
     onPageCount: 10,
     renderText: ['name','center','start','end','description','organiser','price','places','attendees','reservation'],
     eventTemplate: '@@EVENT_NAME - @@EVENT_CENTER - @@EVENT_START - @@EVENT_FREE - @@EVENT_PRICE'
   },
}
]);
// ]]></script>
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://flexbook.gitbook.io/integracni-manual/javascript-komponenty/flbeventlist.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
