diff --git a/addons/portal/static/src/signature_form/signature_form.js b/addons/portal/static/src/signature_form/signature_form.js index 5da333a1387..5fdb283fd98 100644 --- a/addons/portal/static/src/signature_form/signature_form.js +++ b/addons/portal/static/src/signature_form/signature_form.js @@ -1,6 +1,7 @@ /** @odoo-module **/ import { Component, onMounted, useRef, useState } from "@odoo/owl"; +import dom from "@web/legacy/js/core/dom"; import { _t } from "@web/core/l10n/translation"; import { registry } from "@web/core/registry"; import { redirect } from "@web/core/utils/urls"; @@ -62,10 +63,16 @@ class SignatureForm extends Component { * @returns {Promise} */ async onClickSubmit() { + const button = document.querySelector('.o_portal_sign_submit') + const icon = button.removeChild(button.firstChild) + const restoreBtnLoading = dom.addButtonLoadingEffect(button); + const name = this.signature.name; const signature = this.signature.getSignatureImage()[1]; const data = await this.rpc(this.props.callUrl, { name, signature }); if (data.force_refresh) { + restoreBtnLoading(); + button.prepend(icon) if (data.redirect_url) { redirect(data.redirect_url); } else { diff --git a/addons/portal/static/src/signature_form/signature_form.xml b/addons/portal/static/src/signature_form/signature_form.xml index d0af26a32d7..71b9631361d 100644 --- a/addons/portal/static/src/signature_form/signature_form.xml +++ b/addons/portal/static/src/signature_form/signature_form.xml @@ -22,7 +22,7 @@