Drag-resize module

Ouverte
#31 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Calme
Stack technique
typescript
Domaine
frontend

Piste de recherche

Start with parent issue #25 and blocked issue #28 to understand the intended module API before taking this on. Then map the acceptance criteria to the controller and validation responsibilities described here. Done means pointer input produces logical-minute updates, constraints are checked before commit, snapping is configurable, and the module can be removed without leaving its code in the bundle.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

enhancement

Parent

https://github.com/TanStack/time/issues/25

What to build

Extract drag and resize interaction into a proper module. The module translates pointer events into logical time deltas (minutes), validates the proposed change against availability and dependency constraints, and commits atomically on release.

The kernel never sees pixels. The consumer supplies a `pxPerMinute` (or equivalent) to the `ResizeController` at the adapter edge; the controller converts pointer delta → `deltaMinutes` and hands only logical values to the pipeline.

Acceptance criteria

  • `DragResizeModule` plugs into the kernel via the module API (#28)
  • `createResizeController()` returns a controller that accepts pointer events and emits `deltaMinutes` updates
  • `validateResize()` returns `{ valid, error? }` in logical units (minutes, not pixels) before the write commits
  • Resize operations respect availability windows and dependency constraints when those modules are also registered
  • Snapping (round to nearest N minutes) is configurable on the controller, not hardcoded
  • A resize that crosses a dependency constraint is blocked with a descriptive error
  • Removing the `DragResizeModule` causes drag-resize code to tree-shake out of the bundle

Blocked by

https://github.com/TanStack/time/issues/28

Langage dominant
TypeScript
Étoiles
620
Forks
6
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de TanStack/time

Toutes les issues de TanStack/time

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.