Skip to content

Commit f21a54f

Browse files
committed
fix
1 parent 1a811c0 commit f21a54f

File tree

1 file changed

+123
-101
lines changed

1 file changed

+123
-101
lines changed

web_src/js/index.js

Lines changed: 123 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -94,110 +94,132 @@ import {
9494
import {initGlobalDropzone} from './features/dropzone.js';
9595
import {initGlobalEnterQuickSubmit, initGlobalFormDirtyLeaveConfirm} from './features/common-form.js';
9696

97-
// Init Gitea's Fomantic settings
9897
initGiteaFomantic();
9998
initDirAuto();
10099
initSubmitEventPolyfill();
101100

101+
function callInitFunctions(functions) {
102+
// Start performance trace by accessing a URL by "https://localhost/?_ui_performance_trace=1" or "https://localhost/?key=value&_ui_performance_trace=1"
103+
// It is a quick check, no side effect so no need to do slow URL parsing.
104+
if (window.location.search.includes('_ui_performance_trace=1')) {
105+
let results = [];
106+
for (const func of functions) {
107+
const start = performance.now();
108+
func();
109+
results.push({name: func.name, dur: performance.now() - start});
110+
}
111+
results = results.sort((a, b) => b.dur - a.dur);
112+
for (let i = 0; i < 20 && i < results.length; i++) {
113+
console.log('performance trace:', results[i].name, results[i].dur.toFixed(3)); // eslint-disable-line no-console
114+
}
115+
} else {
116+
for (const func of functions) {
117+
func();
118+
}
119+
}
120+
}
121+
102122
onDomReady(() => {
103-
initGlobalDropdown();
104-
initGlobalTabularMenu();
105-
initGlobalShowModal();
106-
initGlobalFetchAction();
107-
initGlobalTooltips();
108-
initGlobalButtonClickOnEnter();
109-
initGlobalButtons();
110-
initGlobalCopyToClipboardListener();
111-
initGlobalDropzone();
112-
initGlobalEnterQuickSubmit();
113-
initGlobalFormDirtyLeaveConfirm();
114-
initGlobalDeleteButton();
115-
116-
initCommonOrganization();
117-
initCommonIssueListQuickGoto();
118-
119-
initCompSearchUserBox();
120-
initCompWebHookEditor();
121-
122-
initInstall();
123-
124-
initHeadNavbarContentToggle();
125-
initFootLanguageMenu();
126-
127-
initCommentContent();
128-
initContextPopups();
129-
initHeatmap();
130-
initImageDiff();
131-
initMarkupAnchors();
132-
initMarkupContent();
133-
initSshKeyFormParser();
134-
initStopwatch();
135-
initTableSort();
136-
initAutoFocusEnd();
137-
initFindFileInRepo();
138-
initCopyContent();
139-
140-
initAdminCommon();
141-
initAdminEmails();
142-
initAdminUserListSearchForm();
143-
initAdminConfigs();
144-
initAdminSelfCheck();
145-
146-
initDashboardRepoList();
147-
148-
initNotificationCount();
149-
initNotificationsTable();
150-
151-
initOrgTeamSearchRepoBox();
152-
initOrgTeamSettings();
153-
154-
initRepoActivityTopAuthorsChart();
155-
initRepoArchiveLinks();
156-
initRepoBranchButton();
157-
initRepoCodeView();
158-
initRepoCommentForm();
159-
initRepoEllipsisButton();
160-
initRepoDiffCommitBranchesAndTags();
161-
initRepoEditor();
162-
initRepoGraphGit();
163-
initRepoIssueContentHistory();
164-
initRepoIssueDue();
165-
initRepoIssueList();
166-
initRepoIssueSidebarList();
167-
initArchivedLabelHandler();
168-
initRepoIssueReferenceRepositorySearch();
169-
initRepoIssueTimeTracking();
170-
initRepoIssueWipTitle();
171-
initRepoMigration();
172-
initRepoMigrationStatusChecker();
173-
initRepoProject();
174-
initRepoPullRequestMergeInstruction();
175-
initRepoPullRequestAllowMaintainerEdit();
176-
initRepoPullRequestReview();
177-
initRepoRelease();
178-
initRepoReleaseNew();
179-
initRepoSettingGitHook();
180-
initRepoSettingSearchTeamBox();
181-
initRepoSettingsCollaboration();
182-
initRepoTemplateSearch();
183-
initRepoTopicBar();
184-
initRepoUncycloForm();
185-
initRepository();
186-
initRepositoryActionView();
187-
initRepositorySearch();
188-
initRepoContributors();
189-
initRepoCodeFrequency();
190-
initRepoRecentCommits();
191-
192-
initCommitStatuses();
193-
initCaptcha();
194-
195-
initUserAuthOauth2();
196-
initUserAuthWebAuthn();
197-
initUserAuthWebAuthnRegister();
198-
initUserSettings();
199-
initRepoDiffView();
200-
initPdfViewer();
201-
initScopedAccessTokenCategories();
202-
initColorPickers();
123+
callInitFunctions([
124+
initGlobalDropdown,
125+
initGlobalTabularMenu,
126+
initGlobalShowModal,
127+
initGlobalFetchAction,
128+
initGlobalTooltips,
129+
initGlobalButtonClickOnEnter,
130+
initGlobalButtons,
131+
initGlobalCopyToClipboardListener,
132+
initGlobalDropzone,
133+
initGlobalEnterQuickSubmit,
134+
initGlobalFormDirtyLeaveConfirm,
135+
initGlobalDeleteButton,
136+
137+
initCommonOrganization,
138+
initCommonIssueListQuickGoto,
139+
140+
initCompSearchUserBox,
141+
initCompWebHookEditor,
142+
143+
initInstall,
144+
145+
initHeadNavbarContentToggle,
146+
initFootLanguageMenu,
147+
148+
initCommentContent,
149+
initContextPopups,
150+
initHeatmap,
151+
initImageDiff,
152+
initMarkupAnchors,
153+
initMarkupContent,
154+
initSshKeyFormParser,
155+
initStopwatch,
156+
initTableSort,
157+
initAutoFocusEnd,
158+
initFindFileInRepo,
159+
initCopyContent,
160+
161+
initAdminCommon,
162+
initAdminEmails,
163+
initAdminUserListSearchForm,
164+
initAdminConfigs,
165+
initAdminSelfCheck,
166+
167+
initDashboardRepoList,
168+
169+
initNotificationCount,
170+
initNotificationsTable,
171+
172+
initOrgTeamSearchRepoBox,
173+
initOrgTeamSettings,
174+
175+
initRepoActivityTopAuthorsChart,
176+
initRepoArchiveLinks,
177+
initRepoBranchButton,
178+
initRepoCodeView,
179+
initRepoCommentForm,
180+
initRepoEllipsisButton,
181+
initRepoDiffCommitBranchesAndTags,
182+
initRepoEditor,
183+
initRepoGraphGit,
184+
initRepoIssueContentHistory,
185+
initRepoIssueDue,
186+
initRepoIssueList,
187+
initRepoIssueSidebarList,
188+
initArchivedLabelHandler,
189+
initRepoIssueReferenceRepositorySearch,
190+
initRepoIssueTimeTracking,
191+
initRepoIssueWipTitle,
192+
initRepoMigration,
193+
initRepoMigrationStatusChecker,
194+
initRepoProject,
195+
initRepoPullRequestMergeInstruction,
196+
initRepoPullRequestAllowMaintainerEdit,
197+
initRepoPullRequestReview,
198+
initRepoRelease,
199+
initRepoReleaseNew,
200+
initRepoSettingGitHook,
201+
initRepoSettingSearchTeamBox,
202+
initRepoSettingsCollaboration,
203+
initRepoTemplateSearch,
204+
initRepoTopicBar,
205+
initRepoUncycloForm,
206+
initRepository,
207+
initRepositoryActionView,
208+
initRepositorySearch,
209+
initRepoContributors,
210+
initRepoCodeFrequency,
211+
initRepoRecentCommits,
212+
213+
initCommitStatuses,
214+
initCaptcha,
215+
216+
initUserAuthOauth2,
217+
initUserAuthWebAuthn,
218+
initUserAuthWebAuthnRegister,
219+
initUserSettings,
220+
initRepoDiffView,
221+
initPdfViewer,
222+
initScopedAccessTokenCategories,
223+
initColorPickers,
224+
]);
203225
});

0 commit comments

Comments
 (0)