Deprecar Turbolinks en favor de Turbo
Funciona mejor con navegación por anchors también
This commit is contained in:
parent
1ff252e328
commit
53f757e13e
3 changed files with 14 additions and 21 deletions
|
@ -9,8 +9,14 @@ window.airbrake = new Notifier({
|
|||
import 'core-js/stable'
|
||||
import 'regenerator-runtime/runtime'
|
||||
|
||||
const Turbolinks = require("turbolinks")
|
||||
Turbolinks.start()
|
||||
// Turbo acelera la navegación al no tener que recargar todo el JS y CSS
|
||||
// de la página, con lo que se siente más rápida y "nativa".
|
||||
//
|
||||
// Cambiamos de turbolinks a turbo porque turbo soporta la función
|
||||
// fetch(), que luego es interceptada por el SW para obtener las
|
||||
// direcciones localmente.
|
||||
import * as Turbo from "@hotwired/turbo"
|
||||
Turbo.start()
|
||||
|
||||
import { Application } from 'stimulus'
|
||||
import { definitionsFromContext } from "stimulus/webpack-helpers"
|
||||
|
@ -19,23 +25,6 @@ const application = Application.start()
|
|||
const context = require.context("./controllers", true, /\.js$/)
|
||||
application.load(definitionsFromContext(context))
|
||||
|
||||
// Prevenir que Turbolinks interfiera con la navegación por anchors
|
||||
// https://github.com/turbolinks/turbolinks/issues/75#issuecomment-445325162
|
||||
document.addEventListener('turbolinks:click', event => {
|
||||
const anchorElement = event.target
|
||||
const isSamePageAnchor = (
|
||||
anchorElement.hash &&
|
||||
anchorElement.origin === window.location.origin &&
|
||||
anchorElement.pathname === window.location.pathname
|
||||
)
|
||||
|
||||
if (!isSamePageAnchor) return
|
||||
|
||||
Turbolinks.controller.pushHistoryWithLocationAndRestorationIdentifier(event.data.url, Turbolinks.uuid())
|
||||
|
||||
event.preventDefault()
|
||||
})
|
||||
|
||||
try {
|
||||
window.axe = require('axe-core/axe')
|
||||
} catch(e) {}
|
||||
|
@ -45,8 +34,6 @@ if (window.axe) window.axe.configure({ locale: require('axe-core/locales/es.json
|
|||
// Prevenir que Turbolinks interfiera la navegación a un anchor al
|
||||
// recargar la página
|
||||
document.addEventListener('turbolinks:load', event => {
|
||||
window.location.hash = window.location.hash
|
||||
|
||||
if (!window.axe) return
|
||||
|
||||
window.axe.run().then(results => {
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
"@babel/core": "^7.10.4",
|
||||
"@babel/plugin-proposal-class-properties": "^7.10.4",
|
||||
"@babel/preset-env": "^7.10.4",
|
||||
"@hotwired/turbo": "^7.0.0-rc.4",
|
||||
"axe-core": "^4.1.2",
|
||||
"babel-loader": "^8.1.0",
|
||||
"core-js": "^3.6.5",
|
||||
|
|
|
@ -880,6 +880,11 @@
|
|||
"@babel/helper-validator-identifier" "^7.14.0"
|
||||
to-fast-properties "^2.0.0"
|
||||
|
||||
"@hotwired/turbo@^7.0.0-rc.4":
|
||||
version "7.0.0-rc.4"
|
||||
resolved "https://registry.yarnpkg.com/@hotwired/turbo/-/turbo-7.0.0-rc.4.tgz#d3ab9555544534f5ec649613553e72ff6c7d7122"
|
||||
integrity sha512-4qx+6O6mUN+cSN+ZLGCOGc+2MxNrs7cFbmnWD6LIfiHAQyuNiIuB87Y5IAtOo8xj16fOBd2CdU1WRJya4Wkw0A==
|
||||
|
||||
"@sindresorhus/is@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea"
|
||||
|
|
Loading…
Reference in a new issue