This reverts commit 58b2475f42.
Rolling this back for now, as it may cause regressions. We can give it
another try at the start of the next beta-testing period.
* more better pan zoom with space for drag, shift for horizontal scroll and ctrl for zoom
* use middle mouse button for drag
* improve panning with space + mousemove, remove middle mouse implementation
* handle tool change after mouseup event
* Preserve HTML formatting inside clozes
* Place caret after/inside cloze
To match the old behavior
* Fix clozing in mathjax
* Formatting
* Avoid .extractContents() and handle partially covered tags
* Exclude range end if endOffset == 0
* Remove unnecessary branches
* Use nodeIsElement
* Let extractContents() handle partially selected nodes
* fix: ensure proper drawing of shape tools after pan/zoom
* remove sticky bottom toolbar
* make bounding-box not selectable after undo/redo
* fix: resize issue, added option to pan using alt/shift + mouse wheel
* drag with touchpad
* use isDesktop and move globalThis to index.ts
* gesture event not required, use preventDefault with passive false in wheel event
* use shift in mac and ctrl in pc
* fix: blur in io, remove panzoom and use fabricjs for panzoom
- remove panzoom
- implement panzoom using fabricjs
- set background image for canvas
- add bounding rect for canvas
- draw or add point inside in bounding rect
- update zoom tool
* support pinch to zoom on mobile client
* fix lagging of canvas, zoom in draw mode
* panning in touch events
* Update JS deps
* Update semver-compat Rust deps
* Update some semver-incompat Rust deps
- hyper/axum held back because reqwests is not ready
- rusqlite held back due to burn-rs incompat version
- wiremock held back due to compile issue
* pylint wants changes to our _rsbridge.pyi
* Update Python deps
Also solves a security warning in orjson
Reformat with latest black
* Factor out common code in bold/italic/underline/sub/sup buttons
* Update exclusiveNames' states on click
* Update exclusiveNames' states on keyboard shortcut
The congrats page fetches data once a minute, and onRefreshTimer()
reloads the page once every 10 minutes. If a data fetch is in flight
when the page reload happens, it can cause a 'failed to fetch' error
to occur.
Closes#2895
* Expose tag name to add-ons via data attribute
* Expose autocomplete items to add-ons as data attributes
* Use common data-addon* prefix for attributes
* Fix undo handling of group and some other IO tools
* Emit change signal inside onObjectModified
* Fix group lost after moving group then undoing
* Skip undo entry if canvas has not changed
The onObjectModified() call I added in a previous commit to deleteDuplicateTools results in a duplicate undo entry for the delete tool. Checking for duplicate entries seems simpler than having to think about where onObjectModified() should be called exactly
* Fix extra undo entry added after ungroup
* Prefer key over keyCode
* Do not close TS pages on Esc when floating elements are open
* Close pop-up when Escape is pressed regardless of keepOnKeyup
* Close help modals when Escape is pressed
* Avoid duplicate handling of Esc in WithFloating
* Formatting
* Handle closing of preset management modals
* Reset text input modal to initial value