Files

77 lines
2.7 KiB
TypeScript
Raw Permalink Normal View History

import {registerGlobalInitFunc} from '../modules/observer.ts';
2021-10-17 01:28:04 +08:00
import {
2024-11-03 19:00:12 +08:00
initRepoCommentFormAndSidebar,
2022-12-23 17:03:11 +01:00
initRepoIssueBranchSelect, initRepoIssueCodeCommentCancel, initRepoIssueCommentDelete,
2025-03-05 01:58:17 +08:00
initRepoIssueComments, initRepoIssueReferenceIssue,
initRepoIssueTitleEdit, initRepoIssueWipNewTitle, initRepoIssueWipToggle,
} from './repo-issue.ts';
import {initUnicodeEscapeButton} from './repo-unicode-escape.ts';
2024-12-11 23:54:42 +08:00
import {initRepoCloneButtons} from './repo-common.ts';
import {initCitationFileCopyContent} from './citation.ts';
import {initCompLabelEdit} from './comp/LabelEdit.ts';
import {initCompReactionSelector} from './comp/ReactionSelector.ts';
2024-11-03 19:00:12 +08:00
import {initRepoSettings} from './repo-settings.ts';
import {hideElem, queryElemChildren, queryElems, showElem} from '../utils/dom.ts';
import {initRepoIssueCommentEdit} from './repo-issue-edit.ts';
2024-11-03 19:00:12 +08:00
import {initRepoMilestone} from './repo-milestone.ts';
import {initRepoNew} from './repo-new.ts';
import {createApp} from 'vue';
import RepoBranchTagSelector from '../components/RepoBranchTagSelector.vue';
import {initRepoPullMergeBox} from './repo-issue-pull.ts';
function initRepoBranchTagSelector() {
registerGlobalInitFunc('initRepoBranchTagSelector', async (elRoot: HTMLInputElement) => {
createApp(RepoBranchTagSelector, {elRoot}).mount(elRoot);
});
}
export function initBranchSelectorTabs() {
const elSelectBranches = document.querySelectorAll('.ui.dropdown.select-branch');
for (const elSelectBranch of elSelectBranches) {
queryElems(elSelectBranch, '.reference.column', (el) => el.addEventListener('click', () => {
hideElem(elSelectBranch.querySelectorAll('.scrolling.reference-list-menu'));
2025-12-03 03:13:16 +01:00
showElem(el.getAttribute('data-target')!);
queryElemChildren(el.parentNode!, '.branch-tag-item', (el) => el.classList.remove('active'));
el.classList.add('active');
}));
}
2024-12-11 23:54:42 +08:00
}
export function initRepository() {
const pageContent = document.querySelector('.page-content.repository');
if (!pageContent) return;
2021-10-17 01:28:04 +08:00
initRepoBranchTagSelector();
2024-11-03 19:00:12 +08:00
initRepoCommentFormAndSidebar();
2021-10-17 01:28:04 +08:00
// Labels
2024-12-08 10:35:28 +08:00
initCompLabelEdit('.page-content.repository.labels');
2024-11-03 19:00:12 +08:00
initRepoMilestone();
initRepoNew();
2021-10-17 01:28:04 +08:00
2024-12-11 14:54:30 +01:00
initRepoCloneButtons();
initCitationFileCopyContent();
2024-11-03 19:00:12 +08:00
initRepoSettings();
2025-03-05 01:58:17 +08:00
initRepoIssueWipNewTitle();
2021-10-17 01:28:04 +08:00
// Issues
if (pageContent.matches('.page-content.repository.view.issue')) {
initRepoIssueCommentEdit();
2021-10-17 01:28:04 +08:00
initRepoIssueBranchSelect();
initRepoIssueTitleEdit();
initRepoIssueWipToggle();
initRepoIssueComments();
initRepoIssueReferenceIssue();
initRepoIssueCommentDelete();
initRepoIssueCodeCommentCancel();
initCompReactionSelector();
2022-05-12 21:39:02 +08:00
registerGlobalInitFunc('initRepoPullMergeBox', initRepoPullMergeBox);
2021-10-17 01:28:04 +08:00
}
initUnicodeEscapeButton();
2021-10-17 01:28:04 +08:00
}