Skip to content

Add column labels, selectionless actions, Apple-like design refresh - #143

Merged
vsdudakov merged 1 commit into
mainfrom
feat/column-labels-selectionless-actions-apple-design
Jul 16, 2026
Merged

Add column labels, selectionless actions, Apple-like design refresh#143
vsdudakov merged 1 commit into
mainfrom
feat/column-labels-selectionless-actions-apple-design

Conversation

@vsdudakov

Copy link
Copy Markdown
Owner

Features

  • Column labels: new ModelAdmin.list_display_labels attribute ({"field": "Header"}) to override or translate auto-generated list-page column titles. Data binding, sorting and filtering stay keyed by the field name.
  • Actions without selection: @action(requires_selection=False) enables the Apply button without selecting rows; the handler receives an empty ids list and should treat it as "all objects". Default behavior is unchanged.

Frontend

  • Apple-like design refresh: frosted-glass sticky header with hairline borders — the configured primary_color now serves as the accent (buttons, links, menu selection) instead of the header background; larger corner radii, softer diffuse shadows, #f5f5f7/#161617 layout backgrounds, tighter letter spacing, transparent table headers. The rich-text editor accent follows primary_color instead of a hardcoded teal. Verified visually on the fastapi_sqlalchemy example in light and dark modes.
  • Dependencies: antd 6.5.1, i18next 26, react-i18next 17, vite 8, jsdom 29, TypeScript 6.0, vitest 4.1.10, eslint 10.7. Added quill-delta to satisfy a peer dependency; removed deprecated baseUrl from tsconfig.json (TypeScript is kept at 6.0 because typescript-eslint declares peer <6.1.0).

Backend

  • uv.lock refreshed within the declared dependency ranges (asgiref 3.12, django 6.0.7, yara-orm 1.14.4, …); no changes to the supported ranges in pyproject.toml.

Docs & tests

  • list_display_labels and requires_selection documented in the model-admins guide, API reference and settings guide; changelog updated.
  • New tests: decorator metadata, schema generation (label + requires_selection), column title fallback with intact sorting/filtering, Apply button state without selection.

Checks

  • pytest: 2075 passed, coverage 100% (gate)
  • vitest: 247 passed, coverage gate green
  • ruff + ruff format + ty, eslint + biome: clean
  • yarn build, mkdocs build --strict: clean

- New ModelAdmin.list_display_labels attribute to override or translate
  list-page column titles; sorting/filtering stay keyed by field name.
- @action(requires_selection=False) enables the Apply button without
  selected rows; the handler receives an empty ids list.
- Apple-like UI: frosted-glass sticky header with hairline borders
  (primary_color becomes the accent instead of the header background),
  larger radii, softer shadows, #f5f5f7/#161617 layout backgrounds,
  transparent table headers; Quill accent follows primary_color.
- Frontend deps: antd 6.5.1, i18next 26, react-i18next 17, vite 8,
  jsdom 29, TypeScript 6.0, vitest 4.1.10, eslint 10.7; quill-delta
  added for peer dep; baseUrl removed from tsconfig (deprecated in TS6).
- Backend: uv.lock refreshed within declared ranges.
@vsdudakov
vsdudakov merged commit 7419dc6 into main Jul 16, 2026
12 checks passed
@vsdudakov
vsdudakov deleted the feat/column-labels-selectionless-actions-apple-design branch July 16, 2026 07:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant