diff --git a/htdocs/css/admin.css b/htdocs/css/admin.css index 38dae89..cab552f 100644 --- a/htdocs/css/admin.css +++ b/htdocs/css/admin.css @@ -106,4 +106,18 @@ table.bookmarks .frequency { .option-add-button, .option-remove-button { width: 70px; +} + +.scheduler-static-time-inputs { + display: flex; + flex-direction: row; +} + +.scheduler-static-time-inputs > * { + flex: 0 0 auto; + width: unset; +} + +.scheduler-static-time-inputs > select { + flex: 1 0 auto; } \ No newline at end of file diff --git a/owrx/form/device.py b/owrx/form/device.py index 2a940ab..58e4816 100644 --- a/owrx/form/device.py +++ b/owrx/form/device.py @@ -176,18 +176,19 @@ class SchedulerInput(Input): return super().render(config) def render_input(self, value): - def render_profiles_select(stage): + def render_profiles_select(config_key, stage, extra_classes=""): stage_value = "" - if value and "schedule" in value and stage in value["schedule"]: - stage_value = value["schedule"][stage] + if value and "schedule" in value and config_key in value["schedule"]: + stage_value = value["schedule"][config_key] return """ - {options} """.format( id="{}-{}".format(self.id, stage), classes=self.input_classes(), + extra_classes=extra_classes, disabled="disabled" if self.disabled else "", options="".join( """ @@ -201,6 +202,20 @@ class SchedulerInput(Input): ), ) + def render_time_inputs(v): + values = ["{}:{}".format(v[0:2], v[2:4]) for x in [v[0:4], v[5:9]]] + return '
-
'.join( + """ + + """.format( + id="{}-{}-{}".format(self.id, "time", "start" if i == 0 else "end"), + classes=self.input_classes(), + disabled="disabled" if self.disabled else "", + value=v, + ) + for i, v in enumerate(values) + ) + return """