* Add mover skeleton
Atm it is just the eraser with new icons and renamed variables
* The mover not detect the object to move
* We can move ellipses and rectangles
* The mover now moves all types of objects
* Add the move everything functionality
* Aesthetic changes
* Replace the use of const and let with classic var
* Undo few commits
* Start the transform-translate implementation
* Mover now moves with transform translate
* Put the function to get the translation matrix in the Tools
* Shapes (ellipse, line, pencil, rect, and text) now properly load translate coords
* Add the transform-translate to the createSVG functions
* Done movement using transform-translate
* Fix parenthesization bug in the SVG create
* Fix comment about mover states
* Undo translation loading from Ellipse, Mover, Pencil, and Text tools
* Makes the board send update message to the mover as needed
* Remove the old code from the line tool too
* Simplify the mover tool
See #86
* update the mover icon
* Merge the mover and the hand tools
* Improve preview for pre-rendered elements
* v1.6.0
Co-authored-by: Paolo Bolzoni <paolo.bolzoni1@studenti.unipr.it>
* add option to block tools
* use tool name instead of computing an id
Co-authored-by: Ophir LOJKINE <ophir.lojkine@auto-grid.com>
* require comma separated list as input of blocked tools environment variable
Co-authored-by: Ophir LOJKINE <ophir.lojkine@auto-grid.com>
* Log attempts to use blocked tools
Co-authored-by: Ophir LOJKINE <ophir.lojkine@auto-grid.com>
* fix syntax
* require tool names to not have a comma in them
* Update server/configuration.js
Co-authored-by: Ophir LOJKINE <pere.jobs@gmail.com>
* Added cursors
* Prepare cursor code for future settings to toggle cursors on or off.
Let cursor be the color the person has currently selected
* fix cursor on mobile (still won't display it in most cases as there is no hover on mobile but at least it won't throw errors)
* use correct size for cursor
* throttle cursor update rate to dramatically improve performance by eliminating congestion
* fix remote cursor size on desktop
* show own cursor by default and renove offset
* use svg as mouse cursor for pencil to be able to apply a reduced opacity to it and view our cursor
* don't throttle local cursor
* throttle local cursor at an independent higher rate. This could be made user adjustable for low power devices
* remove let and const from client-side code
* get emit count and emit count period from configuration
* reduce network cursor updates a lot to prevent instantly getting banned with the current defaults
* prevent eraser from deleting cursors
* use group inside of svg as drawing area and only delete elements inside it with the eraser
* use transform: translate to move cursors around instead of manipulating x and y directly
* fix: add socket ids to cursor messages
* fix incorrect remote cursor scaling and make local cursor visible again after it has been moved after being hidden due to inactivity
* create cursors in a proper fashion and keep them in a separate group
* scaling has been fixed in a1a5580
* move duplicated cursor creation code to function
* show cursors above content
* pass some of ther server configuration through to the client
* fix bug introduced in a833ce9
* allocate at most half of the allowed traffic to cursor updates
* remove debugging leftover
* use feature detection instead of ua sniffing
Co-Authored-By: Ophir LOJKINE <ophir.lojkine@auto-grid.com>
* fix regression where local cursor color was not updated on color change
* Define the cursor as a tool
* Remove the cursor tool from the UI
* Throttle remote cursor updates, not local ones
* Do not increment notification count on cursor move
* Use only one pencil icon
Use the same image for the pencil icon in the menu
and the pencil cursor that appears while drawing
* Add a test for the new cursor feature
* only stop drawing remote cursor when using some tools and always draw local cursor
* increase idle period before hiding cursor
* change idle duration back and set whether a cursor should be sent when using a tool in the respective tool
Co-authored-by: Robert Beach <rdbeach@gmail.com>
Co-authored-by: Ophir LOJKINE <ophir.lojkine@auto-grid.com>
Co-authored-by: ophir <pere.jobs@gmail.com>