Removed ajax class requirement
This commit is contained in:
parent
b3f18437db
commit
5e4afa9748
@ -84,7 +84,7 @@ component SidebarButton(name string, target string, icon string)
|
|||||||
span.sidebar-text= name
|
span.sidebar-text= name
|
||||||
|
|
||||||
component SidebarButtonNoAJAX(name string, target string, icon string)
|
component SidebarButtonNoAJAX(name string, target string, icon string)
|
||||||
a.sidebar-link(href=target, aria-label=name, data-bubble="true")
|
a.sidebar-link(href=target, aria-label=name, data-bubble="true", data-ajax="false")
|
||||||
.sidebar-button
|
.sidebar-button
|
||||||
Icon(icon)
|
Icon(icon)
|
||||||
span.sidebar-text= name
|
span.sidebar-text= name
|
@ -1,9 +1,9 @@
|
|||||||
component Login(target string)
|
component Login(target string)
|
||||||
.login-buttons.mountable
|
.login-buttons.mountable
|
||||||
a.login-button.login-button-google(href="/auth/google", target=target)
|
a.login-button.login-button-google(href="/auth/google", target=target, data-ajax="false")
|
||||||
Icon("google")
|
Icon("google")
|
||||||
span Sign in via Google
|
span Sign in via Google
|
||||||
|
|
||||||
a.login-button.login-button-facebook(href="/auth/facebook", target=target)
|
a.login-button.login-button-facebook(href="/auth/facebook", target=target, data-ajax="false")
|
||||||
Icon("facebook")
|
Icon("facebook")
|
||||||
span Sign in via Facebook
|
span Sign in via Facebook
|
@ -246,7 +246,7 @@ component SettingsAccounts(user *arn.User)
|
|||||||
.widget-section.social-account
|
.widget-section.social-account
|
||||||
label(for="google") Google:
|
label(for="google") Google:
|
||||||
|
|
||||||
a#google.button.social-account-button(href="/auth/google")
|
a#google.button.social-account-button(href="/auth/google", data-ajax="false")
|
||||||
if user.Accounts.Google.ID != ""
|
if user.Accounts.Google.ID != ""
|
||||||
Icon("check")
|
Icon("check")
|
||||||
span Connected
|
span Connected
|
||||||
@ -257,7 +257,7 @@ component SettingsAccounts(user *arn.User)
|
|||||||
.widget-section.social-account
|
.widget-section.social-account
|
||||||
label(for="facebook") Facebook:
|
label(for="facebook") Facebook:
|
||||||
|
|
||||||
a#facebook.button.social-account-button(href="/auth/facebook")
|
a#facebook.button.social-account-button(href="/auth/facebook", data-ajax="false")
|
||||||
if user.Accounts.Facebook.ID != ""
|
if user.Accounts.Facebook.ID != ""
|
||||||
Icon("check")
|
Icon("check")
|
||||||
span Connected
|
span Connected
|
||||||
|
@ -6,7 +6,6 @@ class LoadOptions {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export class Application {
|
export class Application {
|
||||||
ajaxClass: string
|
|
||||||
fadeOutClass: string
|
fadeOutClass: string
|
||||||
activeLinkClass: string
|
activeLinkClass: string
|
||||||
content: HTMLElement
|
content: HTMLElement
|
||||||
@ -18,7 +17,6 @@ export class Application {
|
|||||||
constructor() {
|
constructor() {
|
||||||
this.currentPath = window.location.pathname
|
this.currentPath = window.location.pathname
|
||||||
this.originalPath = window.location.pathname
|
this.originalPath = window.location.pathname
|
||||||
this.ajaxClass = "ajax"
|
|
||||||
this.activeLinkClass = "active"
|
this.activeLinkClass = "active"
|
||||||
this.fadeOutClass = "fade-out"
|
this.fadeOutClass = "fade-out"
|
||||||
}
|
}
|
||||||
@ -150,10 +148,25 @@ export class Application {
|
|||||||
element = document.body
|
element = document.body
|
||||||
}
|
}
|
||||||
|
|
||||||
let links = element.querySelectorAll("." + this.ajaxClass)
|
let links = element.getElementsByTagName("a")
|
||||||
|
|
||||||
for(let i = 0; i < links.length; i++) {
|
for(let i = 0; i < links.length; i++) {
|
||||||
let link = links[i] as HTMLElement
|
let link = links[i] as HTMLAnchorElement
|
||||||
|
|
||||||
|
// Don't ajaxify links to a different host
|
||||||
|
if(link.hostname !== window.location.hostname) {
|
||||||
|
if(!link.target) {
|
||||||
|
link.target = "_blank"
|
||||||
|
}
|
||||||
|
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
// Don't ajaxify links with a target or links that disable ajax specifically
|
||||||
|
if(link.target.length > 0 || link.dataset.ajax === "false") {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
let self = this
|
let self = this
|
||||||
|
|
||||||
link.onclick = function(e) {
|
link.onclick = function(e) {
|
||||||
@ -179,9 +192,11 @@ export class Application {
|
|||||||
scrollToTop() {
|
scrollToTop() {
|
||||||
let parent : HTMLElement | null = this.content
|
let parent : HTMLElement | null = this.content
|
||||||
|
|
||||||
while(parent = parent.parentElement) {
|
Diff.mutations.queue(() => {
|
||||||
parent.scrollTop = 0
|
while(parent = parent.parentElement) {
|
||||||
}
|
parent.scrollTop = 0
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
emit(eventName: string) {
|
emit(eventName: string) {
|
||||||
|
Loading…
Reference in New Issue
Block a user