Snapshot fixes

This commit is contained in:
Darren Burns
2024-12-05 16:36:00 +00:00
parent c33f36e7fc
commit 3d21493d5b
5 changed files with 68 additions and 64 deletions

View File

@@ -16,7 +16,7 @@ from textual.strip import Strip
if TYPE_CHECKING:
pass
from textual.reactive import var
from textual.reactive import Reactive, var
from textual.validation import ValidationResult, Validator
from textual.widgets._input import Input
@@ -443,7 +443,7 @@ class _Template(Validator):
class MaskedInput(Input, can_focus=True):
"""A masked text input widget."""
template = var("")
template: Reactive[str] = var("")
"""Input template mask currently in use."""
def __init__(
@@ -455,6 +455,7 @@ class MaskedInput(Input, can_focus=True):
validators: Validator | Iterable[Validator] | None = None,
validate_on: Iterable[InputValidationOn] | None = None,
valid_empty: bool = False,
select_on_focus: bool = True,
name: str | None = None,
id: str | None = None,
classes: str | None = None,
@@ -484,6 +485,7 @@ class MaskedInput(Input, can_focus=True):
validators=validators,
validate_on=validate_on,
valid_empty=valid_empty,
select_on_focus=select_on_focus,
name=name,
id=id,
classes=classes,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View File

@@ -15,7 +15,7 @@ class FruitsApp(App[None]):
"""
def compose(self) -> ComposeResult:
yield Input("straw", suggester=SuggestFromList(fruits))
yield Input("straw", suggester=SuggestFromList(fruits), select_on_focus=False)
yield Input("straw", suggester=SuggestFromList(fruits))
yield Input("p", suggester=SuggestFromList(fruits))
yield Input("b", suggester=SuggestFromList(fruits))

View File

@@ -176,7 +176,7 @@ def test_input_cursor(snap_compare):
class InputApp(App[None]):
def compose(self) -> ComposeResult:
yield Input(value="こんにちは")
input = Input(value="こんにちは")
input = Input(value="こんにちは", select_on_focus=False)
input.focus()
input.action_cursor_left()
yield input

View File

@@ -18,7 +18,9 @@ class InputApp(App[None]):
self.placeholder = placeholder
def compose(self) -> ComposeResult:
yield MaskedInput(template=self.template, placeholder=self.placeholder)
yield MaskedInput(
template=self.template, placeholder=self.placeholder, select_on_focus=False
)
@on(MaskedInput.Changed)
@on(MaskedInput.Submitted)