mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
24 lines
635 B
TypeScript
24 lines
635 B
TypeScript
import { getElements, isTruthy } from './util';
|
|
import { initButtons } from './buttons';
|
|
|
|
function initDepedencies(): void {
|
|
for (const init of [initButtons]) {
|
|
init();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Hook into HTMX's event system to reinitialize specific native event listeners when HTMX swaps
|
|
* elements.
|
|
*/
|
|
export function initHtmx(): void {
|
|
for (const element of getElements('[hx-target]')) {
|
|
const targetSelector = element.getAttribute('hx-target');
|
|
if (isTruthy(targetSelector)) {
|
|
for (const target of getElements(targetSelector)) {
|
|
target.addEventListener('htmx:afterSettle', initDepedencies);
|
|
}
|
|
}
|
|
}
|
|
}
|