π¨ Palette: μ«μ μ λ ₯ νλ 곡백 μνμ μΈλΌμΈ μ ν¨μ± κ²μ¬ μ΄κΈ°ν λ° μ΄λ²€νΈ μ΅μ ν - #292
Conversation
|
π Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a π emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
There was a problem hiding this comment.
Pull request overview
This PR updates the FastAPI SaaS UIβs client-side validation behavior for the target_bytes and batch_target_bytes number inputs so that clearing the field resets any prior custom validation/error state, while also reducing per-input-event DOM querying by caching preset button lookups.
Changes:
- Reset
setCustomValidity/aria-invalid(and presetaria-pressedstate) when numeric inputs are cleared to blank. - Cache preset button NodeLists and parsed preset byte values outside the
inputevent handlers. - Update UI snapshot-style assertions to reflect the new cached preset logic.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
saas_web.py |
Resets inline validation state on empty input and caches preset DOM queries/parsing for the UI script. |
tests/test_saas_web.py |
Adjusts HTML assertions to match updated preset/validation JS emitted by the UI template. |
.jules/palette.md |
Replaced file contents with a single new Palette entry (removes previous entries). |
π‘ Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| ## 2024-10-25 - μ«μ μ λ ₯ νλ 곡백 μνμ μΈλΌμΈ μ ν¨μ± κ²μ¬ μ΄κΈ°ν λ° μ΄λ²€νΈ μ΅μ ν | ||
| **νμ΅:** JavaScriptλ₯Ό μ¬μ©ν΄ μ«μ μ λ ₯ νλμ μΈλΌμΈ μ ν¨μ± κ²μ¬λ₯Ό ꡬνν λ, μ¬μ©μκ° μ λ ₯κ°μ μ§μ 곡백(`''`)μ΄ λμμ λ λͺ μμ μΌλ‘ `this.setCustomValidity('')` λ° `this.removeAttribute('aria-invalid')`λ₯Ό νΈμΆνμ§ μμΌλ©΄ μ΄μ μ μ ν¨νμ§ μμ μν(μ: μμ)κ° λ΄λΆμ μΌλ‘ μ μ§λλ λ¬Έμ λ₯Ό νμΈνμ΅λλ€. λν λΉλ²νκ² λ°μνλ μ΄λ²€νΈ(μ: input) 리μ€λ λ΄μμλ DOM 쿼리(NodeList)μ μμ± νμ± μμ μ 리μ€λ μΈλΆλ‘ μΆμΆν΄ UI μ±λ₯μ ν₯μμμΌμΌ ν©λλ€. | ||
| **μ€ν:** `input` 리μ€λ μμ λΆλΆμ `if (this.value === '')` 쑰건μ λͺ μμ μΌλ‘ μΆκ°νμ¬ μλ¬ μνλ₯Ό μ΄κΈ°ννκ³ HTML5 κΈ°λ³Έ μ μ½ μ‘°κ±΄μ΄ μ λλ‘ λμνλλ‘ μμ νμ΅λλ€. λν NodeList λ° νμ± λ°μ΄ν°λ₯Ό μ΄λ²€νΈ 리μ€λ μΈλΆμ μΊμ±νμ¬ λ¦¬μ€λ λ΄λΆμ λ°λ³΅μ μΈ μ°μ°μ μ΅μννμ΅λλ€. |
|
Closing as superseded by #353. The canonical branch is being rebuilt from the current |
Understood. Acknowledging that this work is now superseded by #353 and stopping work on this task. |
π‘ What:
target_bytesμbatch_target_bytesμ λ ₯ νλμμ κ°μ μ§μ μ λ 컀μ€ν μλ¬ μνκ° μ΄κΈ°νλλλ‘ μμ νκ³ , μ΄λ²€νΈ 리μ€λ μΈλΆλ‘ DOM 쿼리 λ° νμ± λ‘μ§μ μΆμΆνμ¬ μΊμ±νμ΅λλ€.π― Why: μ¬μ©μκ° μ λ ₯ νλλ₯Ό λͺ¨λ μ§μ λΉμΉΈμΌλ‘ λμμ λ λΈλΌμ°μ κ° μ΄μ μ μλͺ»λ μν(μ: μμ)λ₯Ό κ³μ κΈ°μ΅νλ λ¬Έμ λ₯Ό λ°©μ§νμ¬ κΈ°λ³Έ HTML5
requiredλμμ΄ μνν μ΄λ€μ§λλ‘ νκ³ , λΉλ²νκ² μ€νλλ μ λ ₯ μ΄λ²€νΈμ μ±λ₯μ κ°μ νκΈ° μν¨μ λλ€.πΈ Before/After: μκ°μ μΌλ‘λ λΉμΉΈμΌ λ μλ¬ λ©μμ§κ° μ μ§λμ§ μλλ‘ λμμ΄ κ°μ λ¨.
βΏ Accessibility:
aria-invalidμμ±μ λΉμΉΈμΌ λ λͺ μμ μΌλ‘ ν΄μ νμ¬ μ€ν¬λ¦° 리λκ° λΉμΉΈμ μ€λ₯ μνλ‘ μλͺ» μ½μ§ μκ² κ°μ νκ³ , ν리μ λ²νΌμaria-pressedμνλ κ³΅λ°±μΌ λ μ¬λ°λ₯΄κ² μ΄κΈ°νλλλ‘ νμμ΅λλ€.PR created automatically by Jules for task 13863820131660275528 started by @seonghobae