`django_table` component
Dieses Issue hat noch niemand übernommen.
- #100 von @Archmonger — ohne Merge geschlossen
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 20/100
Rechercherichtung
No source files or tests are named. Start with the proposed django_table entry point and the query_set and columns interface, then compare the listed Material UI, Data Grid, TanStack Table, and Django-Tables2 directions before choosing a design. Done means a table-rendering component can conveniently render Django querysets with a settled interface.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Current Situation
There is currently has no support for conveniently rendering tables from Django querysets.
Proposed Actions
Create a table rendering component. The interface can be developed a few ways:
- Inspired by Material UI Table
- Inspired by Data Grid
- Inspired by TanStack Table
- Inspired by some other ReactJS table library
- Compatible with Django-Tables2 interface.
- This option is iffy, since it would be difficult to attach ReactPy event handlers to things.
Draft Interface
# https://mui.com/x/api/data-grid/data-grid-pro/
django_table(
{"example-prop-value": 123},
query_set=ExampleQuerySet(),
columns=[
{
"name": "ID",
"header": "ID",
"cell": lambda x: None,
},
{
"name": "Name",
"header": "Name",
"cell": lambda x: None,
},
{
"name": "Age",
"header": "Age",
"cell": lambda x: None,
},
],
checkbox_selection=True,
checkbox_selection_visible_only=False,
classes="example",
edit_mode="cell" or "row",
filter_debounce_ms=150,
# get_cell_class_name=lambda x: None,
# get_detail_panel_content=lambda x: None,
# get_row_class_name=lambda x: None,
# get_row_id=lambda x: None,
hide_footer=True,
initial_state=None,
# is_cell_editable=lambda x: None,
# is_group_expanded_by_default=lambda x: None,
# is_row_selectable=lambda x: None,
loading=True,
page_size_options=[10, 25, 50, 100],
row_selection=True,
slots_props={},
slots={},
sorting_order="asc" or "desc",
# pinned_rows={"left": [], "right": []},
# pinned_columns={"top": [], "bottom": []},
# row_reordering=False,
on_cell_click=lambda x: None,
on_cell_double_click=lambda x: None,
on_cell_edit_start=lambda x: None,
on_cell_edit_stop=lambda x: None,
on_cell_key_down=lambda x: None,
on_column_header_click=lambda x: None,
on_column_header_double_click=lambda x: None,
on_column_header_enter=lambda x: None,
on_column_header_leave=lambda x: None,
on_column_header_out=lambda x: None,
on_column_header_over=lambda x: None,
on_column_order_change=lambda x: None,
on_filter_model_change=lambda x: None,
on_menu_close=lambda x: None,
on_menu_open=lambda x: None,
on_preference_panel_close=lambda x: None,
on_preference_panel_open=lambda x: None,
on_process_row_update_error=lambda x: None,
on_row_click=lambda x: None,
on_row_double_click=lambda x: None,
on_row_edit_commit=lambda x: None,
on_row_edit_start=lambda x: None,
on_row_edit_stop=lambda x: None,
on_cell_modes_model_change=lambda x: None,
on_pagination_model_change=lambda x: None,
on_row_modes_model_change=lambda x: None,
on_row_selection_model_change=lambda x: None,
on_sort_model_change=lambda x: None,
pagination_model=None,
row_modes_model=None,
row_selection_model=None,
sort_model=None,
# disable_children_filter=False,
# disable_children_sorting=False,
# disable_column_filter=False,
# disable_column_menu=False,
# disable_column_pinning=False,
# disable_column_reorder=False,
# disable_column_resize=False,
# disable_column_selector=False,
# disable_density_selector=False,
# disable_multiple_columns_filtering=False,
# disable_multiple_columns_sorting=False,
# disable_multiple_row_selection=False,
# disable_row_selection_on_click=False,
)
- Vorherrschende Sprache
- Python
- Sterne
- 357
- Forks
- 22
- Ø Merge
- 10 Std. 31 Min.
- Gemergte PRs (30 T.)
- 2
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus reactive-python/reactpy-django
-
Add coverage tests Offencomplexity: 3 (low) priority: 3 (low) type: ci
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
-
complexity: 1 (high) priority: 1 (high)
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
-
complexity: 2 (medium) priority: 3 (low)
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
-
complexity: 2 (medium) priority: 3 (low)
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
-
complexity: 1 (high) priority: 2 (moderate)
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
Alle Issues in reactive-python/reactpy-django
Ähnliche Issues
-
🐛 Bug 🔔 Pending processing
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
jumpserver/jumpserver#17584 ·
-
link-check link-check:sphinx-theme
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
qgis/QGIS-Documentation#11275 ·
-
bug priority:normal ready-for-dev
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
OpenHands/extensions#626 · 1 Kommentar ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
CSCfi/sd-search-api#39 ·