templates/_includes/formSearch/form_operating_time_section.html.twig line 1

Open in your IDE?
  1. <div class="jtw-form-block-bordered py-0 xs:tw-mt-0 tw-mb-1{% if 'recurrent_jobs_search' not in app.request.get('_route') and 'wanted_jobs_search' not in app.request.get('_route') %} d-none{% endif %}">
  2. <div class="jlls-weekplan-actions tw-mb-4">
  3. <button type="button" id="activate-all-weekplan-daysandtimes-button" class="jlls-button-secondary tw-text-sm tw-px-4 tw-py-2 d-md-none d-sm-inline">{{ 'weekplan.activate_all_daysandtimes_cta'|trans }}</button>
  4. <button type="button" id="deactivate-all-weekplan-daysandtimes-button" class="jlls-button-as-link-secondary tw-ml-2 d-md-none d-sm-inline" style="visibility: hidden">
  5. <svg class="tw-w-5 tw-h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
  6. <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
  7. </svg>
  8. </button>
  9. <button type="button" id="activate-all-weekplan-daysandtimes-button-2" class="jlls-button-secondary tw-text-sm tw-px-4 tw-py-2 d-none d-md-inline">
  10. {{ 'weekplan.activate_all_daysandtimes_cta'|trans }}
  11. </button>
  12. <button type="button" id="deactivate-all-weekplan-daysandtimes-button-2" class="jlls-button-as-link-secondary tw-ml-2 d-none d-md-inline" style="visibility: hidden;">
  13. <svg class="tw-w-5 tw-h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
  14. <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
  15. </svg>
  16. </button>
  17. </div>
  18. <div class="jlls-weekplan-container">
  19. <table class="jlls-weekplan-table">
  20. <thead>
  21. <tr>
  22. <th class="jlls-weekplan-header-cell"></th>
  23. {% for weekday in constant('App\\Value\\PossibleAvailabilitiesValue::WEEKDAYS') %}
  24. <th class="jlls-weekplan-header-cell">
  25. {{ ('availabilities_weekday_abbreviation.' ~ weekday)|trans }}
  26. </th>
  27. {% endfor %}
  28. </tr>
  29. </thead>
  30. <tbody>
  31. {% for timeOfDay in constant('App\\Value\\PossibleAvailabilitiesValue::TIMES_OF_DAY') %}
  32. <tr>
  33. <td class="jlls-weekplan-time-cell">
  34. <div class="jlls-weekplan-time-label">
  35. {{ ('availabilities_time_of_day.' ~ timeOfDay)|trans }}
  36. </div>
  37. <div class="jlls-weekplan-time-note">
  38. {{ ('availabilities_time_of_day_note.' ~ timeOfDay)|trans }}
  39. </div>
  40. </td>
  41. {% for weekday in constant('App\\Value\\PossibleAvailabilitiesValue::WEEKDAYS') %}
  42. {% set attr = 'filterIsRequiredOn' ~ weekday ~ timeOfDay %}
  43. <td class="jlls-weekplan-checkbox-cell">
  44. {{ form_widget(attribute(form, attr), {'attr': {'class': 'jlls-form-checkbox weekplan-dayandtime-checkbox'}}) }}
  45. </td>
  46. {% endfor %}
  47. </tr>
  48. {% endfor %}
  49. </tbody>
  50. </table>
  51. </div>
  52. </div>
  53. <script>
  54. {{ inlineJsWrapperBegin() }}
  55. jQuery('#activate-all-weekplan-daysandtimes-button').on('click', function () {
  56. jQuery('.weekplan-dayandtime-checkbox').prop('checked', true);
  57. jQuery('#deactivate-all-weekplan-daysandtimes-button').css('visibility', 'visible');
  58. });
  59. jQuery('#activate-all-weekplan-daysandtimes-button-2').on('click', function () {
  60. jQuery('.weekplan-dayandtime-checkbox').prop('checked', true);
  61. jQuery('#deactivate-all-weekplan-daysandtimes-button-2').css('visibility', 'visible');
  62. });
  63. jQuery('#deactivate-all-weekplan-daysandtimes-button').on('click', function () {
  64. jQuery('.weekplan-dayandtime-checkbox').prop('checked', false);
  65. jQuery('#deactivate-all-weekplan-daysandtimes-button').css('visibility', 'hidden');
  66. });
  67. jQuery('#deactivate-all-weekplan-daysandtimes-button-2').on('click', function () {
  68. jQuery('.weekplan-dayandtime-checkbox').prop('checked', false);
  69. jQuery('#deactivate-all-weekplan-daysandtimes-button-2').css('visibility', 'hidden');
  70. });
  71. // Update deactivate button visibility when checkboxes change
  72. jQuery('.weekplan-dayandtime-checkbox').on('change', function () {
  73. const allChecked = jQuery('.weekplan-dayandtime-checkbox:checked').length === jQuery('.weekplan-dayandtime-checkbox').length;
  74. const anyChecked = jQuery('.weekplan-dayandtime-checkbox:checked').length > 0;
  75. if (anyChecked) {
  76. jQuery('#deactivate-all-weekplan-daysandtimes-button').css('visibility', 'visible');
  77. jQuery('#deactivate-all-weekplan-daysandtimes-button-2').css('visibility', 'visible');
  78. } else {
  79. jQuery('#deactivate-all-weekplan-daysandtimes-button').css('visibility', 'hidden');
  80. jQuery('#deactivate-all-weekplan-daysandtimes-button-2').css('visibility', 'hidden');
  81. }
  82. });
  83. {{ inlineJsWrapperEnd() }}
  84. </script>