diff --git a/demo/smoke_room_settings.mjs b/demo/smoke_room_settings.mjs index 3448e7c8..3c71611f 100644 --- a/demo/smoke_room_settings.mjs +++ b/demo/smoke_room_settings.mjs @@ -198,6 +198,31 @@ const res = await page.evaluate(async () => { range.dispatchEvent(new Event('input', { bubbles: true })); await c.updateComplete; out.scaleWritesOnlyItsOwnKey = JSON.stringify(changedFields(before, draft())) === JSON.stringify(['nameScale']); + // Область: меняется только область (и имя, если оно было пустым, — это + // давнее поведение селектора, а не набора). + before = draft(); + const areaSelect = sr().querySelector('hp-dialog .areasel'); + // Свободных зон в фикстуре может не остаться — комната держит единственную. + // «Без зоны» доступна всегда, и для проверки соседа этого достаточно: имя уже + // заполнено, поэтому автоподстановка имени по зоне в игру не вступает. + const values = [...areaSelect.options].map((o) => o.value); + const otherArea = c._areaSel ? '' : values.find((v) => v); + out.areaOptionAvailable = otherArea !== undefined; + areaSelect.value = otherArea; + areaSelect.dispatchEvent(new Event('change', { bubbles: true })); + await c.updateComplete; + out.areaWritesOnlyItsOwnKey = JSON.stringify(changedFields(before, draft())) === JSON.stringify(['area']); + // Режим заливки: перетипизированный FILL_CHOICES пишет в _roomFill и, уходя + // с «Свой цвет», обнуляет цвет — это его давний контракт (#581), а не сосед. + before = draft(); + const tempRadio = [...sr().querySelectorAll('hp-dialog .srcrow')] + .find((l) => l.textContent.trim() === c._t('fill.temp'))?.querySelector('input[type="radio"]'); + out.fillOptionAvailable = !!tempRadio; + tempRadio.checked = true; + tempRadio.dispatchEvent(new Event('change', { bubbles: true })); + await c.updateComplete; + out.fillWritesOnlyItsOwnKey = JSON.stringify(changedFields(before, draft())) === JSON.stringify(['fill']) + && c._roomFill === 'temp'; // Источник влажности: сегмент открывает список и не трогает температуру. before = draft(); const humSeg = segmentOf('hum'); diff --git a/docs/images/screenshots.json b/docs/images/screenshots.json index ea53f669..0891f9c4 100644 --- a/docs/images/screenshots.json +++ b/docs/images/screenshots.json @@ -3,7 +3,7 @@ "fixture": "synthetic-only", "chromium": "151.0.7922.34", "oxipng": "oxipng 10.2.0", - "sourceFingerprint": "9b5b6618ac78ca56b3d724f998451dcbff19b20619b8abecd35088aee7a0775a", + "sourceFingerprint": "b678af433a400f150ea1cf4cdb4e585a02e9b5f8e3cd3fa236a78178ffe6de96", "captureScriptSha256": "9e4b0ae533407fe003a129078aec020f2c83d67cdb6fc6da696ce3d829beaeb5", "command": "npm run build && node demo/docs/capture.mjs", "scenarios": { @@ -15,7 +15,7 @@ }, "theme": "dark", "language": "en", - "sourceSha256": "9b5b6618ac78ca56b3d724f998451dcbff19b20619b8abecd35088aee7a0775a", + "sourceSha256": "b678af433a400f150ea1cf4cdb4e585a02e9b5f8e3cd3fa236a78178ffe6de96", "imageSha256": "5d1e816c2fde72316809991e9651e242d3cbcd897fb9db0554dc3bde943486f5" }, "view-touch": { @@ -26,7 +26,7 @@ }, "theme": "dark", "language": "en", - "sourceSha256": "9b5b6618ac78ca56b3d724f998451dcbff19b20619b8abecd35088aee7a0775a", + "sourceSha256": "b678af433a400f150ea1cf4cdb4e585a02e9b5f8e3cd3fa236a78178ffe6de96", "imageSha256": "bc2001f9cd51715a38ad8d913b1c5a4f2220b3917c8dc03b2de65cfb3f62f808" }, "space-create": { @@ -37,7 +37,7 @@ }, "theme": "dark", "language": "en", - "sourceSha256": "9b5b6618ac78ca56b3d724f998451dcbff19b20619b8abecd35088aee7a0775a", + "sourceSha256": "b678af433a400f150ea1cf4cdb4e585a02e9b5f8e3cd3fa236a78178ffe6de96", "imageSha256": "9f0970de09772674c3156b9fc5b2d49de0ceb22be11ecf8b136047d37d100a84" }, "room-contour-close": { @@ -48,7 +48,7 @@ }, "theme": "dark", "language": "en", - "sourceSha256": "9b5b6618ac78ca56b3d724f998451dcbff19b20619b8abecd35088aee7a0775a", + "sourceSha256": "b678af433a400f150ea1cf4cdb4e585a02e9b5f8e3cd3fa236a78178ffe6de96", "imageSha256": "0c354a79f9c3660788b6c5e889a27b6bd78b1f209dc0eef6bb43e2c1344028c4" }, "plan-context-tray": { @@ -59,7 +59,7 @@ }, "theme": "dark", "language": "en", - "sourceSha256": "9b5b6618ac78ca56b3d724f998451dcbff19b20619b8abecd35088aee7a0775a", + "sourceSha256": "b678af433a400f150ea1cf4cdb4e585a02e9b5f8e3cd3fa236a78178ffe6de96", "imageSha256": "64169c543291bc4df806dcf8ff484b42c8ea55eb343323d945344e0e28f2ce97" }, "device-editor": { @@ -70,7 +70,7 @@ }, "theme": "dark", "language": "en", - "sourceSha256": "9b5b6618ac78ca56b3d724f998451dcbff19b20619b8abecd35088aee7a0775a", + "sourceSha256": "b678af433a400f150ea1cf4cdb4e585a02e9b5f8e3cd3fa236a78178ffe6de96", "imageSha256": "3c8703175605fcf0387d654cd30783ecfd33e21743e70b45190a5ae1a8d355c2" }, "device-display-preview": { @@ -81,7 +81,7 @@ }, "theme": "dark", "language": "en", - "sourceSha256": "9b5b6618ac78ca56b3d724f998451dcbff19b20619b8abecd35088aee7a0775a", + "sourceSha256": "b678af433a400f150ea1cf4cdb4e585a02e9b5f8e3cd3fa236a78178ffe6de96", "imageSha256": "5d6193202102f5e6d85567f1111fa105895b933979fbf369c6ba0b1029deb823" }, "background-editor": { @@ -92,7 +92,7 @@ }, "theme": "dark", "language": "en", - "sourceSha256": "9b5b6618ac78ca56b3d724f998451dcbff19b20619b8abecd35088aee7a0775a", + "sourceSha256": "b678af433a400f150ea1cf4cdb4e585a02e9b5f8e3cd3fa236a78178ffe6de96", "imageSha256": "375900a29aa62632883ede6727b7dbb8b48cabe9d7d0e16425f9779c837f3dd9" }, "room-card": { @@ -103,7 +103,7 @@ }, "theme": "dark", "language": "en", - "sourceSha256": "9b5b6618ac78ca56b3d724f998451dcbff19b20619b8abecd35088aee7a0775a", + "sourceSha256": "b678af433a400f150ea1cf4cdb4e585a02e9b5f8e3cd3fa236a78178ffe6de96", "imageSha256": "c985783769da1bce50c9abe92ce1c6852d62701ce940f6f0a041d634ac21e888" }, "device-info": { @@ -114,7 +114,7 @@ }, "theme": "dark", "language": "en", - "sourceSha256": "9b5b6618ac78ca56b3d724f998451dcbff19b20619b8abecd35088aee7a0775a", + "sourceSha256": "b678af433a400f150ea1cf4cdb4e585a02e9b5f8e3cd3fa236a78178ffe6de96", "imageSha256": "19e247d5bf49375b238292d45ae32e9eb38a83f5d1a53f6ddde860ed4adcef42" }, "pdf-export": { @@ -125,7 +125,7 @@ }, "theme": "light", "language": "en", - "sourceSha256": "9b5b6618ac78ca56b3d724f998451dcbff19b20619b8abecd35088aee7a0775a", + "sourceSha256": "b678af433a400f150ea1cf4cdb4e585a02e9b5f8e3cd3fa236a78178ffe6de96", "imageSha256": "4537692fd57a3ed95528eddd748eee5cb6e456ffab7cc49169853d62459252cd" } },