From 771dac342f098ed08e9b7abe0b4bdb5b73378c64 Mon Sep 17 00:00:00 2001 From: kez Date: Wed, 14 Dec 2022 18:47:20 +0100 Subject: [PATCH] Fix/bootstrap turbo docs --- frontend/encore/bootstrap.rst | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/frontend/encore/bootstrap.rst b/frontend/encore/bootstrap.rst index a41475d8eec..561bef79dde 100644 --- a/frontend/encore/bootstrap.rst +++ b/frontend/encore/bootstrap.rst @@ -73,6 +73,25 @@ Now, require bootstrap from any of your JavaScript files: $('[data-toggle="popover"]').popover(); }); +Using Bootstrap with Turbo +--------------------------- + +If you are using bootstrap with Turbo Drive, to allow your JavaScript to load on each page change, +wrap the initialization in a ``turbo:load`` event listener: + +.. code-block:: javascript + + // app.js + + // this waits for Turbo Drive to load + document.addEventListener('turbo:load', function (e) { + // this enables bootstrap tooltips globally + let tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')) + let tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) { + return new Tooltip(tooltipTriggerEl) + }); + }); + Using other Bootstrap / jQuery Plugins --------------------------------------