add the ability to put append a unit to inputs

This commit is contained in:
Jakob Ketterl 2021-02-07 18:21:57 +01:00
parent 8de70cd523
commit b60a8a1af0
2 changed files with 27 additions and 8 deletions

View File

@ -95,6 +95,7 @@ class GeneralSettingsController(AdminController):
"receiver_asl",
"Receiver elevation",
infotext="Elevation in meters above mean see level",
append="m MSL",
),
TextInput("receiver_admin", "Receiver admin"),
LocationInput("receiver_gps", "Receiver coordinates"),
@ -114,19 +115,20 @@ class GeneralSettingsController(AdminController):
"Waterfall settings",
NumberInput(
"fft_fps",
"FFT frames per second",
"FFT speed",
infotext="This setting specifies how many lines are being added to the waterfall per second. "
+ "Higher values will give you a faster waterfall, but will also use more CPU.",
append="frames per second",
),
NumberInput("fft_size", "FFT size"),
NumberInput("fft_size", "FFT size", append="bins"),
FloatInput(
"fft_voverlap_factor",
"FFT vertical overlap factor",
infotext="If fft_voverlap_factor is above 0, multiple FFTs will be used for creating a line on the "
+ "diagram.",
),
NumberInput("waterfall_min_level", "Lowest waterfall level"),
NumberInput("waterfall_max_level", "Highest waterfall level"),
NumberInput("waterfall_min_level", "Lowest waterfall level", append="dBFS"),
NumberInput("waterfall_max_level", "Highest waterfall level", append="dBFS"),
),
Section(
"Compression",
@ -150,7 +152,7 @@ class GeneralSettingsController(AdminController):
Section(
"Digimodes",
CheckboxInput("digimodes_enable", "", checkboxText="Enable Digimodes"),
NumberInput("digimodes_fft_size", "Digimodes FFT size"),
NumberInput("digimodes_fft_size", "Digimodes FFT size", append="bins"),
),
Section(
"Digital voice",
@ -199,7 +201,8 @@ class GeneralSettingsController(AdminController):
NumberInput(
"map_position_retention_time",
"Map retention time",
infotext="Unit is seconds<br/>Specifies how log markers / grids will remain visible on the map",
infotext="Specifies how log markers / grids will remain visible on the map",
append="s",
),
),
Section(

View File

@ -53,19 +53,35 @@ class TextInput(Input):
class NumberInput(Input):
def __init__(self, id, label, infotext=None):
def __init__(self, id, label, infotext=None, append=""):
super().__init__(id, label, infotext)
self.step = None
self.append = append
def render_input(self, value):
if self.append:
append = """
<div class="input-group-append">
<span class="input-group-text">{append}</span>
</div>
""".format(
append=self.append
)
else:
append = ""
return """
<div class="input-group input-group-sm">
<input type="number" class="{classes}" id="{id}" name="{id}" placeholder="{label}" value="{value}" {step}>
{append}
</div>
""".format(
id=self.id,
label=self.label,
classes=self.input_classes(),
value=value,
step='step="{0}"'.format(self.step) if self.step else "",
append=append,
)
def convert_from_form(self, v):