gitea源码

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. import {registerGlobalInitFunc} from '../modules/observer.ts';
  2. import {
  3. initRepoCommentFormAndSidebar,
  4. initRepoIssueBranchSelect, initRepoIssueCodeCommentCancel, initRepoIssueCommentDelete,
  5. initRepoIssueComments, initRepoIssueReferenceIssue,
  6. initRepoIssueTitleEdit, initRepoIssueWipNewTitle, initRepoIssueWipToggle,
  7. } from './repo-issue.ts';
  8. import {initUnicodeEscapeButton} from './repo-unicode-escape.ts';
  9. import {initRepoCloneButtons} from './repo-common.ts';
  10. import {initCitationFileCopyContent} from './citation.ts';
  11. import {initCompLabelEdit} from './comp/LabelEdit.ts';
  12. import {initCompReactionSelector} from './comp/ReactionSelector.ts';
  13. import {initRepoSettings} from './repo-settings.ts';
  14. import {hideElem, queryElemChildren, queryElems, showElem} from '../utils/dom.ts';
  15. import {initRepoIssueCommentEdit} from './repo-issue-edit.ts';
  16. import {initRepoMilestone} from './repo-milestone.ts';
  17. import {initRepoNew} from './repo-new.ts';
  18. import {createApp} from 'vue';
  19. import RepoBranchTagSelector from '../components/RepoBranchTagSelector.vue';
  20. import {initRepoPullMergeBox} from './repo-issue-pull.ts';
  21. function initRepoBranchTagSelector() {
  22. registerGlobalInitFunc('initRepoBranchTagSelector', async (elRoot: HTMLInputElement) => {
  23. createApp(RepoBranchTagSelector, {elRoot}).mount(elRoot);
  24. });
  25. }
  26. export function initBranchSelectorTabs() {
  27. const elSelectBranches = document.querySelectorAll('.ui.dropdown.select-branch');
  28. for (const elSelectBranch of elSelectBranches) {
  29. queryElems(elSelectBranch, '.reference.column', (el) => el.addEventListener('click', () => {
  30. hideElem(elSelectBranch.querySelectorAll('.scrolling.reference-list-menu'));
  31. showElem(el.getAttribute('data-target'));
  32. queryElemChildren(el.parentNode, '.branch-tag-item', (el) => el.classList.remove('active'));
  33. el.classList.add('active');
  34. }));
  35. }
  36. }
  37. export function initRepository() {
  38. const pageContent = document.querySelector('.page-content.repository');
  39. if (!pageContent) return;
  40. initRepoBranchTagSelector();
  41. initRepoCommentFormAndSidebar();
  42. // Labels
  43. initCompLabelEdit('.page-content.repository.labels');
  44. initRepoMilestone();
  45. initRepoNew();
  46. initRepoCloneButtons();
  47. initCitationFileCopyContent();
  48. initRepoSettings();
  49. initRepoIssueWipNewTitle();
  50. // Issues
  51. if (pageContent.matches('.page-content.repository.view.issue')) {
  52. initRepoIssueCommentEdit();
  53. initRepoIssueBranchSelect();
  54. initRepoIssueTitleEdit();
  55. initRepoIssueWipToggle();
  56. initRepoIssueComments();
  57. initRepoIssueReferenceIssue();
  58. initRepoIssueCommentDelete();
  59. initRepoIssueCodeCommentCancel();
  60. initCompReactionSelector();
  61. registerGlobalInitFunc('initRepoPullMergeBox', initRepoPullMergeBox);
  62. }
  63. initUnicodeEscapeButton();
  64. }