mirror of
https://github.com/SikongJueluo/Mini-Nav.git
synced 2026-03-12 12:25:32 +08:00
38 lines
853 B
Python
38 lines
853 B
Python
from typing import Optional
|
|
|
|
import dash_ag_grid as dag
|
|
import dash_mantine_components as dmc
|
|
from dash import Dash
|
|
from database import db_manager
|
|
|
|
|
|
class APP(Dash):
|
|
"""Singleton Dash Application"""
|
|
|
|
_instance: Optional["APP"] = None
|
|
|
|
def __new__(cls) -> "APP":
|
|
if cls._instance is None:
|
|
cls._instance = super().__new__(cls)
|
|
return cls._instance
|
|
|
|
def __init__(self):
|
|
super().__init__(__name__)
|
|
|
|
df = db_manager.table.search().select(["id", "label", "vector"]).to_polars()
|
|
|
|
columnDefs = [
|
|
{"headerName": column.capitalize(), "field": column}
|
|
for column in df.columns
|
|
]
|
|
|
|
self.layout = dmc.MantineProvider(
|
|
dag.AgGrid(
|
|
rowData=df.to_dicts(),
|
|
columnDefs=columnDefs,
|
|
)
|
|
)
|
|
|
|
|
|
app = APP()
|