diff --git a/addons/website/static/src/js/post_link.js b/addons/website/static/src/js/post_link.js index 222216e5651..bf2119642e2 100644 --- a/addons/website/static/src/js/post_link.js +++ b/addons/website/static/src/js/post_link.js @@ -9,6 +9,27 @@ publicWidget.registry.postLink = publicWidget.Widget.extend({ events: { 'click': '_onClickPost', }, + + /** + * @override + */ + start() { + // Allows the link to be interacted with only when Javascript is loaded. + this.el.classList.add('o_post_link_js_loaded'); + return this._super(...arguments); + }, + /** + * @override + */ + destroy() { + this._super(...arguments); + this.el.classList.remove('o_post_link_js_loaded'); + }, + + //-------------------------------------------------------------------------- + // Handlers + //-------------------------------------------------------------------------- + _onClickPost: function (ev) { ev.preventDefault(); const url = this.el.dataset.post || this.el.href; @@ -17,7 +38,7 @@ publicWidget.registry.postLink = publicWidget.Widget.extend({ if (key.startsWith('post_')) { data[key.slice(5)] = value; } - }; + } wUtils.sendRequest(url, data); }, }); diff --git a/addons/website/static/src/scss/website.ui.scss b/addons/website/static/src/scss/website.ui.scss index cd6d7d3d8bd..e81e11db7ee 100644 --- a/addons/website/static/src/scss/website.ui.scss +++ b/addons/website/static/src/scss/website.ui.scss @@ -566,3 +566,8 @@ body .modal { max-height: 14.2rem; } } + +// Post Submit Links +.post_link:not(.o_post_link_js_loaded) { + pointer-events: none; +}