diff --git a/.claude/skills/web-test/scripts/engine/forms/close.mjs b/.claude/skills/web-test/scripts/engine/forms/close.mjs index cd9990e3..9adc9dc0 100644 --- a/.claude/skills/web-test/scripts/engine/forms/close.mjs +++ b/.claude/skills/web-test/scripts/engine/forms/close.mjs @@ -1,10 +1,11 @@ -// web-test forms/close v1.17 — Close current form via Escape, handle save-changes confirmation. +// web-test forms/close v1.18 — Close current form via Escape, handle save-changes confirmation. // Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import { page, recorder, ensureConnected } from '../core/state.mjs'; import { detectFormScript } from '../../dom.mjs'; import { dismissPendingErrors, checkForErrors, detectPlatformDialogs, closePlatformDialogs } from '../core/errors.mjs'; import { waitForStable } from '../core/wait.mjs'; +import { returnFormState } from '../core/helpers.mjs'; import { getFormState } from './state.mjs'; /** @@ -23,10 +24,7 @@ export async function closeForm({ save } = {}) { if (pd.length) { await closePlatformDialogs(); await page.waitForTimeout(300); - const state = await getFormState(); - state.closed = true; - state.closedPlatformDialogs = pd; - return state; + return returnFormState({ closed: true, closedPlatformDialogs: pd }); } const beforeForm = await page.evaluate(detectFormScript()); await page.keyboard.press('Escape'); @@ -47,14 +45,12 @@ export async function closeForm({ save } = {}) { break; } } - const afterState = await getFormState(); - afterState.closed = afterState.form !== beforeForm; - return afterState; + const afterForm = await page.evaluate(detectFormScript()); + return returnFormState({ closed: afterForm !== beforeForm }); } state.confirmation = err.confirmation; state.hint = 'Confirmation dialog shown. Click "Да" to confirm or "Нет" to cancel'; return state; } - state.closed = state.form !== beforeForm; - return state; + return returnFormState({ closed: state.form !== beforeForm }); } diff --git a/.claude/skills/web-test/scripts/engine/table/filter.mjs b/.claude/skills/web-test/scripts/engine/table/filter.mjs index 04a227ef..2f11e35f 100644 --- a/.claude/skills/web-test/scripts/engine/table/filter.mjs +++ b/.claude/skills/web-test/scripts/engine/table/filter.mjs @@ -1,4 +1,4 @@ -// web-test table/filter v1.18 — filterList / unfilterList — simple search + advanced-column filter badges. +// web-test table/filter v1.19 — filterList / unfilterList — simple search + advanced-column filter badges. // Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import { page, ensureConnected, normYo, highlightMode, ACTION_WAIT } from '../core/state.mjs'; @@ -12,7 +12,7 @@ import { import { dismissPendingErrors, checkForErrors } from '../core/errors.mjs'; import { waitForStable, waitForCondition } from '../core/wait.mjs'; import { highlight, unhighlight } from '../recording/highlight.mjs'; -import { safeClick } from '../core/helpers.mjs'; +import { safeClick, returnFormState } from '../core/helpers.mjs'; import { selectValue, fillReferenceField } from '../forms/select-value.mjs'; import { pasteText } from '../core/clipboard.mjs'; import { getFormState } from '../forms/state.mjs'; @@ -51,9 +51,7 @@ export async function filterList(text, { field, exact } = {}) { await page.keyboard.press('Enter'); await waitForStable(formNum); - const state = await getFormState(); - state.filtered = { type: 'search', text }; - return state; + return returnFormState({ filtered: { type: 'search', text } }); } // No search input — Ctrl+F opens advanced search on such forms. @@ -191,9 +189,7 @@ export async function filterList(text, { field, exact } = {}) { } await waitForStable(formNum); - const state = await getFormState(); - state.filtered = { type: 'advanced', field, text, exact: !!exact }; - return state; + return returnFormState({ filtered: { type: 'advanced', field, text, exact: !!exact } }); } /** @@ -219,9 +215,7 @@ export async function unfilterList({ field } = {}) { await page.mouse.click(closeBtn.x, closeBtn.y); await waitForStable(formNum); - const state = await getFormState(); - state.unfiltered = { field: closeBtn.field }; - return state; + return returnFormState({ unfiltered: { field: closeBtn.field } }); } // --- Clear ALL filters --- @@ -250,7 +244,5 @@ export async function unfilterList({ field } = {}) { await waitForStable(formNum); } - const state = await getFormState(); - state.unfiltered = true; - return state; + return returnFormState({ unfiltered: true }); }