import {
NajaCoreExtension,
NajaInvokeExtension,
NajaCheckValidityExtension
} from '@newlogic-digital/naja-extensions'
import naja from 'naja'
naja.registerExtension(NajaCoreExtension())
naja.registerExtension(NajaInvokeExtension())
naja.registerExtension(NajaCheckValidityExtension())
naja.initialize()
Standard usage:
<button data-naja data-naja-url="/url" data-naja-data='{"requestData": ""}'>Button</button>
data-naja
: Activates Naja functionality on the button.data-naja-url
: Specifies the URL for the AJAX request.data-naja-data
: Contains the data to be sent with the request in JSON format.
One-Time Activation:
<button data-naja="once" data-naja-url="/url" data-naja-data='{"requestData": ""}'>Button</button>
data-naja="once"
: Ensures the event is removed after the first request, preventing further AJAX actions
Replaces naja interaction with invoke actions after interaction.
Example before request:
<button data-naja="invoke once" data-naja-url="/url" data-naja-data='{"requestData": ""}'>Button</button>
Example after request:
<button data-action="invoke#action" data-invoke-target="#snippetId" data-naja-url="/url" data-naja-data='{"requestData": ""}'>Button</button>
Prevents form sending if it's invalid