forked from Shiloh/githaven
12fff36d05
Although it seems that some different purposes are mixed in this PR, however, they are all related, and can be tested together, so I put them together to save everyone's time. Diff: `+79 −84`, everything becomes much better. ### Improve the dropdown settings. Move all fomantic-init related code into our `fomantic.js` Fine-tune some dropdown global settings, see the comments. Also help to fix the first problem in #23625 , cc: @yp05327 The "language" menu has been simplified, and it works with small-height window better. ### Use SVG instead of `<i class="delete icon">` It's also done by `$.fn.dropdown.settings.templates.label` , cc: @silverwind ### Remove incorrect `tabable` CSS class It doesn't have CSS styles, and it was only in Vue. So it's totally unnecessary, remove it by the way. ### Improve the Repo Topic Edit form * Simplify the code * Add a "Cancel" button * Align elements Before: <details> ![image](https://user-images.githubusercontent.com/2114189/223325782-f09532de-0c38-4742-ba86-ed35cc9a858d.png) </details> After: ![image](https://user-images.githubusercontent.com/2114189/226796347-207feb0a-b3cd-4820-8a3e-01930bab1069.png)
199 lines
6.9 KiB
JavaScript
199 lines
6.9 KiB
JavaScript
// bootstrap module must be the first one to be imported, it handles webpack lazy-loading and global errors
|
|
import './bootstrap.js';
|
|
|
|
import $ from 'jquery';
|
|
import {initRepoActivityTopAuthorsChart} from './components/RepoActivityTopAuthors.vue';
|
|
import {initDashboardRepoList} from './components/DashboardRepoList.vue';
|
|
|
|
import {attachTribute} from './features/tribute.js';
|
|
import {initGlobalCopyToClipboardListener} from './features/clipboard.js';
|
|
import {initContextPopups} from './features/contextpopup.js';
|
|
import {initRepoGraphGit} from './features/repo-graph.js';
|
|
import {initHeatmap} from './features/heatmap.js';
|
|
import {initImageDiff} from './features/imagediff.js';
|
|
import {initRepoMigration} from './features/repo-migration.js';
|
|
import {initRepoProject} from './features/repo-projects.js';
|
|
import {initServiceWorker} from './features/serviceworker.js';
|
|
import {initTableSort} from './features/tablesort.js';
|
|
import {initAdminUserListSearchForm} from './features/admin/users.js';
|
|
import {initAdminConfigs} from './features/admin/config.js';
|
|
import {initMarkupAnchors} from './markup/anchors.js';
|
|
import {initNotificationCount, initNotificationsTable} from './features/notification.js';
|
|
import {initRepoIssueContentHistory} from './features/repo-issue-content.js';
|
|
import {initStopwatch} from './features/stopwatch.js';
|
|
import {initFindFileInRepo} from './features/repo-findfile.js';
|
|
import {initCommentContent, initMarkupContent} from './markup/content.js';
|
|
import {initDiffFileTree} from './features/repo-diff-filetree.js';
|
|
|
|
import {initUserAuthLinkAccountView, initUserAuthOauth2} from './features/user-auth.js';
|
|
import {
|
|
initRepoDiffConversationForm,
|
|
initRepoDiffFileViewToggle,
|
|
initRepoDiffReviewButton, initRepoDiffShowMore,
|
|
} from './features/repo-diff.js';
|
|
import {
|
|
initRepoIssueDue,
|
|
initRepoIssueList,
|
|
initRepoIssueReferenceRepositorySearch,
|
|
initRepoIssueTimeTracking,
|
|
initRepoIssueWipTitle,
|
|
initRepoPullRequestMergeInstruction,
|
|
initRepoPullRequestAllowMaintainerEdit,
|
|
initRepoPullRequestReview,
|
|
} from './features/repo-issue.js';
|
|
import {
|
|
initRepoEllipsisButton,
|
|
initRepoCommitLastCommitLoader,
|
|
initCommitStatuses,
|
|
} from './features/repo-commit.js';
|
|
import {
|
|
initFootLanguageMenu,
|
|
initGlobalButtonClickOnEnter,
|
|
initGlobalButtons,
|
|
initGlobalCommon,
|
|
initGlobalDropzone,
|
|
initGlobalEnterQuickSubmit,
|
|
initGlobalFormDirtyLeaveConfirm,
|
|
initGlobalLinkActions,
|
|
initHeadNavbarContentToggle,
|
|
} from './features/common-global.js';
|
|
import {initRepoTopicBar} from './features/repo-home.js';
|
|
import {initAdminEmails} from './features/admin/emails.js';
|
|
import {initAdminCommon} from './features/admin/common.js';
|
|
import {initRepoTemplateSearch} from './features/repo-template.js';
|
|
import {initRepoCodeView} from './features/repo-code.js';
|
|
import {initSshKeyFormParser} from './features/sshkey-helper.js';
|
|
import {initUserSettings} from './features/user-settings.js';
|
|
import {initRepoArchiveLinks} from './features/repo-common.js';
|
|
import {initRepoMigrationStatusChecker} from './features/repo-migrate.js';
|
|
import {
|
|
initRepoSettingGitHook,
|
|
initRepoSettingsCollaboration,
|
|
initRepoSettingSearchTeamBox,
|
|
} from './features/repo-settings.js';
|
|
import {initViewedCheckboxListenerFor} from './features/pull-view-file.js';
|
|
import {initOrgTeamSearchRepoBox, initOrgTeamSettings} from './features/org-team.js';
|
|
import {initUserAuthWebAuthn, initUserAuthWebAuthnRegister} from './features/user-auth-webauthn.js';
|
|
import {initRepoRelease, initRepoReleaseNew} from './features/repo-release.js';
|
|
import {initRepoEditor} from './features/repo-editor.js';
|
|
import {initCompSearchUserBox} from './features/comp/SearchUserBox.js';
|
|
import {initInstall} from './features/install.js';
|
|
import {initCompWebHookEditor} from './features/comp/WebHookEditor.js';
|
|
import {initCommonIssue} from './features/common-issue.js';
|
|
import {initRepoBranchButton} from './features/repo-branch.js';
|
|
import {initCommonOrganization} from './features/common-organization.js';
|
|
import {initRepoWikiForm} from './features/repo-wiki.js';
|
|
import {initRepoCommentForm, initRepository} from './features/repo-legacy.js';
|
|
import {initFormattingReplacements} from './features/formatting.js';
|
|
import {initCopyContent} from './features/copycontent.js';
|
|
import {initCaptcha} from './features/captcha.js';
|
|
import {initRepositoryActionView} from './components/RepoActionView.vue';
|
|
import {initGlobalTooltips} from './modules/tippy.js';
|
|
import {initGiteaFomantic} from './modules/fomantic.js';
|
|
|
|
// Run time-critical code as soon as possible. This is safe to do because this
|
|
// script appears at the end of <body> and rendered HTML is accessible at that point.
|
|
// TODO: replace them with CustomElements
|
|
initFormattingReplacements();
|
|
// Init Gitea's Fomantic settings
|
|
initGiteaFomantic();
|
|
|
|
$(document).ready(() => {
|
|
initGlobalCommon();
|
|
|
|
initGlobalTooltips();
|
|
initGlobalButtonClickOnEnter();
|
|
initGlobalButtons();
|
|
initGlobalCopyToClipboardListener();
|
|
initGlobalDropzone();
|
|
initGlobalEnterQuickSubmit();
|
|
initGlobalFormDirtyLeaveConfirm();
|
|
initGlobalLinkActions();
|
|
|
|
attachTribute(document.querySelectorAll('#content, .emoji-input'));
|
|
|
|
initCommonIssue();
|
|
initCommonOrganization();
|
|
|
|
initCompSearchUserBox();
|
|
initCompWebHookEditor();
|
|
|
|
initInstall();
|
|
|
|
initHeadNavbarContentToggle();
|
|
initFootLanguageMenu();
|
|
|
|
initCommentContent();
|
|
initContextPopups();
|
|
initHeatmap();
|
|
initImageDiff();
|
|
initMarkupAnchors();
|
|
initMarkupContent();
|
|
initServiceWorker();
|
|
initSshKeyFormParser();
|
|
initStopwatch();
|
|
initTableSort();
|
|
initFindFileInRepo();
|
|
initCopyContent();
|
|
|
|
initAdminCommon();
|
|
initAdminEmails();
|
|
initAdminUserListSearchForm();
|
|
initAdminConfigs();
|
|
|
|
initDashboardRepoList();
|
|
|
|
initNotificationCount();
|
|
initNotificationsTable();
|
|
|
|
initOrgTeamSearchRepoBox();
|
|
initOrgTeamSettings();
|
|
|
|
initRepoActivityTopAuthorsChart();
|
|
initRepoArchiveLinks();
|
|
initRepoBranchButton();
|
|
initRepoCodeView();
|
|
initRepoCommentForm();
|
|
initRepoEllipsisButton();
|
|
initRepoCommitLastCommitLoader();
|
|
initRepoDiffConversationForm();
|
|
initRepoDiffFileViewToggle();
|
|
initRepoDiffReviewButton();
|
|
initRepoDiffShowMore();
|
|
initDiffFileTree();
|
|
initRepoEditor();
|
|
initRepoGraphGit();
|
|
initRepoIssueContentHistory();
|
|
initRepoIssueDue();
|
|
initRepoIssueList();
|
|
initRepoIssueReferenceRepositorySearch();
|
|
initRepoIssueTimeTracking();
|
|
initRepoIssueWipTitle();
|
|
initRepoMigration();
|
|
initRepoMigrationStatusChecker();
|
|
initRepoProject();
|
|
initRepoPullRequestMergeInstruction();
|
|
initRepoPullRequestAllowMaintainerEdit();
|
|
initRepoPullRequestReview();
|
|
initRepoRelease();
|
|
initRepoReleaseNew();
|
|
initRepoSettingGitHook();
|
|
initRepoSettingSearchTeamBox();
|
|
initRepoSettingsCollaboration();
|
|
initRepoTemplateSearch();
|
|
initRepoTopicBar();
|
|
initRepoWikiForm();
|
|
initRepository();
|
|
initRepositoryActionView();
|
|
|
|
initCommitStatuses();
|
|
initCaptcha();
|
|
|
|
initUserAuthLinkAccountView();
|
|
initUserAuthOauth2();
|
|
initUserAuthWebAuthn();
|
|
initUserAuthWebAuthnRegister();
|
|
initUserSettings();
|
|
initViewedCheckboxListenerFor();
|
|
});
|