Skip to content

feat(framework): unified table row reorder + locale, theme & extension-point fixes#235

Merged
maksimzinchuk merged 5 commits into
mainfrom
feat/datatable-reorder-and-framework-fixes
Jun 4, 2026
Merged

feat(framework): unified table row reorder + locale, theme & extension-point fixes#235
maksimzinchuk merged 5 commits into
mainfrom
feat/datatable-reorder-and-framework-fixes

Conversation

@maksimzinchuk

Copy link
Copy Markdown
Collaborator

Summary

Bundles one feature and four framework fixes that accumulated on this branch.

Feature

  • vc-data-table: unified SortableJS row reorder for desktop rows and mobile cards (replaces native HTML5 drag-and-drop). Single useTableRowReorder instance, handle-only drag, touch + mouse support.

Fixes

  • core / getLocaleByTag: stores with different locale codes but the same base language (en-US, en-GB, de-DE, de-CH) rendered identical labels and appeared as duplicates in language lists. Regional tags now resolve to region-qualified native names via Intl.DisplayNames; plain two-letter codes keep the ISO 639-1 behavior.
  • vc-data-table: theme-aware background for row actions to prevent a white flash in dark theme.
  • extension-points: remove a false-positive dev warning for undeclared points.
  • ForgotPassword: code structure / readability refactor.

Testing

  • language-service unit tests (incl. new regional-variant cases) — green
  • VcDataTable.reorder + DataTableMobileCard tests — green
  • yarn typecheck — clean
  • pre-commit gate (eslint, prettier, locales, layer checks) — passed

…ed points

Plugins register into extension points during module install() at app
startup, while hosts declare points lazily in page setup — so getPoint()
always saw an undeclared entry and warned on every page load. Registering
before declaration is a supported flow, so the warning was a guaranteed
false positive. Docs now recommend shared name constants for typo safety.
Stores with different locale codes but the same base language (en-US,
en-GB, de-DE, de-CH) were rendered with identical labels in language
lists, appearing as duplicates. Regional tags are now resolved via
Intl.DisplayNames to region-qualified native names; plain two-letter
codes keep the previous ISO 639-1 behavior.
…obile

Replace the native HTML5 drag-and-drop row reorder with a single SortableJS-based
mechanism that works on both the desktop table and the mobile card view. A grip
handle is shown on the left whenever `reorderable-rows` is enabled; dragging is
handle-only so row clicks, mobile swipe actions and long-press selection keep working.
The public `@row-reorder` contract ({ dragIndex, dropIndex, value }) is unchanged.

- Rewrite useTableRowReorder on SortableJS (forceFallback for touch); the orchestrator
  owns one instance plus the rows-container element ref, bound to the active view.
- Revert SortableJS's DOM mutation on drop so Vue stays the source of truth
  (fixes rows snapping back while sortOrder still updated).
- Add a left drag handle to the mobile card (coexists with the selection checkbox)
  and stretch the mobile card view to fill the available height.
- Normalize sortOrder on load in useAssetsManager so items always carry a sequential
  order even when the source provides none.
- Update tests, stories (RowReorderViaProp, MobileRowReorder) and docs.
@maksimzinchuk maksimzinchuk force-pushed the feat/datatable-reorder-and-framework-fixes branch from f69faee to 6e1a779 Compare June 4, 2026 07:25
@github-actions

github-actions Bot commented Jun 4, 2026

Copy link
Copy Markdown

📦 Preview published for commit 6e1a779

Install the preview with dist-tag:

npm install @vc-shell/framework@pr-235

Or pin to the exact commit:

npm install @vc-shell/framework@2.0.6-pr235.6e1a779

Published packages (dist-tag pr-235, version 2.0.6-pr235.6e1a779):

  • @vc-shell/framework
  • @vc-shell/api-client-generator
  • @vc-shell/create-vc-app
  • @vc-shell/config-generator
  • @vc-shell/migrate
  • @vc-shell/ts-config
  • @vc-shell/mf-config
  • @vc-shell/mf-host
  • @vc-shell/mf-module
  • @vc-shell/vc-app-skill

@maksimzinchuk maksimzinchuk merged commit 1fb1bd5 into main Jun 4, 2026
10 checks passed
@maksimzinchuk maksimzinchuk deleted the feat/datatable-reorder-and-framework-fixes branch June 4, 2026 07:34
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