loading up the forgejo repo on tangled to test page performance
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge pull request 'Show edit tab initially also when saved in preview tab previously' (#3969) from beowulf/show-edit-tab-initially-also-editing-comments-multiple-times-and-saving-in-preview-mode into forgejo

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3969
Reviewed-by: Gusted <gusted@noreply.codeberg.org>

+34
+31
tests/e2e/edit-comment.test.e2e.js
··· 1 + // @ts-check 2 + import {test, expect} from '@playwright/test'; 3 + import {login_user, load_logged_in_context} from './utils_e2e.js'; 4 + 5 + test.beforeAll(async ({browser}, workerInfo) => { 6 + await login_user(browser, workerInfo, 'user2'); 7 + }); 8 + 9 + test('Always focus edit tab first on edit', async ({browser}, workerInfo) => { 10 + const context = await load_logged_in_context(browser, workerInfo, 'user2'); 11 + const page = await context.newPage(); 12 + const response = await page.goto('/user2/repo1/issues/1'); 13 + await expect(response?.status()).toBe(200); 14 + 15 + // Switch to preview tab and save 16 + await page.click('#issue-1 .comment-container .context-menu'); 17 + await page.click('#issue-1 .comment-container .menu>.edit-content'); 18 + await page.locator('#issue-1 .comment-container a[data-tab-for=markdown-previewer]').click(); 19 + await page.click('#issue-1 .comment-container .save'); 20 + 21 + await page.waitForLoadState('networkidle'); 22 + 23 + // Edit again and assert that edit tab should be active (and not preview tab) 24 + await page.click('#issue-1 .comment-container .context-menu'); 25 + await page.click('#issue-1 .comment-container .menu>.edit-content'); 26 + const editTab = page.locator('#issue-1 .comment-container a[data-tab-for=markdown-writer]'); 27 + const previewTab = page.locator('#issue-1 .comment-container a[data-tab-for=markdown-previewer]'); 28 + 29 + await expect(editTab).toHaveClass(/active/); 30 + await expect(previewTab).not.toHaveClass(/active/); 31 + });
+3
web_src/js/features/repo-legacy.js
··· 479 479 editContentZone.addEventListener('ce-quick-submit', saveAndRefresh); 480 480 editContentZone.querySelector('.cancel.button').addEventListener('click', cancelAndReset); 481 481 editContentZone.querySelector('.save.button').addEventListener('click', saveAndRefresh); 482 + } else { 483 + const tabEditor = editContentZone.querySelector('.combo-markdown-editor').querySelector('.tabular.menu > a[data-tab-for=markdown-writer]'); 484 + tabEditor?.click(); 482 485 } 483 486 484 487 // Show write/preview tab and copy raw content as needed