mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-19 22:34:15 +00:00
Fix searchbox trigger on non-always link release setting (#426)
* Fix searchbox trigger on non-always link release setting * Add browsertest
This commit is contained in:
@@ -170,6 +170,15 @@ export class ComfyPage {
|
||||
await this.resetView()
|
||||
}
|
||||
|
||||
async setSetting(settingId: string, settingValue: any) {
|
||||
return await this.page.evaluate(
|
||||
async ({ id, value }) => {
|
||||
await window['app'].ui.settings.setSettingValueAsync(id, value)
|
||||
},
|
||||
{ id: settingId, value: settingValue }
|
||||
)
|
||||
}
|
||||
|
||||
async realod() {
|
||||
await this.page.reload({ timeout: 15000 })
|
||||
await this.setup()
|
||||
|
||||
@@ -2,9 +2,23 @@ import { expect } from '@playwright/test'
|
||||
import { comfyPageFixture as test } from './ComfyPage'
|
||||
|
||||
test.describe('Node search box', () => {
|
||||
test('Can trigger on empty canvas double click', async ({ comfyPage }) => {
|
||||
await comfyPage.doubleClickCanvas()
|
||||
await expect(comfyPage.searchBox.input).toHaveCount(1)
|
||||
test.beforeEach(async ({ comfyPage }) => {
|
||||
await comfyPage.setSetting(
|
||||
'Comfy.NodeSearchBoxImpl.LinkReleaseTrigger',
|
||||
'always'
|
||||
)
|
||||
})
|
||||
;['always', 'hold shift', 'NOT hold shift'].forEach((triggerMode) => {
|
||||
test(`Can trigger on empty canvas double click (${triggerMode})`, async ({
|
||||
comfyPage
|
||||
}) => {
|
||||
await comfyPage.setSetting(
|
||||
'Comfy.NodeSearchBoxImpl.LinkReleaseTrigger',
|
||||
triggerMode
|
||||
)
|
||||
await comfyPage.doubleClickCanvas()
|
||||
await expect(comfyPage.searchBox.input).toHaveCount(1)
|
||||
})
|
||||
})
|
||||
|
||||
test('Can trigger on link release', async ({ comfyPage }) => {
|
||||
|
||||
@@ -104,16 +104,16 @@ const linkReleaseTriggerMode = computed<LinkReleaseTriggerMode>(() => {
|
||||
const canvasEventHandler = (e: LiteGraphCanvasEvent) => {
|
||||
const shiftPressed = (e.detail.originalEvent as KeyboardEvent).shiftKey
|
||||
|
||||
if (
|
||||
(linkReleaseTriggerMode.value === LinkReleaseTriggerMode.HOLD_SHIFT &&
|
||||
!shiftPressed) ||
|
||||
(linkReleaseTriggerMode.value === LinkReleaseTriggerMode.NOT_HOLD_SHIFT &&
|
||||
shiftPressed)
|
||||
) {
|
||||
return
|
||||
}
|
||||
|
||||
if (e.detail.subType === 'empty-release') {
|
||||
if (
|
||||
(linkReleaseTriggerMode.value === LinkReleaseTriggerMode.HOLD_SHIFT &&
|
||||
!shiftPressed) ||
|
||||
(linkReleaseTriggerMode.value === LinkReleaseTriggerMode.NOT_HOLD_SHIFT &&
|
||||
shiftPressed)
|
||||
) {
|
||||
return
|
||||
}
|
||||
|
||||
const context = e.detail.linkReleaseContext
|
||||
if (context.links.length === 0) {
|
||||
console.warn('Empty release with no links! This should never happen')
|
||||
|
||||
Reference in New Issue
Block a user