src/Aviatur/TwigBundle/Resources/views/aviatur/Flux/Search/Package/packageSearch_engine.html.twig line 1

Open in your IDE?
  1. {% if inlineEngine is defined %}
  2.     {# if NOT desktop hompage, var from controller #}
  3.     {% set dispoEngine = true %}
  4. {% else %}
  5.     {% set dispoEngine = false %}
  6. {% endif %}
  7. <form action ="" class="search__engine clearfix search-package js-searchForm js-searchFormPackage">
  8.     {% if cookieLastSearch is defined and cookieLastSearch != null %}
  9.         <div style="display:none">
  10.             <p id="js-cookieLastSearch-ProviderId">{{ cookieLastSearch.ProviderId }}</p>
  11.             <p id="js-cookieLastSearch-package">{{ cookieLastSearch.package }}</p>
  12.             <p id="js-cookieLastSearch-description">{{ cookieLastSearch.description }}</p>
  13.             <p id="js-cookieLastSearch-date1">{{ cookieLastSearch.date }}</p>
  14.         </div>
  15.     {% endif %}
  16.     {# START .search-header #}
  17.     <div class="search__header clearfix">
  18.         <h1 class="search__title hide-availengine">
  19.             <i class="icon icon_bundle_package search__title__icon hide-lap-and-up"></i>
  20.             <b class="">Planee sus próximas vacaciones</b>
  21.         </h1>
  22.         {# <div class="search__link-options sp-stack js-responsive-option-title">
  23.         <span class="search__option link-span sp-inset--tiny js-slideToggle js-iconToggle" data-slidetoggle="js-options" role="button" tabindex="0">
  24.             <i class="icon icon_arrow_down" data-icon1="icon_arrow_up" data-icon2="icon_arrow_down"></i>
  25.             Búsqueda personalizada
  26.         </span>
  27.         </div> #}
  28.         {#
  29.         'beach': {'term': 'playa', 'label': 'Playa', 'type': 'personalizada'},
  30.         'culture': {'term': 'cultural', 'label': 'Cultural', 'type': 'especializado'},
  31.         'ecotourism': {'term': 'ecoturismo', 'label': 'Ecoturismo', 'type': 'especializado'},
  32.         'holiday': {'term': 'vacaciones', 'label': 'Vacaciones', 'type': 'especializado'},
  33.         'archeology': {'term': 'arqueologico', 'label': 'Arqueológico', 'type': 'especializado'},
  34.         'adventure': {'term': 'aventura', 'label': 'Aventura', 'type': 'especializado'},
  35.         'honeymoon': {'term': 'luna-de-miel', 'label': 'Luna de miel', 'type': 'especializado'},
  36.         'birthday': {'term': 'quinceañeras', 'label': 'Quinceañeras', 'type': 'especializado'},
  37.         'exotic': {'term': 'exotico', 'label': 'Exótico', 'type': 'personalizada'},
  38.         'religious': {'term': 'religioso', 'label': 'Religioso', 'type': 'especializado'},
  39.         'lgbt': {'term': 'gay', 'label': 'Turismo LGBTI', 'type': 'especializado'},
  40.         'sport': {'term': 'deportivo', 'label': 'Deportivo', 'type': 'especializado'}
  41.         #}
  42.         {# for key, option in packageOptions #}
  43.             {#<option value="{{option.term}}">{{option.label}}</option>#}
  44.         {# endfor #}
  45.          {% set packageOptions = {
  46.             'healthwellness': {'term': 'bienestar', 'label': 'Salud y Bienestar', 'type': 'personalizada'},
  47.             'culture': {'term': 'cultural', 'label': 'Cultural', 'type': 'especializado'},
  48.             'nature': {'term': 'naturaleza', 'label': 'Naturaleza', 'type': 'especializado'},
  49.             'beach': {'term': 'playa', 'label': 'Sol y Playa', 'type': 'personalizada'},
  50.             'escapades': {'term': 'escapadas', 'label': 'Escapadas', 'type': 'especializado'}
  51.         } %}
  52.         <section class="search__row-main">
  53.             <div class="wrapper-susy search-flight__options title-pack">
  54.                 <select  id="searchInputValidate-tipoViaje" class="text-input input--white select--arrow input_search_mobile col-4  js-package-search-input js-cleanSelect">
  55.                     <option value="0" disabled selected="selected">Tipo de viaje....</option>
  56.                     <optgroup label="Sol y Playa">
  57.                       <option value="playa">Playa</option>
  58.                     </optgroup>
  59.                     <optgroup label="Salud y Bienestar">
  60.                       <option value="termales">Termalismo</option>
  61.                       <option value="spa">Spa</option>
  62.                       <option value="meditacion">Meditación - Yoga</option>
  63.                     </optgroup>
  64.                     <optgroup label="Cultural">
  65.                       <option value="etnoturismo">Etnoturismo</option>
  66.                       <option value="gastronomia">Gastronomía</option>
  67.                       <option value="religioso">Expresiones religiosas</option>
  68.                       <option value="arqueologico">Arqueológico</option>
  69.                       <option value="historico">Histórico</option>
  70.                     </optgroup>
  71.                     <optgroup label="Naturaleza">
  72.                       <option value="avistamiento-de-aves">Avistamiento de aves</option><option value="ballenas">Avistamiento de ballenas</option>
  73.                       <option value="rafting">Rafting</option><option value="rapel">Rapel</option><option value="torrentismo">Torrentismo</option><option value="trekking">Trekking</option><option value="montaña">Alta montaña</option><option value="parapente">Parapente</option><option value="buceo">Buceo</option>
  74.                       <option value="ecoturismo">Ecoturismo</option>
  75.                       <option value="agroturismo">Agroturismo - Turismo rural</option>
  76.                       <option value="aventura">Aventura</option>
  77.                     </optgroup>
  78.                     <option value="escapada">Escapadas</option>
  79.                     <option value="crucero">Cruceros</option>
  80.                 </select>
  81.                 <div class="search-flight__col-advanced-options first-option js-options input_search_mobile col-4 hide" id="searchInputCities-input">
  82.                     <div class="form-group">
  83.                         <input type="hidden" name="parameters[searchInputValidate]" id="searchInputCities">
  84.                         <i class="icon icon_search_close icon__input js-empty"></i>
  85.                         <input id="searchInputCitiesValidate" pattern="[a-z][A-Z]" class="text-input input--white js-searchErrorInput js-scrollToTop js-package-search-input" type="text" name="parameters[searchInputValidate]" placeholder="e.g. Europa">
  86.                         <label id="js-searchInputError" class="label--error js-searchInputError" style="display: none;"></label>
  87.                     </div>
  88.                 </div>
  89.                 <div class="search-flight__col-advanced-options first-option js-options input_search_mobile col-4 " id="searchInputCities-input">
  90.                     <div class="form-group">
  91.                         <i class="icon icon_search_close icon__input js-empty"></i>
  92.                         <input type="text" id="searchInputValidate-other" name="parameters[searchInputValidate]" placeholder="Palabra clave o destino..." class="text-input input--white js-searchErrorInput js-scrollToTop js-selectOnFocus js-package-search-input js-cleanInput">
  93.                         <label id="js-searchInputError" class="label--error js-searchInputError" style="display: none;"></label>
  94.                     </div>
  95.                 </div>              
  96.                 <section class="search__row-main col-4 sm-12">
  97.                     <div class="wrapper-susy search-flight__options search-submit-pack">
  98.                         <div class="search-flight__col-advanced-options search-submit-pack last-option js-options">
  99.                             <div class="form-group js-responsive-submit">
  100.                                 <input type="button" value="Buscar" class="search__footer__submit btn btn--full btn--submit {% block package_submit_btn_2 %}js-searchButton{% endblock %}">
  101.                             </div>
  102.                         </div>
  103.                     </div>
  104.                 </section>
  105.             </div>
  106.         </section>
  107.         {# <div class="search__btn-group btn-group" role="group" aria-label="Select package type">
  108.             <button type="button" id="activities" class="btn btn--accent tooltips js-toggleOptionsBtn" data-type="activities" title="Por actividades">
  109.                 {#<span class="tooltips-content hidden-all show-availengine">Ida y Vuelta</span>
  110.                 <i class="icon icon_flight_roundtrip"></i>#}
  111.                 {# <span class=""> #}
  112.                     {# Por experiencias
  113.                 </span>
  114.             </button>
  115.             <button type="button" id="cities" class="btn btn--inactive tooltips js-toggleOptionsBtn" data-type="cities" title="Por ciudades"> #}
  116.                 {#<span class="tooltips-content hidden-all show-availengine">Solo Ida</span>
  117.                 <i class="icon icon_flight_oneway"></i>#}
  118.                 {# <span class="">
  119.                     Por destinos
  120.                 </span>
  121.             </button>
  122.         </div> #}
  123.     </div>
  124.     {# END .search-header #}
  125.     {# START .search-body #}
  126.     <div class="wrapper-susy">
  127.         {# term type search 'personalizada' -> _* else 'especializado' #}
  128.         {# <div id="activitiesOptions" class="js-toggleOptions">
  129.             {% for key, option in packageOptions %}
  130.                 <div class="search__col-package form-group">
  131.                     {# <a class="package-box js-packageSelect" href="/paquetes/{{ option.type }}/{{ option.term }}" data-select="{{ option.term }}" role="button" tabindex="0"#}
  132.                         {# <div class="package-box__outline"></div>
  133.                         <div class="package-box__image packg-{{ key }}" style="background-image: url(/assets/aviatur_assets/img/package/types/{{ key }}.jpg);"></div>
  134.                         <div class="package-box__label-wrapper">
  135.                             <span class="package-box__label sp-inset--small">{{ option.label | raw }}</span>
  136.                         </div>
  137.                     </a>
  138.                 </div>
  139.             {% endfor %}
  140.         </div> #}
  141.         {% set citiesOptions = {
  142.             'bogota': {'term': 'bogota', 'label': 'Bogotá', 'type': 'personalizada'},
  143.             'medellin': {'term': 'medellin', 'label': 'Medellín', 'type': 'personalizada'},
  144.             'cali': {'term': 'Cali', 'label': 'Cali', 'type': 'personalizada'},
  145.             'san-andres': {'term': 'san-andres', 'label': 'San&nbsp;Andrés', 'type': 'personalizada'},
  146.             'paris': {'term': 'paris', 'label': 'París', 'type': 'personalizada'},
  147.             'miami': {'term': 'miami', 'label': 'Miami', 'type': 'personalizada'},
  148.             'cancun': {'term': 'cancun', 'label': 'Cancún', 'type': 'personalizada'}
  149.         } %}
  150.         {# <div id="citiesOptions" class="js-toggleOptions" style="display:none">
  151.             {% for key, option in citiesOptions %}
  152.                 <div class="search__col-package form-group">
  153.                     <a class="package-box js-packageSelect" href="/paquetes/{{ option.type }}/{{ option.term }}" {#data-select="{{ option.term }}" role="button" tabindex="0"#}
  154.                         {# <div class="package-box__outline"></div>
  155.                         <div class="package-box__image packg-{{ key }}" style="background-image: url(/assets/aviatur_assets/img/package/types/{{ key }}.jpg);"></div>
  156.                         <div class="package-box__label-wrapper">
  157.                             <span class="package-box__label sp-inset--small">{{ option.label | raw }}</span>
  158.                         </div>
  159.                     </a>
  160.                 </div>
  161.             {% endfor %}
  162.         </div> #}
  163. {#        <input type="hidden" id="js-packageOption" class="hidden-all" name="parameters[packageOption]" value=""/>#}
  164.         {# DATES #}
  165.         {#<div class="search__col-package dispo__col-search">
  166.             <div class="form-group">
  167.                 <div class="relative icon__input--inline icon_search_calendar-in js-createDatepicker js-datepicker-container-open" data-input="#date1" data-instancenbr="1" role="button" tabindex="0" data-tabopen="1">
  168.                     <input type="hidden" name="parameters[date1]" id="date1" readonly="readonly" style="display:none">
  169.                     <input type="text" id="js-createDatepicker1" name="parameters[date1validate]" placeholder="Fecha Ida" readonly="readonly" class="text-input input--white js-searchErrorInput js-inputDatepicker no-focus" tabindex="-1">
  170.                     {# <img class="search-shared_datepicker-arrow-top js-datepicker-container-arrow-top hide-availengine" src="{{ asset('assets/'~ agency_folder.assetStyle() ~'/img/icon/arrow_datepicker_top.png') }}" alt="top-pointer"/> #}
  171.                 </div>
  172.             </div>
  173.         </div>
  174.         <label id="js-dateError" class="label--error js-searchErrorWanted" style="display: none; margin-top: 20px;"></label> #}
  175.         {# END DATES #}
  176.         {#<div class="search__col-submit pull-right">
  177.             <div class="form-group js-responsive-submit">
  178.                 <input type="button" value="Buscar" class="search__footer__submit btn btn--full btn--submit {% block package_submit_btn_2 %}js-searchButton{% endblock %}">
  179.             </div>
  180.         </div>#}
  181.     </div>
  182.     {# <div class="search__link-options sp-stack js-responsive-option-title">
  183.         <span class="search__option link-span sp-inset--tiny no-active js-slideToggle js-iconToggle" data-slidetoggle="js-options" role="button" tabindex="0">
  184.             <i class="icon icon_arrow_down" data-icon1="icon_arrow_up" data-icon2="icon_arrow_down"></i>
  185.             Búsqueda personalizada
  186.         </span>
  187.     </div>
  188.     <div class="wrapper-susy search-flight__options">
  189.         <div class="search-flight__col-advanced-options first-option js-options" style="display:none">
  190.             <div class="form-group">
  191.                 <i class="icon icon_search_close icon__input js-empty"></i>
  192.                 <input id="searchInputValidate" pattern="[a-z][A-Z]" class="text-input input--white js-searchErrorInput js-scrollToTop" type="text" name="parameters[searchInputValidate]" placeholder="e.g. Europa">
  193.                 <label id="js-searchInputError" class="label--error js-searchInputError" style="display: none;"></label>
  194.             </div>
  195.         </div>
  196.         <div class="search-flight__col-advanced-options last-option js-options" style="display:none">
  197.             <div class="form-group js-responsive-submit">
  198.                 <input type="button" value="Buscar" class="search__footer__submit btn btn--full btn--submit {% block package_submit_btn_2 %}js-searchButton{% endblock %}">
  199.             </div>
  200.         </div>
  201.     </div> #}
  202.     {# END .search-body #}
  203. </form>
  204. <script>
  205.     document.addEventListener('DOMContentLoaded' , e => {
  206.         let $cleanSelect = document.querySelector('.js-cleanSelect');
  207.         let $cleanInput = document.querySelector('.js-cleanInput');
  208.         document.addEventListener('click', e => {
  209.             if (e.target.matches('.js-cleanSelect')) {
  210.                 $cleanInput.value = '';                
  211.             }
  212.             if (e.target.matches('.js-cleanInput')) {
  213.                 $cleanSelect.value = 0;                
  214.             }
  215.         });
  216.     });
  217. </script>