Skip to content

Commit 8d60c7d

Browse files
GiteaBotwxiaoguang
andauthored
Switch to "Write" tab when edit comment again (#31445) (#31461)
Backport #31445 by wxiaoguang Fix #19031 Co-authored-by: wxiaoguang <[email protected]>
1 parent be302f3 commit 8d60c7d

File tree

2 files changed

+17
-12
lines changed

2 files changed

+17
-12
lines changed

web_src/js/features/comp/ComboMarkdownEditor.js

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -131,34 +131,34 @@ class ComboMarkdownEditor {
131131
}
132132

133133
setupTab() {
134-
const $container = $(this.container);
135-
const tabs = $container[0].querySelectorAll('.tabular.menu > .item');
134+
const tabs = this.container.querySelectorAll('.tabular.menu > .item');
136135

137136
// Fomantic Tab requires the "data-tab" to be globally unique.
138137
// So here it uses our defined "data-tab-for" and "data-tab-panel" to generate the "data-tab" attribute for Fomantic.
139-
const tabEditor = Array.from(tabs).find((tab) => tab.getAttribute('data-tab-for') === 'markdown-writer');
140-
const tabPreviewer = Array.from(tabs).find((tab) => tab.getAttribute('data-tab-for') === 'markdown-previewer');
141-
tabEditor.setAttribute('data-tab', `markdown-writer-${elementIdCounter}`);
142-
tabPreviewer.setAttribute('data-tab', `markdown-previewer-${elementIdCounter}`);
143-
const panelEditor = $container[0].querySelector('.ui.tab[data-tab-panel="markdown-writer"]');
144-
const panelPreviewer = $container[0].querySelector('.ui.tab[data-tab-panel="markdown-previewer"]');
138+
this.tabEditor = Array.from(tabs).find((tab) => tab.getAttribute('data-tab-for') === 'markdown-writer');
139+
this.tabPreviewer = Array.from(tabs).find((tab) => tab.getAttribute('data-tab-for') === 'markdown-previewer');
140+
this.tabEditor.setAttribute('data-tab', `markdown-writer-${elementIdCounter}`);
141+
this.tabPreviewer.setAttribute('data-tab', `markdown-previewer-${elementIdCounter}`);
142+
143+
const panelEditor = this.container.querySelector('.ui.tab[data-tab-panel="markdown-writer"]');
144+
const panelPreviewer = this.container.querySelector('.ui.tab[data-tab-panel="markdown-previewer"]');
145145
panelEditor.setAttribute('data-tab', `markdown-writer-${elementIdCounter}`);
146146
panelPreviewer.setAttribute('data-tab', `markdown-previewer-${elementIdCounter}`);
147147
elementIdCounter++;
148148

149-
tabEditor.addEventListener('click', () => {
149+
this.tabEditor.addEventListener('click', () => {
150150
requestAnimationFrame(() => {
151151
this.focus();
152152
});
153153
});
154154

155155
$(tabs).tab();
156156

157-
this.previewUrl = tabPreviewer.getAttribute('data-preview-url');
158-
this.previewContext = tabPreviewer.getAttribute('data-preview-context');
157+
this.previewUrl = this.tabPreviewer.getAttribute('data-preview-url');
158+
this.previewContext = this.tabPreviewer.getAttribute('data-preview-context');
159159
this.previewMode = this.options.previewMode ?? 'comment';
160160
this.previewWiki = this.options.previewWiki ?? false;
161-
tabPreviewer.addEventListener('click', async () => {
161+
this.tabPreviewer.addEventListener('click', async () => {
162162
const formData = new FormData();
163163
formData.append('mode', this.previewMode);
164164
formData.append('context', this.previewContext);
@@ -170,6 +170,10 @@ class ComboMarkdownEditor {
170170
});
171171
}
172172

173+
switchTabToEditor() {
174+
this.tabEditor.click();
175+
}
176+
173177
prepareEasyMDEToolbarActions() {
174178
this.easyMDEToolbarDefault = [
175179
'bold', 'italic', 'strikethrough', '|', 'heading-1', 'heading-2', 'heading-3',

web_src/js/features/repo-issue-edit.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ async function onEditContent(event) {
172172
if (!comboMarkdownEditor.value()) {
173173
comboMarkdownEditor.value(rawContent.textContent);
174174
}
175+
comboMarkdownEditor.switchTabToEditor();
175176
comboMarkdownEditor.focus();
176177
}
177178

0 commit comments

Comments
 (0)