mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 19:06:18 +01:00 
			
		
		
		
	Convert frontend code to typescript (#31559)
None of the frontend js/ts files was touched besides these two commands
(edit: no longer true, I touched one file in
61105d0618
because of a deprecation that was not showing before the rename).
`tsc` currently reports 778 errors, so I have disabled it in CI as
planned.
Everything appears to work fine.
			
			
This commit is contained in:
		| @@ -1,4 +1,4 @@ | ||||
| import {showGlobalErrorMessage} from './bootstrap.js'; | ||||
| import {showGlobalErrorMessage} from './bootstrap.ts'; | ||||
| 
 | ||||
| test('showGlobalErrorMessage', () => { | ||||
|   document.body.innerHTML = '<div class="page-content"></div>'; | ||||
| @@ -2,8 +2,8 @@ | ||||
|     Please also update the template file above if this vue is modified. | ||||
|     action status accepted: success, skipped, waiting, blocked, running, failure, cancelled, unknown | ||||
| --> | ||||
| <script> | ||||
| import {SvgIcon} from '../svg.js'; | ||||
| <script lang="ts"> | ||||
| import {SvgIcon} from '../svg.ts'; | ||||
|  | ||||
| export default { | ||||
|   components: {SvgIcon}, | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| <script> | ||||
| <script lang="ts"> | ||||
| // TODO: Switch to upstream after https://github.com/razorness/vue3-calendar-heatmap/pull/34 is merged | ||||
| import {CalendarHeatmap} from '@silverwind/vue3-calendar-heatmap'; | ||||
|  | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| <script> | ||||
| import {SvgIcon} from '../svg.js'; | ||||
| import {GET} from '../modules/fetch.js'; | ||||
| <script lang="ts"> | ||||
| import {SvgIcon} from '../svg.ts'; | ||||
| import {GET} from '../modules/fetch.ts'; | ||||
|  | ||||
| const {appSubUrl, i18n} = window.config; | ||||
|  | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| <script> | ||||
| <script lang="ts"> | ||||
| import {createApp, nextTick} from 'vue'; | ||||
| import $ from 'jquery'; | ||||
| import {SvgIcon} from '../svg.js'; | ||||
| import {GET} from '../modules/fetch.js'; | ||||
| import {SvgIcon} from '../svg.ts'; | ||||
| import {GET} from '../modules/fetch.ts'; | ||||
|  | ||||
| const {appSubUrl, assetUrlPrefix, pageData} = window.config; | ||||
|  | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| <script> | ||||
| import {SvgIcon} from '../svg.js'; | ||||
| import {GET} from '../modules/fetch.js'; | ||||
| <script lang="ts"> | ||||
| import {SvgIcon} from '../svg.ts'; | ||||
| import {GET} from '../modules/fetch.ts'; | ||||
|  | ||||
| export default { | ||||
|   components: {SvgIcon}, | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| <script> | ||||
| import {loadMoreFiles} from '../features/repo-diff.js'; | ||||
| import {diffTreeStore} from '../modules/stores.js'; | ||||
| <script lang="ts"> | ||||
| import {loadMoreFiles} from '../features/repo-diff.ts'; | ||||
| import {diffTreeStore} from '../modules/stores.ts'; | ||||
|  | ||||
| export default { | ||||
|   data: () => { | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| <script> | ||||
| <script lang="ts"> | ||||
| import DiffFileTreeItem from './DiffFileTreeItem.vue'; | ||||
| import {loadMoreFiles} from '../features/repo-diff.js'; | ||||
| import {toggleElem} from '../utils/dom.js'; | ||||
| import {diffTreeStore} from '../modules/stores.js'; | ||||
| import {setFileFolding} from '../features/file-fold.js'; | ||||
| import {loadMoreFiles} from '../features/repo-diff.ts'; | ||||
| import {toggleElem} from '../utils/dom.ts'; | ||||
| import {diffTreeStore} from '../modules/stores.ts'; | ||||
| import {setFileFolding} from '../features/file-fold.ts'; | ||||
|  | ||||
| const LOCAL_STORAGE_KEY = 'diff_file_tree_visible'; | ||||
|  | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| <script> | ||||
| import {SvgIcon} from '../svg.js'; | ||||
| import {diffTreeStore} from '../modules/stores.js'; | ||||
| <script lang="ts"> | ||||
| import {SvgIcon} from '../svg.ts'; | ||||
| import {diffTreeStore} from '../modules/stores.ts'; | ||||
|  | ||||
| export default { | ||||
|   components: {SvgIcon}, | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| <script> | ||||
| import {SvgIcon} from '../svg.js'; | ||||
| import {toggleElem} from '../utils/dom.js'; | ||||
| <script lang="ts"> | ||||
| import {SvgIcon} from '../svg.ts'; | ||||
| import {toggleElem} from '../utils/dom.ts'; | ||||
|  | ||||
| const {csrfToken, pageData} = window.config; | ||||
|  | ||||
|   | ||||
| @@ -1,11 +1,11 @@ | ||||
| <script> | ||||
| import {SvgIcon} from '../svg.js'; | ||||
| <script lang="ts"> | ||||
| import {SvgIcon} from '../svg.ts'; | ||||
| import ActionRunStatus from './ActionRunStatus.vue'; | ||||
| import {createApp} from 'vue'; | ||||
| import {toggleElem} from '../utils/dom.js'; | ||||
| import {formatDatetime} from '../utils/time.js'; | ||||
| import {renderAnsi} from '../render/ansi.js'; | ||||
| import {GET, POST, DELETE} from '../modules/fetch.js'; | ||||
| import {toggleElem} from '../utils/dom.ts'; | ||||
| import {formatDatetime} from '../utils/time.ts'; | ||||
| import {renderAnsi} from '../render/ansi.ts'; | ||||
| import {GET, POST, DELETE} from '../modules/fetch.ts'; | ||||
|  | ||||
| const sfc = { | ||||
|   name: 'RepoActionView', | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| <script> | ||||
| <script lang="ts"> | ||||
| import VueBarGraph from 'vue-bar-graph'; | ||||
| import {createApp} from 'vue'; | ||||
|  | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| <script> | ||||
| <script lang="ts"> | ||||
| import {createApp, nextTick} from 'vue'; | ||||
| import $ from 'jquery'; | ||||
| import {SvgIcon} from '../svg.js'; | ||||
| import {pathEscapeSegments} from '../utils/url.js'; | ||||
| import {showErrorToast} from '../modules/toast.js'; | ||||
| import {GET} from '../modules/fetch.js'; | ||||
| import {SvgIcon} from '../svg.ts'; | ||||
| import {pathEscapeSegments} from '../utils/url.ts'; | ||||
| import {showErrorToast} from '../modules/toast.ts'; | ||||
| import {GET} from '../modules/fetch.ts'; | ||||
|  | ||||
| const sfc = { | ||||
|   components: {SvgIcon}, | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <script> | ||||
| import {SvgIcon} from '../svg.js'; | ||||
| <script lang="ts"> | ||||
| import {SvgIcon} from '../svg.ts'; | ||||
| import { | ||||
|   Chart, | ||||
|   Legend, | ||||
| @@ -9,15 +9,15 @@ import { | ||||
|   LineElement, | ||||
|   Filler, | ||||
| } from 'chart.js'; | ||||
| import {GET} from '../modules/fetch.js'; | ||||
| import {GET} from '../modules/fetch.ts'; | ||||
| import {Line as ChartLine} from 'vue-chartjs'; | ||||
| import { | ||||
|   startDaysBetween, | ||||
|   firstStartDateAfterDate, | ||||
|   fillEmptyStartDaysWithZeroes, | ||||
| } from '../utils/time.js'; | ||||
| import {chartJsColors} from '../utils/color.js'; | ||||
| import {sleep} from '../utils.js'; | ||||
| } from '../utils/time.ts'; | ||||
| import {chartJsColors} from '../utils/color.ts'; | ||||
| import {sleep} from '../utils.ts'; | ||||
| import 'chartjs-adapter-dayjs-4/dist/chartjs-adapter-dayjs-4.esm'; | ||||
|  | ||||
| const {pageData} = window.config; | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <script> | ||||
| import {SvgIcon} from '../svg.js'; | ||||
| <script lang="ts"> | ||||
| import {SvgIcon} from '../svg.ts'; | ||||
| import { | ||||
|   Chart, | ||||
|   Title, | ||||
| @@ -10,16 +10,16 @@ import { | ||||
|   LineElement, | ||||
|   Filler, | ||||
| } from 'chart.js'; | ||||
| import {GET} from '../modules/fetch.js'; | ||||
| import {GET} from '../modules/fetch.ts'; | ||||
| import zoomPlugin from 'chartjs-plugin-zoom'; | ||||
| import {Line as ChartLine} from 'vue-chartjs'; | ||||
| import { | ||||
|   startDaysBetween, | ||||
|   firstStartDateAfterDate, | ||||
|   fillEmptyStartDaysWithZeroes, | ||||
| } from '../utils/time.js'; | ||||
| import {chartJsColors} from '../utils/color.js'; | ||||
| import {sleep} from '../utils.js'; | ||||
| } from '../utils/time.ts'; | ||||
| import {chartJsColors} from '../utils/color.ts'; | ||||
| import {sleep} from '../utils.ts'; | ||||
| import 'chartjs-adapter-dayjs-4/dist/chartjs-adapter-dayjs-4.esm'; | ||||
| import $ from 'jquery'; | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <script> | ||||
| import {SvgIcon} from '../svg.js'; | ||||
| <script lang="ts"> | ||||
| import {SvgIcon} from '../svg.ts'; | ||||
| import { | ||||
|   Chart, | ||||
|   Tooltip, | ||||
| @@ -7,15 +7,15 @@ import { | ||||
|   LinearScale, | ||||
|   TimeScale, | ||||
| } from 'chart.js'; | ||||
| import {GET} from '../modules/fetch.js'; | ||||
| import {GET} from '../modules/fetch.ts'; | ||||
| import {Bar} from 'vue-chartjs'; | ||||
| import { | ||||
|   startDaysBetween, | ||||
|   firstStartDateAfterDate, | ||||
|   fillEmptyStartDaysWithZeroes, | ||||
| } from '../utils/time.js'; | ||||
| import {chartJsColors} from '../utils/color.js'; | ||||
| import {sleep} from '../utils.js'; | ||||
| } from '../utils/time.ts'; | ||||
| import {chartJsColors} from '../utils/color.ts'; | ||||
| import {sleep} from '../utils.ts'; | ||||
| import 'chartjs-adapter-dayjs-4/dist/chartjs-adapter-dayjs-4.esm'; | ||||
|  | ||||
| const {pageData} = window.config; | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| <script> | ||||
| <script lang="ts"> | ||||
| import {createApp} from 'vue'; | ||||
| import {hideElem, showElem} from '../utils/dom.js'; | ||||
| import {hideElem, showElem} from '../utils/dom.ts'; | ||||
|  | ||||
| const sfc = { | ||||
|   props: { | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| import $ from 'jquery'; | ||||
| import {checkAppUrl} from '../common-page.js'; | ||||
| import {hideElem, showElem, toggleElem} from '../../utils/dom.js'; | ||||
| import {POST} from '../../modules/fetch.js'; | ||||
| import {checkAppUrl} from '../common-page.ts'; | ||||
| import {hideElem, showElem, toggleElem} from '../../utils/dom.ts'; | ||||
| import {POST} from '../../modules/fetch.ts'; | ||||
| 
 | ||||
| const {appSubUrl} = window.config; | ||||
| 
 | ||||
| @@ -1,5 +1,5 @@ | ||||
| import {showTemporaryTooltip} from '../../modules/tippy.js'; | ||||
| import {POST} from '../../modules/fetch.js'; | ||||
| import {showTemporaryTooltip} from '../../modules/tippy.ts'; | ||||
| import {POST} from '../../modules/fetch.ts'; | ||||
| 
 | ||||
| const {appSubUrl} = window.config; | ||||
| 
 | ||||
| @@ -1,5 +1,5 @@ | ||||
| import {toggleElem} from '../../utils/dom.js'; | ||||
| import {POST} from '../../modules/fetch.js'; | ||||
| import {toggleElem} from '../../utils/dom.ts'; | ||||
| import {POST} from '../../modules/fetch.ts'; | ||||
| 
 | ||||
| const {appSubUrl} = window.config; | ||||
| 
 | ||||
| @@ -1,4 +1,4 @@ | ||||
| import {isDarkTheme} from '../utils.js'; | ||||
| import {isDarkTheme} from '../utils.ts'; | ||||
| 
 | ||||
| export async function initCaptcha() { | ||||
|   const captchaEl = document.querySelector('#captcha'); | ||||
| @@ -1,5 +1,5 @@ | ||||
| import $ from 'jquery'; | ||||
| import {getCurrentLocale} from '../utils.js'; | ||||
| import {getCurrentLocale} from '../utils.ts'; | ||||
| 
 | ||||
| const {pageData} = window.config; | ||||
| 
 | ||||
| @@ -1,5 +1,5 @@ | ||||
| import {showTemporaryTooltip} from '../modules/tippy.js'; | ||||
| import {toAbsoluteUrl} from '../utils.js'; | ||||
| import {showTemporaryTooltip} from '../modules/tippy.ts'; | ||||
| import {toAbsoluteUrl} from '../utils.ts'; | ||||
| import {clippie} from 'clippie'; | ||||
| 
 | ||||
| const {copy_success, copy_error} = window.config.i18n; | ||||
| @@ -1,6 +1,6 @@ | ||||
| import tinycolor from 'tinycolor2'; | ||||
| import {basename, extname, isObject, isDarkTheme} from '../utils.js'; | ||||
| import {onInputDebounce} from '../utils/dom.js'; | ||||
| import {basename, extname, isObject, isDarkTheme} from '../utils.ts'; | ||||
| import {onInputDebounce} from '../utils/dom.ts'; | ||||
| 
 | ||||
| const languagesByFilename = {}; | ||||
| const languagesByExt = {}; | ||||
| @@ -1,4 +1,4 @@ | ||||
| import {createTippy} from '../modules/tippy.js'; | ||||
| import {createTippy} from '../modules/tippy.ts'; | ||||
| 
 | ||||
| export async function initColorPickers() { | ||||
|   const els = document.querySelectorAll('.js-color-picker-input'); | ||||
| @@ -1,7 +1,7 @@ | ||||
| import $ from 'jquery'; | ||||
| import {POST} from '../modules/fetch.js'; | ||||
| import {hideElem, showElem, toggleElem} from '../utils/dom.js'; | ||||
| import {showErrorToast} from '../modules/toast.js'; | ||||
| import {POST} from '../modules/fetch.ts'; | ||||
| import {hideElem, showElem, toggleElem} from '../utils/dom.ts'; | ||||
| import {showErrorToast} from '../modules/toast.ts'; | ||||
| 
 | ||||
| export function initGlobalButtonClickOnEnter() { | ||||
|   $(document).on('keypress', 'div.ui.button,span.ui.button', (e) => { | ||||
| @@ -1,8 +1,8 @@ | ||||
| import {request} from '../modules/fetch.js'; | ||||
| import {showErrorToast} from '../modules/toast.js'; | ||||
| import {submitEventSubmitter} from '../utils/dom.js'; | ||||
| import {request} from '../modules/fetch.ts'; | ||||
| import {showErrorToast} from '../modules/toast.ts'; | ||||
| import {submitEventSubmitter} from '../utils/dom.ts'; | ||||
| import {htmlEscape} from 'escape-goat'; | ||||
| import {confirmModal} from './comp/ConfirmModal.js'; | ||||
| import {confirmModal} from './comp/ConfirmModal.ts'; | ||||
| 
 | ||||
| const {appSubUrl, i18n} = window.config; | ||||
| 
 | ||||
| @@ -1,6 +1,6 @@ | ||||
| import $ from 'jquery'; | ||||
| import {initAreYouSure} from '../vendor/jquery.are-you-sure.js'; | ||||
| import {handleGlobalEnterQuickSubmit} from './comp/QuickSubmit.js'; | ||||
| import {initAreYouSure} from '../vendor/jquery.are-you-sure.ts'; | ||||
| import {handleGlobalEnterQuickSubmit} from './comp/QuickSubmit.ts'; | ||||
| 
 | ||||
| export function initGlobalFormDirtyLeaveConfirm() { | ||||
|   initAreYouSure(window.jQuery); | ||||
| @@ -1,4 +1,4 @@ | ||||
| import {parseIssueListQuickGotoLink} from './common-issue-list.js'; | ||||
| import {parseIssueListQuickGotoLink} from './common-issue-list.ts'; | ||||
| 
 | ||||
| test('parseIssueListQuickGotoLink', () => { | ||||
|   expect(parseIssueListQuickGotoLink('/link', '')).toEqual(''); | ||||
| @@ -1,5 +1,5 @@ | ||||
| import {isElemHidden, onInputDebounce, submitEventSubmitter, toggleElem} from '../utils/dom.js'; | ||||
| import {GET} from '../modules/fetch.js'; | ||||
| import {isElemHidden, onInputDebounce, submitEventSubmitter, toggleElem} from '../utils/dom.ts'; | ||||
| import {GET} from '../modules/fetch.ts'; | ||||
| 
 | ||||
| const {appSubUrl} = window.config; | ||||
| const reIssueIndex = /^(\d+)$/; // eg: "123"
 | ||||
| @@ -1,5 +1,5 @@ | ||||
| import {initCompLabelEdit} from './comp/LabelEdit.js'; | ||||
| import {toggleElem} from '../utils/dom.js'; | ||||
| import {initCompLabelEdit} from './comp/LabelEdit.ts'; | ||||
| import {toggleElem} from '../utils/dom.ts'; | ||||
| 
 | ||||
| export function initCommonOrganization() { | ||||
|   if (!document.querySelectorAll('.organization').length) { | ||||
| @@ -1,6 +1,6 @@ | ||||
| import $ from 'jquery'; | ||||
| import {GET} from '../modules/fetch.js'; | ||||
| import {showGlobalErrorMessage} from '../bootstrap.js'; | ||||
| import {GET} from '../modules/fetch.ts'; | ||||
| import {showGlobalErrorMessage} from '../bootstrap.ts'; | ||||
| 
 | ||||
| const {appUrl} = window.config; | ||||
| 
 | ||||
| @@ -1,17 +1,17 @@ | ||||
| import '@github/markdown-toolbar-element'; | ||||
| import '@github/text-expander-element'; | ||||
| import $ from 'jquery'; | ||||
| import {attachTribute} from '../tribute.js'; | ||||
| import {hideElem, showElem, autosize, isElemVisible} from '../../utils/dom.js'; | ||||
| import {initEasyMDEPaste, initTextareaUpload} from './EditorUpload.js'; | ||||
| import {handleGlobalEnterQuickSubmit} from './QuickSubmit.js'; | ||||
| import {renderPreviewPanelContent} from '../repo-editor.js'; | ||||
| import {easyMDEToolbarActions} from './EasyMDEToolbarActions.js'; | ||||
| import {initTextExpander} from './TextExpander.js'; | ||||
| import {showErrorToast} from '../../modules/toast.js'; | ||||
| import {POST} from '../../modules/fetch.js'; | ||||
| import {initTextareaMarkdown} from './EditorMarkdown.js'; | ||||
| import {DropzoneCustomEventReloadFiles, initDropzone} from '../dropzone.js'; | ||||
| import {attachTribute} from '../tribute.ts'; | ||||
| import {hideElem, showElem, autosize, isElemVisible} from '../../utils/dom.ts'; | ||||
| import {initEasyMDEPaste, initTextareaUpload} from './EditorUpload.ts'; | ||||
| import {handleGlobalEnterQuickSubmit} from './QuickSubmit.ts'; | ||||
| import {renderPreviewPanelContent} from '../repo-editor.ts'; | ||||
| import {easyMDEToolbarActions} from './EasyMDEToolbarActions.ts'; | ||||
| import {initTextExpander} from './TextExpander.ts'; | ||||
| import {showErrorToast} from '../../modules/toast.ts'; | ||||
| import {POST} from '../../modules/fetch.ts'; | ||||
| import {initTextareaMarkdown} from './EditorMarkdown.ts'; | ||||
| import {DropzoneCustomEventReloadFiles, initDropzone} from '../dropzone.ts'; | ||||
| 
 | ||||
| let elementIdCounter = 0; | ||||
| 
 | ||||
| @@ -1,7 +1,7 @@ | ||||
| import $ from 'jquery'; | ||||
| import {svg} from '../../svg.js'; | ||||
| import {svg} from '../../svg.ts'; | ||||
| import {htmlEscape} from 'escape-goat'; | ||||
| import {createElementFromHTML} from '../../utils/dom.js'; | ||||
| import {createElementFromHTML} from '../../utils/dom.ts'; | ||||
| 
 | ||||
| const {i18n} = window.config; | ||||
| 
 | ||||
| @@ -1,4 +1,4 @@ | ||||
| import {svg} from '../../svg.js'; | ||||
| import {svg} from '../../svg.ts'; | ||||
| 
 | ||||
| export function easyMDEToolbarActions(EasyMDE, editor) { | ||||
|   const actions = { | ||||
| @@ -1,4 +1,4 @@ | ||||
| import {removeAttachmentLinksFromMarkdown} from './EditorUpload.js'; | ||||
| import {removeAttachmentLinksFromMarkdown} from './EditorUpload.ts'; | ||||
| 
 | ||||
| test('removeAttachmentLinksFromMarkdown', () => { | ||||
|   expect(removeAttachmentLinksFromMarkdown('a foo b', 'foo')).toBe('a foo b'); | ||||
| @@ -1,12 +1,12 @@ | ||||
| import {imageInfo} from '../../utils/image.js'; | ||||
| import {replaceTextareaSelection} from '../../utils/dom.js'; | ||||
| import {isUrl} from '../../utils/url.js'; | ||||
| import {triggerEditorContentChanged} from './EditorMarkdown.js'; | ||||
| import {imageInfo} from '../../utils/image.ts'; | ||||
| import {replaceTextareaSelection} from '../../utils/dom.ts'; | ||||
| import {isUrl} from '../../utils/url.ts'; | ||||
| import {triggerEditorContentChanged} from './EditorMarkdown.ts'; | ||||
| import { | ||||
|   DropzoneCustomEventRemovedFile, | ||||
|   DropzoneCustomEventUploadDone, | ||||
|   generateMarkdownLinkForAttachment, | ||||
| } from '../dropzone.js'; | ||||
| } from '../dropzone.ts'; | ||||
| 
 | ||||
| let uploadIdCounter = 0; | ||||
| 
 | ||||
| @@ -1,5 +1,5 @@ | ||||
| import $ from 'jquery'; | ||||
| import {POST} from '../../modules/fetch.js'; | ||||
| import {POST} from '../../modules/fetch.ts'; | ||||
| 
 | ||||
| export function initCompReactionSelector() { | ||||
|   for (const container of document.querySelectorAll('.issue-content, .diff-file-body')) { | ||||
| @@ -1,5 +1,5 @@ | ||||
| import {matchEmoji, matchMention} from '../../utils/match.js'; | ||||
| import {emojiString} from '../emoji.js'; | ||||
| import {matchEmoji, matchMention} from '../../utils/match.ts'; | ||||
| import {emojiString} from '../emoji.ts'; | ||||
| 
 | ||||
| export function initTextExpander(expander) { | ||||
|   expander?.addEventListener('text-expander-change', ({detail: {key, provide, text}}) => { | ||||
| @@ -1,5 +1,5 @@ | ||||
| import {POST} from '../../modules/fetch.js'; | ||||
| import {hideElem, showElem, toggleElem} from '../../utils/dom.js'; | ||||
| import {POST} from '../../modules/fetch.ts'; | ||||
| import {hideElem, showElem, toggleElem} from '../../utils/dom.ts'; | ||||
| 
 | ||||
| export function initCompWebHookEditor() { | ||||
|   if (!document.querySelectorAll('.new.webhook').length) { | ||||
| @@ -1,7 +1,7 @@ | ||||
| import {createApp} from 'vue'; | ||||
| import ContextPopup from '../components/ContextPopup.vue'; | ||||
| import {parseIssueHref} from '../utils.js'; | ||||
| import {createTippy} from '../modules/tippy.js'; | ||||
| import {parseIssueHref} from '../utils.ts'; | ||||
| import {createTippy} from '../modules/tippy.ts'; | ||||
| 
 | ||||
| export function initContextPopups() { | ||||
|   const refIssues = document.querySelectorAll('.ref-issue'); | ||||
| @@ -1,7 +1,7 @@ | ||||
| import {clippie} from 'clippie'; | ||||
| import {showTemporaryTooltip} from '../modules/tippy.js'; | ||||
| import {convertImage} from '../utils.js'; | ||||
| import {GET} from '../modules/fetch.js'; | ||||
| import {showTemporaryTooltip} from '../modules/tippy.ts'; | ||||
| import {convertImage} from '../utils.ts'; | ||||
| import {GET} from '../modules/fetch.ts'; | ||||
| 
 | ||||
| const {i18n} = window.config; | ||||
| 
 | ||||
| @@ -1,11 +1,11 @@ | ||||
| import {svg} from '../svg.js'; | ||||
| import {svg} from '../svg.ts'; | ||||
| import {htmlEscape} from 'escape-goat'; | ||||
| import {clippie} from 'clippie'; | ||||
| import {showTemporaryTooltip} from '../modules/tippy.js'; | ||||
| import {GET, POST} from '../modules/fetch.js'; | ||||
| import {showErrorToast} from '../modules/toast.js'; | ||||
| import {createElementFromHTML, createElementFromAttrs} from '../utils/dom.js'; | ||||
| import {isImageFile, isVideoFile} from '../utils.js'; | ||||
| import {showTemporaryTooltip} from '../modules/tippy.ts'; | ||||
| import {GET, POST} from '../modules/fetch.ts'; | ||||
| import {showErrorToast} from '../modules/toast.ts'; | ||||
| import {createElementFromHTML, createElementFromAttrs} from '../utils/dom.ts'; | ||||
| import {isImageFile, isVideoFile} from '../utils.ts'; | ||||
| 
 | ||||
| const {csrfToken, i18n} = window.config; | ||||
| 
 | ||||
| @@ -1,4 +1,4 @@ | ||||
| import {svg} from '../svg.js'; | ||||
| import {svg} from '../svg.ts'; | ||||
| 
 | ||||
| // Hides the file if newFold is true, and shows it otherwise. The actual hiding is performed using CSS.
 | ||||
| //
 | ||||
| @@ -1,6 +1,6 @@ | ||||
| import {createApp} from 'vue'; | ||||
| import ActivityHeatmap from '../components/ActivityHeatmap.vue'; | ||||
| import {translateMonth, translateDay} from '../utils.js'; | ||||
| import {translateMonth, translateDay} from '../utils.ts'; | ||||
| 
 | ||||
| export function initHeatmap() { | ||||
|   const el = document.querySelector('#user-heatmap'); | ||||
| @@ -1,7 +1,7 @@ | ||||
| import $ from 'jquery'; | ||||
| import {GET} from '../modules/fetch.js'; | ||||
| import {hideElem, loadElem, queryElemChildren, queryElems} from '../utils/dom.js'; | ||||
| import {parseDom} from '../utils.js'; | ||||
| import {GET} from '../modules/fetch.ts'; | ||||
| import {hideElem, loadElem, queryElemChildren, queryElems} from '../utils/dom.ts'; | ||||
| import {parseDom} from '../utils.ts'; | ||||
| 
 | ||||
| function getDefaultSvgBoundsIfUndefined(text, src) { | ||||
|   const defaultSize = 300; | ||||
| @@ -1,5 +1,5 @@ | ||||
| import {hideElem, showElem} from '../utils/dom.js'; | ||||
| import {GET} from '../modules/fetch.js'; | ||||
| import {hideElem, showElem} from '../utils/dom.ts'; | ||||
| import {GET} from '../modules/fetch.ts'; | ||||
| 
 | ||||
| export function initInstall() { | ||||
|   const page = document.querySelector('.page-content.install'); | ||||
| @@ -1,7 +1,7 @@ | ||||
| import $ from 'jquery'; | ||||
| import {GET} from '../modules/fetch.js'; | ||||
| import {toggleElem} from '../utils/dom.js'; | ||||
| import {logoutFromWorker} from '../modules/worker.js'; | ||||
| import {GET} from '../modules/fetch.ts'; | ||||
| import {toggleElem} from '../utils/dom.ts'; | ||||
| import {logoutFromWorker} from '../modules/worker.ts'; | ||||
| 
 | ||||
| const {appSubUrl, notificationSettings, assetVersionEncoded} = window.config; | ||||
| let notificationSequenceNumber = 0; | ||||
| @@ -1,5 +1,5 @@ | ||||
| import $ from 'jquery'; | ||||
| import {hideElem, showElem} from '../utils/dom.js'; | ||||
| import {hideElem, showElem} from '../utils/dom.ts'; | ||||
| 
 | ||||
| const {appSubUrl} = window.config; | ||||
| 
 | ||||
| @@ -1,6 +1,6 @@ | ||||
| import {diffTreeStore} from '../modules/stores.js'; | ||||
| import {setFileFolding} from './file-fold.js'; | ||||
| import {POST} from '../modules/fetch.js'; | ||||
| import {diffTreeStore} from '../modules/stores.ts'; | ||||
| import {setFileFolding} from './file-fold.ts'; | ||||
| import {POST} from '../modules/fetch.ts'; | ||||
| 
 | ||||
| const {pageData} = window.config; | ||||
| const prReview = pageData.prReview || {}; | ||||
| @@ -1,5 +1,5 @@ | ||||
| import $ from 'jquery'; | ||||
| import {toggleElem} from '../utils/dom.js'; | ||||
| import {toggleElem} from '../utils/dom.ts'; | ||||
| 
 | ||||
| export function initRepoBranchButton() { | ||||
|   initRepoCreateBranchButton(); | ||||
| @@ -1,4 +1,4 @@ | ||||
| import {singleAnchorRegex, rangeAnchorRegex} from './repo-code.js'; | ||||
| import {singleAnchorRegex, rangeAnchorRegex} from './repo-code.ts'; | ||||
| 
 | ||||
| test('singleAnchorRegex', () => { | ||||
|   expect(singleAnchorRegex.test('#L0')).toEqual(false); | ||||
| @@ -1,9 +1,9 @@ | ||||
| import $ from 'jquery'; | ||||
| import {svg} from '../svg.js'; | ||||
| import {invertFileFolding} from './file-fold.js'; | ||||
| import {createTippy} from '../modules/tippy.js'; | ||||
| import {svg} from '../svg.ts'; | ||||
| import {invertFileFolding} from './file-fold.ts'; | ||||
| import {createTippy} from '../modules/tippy.ts'; | ||||
| import {clippie} from 'clippie'; | ||||
| import {toAbsoluteUrl} from '../utils.js'; | ||||
| import {toAbsoluteUrl} from '../utils.ts'; | ||||
| 
 | ||||
| export const singleAnchorRegex = /^#(L|n)([1-9][0-9]*)$/; | ||||
| export const rangeAnchorRegex = /^#(L[1-9][0-9]*)-(L[1-9][0-9]*)$/; | ||||
| @@ -1,5 +1,5 @@ | ||||
| import {createTippy} from '../modules/tippy.js'; | ||||
| import {toggleElem} from '../utils/dom.js'; | ||||
| import {createTippy} from '../modules/tippy.ts'; | ||||
| import {toggleElem} from '../utils/dom.ts'; | ||||
| 
 | ||||
| export function initRepoEllipsisButton() { | ||||
|   for (const button of document.querySelectorAll('.js-toggle-commit-body')) { | ||||
| @@ -1,8 +1,8 @@ | ||||
| import $ from 'jquery'; | ||||
| import {hideElem, queryElems, showElem} from '../utils/dom.js'; | ||||
| import {POST} from '../modules/fetch.js'; | ||||
| import {showErrorToast} from '../modules/toast.js'; | ||||
| import {sleep} from '../utils.js'; | ||||
| import {hideElem, queryElems, showElem} from '../utils/dom.ts'; | ||||
| import {POST} from '../modules/fetch.ts'; | ||||
| import {showErrorToast} from '../modules/toast.ts'; | ||||
| import {sleep} from '../utils.ts'; | ||||
| 
 | ||||
| async function onDownloadArchive(e) { | ||||
|   e.preventDefault(); | ||||
| @@ -1,5 +1,5 @@ | ||||
| import {hideElem, showElem, toggleElem} from '../utils/dom.js'; | ||||
| import {GET} from '../modules/fetch.js'; | ||||
| import {hideElem, showElem, toggleElem} from '../utils/dom.ts'; | ||||
| import {GET} from '../modules/fetch.ts'; | ||||
| 
 | ||||
| async function loadBranchesAndTags(area, loadingButton) { | ||||
|   loadingButton.classList.add('disabled'); | ||||
| @@ -1,14 +1,14 @@ | ||||
| import $ from 'jquery'; | ||||
| import {initCompReactionSelector} from './comp/ReactionSelector.js'; | ||||
| import {initRepoIssueContentHistory} from './repo-issue-content.js'; | ||||
| import {initDiffFileTree} from './repo-diff-filetree.js'; | ||||
| import {initDiffCommitSelect} from './repo-diff-commitselect.js'; | ||||
| import {validateTextareaNonEmpty} from './comp/ComboMarkdownEditor.js'; | ||||
| import {initViewedCheckboxListenerFor, countAndUpdateViewedFiles, initExpandAndCollapseFilesButton} from './pull-view-file.js'; | ||||
| import {initImageDiff} from './imagediff.js'; | ||||
| import {showErrorToast} from '../modules/toast.js'; | ||||
| import {submitEventSubmitter, queryElemSiblings, hideElem, showElem, animateOnce} from '../utils/dom.js'; | ||||
| import {POST, GET} from '../modules/fetch.js'; | ||||
| import {initCompReactionSelector} from './comp/ReactionSelector.ts'; | ||||
| import {initRepoIssueContentHistory} from './repo-issue-content.ts'; | ||||
| import {initDiffFileTree} from './repo-diff-filetree.ts'; | ||||
| import {initDiffCommitSelect} from './repo-diff-commitselect.ts'; | ||||
| import {validateTextareaNonEmpty} from './comp/ComboMarkdownEditor.ts'; | ||||
| import {initViewedCheckboxListenerFor, countAndUpdateViewedFiles, initExpandAndCollapseFilesButton} from './pull-view-file.ts'; | ||||
| import {initImageDiff} from './imagediff.ts'; | ||||
| import {showErrorToast} from '../modules/toast.ts'; | ||||
| import {submitEventSubmitter, queryElemSiblings, hideElem, showElem, animateOnce} from '../utils/dom.ts'; | ||||
| import {POST, GET} from '../modules/fetch.ts'; | ||||
| 
 | ||||
| const {pageData, i18n} = window.config; | ||||
| 
 | ||||
| @@ -1,11 +1,11 @@ | ||||
| import $ from 'jquery'; | ||||
| import {htmlEscape} from 'escape-goat'; | ||||
| import {createCodeEditor} from './codeeditor.js'; | ||||
| import {hideElem, queryElems, showElem} from '../utils/dom.js'; | ||||
| import {initMarkupContent} from '../markup/content.js'; | ||||
| import {attachRefIssueContextPopup} from './contextpopup.js'; | ||||
| import {POST} from '../modules/fetch.js'; | ||||
| import {initDropzone} from './dropzone.js'; | ||||
| import {createCodeEditor} from './codeeditor.ts'; | ||||
| import {hideElem, queryElems, showElem} from '../utils/dom.ts'; | ||||
| import {initMarkupContent} from '../markup/content.ts'; | ||||
| import {attachRefIssueContextPopup} from './contextpopup.ts'; | ||||
| import {POST} from '../modules/fetch.ts'; | ||||
| import {initDropzone} from './dropzone.ts'; | ||||
| 
 | ||||
| function initEditPreviewTab($form) { | ||||
|   const $tabMenu = $form.find('.repo-editor-menu'); | ||||
| @@ -1,4 +1,4 @@ | ||||
| import {strSubMatch, calcMatchedWeight, filterRepoFilesWeighted} from './repo-findfile.js'; | ||||
| import {strSubMatch, calcMatchedWeight, filterRepoFilesWeighted} from './repo-findfile.ts'; | ||||
| 
 | ||||
| describe('Repo Find Files', () => { | ||||
|   test('strSubMatch', () => { | ||||
| @@ -1,7 +1,7 @@ | ||||
| import {svg} from '../svg.js'; | ||||
| import {toggleElem} from '../utils/dom.js'; | ||||
| import {pathEscapeSegments} from '../utils/url.js'; | ||||
| import {GET} from '../modules/fetch.js'; | ||||
| import {svg} from '../svg.ts'; | ||||
| import {toggleElem} from '../utils/dom.ts'; | ||||
| import {pathEscapeSegments} from '../utils/url.ts'; | ||||
| import {GET} from '../modules/fetch.ts'; | ||||
| 
 | ||||
| const threshold = 50; | ||||
| let files = []; | ||||
| @@ -1,6 +1,6 @@ | ||||
| import $ from 'jquery'; | ||||
| import {hideElem, showElem} from '../utils/dom.js'; | ||||
| import {GET} from '../modules/fetch.js'; | ||||
| import {hideElem, showElem} from '../utils/dom.ts'; | ||||
| import {GET} from '../modules/fetch.ts'; | ||||
| 
 | ||||
| export function initRepoGraphGit() { | ||||
|   const graphContainer = document.querySelector('#git-graph-container'); | ||||
| @@ -1,8 +1,8 @@ | ||||
| import $ from 'jquery'; | ||||
| import {stripTags} from '../utils.js'; | ||||
| import {hideElem, queryElemChildren, showElem} from '../utils/dom.js'; | ||||
| import {POST} from '../modules/fetch.js'; | ||||
| import {showErrorToast} from '../modules/toast.js'; | ||||
| import {stripTags} from '../utils.ts'; | ||||
| import {hideElem, queryElemChildren, showElem} from '../utils/dom.ts'; | ||||
| import {POST} from '../modules/fetch.ts'; | ||||
| import {showErrorToast} from '../modules/toast.ts'; | ||||
| 
 | ||||
| const {appSubUrl} = window.config; | ||||
| 
 | ||||
| @@ -1,8 +1,8 @@ | ||||
| import $ from 'jquery'; | ||||
| import {svg} from '../svg.js'; | ||||
| import {showErrorToast} from '../modules/toast.js'; | ||||
| import {GET, POST} from '../modules/fetch.js'; | ||||
| import {showElem} from '../utils/dom.js'; | ||||
| import {svg} from '../svg.ts'; | ||||
| import {showErrorToast} from '../modules/toast.ts'; | ||||
| import {GET, POST} from '../modules/fetch.ts'; | ||||
| import {showElem} from '../utils/dom.ts'; | ||||
| 
 | ||||
| const {appSubUrl} = window.config; | ||||
| let i18nTextEdited; | ||||
| @@ -1,11 +1,11 @@ | ||||
| import $ from 'jquery'; | ||||
| import {handleReply} from './repo-issue.js'; | ||||
| import {getComboMarkdownEditor, initComboMarkdownEditor} from './comp/ComboMarkdownEditor.js'; | ||||
| import {POST} from '../modules/fetch.js'; | ||||
| import {showErrorToast} from '../modules/toast.js'; | ||||
| import {hideElem, showElem} from '../utils/dom.js'; | ||||
| import {attachRefIssueContextPopup} from './contextpopup.js'; | ||||
| import {initCommentContent, initMarkupContent} from '../markup/content.js'; | ||||
| import {handleReply} from './repo-issue.ts'; | ||||
| import {getComboMarkdownEditor, initComboMarkdownEditor} from './comp/ComboMarkdownEditor.ts'; | ||||
| import {POST} from '../modules/fetch.ts'; | ||||
| import {showErrorToast} from '../modules/toast.ts'; | ||||
| import {hideElem, showElem} from '../utils/dom.ts'; | ||||
| import {attachRefIssueContextPopup} from './contextpopup.ts'; | ||||
| import {initCommentContent, initMarkupContent} from '../markup/content.ts'; | ||||
| 
 | ||||
| async function onEditContent(event) { | ||||
|   event.preventDefault(); | ||||
| @@ -1,12 +1,12 @@ | ||||
| import $ from 'jquery'; | ||||
| import {updateIssuesMeta} from './repo-issue.js'; | ||||
| import {toggleElem, hideElem, isElemHidden} from '../utils/dom.js'; | ||||
| import {updateIssuesMeta} from './repo-issue.ts'; | ||||
| import {toggleElem, hideElem, isElemHidden} from '../utils/dom.ts'; | ||||
| import {htmlEscape} from 'escape-goat'; | ||||
| import {confirmModal} from './comp/ConfirmModal.js'; | ||||
| import {showErrorToast} from '../modules/toast.js'; | ||||
| import {createSortable} from '../modules/sortable.js'; | ||||
| import {DELETE, POST} from '../modules/fetch.js'; | ||||
| import {parseDom} from '../utils.js'; | ||||
| import {confirmModal} from './comp/ConfirmModal.ts'; | ||||
| import {showErrorToast} from '../modules/toast.ts'; | ||||
| import {createSortable} from '../modules/sortable.ts'; | ||||
| import {DELETE, POST} from '../modules/fetch.ts'; | ||||
| import {parseDom} from '../utils.ts'; | ||||
| 
 | ||||
| function initRepoIssueListCheckboxes() { | ||||
|   const issueSelectAll = document.querySelector('.issue-checkbox-all'); | ||||
| @@ -1,12 +1,12 @@ | ||||
| import $ from 'jquery'; | ||||
| import {htmlEscape} from 'escape-goat'; | ||||
| import {createTippy, showTemporaryTooltip} from '../modules/tippy.js'; | ||||
| import {hideElem, showElem, toggleElem} from '../utils/dom.js'; | ||||
| import {setFileFolding} from './file-fold.js'; | ||||
| import {getComboMarkdownEditor, initComboMarkdownEditor} from './comp/ComboMarkdownEditor.js'; | ||||
| import {toAbsoluteUrl} from '../utils.js'; | ||||
| import {GET, POST} from '../modules/fetch.js'; | ||||
| import {showErrorToast} from '../modules/toast.js'; | ||||
| import {createTippy, showTemporaryTooltip} from '../modules/tippy.ts'; | ||||
| import {hideElem, showElem, toggleElem} from '../utils/dom.ts'; | ||||
| import {setFileFolding} from './file-fold.ts'; | ||||
| import {getComboMarkdownEditor, initComboMarkdownEditor} from './comp/ComboMarkdownEditor.ts'; | ||||
| import {toAbsoluteUrl} from '../utils.ts'; | ||||
| import {GET, POST} from '../modules/fetch.ts'; | ||||
| import {showErrorToast} from '../modules/toast.ts'; | ||||
| 
 | ||||
| const {appSubUrl} = window.config; | ||||
| 
 | ||||
| @@ -19,7 +19,7 @@ export function initRepoIssueTimeTracking() { | ||||
|       }, | ||||
|     }).modal('show'); | ||||
|     $('.issue-start-time-modal input').on('keydown', (e) => { | ||||
|       if ((e.keyCode || e.key) === 13) { | ||||
|       if (e.key === 'Enter') { | ||||
|         $('#add_time_manual_form').trigger('submit'); | ||||
|       } | ||||
|     }); | ||||
| @@ -146,7 +146,7 @@ export function initRepoIssueSidebarList() { | ||||
|   }); | ||||
| 
 | ||||
|   $('.menu .ui.dropdown.label-filter').on('keydown', (e) => { | ||||
|     if (e.altKey && e.keyCode === 13) { | ||||
|     if (e.altKey && e.key === 'Enter') { | ||||
|       const selectedItem = document.querySelector('.menu .ui.dropdown.label-filter .menu .item.selected'); | ||||
|       if (selectedItem) { | ||||
|         excludeLabel(selectedItem); | ||||
| @@ -4,24 +4,24 @@ import { | ||||
|   initRepoIssueComments, initRepoIssueDependencyDelete, initRepoIssueReferenceIssue, | ||||
|   initRepoIssueTitleEdit, initRepoIssueWipToggle, | ||||
|   initRepoPullRequestUpdate, updateIssuesMeta, initIssueTemplateCommentEditors, initSingleCommentEditor, | ||||
| } from './repo-issue.js'; | ||||
| import {initUnicodeEscapeButton} from './repo-unicode-escape.js'; | ||||
| import {svg} from '../svg.js'; | ||||
| } from './repo-issue.ts'; | ||||
| import {initUnicodeEscapeButton} from './repo-unicode-escape.ts'; | ||||
| import {svg} from '../svg.ts'; | ||||
| import {htmlEscape} from 'escape-goat'; | ||||
| import {initRepoBranchTagSelector} from '../components/RepoBranchTagSelector.vue'; | ||||
| import { | ||||
|   initRepoCloneLink, initRepoCommonBranchOrTagDropdown, initRepoCommonFilterSearchDropdown, | ||||
| } from './repo-common.js'; | ||||
| import {initCitationFileCopyContent} from './citation.js'; | ||||
| import {initCompLabelEdit} from './comp/LabelEdit.js'; | ||||
| import {initRepoDiffConversationNav} from './repo-diff.js'; | ||||
| import {initCompReactionSelector} from './comp/ReactionSelector.js'; | ||||
| import {initRepoSettingBranches} from './repo-settings.js'; | ||||
| import {initRepoPullRequestMergeForm} from './repo-issue-pr-form.js'; | ||||
| import {initRepoPullRequestCommitStatus} from './repo-issue-pr-status.js'; | ||||
| import {hideElem, queryElemChildren, showElem} from '../utils/dom.js'; | ||||
| import {POST} from '../modules/fetch.js'; | ||||
| import {initRepoIssueCommentEdit} from './repo-issue-edit.js'; | ||||
| } from './repo-common.ts'; | ||||
| import {initCitationFileCopyContent} from './citation.ts'; | ||||
| import {initCompLabelEdit} from './comp/LabelEdit.ts'; | ||||
| import {initRepoDiffConversationNav} from './repo-diff.ts'; | ||||
| import {initCompReactionSelector} from './comp/ReactionSelector.ts'; | ||||
| import {initRepoSettingBranches} from './repo-settings.ts'; | ||||
| import {initRepoPullRequestMergeForm} from './repo-issue-pr-form.ts'; | ||||
| import {initRepoPullRequestCommitStatus} from './repo-issue-pr-status.ts'; | ||||
| import {hideElem, queryElemChildren, showElem} from '../utils/dom.ts'; | ||||
| import {POST} from '../modules/fetch.ts'; | ||||
| import {initRepoIssueCommentEdit} from './repo-issue-edit.ts'; | ||||
| 
 | ||||
| // if there are draft comments, confirm before reloading, to avoid losing comments
 | ||||
| function reloadConfirmDraftComment() { | ||||
| @@ -1,5 +1,5 @@ | ||||
| import {hideElem, showElem} from '../utils/dom.js'; | ||||
| import {GET, POST} from '../modules/fetch.js'; | ||||
| import {hideElem, showElem} from '../utils/dom.ts'; | ||||
| import {GET, POST} from '../modules/fetch.ts'; | ||||
| 
 | ||||
| const {appSubUrl} = window.config; | ||||
| 
 | ||||
| @@ -1,4 +1,4 @@ | ||||
| import {hideElem, showElem, toggleElem} from '../utils/dom.js'; | ||||
| import {hideElem, showElem, toggleElem} from '../utils/dom.ts'; | ||||
| 
 | ||||
| const service = document.querySelector('#service_type'); | ||||
| const user = document.querySelector('#auth_username'); | ||||
| @@ -1,7 +1,7 @@ | ||||
| import $ from 'jquery'; | ||||
| import {contrastColor} from '../utils/color.js'; | ||||
| import {createSortable} from '../modules/sortable.js'; | ||||
| import {POST, DELETE, PUT} from '../modules/fetch.js'; | ||||
| import {contrastColor} from '../utils/color.ts'; | ||||
| import {createSortable} from '../modules/sortable.ts'; | ||||
| import {POST, DELETE, PUT} from '../modules/fetch.ts'; | ||||
| 
 | ||||
| function updateIssueCount(cards) { | ||||
|   const parent = cards.parentElement; | ||||
| @@ -1,5 +1,5 @@ | ||||
| import {hideElem, showElem} from '../utils/dom.js'; | ||||
| import {initComboMarkdownEditor} from './comp/ComboMarkdownEditor.js'; | ||||
| import {hideElem, showElem} from '../utils/dom.ts'; | ||||
| import {initComboMarkdownEditor} from './comp/ComboMarkdownEditor.ts'; | ||||
| 
 | ||||
| export function initRepoRelease() { | ||||
|   document.addEventListener('click', (e) => { | ||||
| @@ -1,8 +1,8 @@ | ||||
| import $ from 'jquery'; | ||||
| import {minimatch} from 'minimatch'; | ||||
| import {createMonaco} from './codeeditor.js'; | ||||
| import {onInputDebounce, queryElems, toggleElem} from '../utils/dom.js'; | ||||
| import {POST} from '../modules/fetch.js'; | ||||
| import {createMonaco} from './codeeditor.ts'; | ||||
| import {onInputDebounce, queryElems, toggleElem} from '../utils/dom.ts'; | ||||
| import {POST} from '../modules/fetch.ts'; | ||||
| 
 | ||||
| const {appSubUrl, csrfToken} = window.config; | ||||
| 
 | ||||
| @@ -1,6 +1,6 @@ | ||||
| import $ from 'jquery'; | ||||
| import {htmlEscape} from 'escape-goat'; | ||||
| import {hideElem, showElem} from '../utils/dom.js'; | ||||
| import {hideElem, showElem} from '../utils/dom.ts'; | ||||
| 
 | ||||
| const {appSubUrl} = window.config; | ||||
| 
 | ||||
| @@ -1,4 +1,4 @@ | ||||
| import {hideElem, queryElemSiblings, showElem, toggleElem} from '../utils/dom.js'; | ||||
| import {hideElem, queryElemSiblings, showElem, toggleElem} from '../utils/dom.ts'; | ||||
| 
 | ||||
| export function initUnicodeEscapeButton() { | ||||
|   document.addEventListener('click', (e) => { | ||||
| @@ -1,7 +1,7 @@ | ||||
| import {initMarkupContent} from '../markup/content.js'; | ||||
| import {validateTextareaNonEmpty, initComboMarkdownEditor} from './comp/ComboMarkdownEditor.js'; | ||||
| import {fomanticMobileScreen} from '../modules/fomantic.js'; | ||||
| import {POST} from '../modules/fetch.js'; | ||||
| import {initMarkupContent} from '../markup/content.ts'; | ||||
| import {validateTextareaNonEmpty, initComboMarkdownEditor} from './comp/ComboMarkdownEditor.ts'; | ||||
| import {fomanticMobileScreen} from '../modules/fomantic.ts'; | ||||
| import {POST} from '../modules/fetch.ts'; | ||||
| 
 | ||||
| async function initRepoWikiFormEditor() { | ||||
|   const editArea = document.querySelector('.repository.wiki .combo-markdown-editor textarea'); | ||||
| @@ -1,7 +1,7 @@ | ||||
| import {createTippy} from '../modules/tippy.js'; | ||||
| import {GET} from '../modules/fetch.js'; | ||||
| import {hideElem, showElem} from '../utils/dom.js'; | ||||
| import {logoutFromWorker} from '../modules/worker.js'; | ||||
| import {createTippy} from '../modules/tippy.ts'; | ||||
| import {GET} from '../modules/fetch.ts'; | ||||
| import {hideElem, showElem} from '../utils/dom.ts'; | ||||
| import {logoutFromWorker} from '../modules/worker.ts'; | ||||
| 
 | ||||
| const {appSubUrl, notificationSettings, enableTimeTracking, assetVersionEncoded} = window.config; | ||||
| 
 | ||||
| @@ -1,4 +1,4 @@ | ||||
| import {emojiKeys, emojiHTML, emojiString} from './emoji.js'; | ||||
| import {emojiKeys, emojiHTML, emojiString} from './emoji.ts'; | ||||
| import {htmlEscape} from 'escape-goat'; | ||||
| 
 | ||||
| function makeCollections({mentions, emoji}) { | ||||
| @@ -1,6 +1,6 @@ | ||||
| import {encodeURLEncodedBase64, decodeURLEncodedBase64} from '../utils.js'; | ||||
| import {showElem} from '../utils/dom.js'; | ||||
| import {GET, POST} from '../modules/fetch.js'; | ||||
| import {encodeURLEncodedBase64, decodeURLEncodedBase64} from '../utils.ts'; | ||||
| import {showElem} from '../utils/dom.ts'; | ||||
| import {GET, POST} from '../modules/fetch.ts'; | ||||
| 
 | ||||
| const {appSubUrl} = window.config; | ||||
| 
 | ||||
| @@ -1,4 +1,4 @@ | ||||
| import {checkAppUrl} from './common-page.js'; | ||||
| import {checkAppUrl} from './common-page.ts'; | ||||
| 
 | ||||
| export function initUserAuthOauth2() { | ||||
|   const outer = document.querySelector('#oauth2-login-navigator'); | ||||
| @@ -1,4 +1,4 @@ | ||||
| import {hideElem, showElem} from '../utils/dom.js'; | ||||
| import {hideElem, showElem} from '../utils/dom.ts'; | ||||
| 
 | ||||
| export function initUserSettings() { | ||||
|   if (!document.querySelectorAll('.user.settings.profile').length) return; | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user