Merge branch 'main' into feature/bots

This commit is contained in:
Jason Song
2022-11-28 17:23:53 +08:00
committed by GitHub
1879 changed files with 2028 additions and 3855 deletions

View File

@ -260,6 +260,7 @@ export function initGlobalLinkActions() {
e.preventDefault();
const $this = $(this);
const redirect = $this.data('redirect');
$this.prop('disabled', true);
$.post($this.data('url'), {
_csrf: csrfToken
}).done((data) => {
@ -270,6 +271,8 @@ export function initGlobalLinkActions() {
} else {
window.location.reload();
}
}).always(() => {
$this.prop('disabled', false);
});
}
@ -283,11 +286,14 @@ export function initGlobalLinkActions() {
// FIXME: this is only used once, and should be replace with `link-action` instead
$('.undo-button').on('click', function () {
const $this = $(this);
$this.prop('disabled', true);
$.post($this.data('url'), {
_csrf: csrfToken,
id: $this.data('id')
}).done((data) => {
window.location.href = data.redirect;
}).always(() => {
$this.prop('disabled', false);
});
});
}

View File

@ -2,10 +2,11 @@ import {svg} from '../svg.js';
const headingSelector = '.markup h1, .markup h2, .markup h3, .markup h4, .markup h5, .markup h6';
function scrollToAnchor() {
if (document.querySelector(':target')) return;
if (!window.location.hash || window.location.hash.length <= 1) return;
const id = decodeURIComponent(window.location.hash.substring(1));
function scrollToAnchor(hash, initial) {
// abort if the browser has already scrolled to another anchor during page load
if (initial && document.querySelector(':target')) return;
if (hash?.length <= 1) return;
const id = decodeURIComponent(hash.substring(1));
const el = document.getElementById(`user-content-${id}`);
if (el) {
el.scrollIntoView();
@ -24,9 +25,11 @@ export function initMarkupAnchors() {
a.classList.add('anchor');
a.setAttribute('href', `#${encodeURIComponent(originalId)}`);
a.innerHTML = svg('octicon-link');
a.addEventListener('click', (e) => {
scrollToAnchor(e.currentTarget.getAttribute('href'), false);
});
heading.prepend(a);
}
scrollToAnchor();
window.addEventListener('hashchange', scrollToAnchor);
scrollToAnchor(window.location.hash, true);
}