RSS Git Download  Clone
Raw View History
Blames found: 95 Mode: javascript Binary: false


Hang on, we reloading big blames...
let $body; let $head;
const Cookies = require('js-cookie')
const scrollIntoViewOptions = {
behavior: "instant",
// block: "start", // inline: "start"
} const navbarHeight = 80; const scrollIntoView = (el) => { el.scrollIntoView(scrollIntoViewOptions)
/*
if ((window.innerHeight + window.scrollY) <= document.body.offsetHeight - navbarHeight ) {
window.scrollBy(0, -navbarHeight )
}
*/
}
window.gitlist.scrollIntoView = scrollIntoView;
/*
const regExpEmail = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; window.gitlist.validate = { email: (email) => { return regExpEmail.test(String(email)); } }
*/
window.gitlist.ajaxErrorHandler = (e) => { $.snackbar({ htmlAllowed: true, content: e.message, timeout: window.gitlist.snapckbarLongTimeout, }) console.error(e); }
window.gitlist.getPaths = () => { const currentUrl = new URL(window.location) if (window.gitlist.basepath !== '') { currentUrl.pathname = currentUrl.pathname.substring(window.gitlist.basepath.length) } let paths = currentUrl.pathname.split('/'); return paths; }
window.gitlist.clearInput = (name) => { const input = $(`[name=${name}]`) input.val('') Cookies.set(`p3x-gitlist-${name}`, '', window.gitlist.cookieSettings) input.focus() } window.gitlist.setInputQuery = (name) => { const input = $(`[name=${name}]`) Cookies.set(`p3x-gitlist-${name}`, input.val(), window.gitlist.cookieSettings) }
window.gitlist.isDark =(theme = window.gitlist.getActualTheme()) => {
for(let i = 0; i < window.gitlist.dark.length; i++ ) {
if (window.gitlist.dark[i] === theme) { return true; } } return false; }
window.gitlist.cookieSettings = { path: gitlist.basepath === '' ? '/' : gitlist.basepath, expires: 3650 }
window.gitlist.getActualTheme = (theme = window.gitlist.getThemeCookie()) => {
const actualTheme = theme.split('-')[1] return actualTheme; } window.gitlist.getActualThemeCodemirror = () => { if (window.gitlist.isDark(window.gitlist.getActualTheme())) { return window.gitlist.codemirrorTheme.dark; } else { return window.gitlist.codemirrorTheme.light; } }
let currentTheme; let setTimeoutSwitch;
window.gitlist.setTheme = () => {
if ($body === undefined) {
setTimeout(() => {
window.gitlist.setTheme()
}) return; }
const theme = window.gitlist.getActualTheme();
// console.log('theming', 'currenTheme', currentTheme, 'new theme', theme); if (theme === currentTheme) { // console.log('same theme') return; }
const diffButtons = $('.p3x-gitlist-diff-button.active');
//console.log(diffButtons)
for(let diffButton of diffButtons ) { diffButton.click(); }
const switchThemeActually = () => { currentTheme = theme;
/*
const themeFragmentFileCodeMirror = (options) => {
const { theme } = options
for(let cm of window.gitlist.fragmentFileCodeMirror) {
cm.setOption("theme", theme); }
}
*/ let bodyAddClass let bodyRemoveClass let codeMirrorTheme if (window.gitlist.isDark(theme)) { bodyAddClass = 'p3x-gitlist-dark' bodyRemoveClass = 'p3x-gitlist-light' codeMirrorTheme = window.gitlist.codemirrorTheme.dark } else { bodyAddClass = 'p3x-gitlist-light' bodyRemoveClass = 'p3x-gitlist-dark' codeMirrorTheme = window.gitlist.codemirrorTheme.light
}
$body.addClass(bodyAddClass) $body.removeClass(bodyRemoveClass) if (gitlist.viewer !== undefined) { gitlist.viewer.setOption("theme", codeMirrorTheme); }
if (gitlist.fragmentFileCodeMirror !== undefined) { gitlist.fragmentFileCodeMirror.setOption("theme", codeMirrorTheme);
} window.gitlist.networkRedraw(); window.gitlist.treegraph(); // if (window.gitlist.lastloadSpan !== undefined && window.gitlist.lastloadSpan > 1000) { clearTimeout(setTimeoutSwitch) setTimeoutSwitch = setTimeout(() => { $('.p3x-gitlist-overlay').remove(); }, 250)
}
// console.log('p3x-gitlist switching theme') // } if (diffButtons.length > 0) { $.snackbar({ content: `We hid the shown diffs, to make the theme switching faster.`, timeout: window.gitlist.snapckbarLongTimeout, }); window.scrollTo(0, 0); setTimeout(switchThemeActually, 250) } else { switchThemeActually()
}
}
const pushHash = (hash) => { if(history.pushState) { const pushState = location.pathname + hash; history.pushState(null, null, pushState); } else { location.hash = hash; } }
window.gitlist.pushHash = pushHash;
global.gitlist.scrollHash = function(element, event) { const url = new URL(element.href) const id = url.hash.substring(1) const elfind = document.getElementById(id + '-parent')
const elfind2 = document.getElementById(id) if (elfind === null && elfind2 === null) {
return true; }
scrollIntoView(elfind || elfind2);
if (event !== undefined) { event.preventDefault() pushHash(url.hash) } return false; }
$(function () {
currentTheme = window.gitlist.getActualTheme(window.gitlist.loadTheme)
$('.dropdown-toggle').dropdown();
$('[data-toggle="tooltip"]').tooltip()
$body = $('body');
$head = $('head')
// let waiter = 500; // let timeout = 500;
/*
Object.values(window.gitlist.themes).forEach(css => {
// setTimeout(() => {
$head.append(`<link as="style" rel="prefetch" href="${css}">`)
// }, timeout) // timeout += waiter;
})
*/
const es = document.getElementsByTagName('a') for(let i=0; i<es.length; i++){ es[i].addEventListener('click', function(e) { const href = e.target.getAttribute('href'); if (href === null) { return; } if (href.startsWith('#')) { e.preventDefault()
const hash = href.substring(1); const el = document.getElementById(hash);
if (el === null) { return; }
scrollIntoView(el);
pushHash(href)
} }) }
/*
$('.search').click(function (e) { e.stopPropagation(); });
*/
if (window.gitlist.lastload !== undefined) { window.gitlist.lastloadSpan = Date.now() - window.gitlist.lastload; } $('.p3x-gitlist-overlay').remove(); global.gitlist.scrollHash(location)
window.gitlist.networkRedraw(); window.gitlist.treegraph(); gitlist.setTheme()
});