Run load scripts after ujs responces

This commit is contained in:
Paul Chavard 2019-08-01 15:22:37 +02:00
parent c370b61abd
commit 86b9ed2079
11 changed files with 20 additions and 18 deletions

View file

@ -37,22 +37,14 @@ function source(url) {
};
}
addEventListener('turbolinks:load', function() {
autocompleteSetup();
});
addEventListener('ajax:success', function() {
autocompleteSetup();
});
function autocompleteSetup() {
addEventListener('ds:page:update', function() {
for (let { type, url } of sources) {
for (let element of document.querySelectorAll(selector(type))) {
element.removeAttribute('data-autocomplete');
autocompleteInitializeElement(element, url);
}
}
}
});
function autocompleteInitializeElement(element, url) {
const select = autocomplete(element, options, [source(url)]);

View file

@ -20,8 +20,7 @@ function init() {
}
}
addEventListener('DOMContentLoaded', init);
addEventListener('turbolinks:load', init);
addEventListener('ds:page:update', init);
function toggleElement(event) {
event.preventDefault();

View file

@ -0,0 +1,9 @@
import { fire } from '@utils';
addEventListener('turbolinks:load', function() {
fire(document, 'ds:page:update');
});
addEventListener('ajax:success', function() {
fire(document, 'ds:page:update');
});

View file

@ -56,6 +56,6 @@ export default class ReactUJS {
}
start() {
addEventListener('turbolinks:load', () => this.mountComponents());
addEventListener('ds:page:update', () => this.mountComponents());
}
}