Skip to content

Commit

Permalink
Update delegate-it (refined-github#6563)
Browse files Browse the repository at this point in the history
  • Loading branch information
fregante authored Apr 25, 2023
1 parent 9d80ba2 commit aa62e15
Show file tree
Hide file tree
Showing 57 changed files with 99 additions and 101 deletions.
2 changes: 1 addition & 1 deletion contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ function append(event: DelegateEvent<MouseEvent, HTMLButtonElement>): void {

function init(signal: AbortSignal): void {
// Events must be set via delegate, unless shortlived
delegate(document, '.btn', 'click', append, {signal});
delegate('.btn', 'click', append, {signal});
}

void features.add(import.meta.url, {
Expand Down
33 changes: 18 additions & 15 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
"code-tag": "^1.1.0",
"debounce-fn": "^5.1.2",
"delay": "^5.0.0",
"delegate-it": "^5.0.0",
"delegate-it": "^6.0.1",
"dom-chef": "^5.1.0",
"dom-loaded": "^3.0.0",
"doma": "^3.0.2",
Expand Down
2 changes: 1 addition & 1 deletion source/features/avoid-accidental-submissions.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ const inputElements = [
];

function init(signal: AbortSignal): void {
delegate(document, inputElements.join(','), 'keydown', onKeyDown, {signal});
delegate(inputElements.join(','), 'keydown', onKeyDown, {signal});
}

void features.add(import.meta.url, {
Expand Down
8 changes: 4 additions & 4 deletions source/features/batch-mark-files-as-viewed.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,10 @@ function avoidSelectionOnShiftClick(event: MouseEvent): void {
}

function init(signal: AbortSignal): void {
delegate(document, '.js-reviewed-toggle', 'click', onAltClick, {signal});
delegate(document, '.js-reviewed-toggle', 'click', batchToggle, {signal});
delegate(document, '.js-reviewed-toggle', 'mousedown', avoidSelectionOnShiftClick, {signal});
delegate(document, '.js-toggle-user-reviewed-file-form', 'submit', remember, {signal});
delegate('.js-reviewed-toggle', 'click', onAltClick, {signal});
delegate('.js-reviewed-toggle', 'click', batchToggle, {signal});
delegate('.js-reviewed-toggle', 'mousedown', avoidSelectionOnShiftClick, {signal});
delegate('.js-toggle-user-reviewed-file-form', 'submit', remember, {signal});
onAbort(signal, () => {
previousFile = undefined;
});
Expand Down
2 changes: 1 addition & 1 deletion source/features/close-out-of-view-modals.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ function menuActivatedHandler(event: DelegateEvent): void {
}

function init(): void {
delegate(document, '.details-overlay', 'toggle', menuActivatedHandler, {capture: true, signal: safetySwitch.signal});
delegate('.details-overlay', 'toggle', menuActivatedHandler, {capture: true, signal: safetySwitch.signal});
}

void features.add(import.meta.url, {
Expand Down
2 changes: 1 addition & 1 deletion source/features/collapsible-content-button.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ function addButtons(referenceButton: HTMLElement): void {

function init(signal: AbortSignal): void {
observe('md-ref', addButtons, {signal});
delegate(document, '.rgh-collapsible-content-btn', 'click', addContentToDetails, {signal});
delegate('.rgh-collapsible-content-btn', 'click', addContentToDetails, {signal});
}

void features.add(import.meta.url, {
Expand Down
2 changes: 1 addition & 1 deletion source/features/command-palette-navigation-shortcuts.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ function commandPaletteKeydown(event: DelegateEvent<KeyboardEvent>): void {
}

function init(): void {
delegate(document, 'command-palette', 'keydown', commandPaletteKeydown);
delegate('command-palette', 'keydown', commandPaletteKeydown);
}

void features.add(import.meta.url, {
Expand Down
2 changes: 1 addition & 1 deletion source/features/convert-pr-to-draft-improvements.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ function addConvertToDraftButton(alternativeActions: Element): void {

function init(signal: AbortSignal): void {
// Immediately close lightbox after click instead of waiting for the ajaxed widget to refresh
delegate(document, '.js-convert-to-draft', 'click', closeModal, {signal});
delegate('.js-convert-to-draft', 'click', closeModal, {signal});

// Copy button to mergeability box
observe('.alt-merge-options', addConvertToDraftButton, {signal});
Expand Down
2 changes: 1 addition & 1 deletion source/features/convert-release-to-draft.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ async function init(signal: AbortSignal): Promise<void | false> {
await api.expectToken();

observe(getReleaseEditLinkSelector(), attachButton, {signal});
delegate(document, '.rgh-convert-draft', 'click', onConvertClick, {signal});
delegate('.rgh-convert-draft', 'click', onConvertClick, {signal});
}

void features.add(import.meta.url, {
Expand Down
2 changes: 1 addition & 1 deletion source/features/deep-reblame.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ async function redirectToBlameCommit(event: DelegateEvent<MouseEvent, HTMLAnchor
}

function init(signal: AbortSignal): void {
delegate(document, '.rgh-deep-reblame', 'click', redirectToBlameCommit, {signal});
delegate('.rgh-deep-reblame', 'click', redirectToBlameCommit, {signal});
observe('[data-hovercard-type="pull_request"]', pullRequest => {
const hunk = pullRequest.closest('.blame-hunk')!;

Expand Down
2 changes: 1 addition & 1 deletion source/features/dim-bots.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ function init(signal: AbortSignal): void {
}

// Undim on mouse focus
delegate(document, dimBots.selector, 'click', undimBots, {signal});
delegate(dimBots.selector, 'click', undimBots, {signal});

// Undim on keyboard focus
document.documentElement.addEventListener('navigation:keydown', undimBots, {once: true, signal});
Expand Down
2 changes: 1 addition & 1 deletion source/features/easy-toggle-commit-messages.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ const commitMessagesSelector = [
].join(',');

function init(signal: AbortSignal): void {
delegate(document, commitMessagesSelector, 'click', toggleCommitMessage, {signal});
delegate(commitMessagesSelector, 'click', toggleCommitMessage, {signal});
}

void features.add(import.meta.url, {
Expand Down
2 changes: 1 addition & 1 deletion source/features/easy-toggle-files.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ function toggleFile(event: DelegateEvent<MouseEvent>): void {
}

function init(signal: AbortSignal): void {
delegate(document, '.file-header', 'click', toggleFile, {signal});
delegate('.file-header', 'click', toggleFile, {signal});
}

void features.add(import.meta.url, {
Expand Down
2 changes: 1 addition & 1 deletion source/features/enable-file-links-in-compare-view.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ function handleCompareMenuOpening({delegateTarget: dropdown}: DelegateEvent): vo
function init(signal: AbortSignal): void {
const handleMenuOpening = pageDetect.isCompare() ? handleCompareMenuOpening : handlePRMenuOpening;
// `capture: true` required to be fired before GitHub's handlers
delegate(document, '.file-header:not([data-file-deleted="true"]) .js-file-header-dropdown:not(.rgh-actionable-link)', 'toggle', handleMenuOpening, {capture: true, signal});
delegate('.file-header:not([data-file-deleted="true"]) .js-file-header-dropdown:not(.rgh-actionable-link)', 'toggle', handleMenuOpening, {capture: true, signal});
}

void features.add(import.meta.url, {
Expand Down
2 changes: 1 addition & 1 deletion source/features/expand-all-hidden-comments.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ async function handleAltClick({altKey, delegateTarget}: DelegateEvent<MouseEvent
}

function init(signal: AbortSignal): void {
delegate(document, paginationButtonSelector, 'click', handleAltClick, {signal});
delegate(paginationButtonSelector, 'click', handleAltClick, {signal});
}

void features.add(import.meta.url, {
Expand Down
2 changes: 1 addition & 1 deletion source/features/extend-diff-expander.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ function expandDiff(event: DelegateEvent): void {

function init(signal: AbortSignal): void {
document.body.classList.add('rgh-extend-diff-expander');
delegate(document, '.diff-view .js-expandable-line', 'click', expandDiff, {signal});
delegate('.diff-view .js-expandable-line', 'click', expandDiff, {signal});
}

void features.add(import.meta.url, {
Expand Down
2 changes: 1 addition & 1 deletion source/features/fit-textareas.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ function fitPrCommitMessageBox(): void {

function init(signal: AbortSignal): void {
// Exclude PR review box because it's in a `position:fixed` container; The scroll HAS to appear within the fixed element.
delegate(document, 'textarea:not(#pull_request_review_body)', 'focusin', focusListener, {signal});
delegate('textarea:not(#pull_request_review_body)', 'focusin', focusListener, {signal});

for (const textArea of select.all('textarea')) {
watchTextarea(textArea);
Expand Down
2 changes: 1 addition & 1 deletion source/features/git-checkout-pr.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ async function handleMenuOpening({delegateTarget: dropdown}: DelegateEvent): Pro

function init(signal: AbortSignal): void {
// `capture: true` required to be fired before GitHub's handlers
delegate(document, '.gh-header-actions Details:not(.rgh-git-checkout)', 'toggle', handleMenuOpening, {capture: true, signal});
delegate('.gh-header-actions Details:not(.rgh-git-checkout)', 'toggle', handleMenuOpening, {capture: true, signal});
}

void features.add(import.meta.url, {
Expand Down
2 changes: 1 addition & 1 deletion source/features/hidden-review-comments-indicator.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ function init(signal: AbortSignal): void {
});
});

delegate(document, '.rgh-comments-indicator', 'click', handleIndicatorClick, {signal});
delegate('.rgh-comments-indicator', 'click', handleIndicatorClick, {signal});

onAbort(signal, indicatorToggleObserver);
}
Expand Down
2 changes: 1 addition & 1 deletion source/features/hide-low-quality-comments.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ function init(): void | false {
);

// No need to add the signal here
delegate(document, '.rgh-unhide-low-quality-comments', 'click', unhide);
delegate('.rgh-unhide-low-quality-comments', 'click', unhide);
}
}

Expand Down
2 changes: 1 addition & 1 deletion source/features/more-file-links.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ function handleMenuOpening({delegateTarget: dropdown}: DelegateEvent): void {

function init(signal: AbortSignal): void {
// `capture: true` required to be fired before GitHub's handlers
delegate(document, '.file-header .js-file-header-dropdown:not(.rgh-more-file-links)', 'toggle', handleMenuOpening, {capture: true, signal});
delegate('.file-header .js-file-header-dropdown:not(.rgh-more-file-links)', 'toggle', handleMenuOpening, {capture: true, signal});
}

void features.add(import.meta.url, {
Expand Down
2 changes: 1 addition & 1 deletion source/features/new-repo-disable-projects-and-wikis.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ async function init(signal: AbortSignal): Promise<void> {
),
});

delegate(document, '#new_repository, #new_new_repository', 'submit', setStorage, {signal});
delegate('#new_repository, #new_new_repository', 'submit', setStorage, {signal});
}

void features.add(import.meta.url, {
Expand Down
4 changes: 2 additions & 2 deletions source/features/one-click-review-submission.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,10 @@ function handleSubmission(event: DelegateEvent): void {

function init(signal: AbortSignal): false | void {
// Freeze form to avoid duplicate submissions
delegate(document, '[action$="/reviews"]', 'submit', handleSubmission, {signal});
delegate('[action$="/reviews"]', 'submit', handleSubmission, {signal});

// This will prevent submission when clicking "Comment" and "Request changes" without entering a comment and no other review comments are pending
delegate(document, '[action$="/reviews"] button', 'click', ({delegateTarget: {value, form}}) => {
delegate('[action$="/reviews"] button', 'click', ({delegateTarget: {value, form}}) => {
const pendingComments = looseParseInt(select('.js-reviews-toggle .js-pending-review-comment-count'));
const submissionRequiresComment = pendingComments === 0 && (value === 'reject' || value === 'comment');
select('#pull_request_review_body', form!)!.toggleAttribute('required', submissionRequiresComment);
Expand Down
2 changes: 1 addition & 1 deletion source/features/one-key-formatting.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ function init(signal: AbortSignal): void {
onCommentFieldKeydown(eventHandler, signal);
onConversationTitleFieldKeydown(eventHandler, signal);
onCommitTitleFieldKeydown(eventHandler, signal);
delegate(document, 'input[name="commit_title"], input[name="gist[description]"], #saved-reply-title-field', 'keydown', eventHandler, {signal});
delegate('input[name="commit_title"], input[name="gist[description]"], #saved-reply-title-field', 'keydown', eventHandler, {signal});
}

void features.add(import.meta.url, {
Expand Down
2 changes: 1 addition & 1 deletion source/features/open-all-conversations.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ async function init(signal: AbortSignal): Promise<void | false> {
)},
);

delegate(document, 'button.rgh-open-all-conversations', 'click', onButtonClick, {signal});
delegate('button.rgh-open-all-conversations', 'click', onButtonClick, {signal});
}

void features.add(import.meta.url, {
Expand Down
4 changes: 2 additions & 2 deletions source/features/open-all-notifications.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -117,8 +117,8 @@ function addToMainHeader(notificationHeader: HTMLElement): void {
}

function init(signal: AbortSignal): void {
delegate(document, openSelected.selector, 'click', openSelectedNotifications, {signal});
delegate(document, openUnread.selector, 'click', openUnreadNotifications, {signal});
delegate(openSelected.selector, 'click', openSelectedNotifications, {signal});
delegate(openUnread.selector, 'click', openUnreadNotifications, {signal});

observe(notificationHeaderSelector + ' .js-notifications-mark-selected-actions', addSelectedButton, {signal});
observe(notificationHeaderSelector, addToMainHeader, {signal});
Expand Down
2 changes: 1 addition & 1 deletion source/features/pr-jump-to-first-non-viewed-file.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ const selector = '.diffbar-item progress-bar';
async function init(signal: AbortSignal): Promise<void> {
const bar = await elementReady(selector);
bar!.style.cursor = 'pointer';
delegate(document, selector, 'click', jumpToFirstNonViewed, {signal});
delegate(selector, 'click', jumpToFirstNonViewed, {signal});
}

void features.add(import.meta.url, {
Expand Down
2 changes: 1 addition & 1 deletion source/features/prevent-duplicate-pr-submission.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ function preventSubmit(event: DelegateEvent): void {
}

function init(signal: AbortSignal): void {
delegate(document, '#new_pull_request', 'submit', preventSubmit, {signal});
delegate('#new_pull_request', 'submit', preventSubmit, {signal});
}

void features.add(import.meta.url, {
Expand Down
4 changes: 2 additions & 2 deletions source/features/prevent-link-loss.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,8 @@ const updateUI = debounceFn(({delegateTarget: field}: DelegateEvent<Event, HTMLT
});

function init(signal: AbortSignal): void {
delegate(document, 'form:is(#new_issue, #new_release) textarea, form.js-new-comment-form textarea, textarea.comment-form-textarea', 'input', updateUI, {signal});
delegate(document, '.rgh-prevent-link-loss', 'click', handleButtonClick, {signal});
delegate('form:is(#new_issue, #new_release) textarea, form.js-new-comment-form textarea, textarea.comment-form-textarea', 'input', updateUI, {signal});
delegate('.rgh-prevent-link-loss', 'click', handleButtonClick, {signal});
}

void features.add(import.meta.url, {
Expand Down
4 changes: 2 additions & 2 deletions source/features/quick-comment-hiding.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,8 @@ function showSubmenu(event: DelegateEvent): void {

function init(signal: AbortSignal): void {
// `capture: true` required to be fired before GitHub's handlers
delegate(document, '.js-comment-hide-button', 'click', showSubmenu, {capture: true, signal});
delegate(document, '.rgh-quick-comment-hiding-details', 'toggle', resetDropdowns, {capture: true, signal});
delegate('.js-comment-hide-button', 'click', showSubmenu, {capture: true, signal});
delegate('.rgh-quick-comment-hiding-details', 'toggle', resetDropdowns, {capture: true, signal});
}

void features.add(import.meta.url, {
Expand Down
2 changes: 1 addition & 1 deletion source/features/quick-label-removal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ function addRemoveLabelButton(label: HTMLElement): void {
async function init(signal: AbortSignal): Promise<void> {
await api.expectToken();

delegate(document, '.rgh-quick-label-removal:not([disabled])', 'click', removeLabelButtonClickHandler, {signal});
delegate('.rgh-quick-label-removal:not([disabled])', 'click', removeLabelButtonClickHandler, {signal});

observe('.js-issue-labels .IssueLabel', addRemoveLabelButton, {signal});
}
Expand Down
2 changes: 1 addition & 1 deletion source/features/quick-mention.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ async function init(signal: AbortSignal): Promise<void> {
return;
}

delegate(document, 'button.rgh-quick-mention', 'click', mentionUser, {signal});
delegate('button.rgh-quick-mention', 'click', mentionUser, {signal});

// `:first-child` avoids app badges #2630
// The hovercard attribute avoids `highest-rated-comment`
Expand Down
2 changes: 1 addition & 1 deletion source/features/quick-repo-deletion.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ async function init(signal: AbortSignal): Promise<void | false> {
),
});

delegate(document, '.rgh-quick-repo-deletion[open]', 'toggle', handleToggle, {capture: true, signal});
delegate('.rgh-quick-repo-deletion[open]', 'toggle', handleToggle, {capture: true, signal});
}

void features.add(import.meta.url, {
Expand Down
4 changes: 2 additions & 2 deletions source/features/quick-review-comment-deletion.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ function addDeleteButton(cancelButton: Element): void {
}

function init(signal: AbortSignal): void {
delegate(document, '.rgh-review-comment-delete-button', 'click', onButtonClick, {signal});
delegate(document, '.rgh-quick-comment-edit-button', 'click', preloadDropdown, {signal});
delegate('.rgh-review-comment-delete-button', 'click', onButtonClick, {signal});
delegate('.rgh-quick-comment-edit-button', 'click', preloadDropdown, {signal});
observe('.review-comment .js-comment-cancel-button', addDeleteButton, {signal});
}

Expand Down
Loading

0 comments on commit aa62e15

Please sign in to comment.