Skip to content

Commit f5dbcee

Browse files
authored
update: item row name truncated (#36)
1 parent f2db9a6 commit f5dbcee

4 files changed

Lines changed: 17 additions & 6 deletions

File tree

fastapi_forge/frontend/components/item_row.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from pydantic import BaseModel
55

66
from fastapi_forge.dtos import CustomEnum, Model
7+
from fastapi_forge.frontend.constants import ITEM_ROW_TRUNCATE_LEN
78
from fastapi_forge.frontend.state import state
89

910

@@ -48,11 +49,21 @@ def _build(self) -> None:
4849
ui.icon(self.icon, color="green", size="20px").classes(
4950
"self-center"
5051
)
51-
self.name_label = ui.label(text=self.get_name(self.item)).classes(
52-
"self-center"
52+
full_name = self.get_name(self.item)
53+
truncated_name = (
54+
(full_name[:ITEM_ROW_TRUNCATE_LEN] + "...")
55+
if len(full_name) > ITEM_ROW_TRUNCATE_LEN
56+
else full_name
5357
)
54-
if self.color:
55-
self.name_label.classes(add=self.color)
58+
self.name_label = (
59+
ui.label(text=truncated_name)
60+
.classes("self-center truncate")
61+
.tooltip(
62+
full_name if len(full_name) > ITEM_ROW_TRUNCATE_LEN else None
63+
)
64+
)
65+
if self.color:
66+
self.name_label.classes(add=self.color)
5667

5768
self.name_input = (
5869
ui.input(value=self.get_name(self.item))

fastapi_forge/frontend/constants.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
SELECTED_MODEL_TEXT_COLOR = "text-black-500 dark:text-amber-300"
77
SELECTED_ENUM_TEXT_COLOR = "text-black-500 dark:text-amber-300"
8+
ITEM_ROW_TRUNCATE_LEN = 17
89

910
FIELD_COLUMNS: list[dict[str, Any]] = [
1011
{

tests/test_dtos.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
import pytest
32
from pydantic import ValidationError
43

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)