GraphiteEditor / GraphiteEditor/Graphite

Tracking Issue: Improve the NumberInput widget UX

Đang mở
#313 4 bình luận 3 reaction 1 người được giao Được @Keavon nhận Xem trên GitHub
Web
Ngôn ngữ chính
Rust
Star
27.2k
Fork
1.3k
Merge trung bình
20 giờ 5 phút
Pull request đã merge (30 ngày)
57

Mô tả

The NumberInput widget should support more common ways of modifying numerical widgets, namely:

- [x] Dragging left/right to adjust the value (#1468)
- [x] When dragging, Shift slows it down by adjusting the next order of magnitude of less precision and Ctrl snaps to increments of the current order of magnitude of precision (#1468)
- [x] When dragging, Escape and right click abort the change (#1468)
- [x] Add an integrated label to be shown on the left side, with the value on the right side, instead of the default value-centered display
- [x] #1471
- [x] Holding down the mouse button on the arrow to change it multiple times; this should probably work like key repeat, with an initial delay and a constant rate of repetition (#2276)
- [ ] While editing the number field, Up/Down arrows should increment/decrement by 1 and Shift+Up/Down by 10
- [ ] Hover mouse over it to copy and paste value
- [ ] Hover mouse over and hit Backspace to reset the value to its default
- [ ] Hover mouse over and hit - to negate the current value
- [ ] Hover mouse over it and hit Enter key to start editing (like clicking)
- [ ] Hover mouse over it and hit / to set the value to its reciprocal
- [ ] Hover mouse over it and Ctrl+scroll wheel to increment/decrement the value
- [ ] Detect and clean up floating point imprecision with numbers like `123.450000000000003` or `0.9999999999997` using a heuristic to convert those to `123.45` and `1.0`.
- [ ] Precision issues with values greater than JS's `Number.MAX_SAFE_INTEGER` (`9007199254740991`) which is still less than Rust's `u64`. Typing certain values like `9007199254740995` and `9007199254740997` both get turned into nearby values like `9007199254740995` for some but not all values. This means we need to use `bigint` more consistently throughout the entire pipeline in the frontend.
- [ ] Unit conversions in the input boxes, blocked on #586

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.