move columns to global level
This commit is contained in:
parent
ddf4662d78
commit
2bf3d126e9
@ -41,11 +41,11 @@ def new(
|
|||||||
typer.echo("Created new thing!")
|
typer.echo("Created new thing!")
|
||||||
|
|
||||||
@app.command()
|
@app.command()
|
||||||
def things(
|
def table(
|
||||||
view: Annotated[str, typer.Option("-v", "--view", help="saved view")] = "default",
|
view: Annotated[str, typer.Option("-v", "--view", help="saved view")] = "default",
|
||||||
):
|
):
|
||||||
initialize_db()
|
initialize_db()
|
||||||
things_tui(view)
|
things_tui("tasks")
|
||||||
|
|
||||||
|
|
||||||
@app.command()
|
@app.command()
|
||||||
|
@ -42,6 +42,16 @@ def get_view(name):
|
|||||||
|
|
||||||
raise ValueError(f"no such view! {name}")
|
raise ValueError(f"no such view! {name}")
|
||||||
|
|
||||||
|
def get_column(name):
|
||||||
|
if name == "id":
|
||||||
|
return {"field_name": "id", "display_name": "ID", "read_only": True}
|
||||||
|
|
||||||
|
for col in _load_config().get("columns", []):
|
||||||
|
if col["field_name"] == name:
|
||||||
|
return col
|
||||||
|
|
||||||
|
raise ValueError(f"no such column! {name}")
|
||||||
|
|
||||||
# Valid statuses & projects are read dynamically from the user's config.
|
# Valid statuses & projects are read dynamically from the user's config.
|
||||||
STATUSES = get_enum("status")
|
STATUSES = get_enum("status")
|
||||||
PROJECTS = get_enum("projects")
|
PROJECTS = get_enum("projects")
|
||||||
|
@ -107,8 +107,12 @@ class TableEditor(App):
|
|||||||
self.table_config = []
|
self.table_config = []
|
||||||
view = config.get_view(name)
|
view = config.get_view(name)
|
||||||
|
|
||||||
|
# FIXME: special case during things conversion
|
||||||
|
# if recurring, different column definition
|
||||||
|
|
||||||
# set up columns
|
# set up columns
|
||||||
for col in view["columns"]:
|
for col_name in view["columns"]:
|
||||||
|
col = config.get_column(col_name)
|
||||||
field_type = col.get("field_type", "text")
|
field_type = col.get("field_type", "text")
|
||||||
field_cls = get_col_cls(field_type)
|
field_cls = get_col_cls(field_type)
|
||||||
field_name = col["field_name"]
|
field_name = col["field_name"]
|
||||||
|
@ -15,8 +15,8 @@ class ThingTable(TableEditor):
|
|||||||
# ("ctrl+o", "load_view", "load saved view"),
|
# ("ctrl+o", "load_view", "load saved view"),
|
||||||
# ]
|
# ]
|
||||||
|
|
||||||
def __init__(self, default_view="default"):
|
def __init__(self, view="default"):
|
||||||
super().__init__("things")
|
super().__init__(view)
|
||||||
self.update_item_callback = update_thing
|
self.update_item_callback = update_thing
|
||||||
self.add_item_callback = add_thing
|
self.add_item_callback = add_thing
|
||||||
self.get_item_callback = get_thing
|
self.get_item_callback = get_thing
|
||||||
|
Loading…
Reference in New Issue
Block a user