* Add dnd for tables and fields
* Fix inputs
* Decouple ids and indecies in the editor
* Decouple ids and indecies in utils
* Fix field indexes
* Use nanoid instead of numberic ids for fields and tables
* Fix review comments
* add rect for select
* collect selected elements
* increase note stroke width
* move elements and undo redo
* add icon to toolbar to toggle multiselect mode
* set bulk selected elements to none when panning
* showDatatype setting added in view control panel
* removed shortcut
can be discussed later
* fixed linting issue and made sure the condition check is above div element
in table.jsx code
in the else part im directly returning the element by keeping a check for settings.showDataTypes?
which helps to not add empty element
for setSetting issue
I used the similar code used just above the snippet and modified it
Certain input sources (such as touch) are "captured" when they
press an element. This means the pointer is always considered
"inside" the element by the browser, even when they visually are
not. This caused some issues on mobile browsers where touch and
stylus events could not connect table columns with each other.
Just to be safe, I've added the required `releasePointerCapture`
call everywhere `onPointerEnter` or `onPointerLeave` is used.
This is basically a migration from mouse events to
[pointer events](
https://developer.mozilla.org/en-US/docs/Web/API/Pointer_events
).
The `PointerEvent` interface inherits all of the `MouseEvent`
properties, meaning that existing code can essentially be left
as-is. The only major change is making sure we only respond to the
"primary" pointer.
Known issues include:
* stylus hover is not detected
* touchscreens do not have a concept of hover, making it difficult
to e.g. resize areas
* no touch gesture support, e.g. "pinch-to-zoom"