StructuresFrame.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. {namespace v=FluidTYPO3\Vhs\ViewHelpers}
  2. {namespace ot=Opentalent\OtTemplating\ViewHelpers}
  3. <f:comment><!-- Special layout for the Members page --></f:comment>
  4. <f:layout name="StructuresFrame" />
  5. <f:render partial="Classic/Assets" />
  6. <v:asset.script name="classic-structures"
  7. path="EXT:ot_templating/Resources/Public/assets/Classic/script/structures.js"
  8. dependencies="classic-jquery,classic-datepicker,classic-slick,classic-leaflet,classic-main"
  9. standalone="1"
  10. defer="1"/>
  11. <div class="main">
  12. <f:comment><!-- Central column --></f:comment>
  13. <div class="content">
  14. <f:comment><!-- All members --></f:comment>
  15. <ot:organizations.getFederationStructures as="structuresCollection"
  16. parentId="{settings.organizationId}"
  17. itemsPerPage="all">
  18. <f:comment><!-- The data is stored as an attribute, then templated with JS for performance reasons --></f:comment>
  19. <div class="ot-structures-frame map-view" data-structures="{v:format.json.encode(value:structuresCollection.members)}">
  20. <div class="structure-col structure-col-map">
  21. <div id="structure-map-wrapper">
  22. <div id="structure-map">
  23. </div>
  24. </div>
  25. <div id="structure-map-bar">
  26. <div class="btn">{f:translate(key: 'click-on-land-to-go-there')}</div>
  27. <ul id="overseas-provinces-list">
  28. <li><f:image src="EXT:ot_templating/Resources/Public/media/metropole.png" alt="Metropole" data="{map-fit: '51.03,-5.78;41.2,9.70'}"/></li>
  29. <li><f:image src="EXT:ot_templating/Resources/Public/media/guadeloupe.png" alt="Guadeloupe" data="{map-fit: '16.62,-62.03;15.74,-60.97'}"/></li>
  30. <li><f:image src="EXT:ot_templating/Resources/Public/media/martinique.png" alt="Martinique" data="{map-fit: '14.95,-61.43;14.28,-60.60'}"/></li>
  31. <li><f:image src="EXT:ot_templating/Resources/Public/media/mayotte.png" alt="Mayotte" data="{map-fit: '-12.51,44.86;-13.19,45.45'}"/></li>
  32. <li><f:image src="EXT:ot_templating/Resources/Public/media/la_reunion.png" alt="La Réunion" data="{map-fit: '-20.65,54.92;-21.65,56.15'}"/></li>
  33. <li><f:image src="EXT:ot_templating/Resources/Public/media/guyane.png" alt="Guyane" data="{map-fit: '6.24,-54.62;1.87,-50.59'}"/></li>
  34. </ul>
  35. </div>
  36. </div>
  37. <div class="structure-col structure-col-results">
  38. <header>
  39. <h2><f:translate key="member-companies"/></h2>
  40. <a href="#" class="activate-map-view"><f:translate key="map"/></a>
  41. <a href="#" class="activate-list-view"><f:translate key="list"/></a>
  42. </header>
  43. <div class="structure-search">
  44. <form method="get" id="structure-search-form">
  45. <div class="structure-search-row">
  46. <div class="search-bar-wrapper">
  47. <input type="text"
  48. class="search-bar"
  49. name="search-query"
  50. placeholder="{f:translate(key: 'what')}?"
  51. value="{ot:request.getArgument(argument: 'search-query')}"/>
  52. <button class="search-bar-btn"
  53. name="search-submit"
  54. >
  55. <i class="fas fa-search"></i>
  56. </button>
  57. </div>
  58. <div class="search-bar-wrapper">
  59. <input type="text"
  60. name="search-city"
  61. class="search-bar"
  62. placeholder="{f:translate(key: 'where')}?"
  63. value="{ot:request.getArgument(argument: 'search-city')}"/>
  64. <button class="search-bar-btn"
  65. name="search-localize">
  66. <i class="fas fa-crosshairs"></i>
  67. </button>
  68. </div>
  69. </div>
  70. <div class="structure-search-row filters">
  71. <f:form.select name="search-category"
  72. value="{ot:request.getArgument(argument: 'search-category')}">
  73. <f:form.select.option value="">Type</f:form.select.option>
  74. <f:form.select.option value="1MC">{f:translate(key: '1MC')}</f:form.select.option>
  75. <f:form.select.option value="2TH">{f:translate(key: '2TH')}</f:form.select.option>
  76. <f:form.select.option value="3DA">{f:translate(key: '3DA')}</f:form.select.option>
  77. <f:form.select.option value="5FA">{f:translate(key: '5FA')}</f:form.select.option>
  78. <f:form.select.option value="OTAR">{f:translate(key: 'OTAR')}</f:form.select.option>
  79. <f:form.select.option value="OTCI">{f:translate(key: 'OTCI')}</f:form.select.option>
  80. <f:form.select.option value="6AR">{f:translate(key: '6AR')}</f:form.select.option>
  81. <f:form.select.option value="8CI">{f:translate(key: '8CI')}</f:form.select.option>
  82. <f:form.select.option value="OTAU">{f:translate(key: 'OTAU')}</f:form.select.option>
  83. </f:form.select>
  84. <f:form.select class="search-province">
  85. <f:form.select.option value="">Région</f:form.select.option>
  86. <f:form.select.option value="0">Alsace</f:form.select.option>
  87. </f:form.select>
  88. <f:form.select class="search-federation">
  89. <f:form.select.option value="">Fédération</f:form.select.option>
  90. <f:form.select.option value="0">CMF</f:form.select.option>
  91. </f:form.select>
  92. <select disabled class="search-distance-max">
  93. <option value="">Distance</option>
  94. <option value="10">10km</option>
  95. <option value="30">30km</option>
  96. <option value="50">50km</option>
  97. <option value="100">100km</option>
  98. <option value="200">200km</option>
  99. </select>
  100. <button class="reset-search">Réinitialiser</button>
  101. </div>
  102. <f:comment><!--
  103. Important: if the cache is not disabled,
  104. then the results won't be updated even after submitting this form
  105. --></f:comment>
  106. <input type="hidden" name="no_cache" value="1">
  107. </form>
  108. </div>
  109. <div class="structure-results">
  110. <span class="please-wait"><f:translate key="please-wait"/></span>
  111. <span class="no-result" style="display: none"><f:translate key="no-result"/></span>
  112. <div class="structures-page">
  113. <div class="structure-card-model" data-id="" style="display: none">
  114. <div class="structure-poster">
  115. <f:image src="EXT:ot_templating/Resources/Public/media/event-default.jpg" alt="poster" />
  116. </div>
  117. <div class="structure-details">
  118. <div class="structure-categories">
  119. <span class="structure-category-model" style="display: none">{category}</span>
  120. </div>
  121. <div class="structure-name">
  122. {structure.name}
  123. </div>
  124. <table class="structure-details-table">
  125. <tr class="structure-details-entry structure-address">
  126. <td><i class="fas fa-map-marker-alt"></i></td>
  127. <td class="structure-details-address">
  128. {structure.streetAddress}
  129. {structure.postalCode} {structure.addressCity}
  130. </td>
  131. </tr>
  132. <tr class="structure-details-entry structure-federation">
  133. <td><i class="fas fa-project-diagram"></i></td>
  134. <td class="structure-details-federation">{structure.parentName}</td>
  135. </tr>
  136. </table>
  137. </div>
  138. <div class="spacer"></div>
  139. <a target="_blank" class="btn structure-see" href="{structure.otherWebsite}">
  140. <span><f:translate key="see-more"/></span>
  141. <i class="fa fa-caret-right" style="margin-left: 5px;"></i>
  142. </a>
  143. </div>
  144. </div>
  145. <div class="pagination-bar">
  146. <a class="goto-page goto-first-page" data-page="1" href="#" title="{f:translate(key:'go-to-first-page')}">
  147. <i class="fa fa-angle-double-left"></i>
  148. </a>
  149. <ul class="pagination-list">
  150. <li class="goto-page-li-model" style="display: none;">
  151. <a class="goto-page" data-page="1" href="#" title="{f:translate(key:'go-to-page')}">
  152. 1
  153. </a>
  154. </li>
  155. </ul>
  156. <a class="goto-page goto-last-page" data-page="-1" href="#" title="{f:translate(key:'go-to-last-page')}">
  157. <i class="fa fa-angle-double-right"></i>
  158. </a>
  159. </div>
  160. </div>
  161. </div>
  162. </div>
  163. </ot:organizations.getFederationStructures>
  164. </div>
  165. </div>