Commit graph

18 commits

Author SHA1 Message Date
bhavik001
38e81921e2
Formatting and Add formatting to CI workflow (#292)
* Add prettier formatting feature and also add it as a job in CI.yml file

* Update CI.yml file

* Add format job to CI.yml file

* Fix formatting issues in CI workflow file
2023-11-25 01:37:05 +01:00
ophir
6e8d99d57a Better zooming and scrooling experience 2021-01-10 20:52:15 +01:00
ophir
fe6ab2bdaa Use mouse wheel to zoom by default
The old behavior was wheel to scroll and ctrl+wheel to zoom.
The new behavior is the opposite.
2021-01-10 19:45:43 +01:00
finnboeger
57a02c42d6
Improve compatibility with Internet Explorer (#63)
* include promise polyfill

* remove es6

* add viewBox to every icon

* change self closing to explicitly closing tags

* replace window.scroll.. with document.documentElement.scroll..

* verify document.activeElement.blur() is a function before calling

* fix visuals of color chooser (colorpicker still sometimes buggy)

* do not attach to mouseleave event in IE

* attempt removal with usecapture true in IE as well, this fixes the tool switching issue

* fix text tool for IE

* fix cursor for IE

* change curMode to boolean and rename to 'active'

* replace minified canvascolor with unminified code

* replace if else structure with switch statement

* compile polyfill for each browser individually

* remove static polyfills from board.js

* Fix broken js reference

* Fix unused variable and empty console log

* Allow serving non-minified polyfills for easier debugging

* Add proper caching for polyfill.js

This request is on the critical path, we should try to make it fast

* Include more polyfills

All the DOM polyfills were missing

* Update dependencies

* Add missing polyfill

Our custom polyfill was deleted, but the one from polyfill-library hadn't been added

* Remove feature detection for Node.contains

We now have the function in the polyfills

* Update polyfill caching logic

* Remove content-Length header

Co-authored-by: @lovasoa
2020-05-05 12:01:46 +02:00
finnboeger
b9605acb87
Add option to change pen size with the scroll wheel (#54)
* add option to change pen size with the scroll wheel

* Update the cursor size immediately when changing the size

* Add a tooltip with the size change shortcut

Co-authored-by: ophir <pere.jobs@gmail.com>
2020-05-02 16:27:28 +02:00
finnboeger
fce694df28
Add a cursor (#46)
* 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>
2020-05-02 06:13:48 +02:00
finnboeger
d3be4cadf7
swap scroll axis when holding shift (#53) 2020-04-28 21:51:37 +02:00
finnboeger
2f46c013c2
Improve scroll zoom handling (#50)
* decrease the step size of each zoom operation

* use same stepping on all browsers

* replace math.sign with polyfill
2020-04-28 00:59:19 +02:00
ophir
dd2a574d03 Update the zoom icon
See https://github.com/lovasoa/whitebophir/pull/39#issuecomment-619524098
2020-04-26 12:43:19 +02:00
Ophir LOJKINE
6baab81f63 Better tool icons 2020-04-26 00:45:42 +02:00
ophir
ebaaacde35 Improved i18n system 2020-04-22 10:14:12 +02:00
Ophir LOJKINE
205a17902b Added keyboard shortcuts 2019-06-22 20:54:20 +02:00
Ophir LOJKINE
014f5640b9 Usa passive event listeners 2019-01-17 16:58:05 +01:00
Ophir LOJKINE
a980fa1b53 Zoom tool: allow zooming with the mouse wheel 2019-01-17 16:25:11 +01:00
Ophir LOJKINE
72cc16753b Allow pan-to-zoom on touchscreens 2019-01-17 16:19:28 +01:00
Ophir LOJKINE
138f93dc60 Make diagonal scrolling smoother on Chrome 2019-01-02 01:21:07 +01:00
Ophir LOJKINE
1303874595 Avoid accidental zooming 2019-01-02 01:14:50 +01:00
Ophir LOJKINE
633d74b028 Add support for zoom
Fixes #11
2019-01-02 00:51:13 +01:00