Skip to content

Commit

Permalink
feat: add introJS for mass action
Browse files Browse the repository at this point in the history
  • Loading branch information
hellodeloo committed Jan 30, 2025
1 parent 218a544 commit de4ebf7
Show file tree
Hide file tree
Showing 4 changed files with 236 additions and 155 deletions.
11 changes: 9 additions & 2 deletions itou/templates/apply/includes/list_tr.html
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,15 @@
<tr class="align-top">
{% if job_applications_list_kind is JobApplicationsListKind.RECEIVED %}
<th scope="row" class="text-start w-50px">
<input class="form-check-input" type="checkbox" name="selected-application" value="{{ job_application.pk }}" id="select-{{ job_application.pk }}">
<label class="visually-hidden" for="select-{{ job_application.pk }}">Sélectionner cette candidature</label>
{% if forloop.counter == 1 %}
<span id="introjsSwitchView01">
<input class="form-check-input" type="checkbox" name="selected-application" value="{{ job_application.pk }}" id="select-{{ job_application.pk }}">
<label class="visually-hidden" for="select-{{ job_application.pk }}">Sélectionner cette candidature</label>
</span>
{% else %}
<input class="form-check-input" type="checkbox" name="selected-application" value="{{ job_application.pk }}" id="select-{{ job_application.pk }}">
<label class="visually-hidden" for="select-{{ job_application.pk }}">Sélectionner cette candidature</label>
{% endif %}
</th>
{% endif %}
{% if job_applications_list_kind is JobApplicationsListKind.SENT_FOR_ME %}
Expand Down
204 changes: 104 additions & 100 deletions itou/templates/apply/includes/siae_actions.html
Original file line number Diff line number Diff line change
@@ -1,120 +1,124 @@
{% load matomo %}

{% if batch_mode %}
<div id="batch-action-box" class="c-box c-box--action selection-indicator" data-emplois-elements-visibility-on-selection="shown" {% if request.htmx %}hx-swap-oob="true"{% endif %}>
<h2 class="visually-hidden">Actions rapides</h2>
<div class="form-row align-items-center gx-3">
<div class="form-group col-12 col-lg-auto">
{% if can_refuse %}
<form method="post" action="{% url 'apply:batch_refuse' %}?next_url={{ list_url|urlencode }}">
{% csrf_token %}
{% for application_id in selected_application_ids %}
<input type="hidden" name="application_ids" value="{{ application_id }}" />
{% endfor %}
<button type="submit" class="btn btn-lg btn-link-white btn-block btn-ico justify-content-center" {% matomo_event "candidature" "submit" "batch-refuse-applications-start-wizard" %}>
<div id="introjsSwitchView02">
<div id="batch-action-box" class="c-box c-box--action selection-indicator" data-emplois-elements-visibility-on-selection="shown" {% if request.htmx %}hx-swap-oob="true"{% endif %}>
<h2 class="visually-hidden">Actions rapides</h2>
<div class="form-row align-items-center gx-3">
<div class="form-group col-12 col-lg-auto">
{% if can_refuse %}
<form method="post" action="{% url 'apply:batch_refuse' %}?next_url={{ list_url|urlencode }}">
{% csrf_token %}
{% for application_id in selected_application_ids %}
<input type="hidden" name="application_ids" value="{{ application_id }}" />
{% endfor %}
<button type="submit" class="btn btn-lg btn-link-white btn-block btn-ico justify-content-center" {% matomo_event "candidature" "submit" "batch-refuse-applications-start-wizard" %}>
<i class="ri-close-line" aria-hidden="true"></i>
<span>Décliner</span>
</button>
</form>
{% else %}
<button type="button"
class="btn btn-lg btn-link-white btn-block btn-ico justify-content-center"
disabled
data-bs-toggle="tooltip"
data-bs-placement="top"
data-bs-custom-class="c-box--action-tooltip"
data-bs-title="Seules les candidatures au statut « Nouvelle », « À l’étude »{% if request.current_organization.kind == CompanyKind.GEIQ %}, « Action préalable à l’embauche »{% endif %} et « En attente » peuvent être déclinées.²">
<i class="ri-close-line" aria-hidden="true"></i>
<span>Décliner</span>
</button>
</form>
{% else %}
<button type="button"
class="btn btn-lg btn-link-white btn-block btn-ico justify-content-center"
disabled
data-bs-toggle="tooltip"
data-bs-placement="top"
data-bs-custom-class="c-box--action-tooltip"
data-bs-title="Seules les candidatures au statut « Nouvelle », « À l’étude »{% if request.current_organization.kind == CompanyKind.GEIQ %}, « Action préalable à l’embauche »{% endif %} et « En attente » peuvent être déclinées.²">
<i class="ri-close-line" aria-hidden="true"></i>
<span>Décliner</span>
</button>
{% endif %}
</div>
<div class="form-group col-12 col-lg-auto">
{% if can_postpone %}
<button type="button"
class="btn btn-lg btn-link-white btn-block btn-ico"
{% matomo_event "candidature" "clic" "batch-postpone-applications-open-modal" %}
data-bs-toggle="modal"
data-bs-target="#postpone_confirmation_modal">
<i class="ri-history-line fw-medium" aria-hidden="true"></i>
<span>Mettre en liste d’attente</span>
</button>
{% else %}
<button type="button"
class="btn btn-lg btn-link-white btn-block btn-ico"
disabled
data-bs-toggle="tooltip"
data-bs-placement="top"
data-bs-custom-class="c-box--action-tooltip"
data-bs-title="Seules les candidatures au statut « À l’étude »{% if request.current_organization.kind == CompanyKind.GEIQ %} ou « Action préalable à l’embauche »{% endif %} peuvent être mises en liste d’attente.">
<i class="ri-history-line fw-medium" aria-hidden="true"></i>
<span>Mettre en liste d’attente</span>
</button>
{% endif %}
</div>
<div class="form-group col-12 col-lg-auto">
{% if can_archive %}
<button type="button"
class="btn btn-lg btn-link-white btn-block btn-ico"
{% matomo_event "candidature" "clic" "batch-archive-applications-open-modal" %}
data-bs-toggle="modal"
data-bs-target="#archive_confirmation_modal">
<i class="ri-archive-line fw-medium" aria-hidden="true"></i>
<span>Archiver</span>
</button>
{% else %}
<button type="button"
class="btn btn-lg btn-link-white btn-block btn-ico"
disabled
data-bs-toggle="tooltip"
data-bs-placement="top"
data-bs-custom-class="c-box--action-tooltip"
data-bs-title="Seules les candidatures au statut « Déclinée », « Embauché ailleurs » et « Embauche annulée » peuvent être archivées.">
<i class="ri-archive-line fw-medium" aria-hidden="true"></i>
<span>Archiver</span>
</button>
{% endif %}
</div>
{% if request.organizations|length > 1 %}
<div class="form-group col-12 col-lg d-lg-flex justify-content-lg-end">
{% if can_transfer %}
<div class="dropdown dropdown-structure text-end">
<button id="transfer_to_button" class="btn btn-lg btn-link-white btn-block w-lg-auto dropdown-toggle text-end" type="button" aria-haspopup="true" aria-expanded="false" data-bs-toggle="dropdown">
Transférer vers
</button>
<div class="dropdown-menu dropdown-menu-end w-100" aria-labelledby="transfer_to_button">
{% for siae in request.organizations %}
{% if siae != request.current_organization %}
<button type="button"
class="dropdown-item dropdown-item__summary"
{% matomo_event "candidature" "clic" "batch-transfer-applications-open-modal" %}
data-bs-toggle="modal"
data-bs-target="#transfer_confirmation_modal_{{ siae.pk }}">
<i class="ri-community-line"></i>
<span>{{ siae.kind }}</span>
<strong>{{ siae.display_name }}</strong>
</button>
{% endif %}
{% endfor %}
</div>
</div>
{% endif %}
</div>
<div class="form-group col-12 col-lg-auto">
{% if can_postpone %}
<button type="button"
class="btn btn-lg btn-link-white btn-block btn-ico"
{% matomo_event "candidature" "clic" "batch-postpone-applications-open-modal" %}
data-bs-toggle="modal"
data-bs-target="#postpone_confirmation_modal">
<i class="ri-history-line fw-medium" aria-hidden="true"></i>
<span>Mettre en liste d’attente</span>
</button>
{% else %}
<button type="button"
class="btn btn-lg btn-link-white btn-block btn-ico"
disabled
data-bs-toggle="tooltip"
data-bs-placement="top"
data-bs-custom-class="c-box--action-tooltip"
data-bs-title="Seules les candidatures au statut « À l’étude »{% if request.current_organization.kind == CompanyKind.GEIQ %} ou « Action préalable à l’embauche »{% endif %} peuvent être mises en liste d’attente.">
<i class="ri-history-line fw-medium" aria-hidden="true"></i>
<span>Mettre en liste d’attente</span>
</button>
{% endif %}
</div>
<div class="form-group col-12 col-lg-auto">
{% if can_archive %}
<button type="button"
class="btn btn-lg btn-link-white btn-block btn-ico"
{% matomo_event "candidature" "clic" "batch-archive-applications-open-modal" %}
data-bs-toggle="modal"
data-bs-target="#archive_confirmation_modal">
<i class="ri-archive-line fw-medium" aria-hidden="true"></i>
<span>Archiver</span>
</button>
{% else %}
<button class="btn btn-lg btn-link-white btn-block w-lg-auto dropdown-toggle text-end"
type="button"
<button type="button"
class="btn btn-lg btn-link-white btn-block btn-ico"
disabled
data-bs-toggle="tooltip"
data-bs-placement="top"
data-bs-custom-class="c-box--action-tooltip"
data-bs-title="Les candidatures au statut « Acceptée » ne peuvent pas être transférées.">
Transférer vers
data-bs-title="Seules les candidatures au statut « Déclinée », « Embauché ailleurs » et « Embauche annulée » peuvent être archivées.">
<i class="ri-archive-line fw-medium" aria-hidden="true"></i>
<span>Archiver</span>
</button>
{% endif %}
</div>
{% endif %}
{% if request.organizations|length > 1 %}
<div class="form-group col-12 col-lg d-lg-flex justify-content-lg-end">
{% if can_transfer %}
<div class="dropdown dropdown-structure text-end">
<button id="transfer_to_button" class="btn btn-lg btn-link-white btn-block w-lg-auto dropdown-toggle text-end" type="button" aria-haspopup="true" aria-expanded="false" data-bs-toggle="dropdown">
Transférer vers
</button>
<div class="dropdown-menu dropdown-menu-end w-100" aria-labelledby="transfer_to_button">
{% for siae in request.organizations %}
{% if siae != request.current_organization %}
<button type="button"
class="dropdown-item dropdown-item__summary"
{% matomo_event "candidature" "clic" "batch-transfer-applications-open-modal" %}
data-bs-toggle="modal"
data-bs-target="#transfer_confirmation_modal_{{ siae.pk }}">
<i class="ri-community-line"></i>
<span>{{ siae.kind }}</span>
<strong>{{ siae.display_name }}</strong>
</button>
{% endif %}
{% endfor %}
</div>
</div>
{% else %}
<button class="btn btn-lg btn-link-white btn-block w-lg-auto dropdown-toggle text-end"
type="button"
disabled
data-bs-toggle="tooltip"
data-bs-placement="top"
data-bs-custom-class="c-box--action-tooltip"
data-bs-title="Les candidatures au statut « Acceptée » ne peuvent pas être transférées.">
Transférer vers
</button>
{% endif %}
</div>
{% endif %}
</div>
</div>
</div>
{% else %}
<div id="batch-action-box" class="selection-indicator" {% if request.htmx %}hx-swap-oob="true"{% endif %}></div>
<div id="introjsSwitchView02">
<div id="batch-action-box" class="selection-indicator" {% if request.htmx %}hx-swap-oob="true"{% endif %}></div>
</div>
{% endif %}
{% if request.htmx %}
{% include "apply/includes/selected_job_applications.html" with selected_nb=selected_nb request=request only %}
Expand Down
Loading

0 comments on commit de4ebf7

Please sign in to comment.