add polling to refresh alert in view

This commit is contained in:
Lisa Durand 2023-12-13 17:04:52 +01:00
parent f34090f8fd
commit 9f962150c3
3 changed files with 15 additions and 14 deletions

View file

@ -7,12 +7,13 @@
= turbo_stream.update_all '.dossiers-export' do
= render Dossiers::ExportDropdownComponent.new(procedure: @procedure, statut: @statut, count: @dossiers_count, export_url: method(:download_export_instructeur_procedure_path))
= turbo_stream.replace "last-export-alert" do
= turbo_stream.update "last-export-alert" do
- if @has_last_export.present?
= render Dsfr::AlertComponent.new(state: :info, size: :sm, extra_class_names: 'fr-my-2w') do |c|
- c.body do
%p
- if @has_last_export.pending?
= t('instructeurs.procedures.last_export_pending')
- else
= t('instructeurs.procedures.last_export_available_html', file_format: @has_last_export.format, file_url: @has_last_export.file.url)
%div{ data: @has_last_export.pending? ? { controller: "turbo-poll", turbo_poll_url_value: download_export_instructeur_procedure_path(export_format: @has_last_export.format, statut: @statut), turbo_poll_interval_value: 5_000, turbo_poll_max_checks_value: 6 } : {} }
= render Dsfr::AlertComponent.new(state: :info, size: :sm, extra_class_names: 'fr-my-2w') do |c|
- c.body do
%p
- if @has_last_export.pending?
= t('instructeurs.procedures.last_export_pending')
- else
= t('instructeurs.procedures.last_export_available_html', file_format: @has_last_export.format, file_url: @has_last_export.file.url)

View file

@ -1,10 +1,10 @@
en:
instructeurs:
procedures:
export_available_html: The export in %{file_format} format is ready. You can <a href="%{file_url}">download</a>
export_pending_html: We generate this export. You can refresh this page or go to <a href="%{url}">the exports list</a>.
last_export_available_html: Your last export in %{file_format} format is ready. You can <a href="%{file_url}">download</a>
last_export_pending: Your last export is in process. Please refresh this page.
export_available_html: The export in %{file_format} format is ready. You can <a href="%{file_url}">download it</a>
export_pending_html: We generate this export. You can see all your exports visiting <a href="%{url}">the exports list</a>.
last_export_available_html: Your last export in %{file_format} format is ready. You can <a href="%{file_url}">download it</a>
last_export_pending: Your last export is in process.
exports:
title: Exports list
export_description: |

View file

@ -2,9 +2,9 @@ fr:
instructeurs:
procedures:
export_available_html: Lexport au format %{file_format} est prêt. Vous pouvez le <a href="%{file_url}">télécharger</a>
export_pending_html: Nous générons cet export. Veuillez rafraichir la page ou vous rendre sur <a href="%{url}">la liste des exports</a>.
export_pending_html: Nous générons cet export. Vous pouvez retrouver tous vos exports sur <a href="%{url}">la liste des exports</a>.
last_export_available_html: Votre dernier export au format %{file_format} est prêt. Vous pouvez le <a href="%{file_url}">télécharger</a>
last_export_pending: Votre dernier export est en cours de création. Veuillez rafraichir la page.
last_export_pending: Votre dernier export est en cours de création.
exports:
title: Liste des exports
export_description: |