@@ -94,110 +94,132 @@ import {
94
94
import { initGlobalDropzone } from './features/dropzone.js' ;
95
95
import { initGlobalEnterQuickSubmit , initGlobalFormDirtyLeaveConfirm } from './features/common-form.js' ;
96
96
97
- // Init Gitea's Fomantic settings
98
97
initGiteaFomantic ( ) ;
99
98
initDirAuto ( ) ;
100
99
initSubmitEventPolyfill ( ) ;
101
100
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
+
102
122
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
+ ] ) ;
203
225
} ) ;
0 commit comments