d7c06702e3
So that internal links can skip turbo frames, and external links open in new pages
16 lines
376 B
JavaScript
16 lines
376 B
JavaScript
import { Controller } from "@hotwired/stimulus"
|
|
|
|
export default class extends Controller {
|
|
connect() {
|
|
this.element.querySelectorAll("a").forEach(this.#retargetLink.bind(this))
|
|
}
|
|
|
|
#retargetLink(link) {
|
|
link.target = this.#targetsSameDomain(link) ? "_top" : "_blank"
|
|
}
|
|
|
|
#targetsSameDomain(link) {
|
|
return link.href.startsWith(window.location.origin)
|
|
}
|
|
}
|