Globally Control /Prevent the Spam Click for Buttons

Greetings Folks,

Although there are a couple of forge components on the Outsystems to control/prevent the Buttons Spam click but those plugins mostly required a specific block to be added on each button & then set it respectively.

Prevent Spam Click by João Pedro Abreu

Indeed it's a good & only solution present on forge but adding a web-block on each button in a complete project is something a night-mare to me thus we decided to enhance this & use it genric on a global approach.

Anti Spam Component

Finally, we used the reference of the prevent-spam plugin & implemented a new component called Anti-Spam which we will add in the Main Theme Layout & that's all. 

It will handle i.e prevent the spam clicks for button by disabling it for a specific period of milliseconds, to set the milliseconds property, we have provided an option of site properties.

The only thing is you just need to tell the plugin that protects this button & to do that you need to set the extended property as below:

Although we can also skip this to control all buttons by default what we observe is it might impact .. not sure. so to be the safe side we gave an option to tell that protect this particular button & rest will be ignored.

The Component supports all type of Method under Button :

Submit, Ajax & Navigate

Apart from this, the component is able to handle the Ajax refresh of the button marked as 'antispam'.

We have published 2 different components working the same but for different UI, due to some limitations, we were not able to use the same implementations for both SILK-UI & OS-UI.

Links :

OS-UI Component with Sample Link

SILK-UI Component with Sample Link

Live Sample URL Link

Thanks, João Pedro Abreu for the Prevent Spam Plugin

Any suggestions !!! Most welcome :)

I hope it helps folks here...



Hey Assif,

Why it ready, stable version supporting  (OutSystems 11.6) in stead of whole major (O11).

Is the component not supported for whole 11.X?

Hi Swantantra,

Ya, it's supported on the OS -11, more often if it only the OS UI.

I guess so coz my platform & env version was updated so the same reflects there.

I didn't see any option to set/update that, but I see your point.