fix table
This commit is contained in:
@@ -286,6 +286,54 @@ def resolve_where_used(db: Session, project_id: int, mappings: list[str]) -> str
|
||||
return ""
|
||||
|
||||
|
||||
def get_font_stretch(db: Session, project_id: int, table_type: str) -> int:
|
||||
doc = DOC_TYPE_KEYS.get(table_type, table_type)
|
||||
raw = _get_setting(db, project_id, f"fontStretch_{doc}")
|
||||
if not raw:
|
||||
return 100
|
||||
try:
|
||||
return int(raw)
|
||||
except ValueError:
|
||||
return 100
|
||||
|
||||
|
||||
def save_cell_overflows(
|
||||
db: Session, project_id: int, table_type: str, overflows: list[dict[str, Any]]
|
||||
) -> None:
|
||||
merged: dict[str, set[str]] = {}
|
||||
for item in overflows:
|
||||
key = str(item.get("row_id") or item.get("row_index"))
|
||||
merged.setdefault(key, set()).add(item["field"])
|
||||
payload = {k: sorted(v) for k, v in merged.items()}
|
||||
_set_setting(db, project_id, f"cell_overflow_{table_type}", json.dumps(payload, ensure_ascii=False))
|
||||
db.commit()
|
||||
|
||||
|
||||
def get_cell_overflows(db: Session, project_id: int, table_type: str) -> dict[str, list[str]]:
|
||||
raw = _get_setting(db, project_id, f"cell_overflow_{table_type}")
|
||||
if not raw:
|
||||
return {}
|
||||
try:
|
||||
data = json.loads(raw)
|
||||
if isinstance(data, dict):
|
||||
return {str(k): list(v) for k, v in data.items()}
|
||||
except json.JSONDecodeError:
|
||||
pass
|
||||
return {}
|
||||
|
||||
|
||||
def clear_cell_overflows(db: Session, project_id: int, table_type: str) -> None:
|
||||
row = db.scalar(
|
||||
select(ProjectSetting).where(
|
||||
ProjectSetting.project_id == project_id,
|
||||
ProjectSetting.key == f"cell_overflow_{table_type}",
|
||||
)
|
||||
)
|
||||
if row:
|
||||
db.delete(row)
|
||||
db.commit()
|
||||
|
||||
|
||||
def resolve_decimal_and_board(
|
||||
db: Session, project_id: int, project_decimal: str, project_board: str, table_type: str
|
||||
) -> tuple[str, str]:
|
||||
|
||||
Reference in New Issue
Block a user