Last active
June 26, 2024 02:59
-
-
Save tiagogeraldi/faf373ff98755007ff412562c62bc174 to your computer and use it in GitHub Desktop.
Rails 7 Bootstrap Popper setup with import maps
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Configure your import map in config/importmap.rb. Read more: https://github.com/rails/importmap-rails | |
import "@hotwired/turbo-rails" | |
import "controllers" | |
import * as bootstrap from "bootstrap" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { Application } from "@hotwired/stimulus" | |
const application = Application.start() | |
// Configure Stimulus development experience | |
application.debug = false | |
window.Stimulus = application | |
export { application } | |
window.addEventListener("turbo:load", (event) => { | |
var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]')) | |
var popoverList = popoverTriggerList.map(function (popoverTriggerEl) { | |
return new bootstrap.Popover(popoverTriggerEl) | |
}) | |
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Pin npm packages by running ./bin/importmap | |
pin "application" | |
pin "@hotwired/turbo-rails", to: "turbo.min.js" | |
pin "@hotwired/stimulus", to: "stimulus.min.js" | |
pin "@hotwired/stimulus-loading", to: "stimulus-loading.js" | |
pin_all_from "app/javascript/controllers", under: "controllers" | |
pin "popper", to: 'bootstrap.bundle.min.js', preload: true | |
pin "bootstrap", to: 'bootstrap.bundle.min.js', preload: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Be sure to restart your server when you modify this file. | |
# Version of your assets, change this if you want to expire all your assets. | |
Rails.application.config.assets.version = "1.0" | |
# Add additional assets to the asset load path. | |
# Rails.application.config.assets.paths << Emoji.images_path | |
Rails.application.config.assets.paths << Rails.root.join("node_modules/bootstrap/dist/js") | |
Rails.application.config.assets.paths << Rails.root.join("node_modules/bootstrap-icons/font") | |
# Precompile additional assets. | |
# application.js, application.css, and all non-JS/CSS in the app/assets | |
# folder are already added. | |
# Rails.application.config.assets.precompile += %w( admin.js admin.css ) | |
Rails.application.config.assets.precompile << "bootstrap.bundle.min.js" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="top" data-bs-content="Top popover"> | |
Popover on top | |
</button> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment