diff --git a/wagtail/admin/templates/wagtailadmin/generic/form.html b/wagtail/admin/templates/wagtailadmin/generic/form.html index 238bc3bfc2..de771c684b 100644 --- a/wagtail/admin/templates/wagtailadmin/generic/form.html +++ b/wagtail/admin/templates/wagtailadmin/generic/form.html @@ -63,6 +63,7 @@ data-action="w-progress#activate" data-w-kbd-key-value="mod+s" data-w-kbd-scope-value="global" + data-w-progress-active-value="{{ submit_button_active_label }}" > {% icon name="spinner" %} {{ submit_button_label }} diff --git a/wagtail/admin/views/account.py b/wagtail/admin/views/account.py index 1d5fdfa573..28b9893dda 100644 --- a/wagtail/admin/views/account.py +++ b/wagtail/admin/views/account.py @@ -232,6 +232,7 @@ class AccountView(WagtailAdminTemplateMixin, TemplateView): page_title = gettext_lazy("Account") header_icon = "user" submit_button_label = gettext_lazy("Save") + submit_button_active_label = gettext_lazy("Saving…") def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) @@ -241,6 +242,7 @@ class AccountView(WagtailAdminTemplateMixin, TemplateView): context["media"] = self.get_media(panels) context["user"] = self.request.user context["submit_button_label"] = self.submit_button_label + context["submit_button_active_label"] = self.submit_button_active_label return context def get_panels(self): diff --git a/wagtail/admin/views/generic/models.py b/wagtail/admin/views/generic/models.py index 1bc030f2c0..636f7d13ef 100644 --- a/wagtail/admin/views/generic/models.py +++ b/wagtail/admin/views/generic/models.py @@ -443,6 +443,7 @@ class CreateView( "The %(model_name)s could not be created due to errors." ) submit_button_label = gettext_lazy("Create") + submit_button_active_label = gettext_lazy("Creating…") actions = ["create"] def setup(self, request, *args, **kwargs): @@ -543,6 +544,7 @@ class CreateView( side_panels = self.get_side_panels() context["action_url"] = self.add_url context["submit_button_label"] = self.submit_button_label + context["submit_button_active_label"] = self.submit_button_active_label context["side_panels"] = side_panels context["media"] += side_panels.media context["has_unsaved_changes"] = self.has_unsaved_changes @@ -668,6 +670,7 @@ class EditView( success_message = gettext_lazy("%(model_name)s '%(object)s' updated.") error_message = gettext_lazy("The %(model_name)s could not be saved due to errors.") submit_button_label = gettext_lazy("Save") + submit_button_active_label = gettext_lazy("Saving…") actions = ["edit"] def setup(self, request, *args, **kwargs): @@ -904,6 +907,7 @@ class EditView( context["side_panels"] = side_panels context["media"] += side_panels.media context["submit_button_label"] = self.submit_button_label + context["submit_button_active_label"] = self.submit_button_active_label context["has_unsaved_changes"] = self.has_unsaved_changes context["can_delete"] = self.can_delete if context["can_delete"]: