Focus important fields on forms

This commit is contained in:
Lukáš Kucharczyk 2023-09-30 12:40:02 +02:00
parent 8293737058
commit 552d4bee9e
2 changed files with 14 additions and 3 deletions

View File

@ -7,6 +7,7 @@
* Add copy button on Add session page to copy times between fields * Add copy button on Add session page to copy times between fields
* Use the same form when editing a session as when adding a session * Use the same form when editing a session as when adding a session
* Add a hacky way not to reload a page when starting or ending a session (https://git.kucharczyk.xyz/lukas/timetracker/issues/52) * Add a hacky way not to reload a page when starting or ending a session (https://git.kucharczyk.xyz/lukas/timetracker/issues/52)
* Focus important fields on forms
## 1.0.3 / 2023-02-20 17:16+01:00 ## 1.0.3 / 2023-02-20 17:16+01:00

View File

@ -6,6 +6,8 @@ custom_date_widget = forms.DateInput(attrs={"type": "date"})
custom_datetime_widget = forms.DateTimeInput( custom_datetime_widget = forms.DateTimeInput(
attrs={"type": "datetime-local"}, format="%Y-%m-%d %H:%M" attrs={"type": "datetime-local"}, format="%Y-%m-%d %H:%M"
) )
autofocus_select_widget = forms.Select(attrs={"autofocus": "autofocus"})
autofocus_input_widget = forms.TextInput(attrs={"autofocus": "autofocus"})
class SessionForm(forms.ModelForm): class SessionForm(forms.ModelForm):
@ -13,7 +15,8 @@ class SessionForm(forms.ModelForm):
# queryset=Purchase.objects.filter(date_refunded=None).order_by("edition__name") # queryset=Purchase.objects.filter(date_refunded=None).order_by("edition__name")
# ) # )
purchase = forms.ModelChoiceField( purchase = forms.ModelChoiceField(
queryset=Purchase.objects.order_by("edition__name") queryset=Purchase.objects.order_by("edition__name"),
widget=autofocus_select_widget,
) )
class Meta: class Meta:
@ -38,7 +41,9 @@ class EditionChoiceField(forms.ModelChoiceField):
class PurchaseForm(forms.ModelForm): class PurchaseForm(forms.ModelForm):
edition = EditionChoiceField(queryset=Edition.objects.order_by("name")) edition = EditionChoiceField(
queryset=Edition.objects.order_by("name"), widget=autofocus_select_widget
)
platform = forms.ModelChoiceField(queryset=Platform.objects.order_by("name")) platform = forms.ModelChoiceField(queryset=Platform.objects.order_by("name"))
class Meta: class Meta:
@ -59,7 +64,9 @@ class PurchaseForm(forms.ModelForm):
class EditionForm(forms.ModelForm): class EditionForm(forms.ModelForm):
game = forms.ModelChoiceField(queryset=Game.objects.order_by("name")) game = forms.ModelChoiceField(
queryset=Game.objects.order_by("name"), widget=autofocus_select_widget
)
platform = forms.ModelChoiceField(queryset=Platform.objects.order_by("name")) platform = forms.ModelChoiceField(queryset=Platform.objects.order_by("name"))
class Meta: class Meta:
@ -71,15 +78,18 @@ class GameForm(forms.ModelForm):
class Meta: class Meta:
model = Game model = Game
fields = ["name", "wikidata"] fields = ["name", "wikidata"]
widgets = {"name": autofocus_input_widget}
class PlatformForm(forms.ModelForm): class PlatformForm(forms.ModelForm):
class Meta: class Meta:
model = Platform model = Platform
fields = ["name", "group"] fields = ["name", "group"]
widgets = {"name": autofocus_input_widget}
class DeviceForm(forms.ModelForm): class DeviceForm(forms.ModelForm):
class Meta: class Meta:
model = Device model = Device
fields = ["name", "type"] fields = ["name", "type"]
widgets = {"name": autofocus_input_widget}