Drag-resize module

オープン
#31 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
静か
技術スタック
typescript
領域
frontend

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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

主要言語
TypeScript
スター
620
フォーク
6
PR マージ指標
30日以内にマージされた PR はありません

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

TanStack/time のほかの issue

TanStack/time の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。