Commit graph

233 commits

Author SHA1 Message Date
Ophir LOJKINE
caf56bd503 Remove will-change optimization after use 2019-01-17 16:48:47 +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
008f6b3bb4 Add russian translation 2019-01-15 16:59:51 +01:00
Ophir LOJKINE
47c367e6d2 Update the chinese translation 2019-01-15 13:44:59 +01:00
Ophir LOJKINE
169ef33ae7 Add a chinese translation 2019-01-11 13:45:18 +01:00
Ophir LOJKINE
73bc9bfafa Improve zooming performance on chrome 2019-01-06 14:27:43 +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
Ophir LOJKINE
22acdc9255 Add the current position to the URL
Fixes #9
2018-12-31 01:58:18 +01:00
Ophir LOJKINE
67e5364567 Make the initial board rendering faster (but less smooth) 2018-12-30 22:53:56 +01:00
Ophir LOJKINE
5eddc262bb change behavior on disconnection 2018-12-18 09:46:30 +01:00
Ophir LOJKINE
ea001f54bd Implement MAX_BOARD_SIZE on the client 2018-12-08 19:40:43 +01:00
ophir
48f6c55ea9 Fix bug (invalid object reuse) in tools 2018-12-02 21:43:01 +01:00
ophir
d16b5c8b97 Make the hand the default tool
I hope this will nudge people towards watching what is already on the board
before starting to draw.

It may encourage people to be constructive.

This is a (very) small step towards #6
2018-12-02 13:23:20 +01:00
ophir
5f2b631209 Change the order of tools 2018-12-02 13:21:01 +01:00
ophir
32c0020dca Add support for transparency
Closes #5
2018-12-02 13:18:29 +01:00
ophir
5c4daacfec Reload the page on server update 2018-11-30 20:29:22 +01:00
Ophir LOJKINE
72e809d57e Random color on login! 2018-11-30 17:41:34 +01:00
Ophir LOJKINE
e708bd79cb Handle reconnection when the server is restarted 2018-11-29 17:54:25 +01:00
Ophir LOJKINE
88aa591e9a Improve initial rendering performance 2018-11-29 17:14:01 +01:00
Ophir LOJKINE
d75371c958 Use a pathData cache to improve rendering performance 2018-11-29 15:52:52 +01:00
ophir
4a1474ad9a Limit the size of text 2018-11-29 01:03:40 +01:00
Ophir LOJKINE
5d0901d4ff Add an apple-touch-icon 2018-11-28 18:27:08 +01:00
Ophir LOJKINE
67748085b8 Add a backlink to the github project 2018-11-28 15:45:50 +01:00
Ophir LOJKINE
3d721ae1bd UX improvements 2018-11-28 15:04:47 +01:00
Ophir LOJKINE
360a0b9a0d CSS: make the tools panel more readable 2018-11-27 18:00:03 +01:00
Ophir LOJKINE
b2dc8f4bba Remove slow custom font 2018-11-27 17:47:26 +01:00
Ophir LOJKINE
3537e6341a Make touch events explicitely active 2018-11-27 17:36:46 +01:00
Ophir LOJKINE
c7cb8fb989 Fix the erasing tool on touchscreens 2018-11-27 17:22:45 +01:00
Ophir LOJKINE
b69898a9a6 Avoid flashing text input on page load 2018-11-27 15:46:24 +01:00
Ophir LOJKINE
3c9bfcbfbf Reformat code in tools 2018-11-27 15:35:51 +01:00
Ophir LOJKINE
ed05f515fe Reformat code 2018-11-27 15:29:14 +01:00
Ophir LOJKINE
8aa93cae04 Fix the 'open board' form 2018-11-27 15:25:46 +01:00
Ophir LOJKINE
3d92c8411d Separate CSS and HTML in the index 2018-11-27 14:46:57 +01:00
Ophir LOJKINE
b11bf9fb0b add keywords 2018-11-27 10:38:26 +01:00
Ophir LOJKINE
f12ef9d07e Improve meta information 2018-11-26 17:43:17 +01:00
Ophir LOJKINE
22a882d7bb Avoid runtime error when the browser language is not supported 2018-11-26 15:47:41 +01:00
Ophir LOJKINE
2786fa4641 Update the pencil tool to work with latest browsers 2018-07-10 14:53:14 +02:00
Ophir LOJKINE
78bff7c1b9 New tool: rectangle 2016-01-11 00:32:41 +03:00
Ophir LOJKINE
c08e965fea Fix bug in handling of messages adressed to a tool that is not loaded 2015-07-20 22:02:33 +02:00
Ophir LOJKINE
502f210232 Unread messages count 2015-07-20 17:58:05 +02:00
Ophir LOJKINE
55851a3c5a Send child messages of invalid messages 2015-07-20 15:55:21 +02:00
Ophir LOJKINE
43370fac3d Update existing text with the Text tool 2015-07-20 09:49:32 +02:00
Ophir LOJKINE
8bb9479972 Improve IE9 Compatibility 2015-07-17 13:21:17 +02:00
Ophir LOJKINE
6607fd94be Improve the board display
Add a new font: Linux biolinum
2015-07-17 09:37:54 +02:00
Ophir LOJKINE
dc461b52f3 Add a simple internationalization system 2015-07-16 15:22:39 +02:00
Ophir LOJKINE
11e2bea283 Code style improvement 2015-07-16 14:15:33 +02:00
Ophir LOJKINE
51fe92530e Improve the appearance of the conf widgets 2015-07-16 14:09:57 +02:00
Ophir LOJKINE
b22e5f333b Make the line tool more reactive 2015-07-16 13:44:35 +02:00
Ophir LOJKINE
3fce7aaf7f Fix error in line tool 2015-07-15 15:34:01 +02:00
Ophir LOJKINE
e944fc3946 Remove dependency to font-awesome
Use Unicode icons instead
2015-07-15 15:28:18 +02:00
Ophir LOJKINE
63b4bb067a CSS for the line tool 2015-07-15 10:43:07 +02:00
Ophir LOJKINE
fd9657304f Add straight line tool 2014-07-22 00:45:21 +02:00
Ophir LOJKINE
8573b58fa8 If no board name is given, go to the default board (anonymous). 2014-02-23 22:07:28 +01:00
Ophir LOJKINE
6968b9f34c fun 2014-02-23 20:58:49 +01:00
Ophir LOJKINE
d17b315623 even more fun 2014-02-23 20:19:30 +01:00
Ophir LOJKINE
c7136586ec index.html is much more fun like that 2014-02-23 20:12:45 +01:00
Ophir LOJKINE
235475e502 Change colors 2014-02-23 19:35:50 +01:00
Ophir LOJKINE
720feb7b46 Add the index file 2014-02-22 21:39:41 +01:00
Ophir LOJKINE
bb165cd6e4 Allow multiple boards on a single wbo instance.
This is the last feature I wanted before switching to 1.0.
2014-02-22 20:49:14 +01:00
Ophir LOJKINE
aebd2ef973 improve display on mobile. There is still much to do... 2014-01-08 02:11:48 +01:00
Ophir LOJKINE
1037eba5e2 again 2014-01-08 00:37:46 +01:00
Ophir LOJKINE
346e0650bc typo 2014-01-08 00:28:25 +01:00
Ophir LOJKINE
9889987570 Improve behaviour when zooming. Makes wbo a bit more usable on small screens. 2014-01-08 00:22:05 +01:00
Ophir LOJKINE
a582ef4e18 Replace jscolor by a homemade color picker.
It is called canvascolor, and it's based on HTML5 canvas (we don't care, we don't target old browsers).
Advantages over jscolor:
 - has color history (previously choosed colors are displayed)
 - more beautiful
 - way smaller ~1KB when minified and gzipped. (It's not gzipped yet)
 - Works on fixed input elements (CSS position:fixed)
However:
 - Not every color can be choosen graphically. In HSV, only colors with S=1 are displayed.
 - Not tested on mobile (but it should work), not responsive to touch events.
2013-12-27 22:55:50 +01:00
Ophir LOJKINE
70b1519205 Bug corrections 2013-12-26 02:50:00 +01:00
Ophir LOJKINE
2257ba473a Add tool icons 2013-12-14 13:45:55 +01:00
Ophir LOJKINE
43eb94e48f Bug correction: message hooks should be applied to children messages too 2013-12-09 23:08:59 +01:00
Ophir LOJKINE
f6539cb87f Change socket.io configuration 2013-12-09 00:59:37 +01:00
Ophir LOJKINE
0ed94cb1d2 Put the GUI change in Tools.change in a try {...} statement.
This circumvents a bug in IE9, where classList is not implemented.
2013-12-08 21:46:42 +01:00
Ophir LOJKINE
beddafedcd Change default color. (and make it a W3C-valid 6-digit hex color). The new default color is #1913B0 2013-12-08 14:00:13 +01:00
Ophir LOJKINE
5690bd3cf0 Improve board architecture. Correct several bugs, including messages being drawn twice, and messages not being drawn at all. 2013-12-07 19:05:43 +01:00
Ophir LOJKINE
fd35a486b8 Rework the way the server stores data to make it handle updates and deletions more intelligentlty.
Some work was done on the client-side too, and board loading should now be much faster.
2013-12-07 04:46:31 +01:00
Ophir LOJKINE
2c75908461 Hopefully correct a bug where text was not saved. This bug occured at least on firefox for mobile. 2013-12-06 22:39:43 +01:00
Ophir LOJKINE
40ef0595b7 Correct bug and improve pencil tool. Lines can now be updated. 2013-12-06 17:01:28 +01:00
Ophir LOJKINE
59ad74149a Disable auto-zooming on text focus on mobile. 2013-12-06 16:17:28 +01:00
Ophir LOJKINE
374ea859b1 My hands are typing words.
Update a constant
2013-12-03 20:42:52 +01:00
Ophir LOJKINE
b08d6d35f1 Rename 'field' to 'id' in messages. 2013-12-03 20:34:49 +01:00
Ophir LOJKINE
e75a7d34aa Log errors with console.error instead of console.log 2013-12-03 20:26:56 +01:00
Ophir LOJKINE
49671de0b2 Correct CSS bug in error page. 2013-12-03 19:16:47 +01:00
Ophir LOJKINE
54dcfa9c0c Correct feature detection for performance.now polyfill.
That should fix wbo on android native browser, which has a window.performance object, but does not implement performance.now()
2013-12-03 18:10:17 +01:00
Ophir LOJKINE
31bbe268f4 Include jscolor color picker. 2013-12-03 18:07:56 +01:00
Ophir LOJKINE
7506eb27b6 JSHint corrections 2013-12-03 18:07:02 +01:00
Ophir LOJKINE
2ca29d686b Add a 'var' statement. The variable 'elem' was leaked to the global namespace. Thanks to jshit. 2013-11-28 14:42:25 +01:00
Ophir LOJKINE
29e699112d Replace spaces by tabs. Thanks to jshit. 2013-11-28 14:40:09 +01:00
Ophir LOJKINE
a400b8e097 Remove unused variable. Thanks to jshit. 2013-11-28 14:38:12 +01:00
Ophir LOJKINE
c3d7ec041b Make the eraser erase with a single click 2013-11-24 00:49:56 +01:00
Ophir LOJKINE
0d536ae380 Make chronological UIDs. 2013-11-24 00:49:05 +01:00
Ophir LOJKINE
1ecc676b2c Add an eraser tool. 2013-11-23 15:03:06 +01:00
Ophir LOJKINE
61244d1984 Oops. Forgot to add a function in pencil.js 2013-11-22 16:06:52 +01:00
Ophir LOJKINE
eeb76318d8 Improve the control point calculation algorithm, in order to have smooth paths that feel even more natural. 2013-11-22 15:56:33 +01:00
Ophir LOJKINE
f88592d235 Update the pencil tool to make beautiful smooth paths (with bezier curves) instead of polylines. 2013-11-21 23:27:34 +01:00
Ophir LOJKINE
9dd08e656a Load jscolor only if the browser doesn't support <input type='color'> 2013-11-21 00:13:42 +01:00
Ophir LOJKINE
c34c141b8e Add a true color picker (jscolor from jscolor.com) 2013-11-20 22:51:32 +01:00
Ophir LOJKINE
7b831ab1b5 Display rounded line joins. 2013-11-20 13:16:06 +01:00
Ophir LOJKINE
2ae4b14710 Change text font to Arial. 2013-11-19 18:45:15 +01:00
Ophir LOJKINE
34aca4919b Print the text with the same font on every browser. 2013-11-18 16:56:53 +01:00
Ophir LOJKINE
134a017095 Use svg polyline element attributes instead of CSS properties to set lines color and width 2013-11-14 11:09:45 +01:00
Ophir LOJKINE
5bdf54782b Support touch events. That's the beginning of mobile devices support...
Currently, support is far from being satisfying.
2013-11-12 23:45:54 +01:00
Ophir LOJKINE
3b04f31630 resizeCanvas() : Refinement in constants 2013-11-11 14:11:38 +01:00
Ophir LOJKINE
671411c62e Make the canvas grow faster, so that it really feels like its infinite. 2013-11-11 13:21:08 +01:00
Ophir LOJKINE
cd1a18589a Remove the 'delete' instruction. It was only an overhead. 2013-11-10 17:39:44 +01:00
Ophir LOJKINE
10c492c487 Add a feature to the server to allow downloading history. 2013-11-10 17:32:18 +01:00
Ophir LOJKINE
b276a7f1e7 Custom mouse cursors for every tools 2013-11-10 17:21:05 +01:00
Ophir LOJKINE
33826bc11b Add header info 2013-11-10 16:36:23 +01:00
Ophir LOJKINE
e70204f5e2 Added a simple hand tool to move more easily in the board. 2013-11-10 16:34:47 +01:00
Ophir LOJKINE
47a8445d0c Make the text field visible during text edition. 2013-11-10 14:38:00 +01:00
Ophir LOJKINE
89e706d87d Remove now unnecessary styling information. 2013-11-10 12:36:28 +01:00
Ophir LOJKINE
1728d5863b Add licensing information to javascript files. 2013-11-10 11:41:35 +01:00
Ophir LOJKINE
205e796f42 Text tool: Use SVG <text> instead of HTML <span>.
The text can now be overriden by the pencil, and can't be edited anymore.
2013-11-10 02:56:27 +01:00
Ophir LOJKINE
beceba39d4 style 2013-11-06 20:11:42 +01:00
lovasoa
dec8335992 Add a polyfill for performance.now 2013-10-28 22:52:21 +01:00
Ophir LOJKINE
1c68bf8773 Change icon file 2013-10-22 21:06:03 +02:00
Ophir LOJKINE
28bc5d25c9 Upload to nodejitsu. Fix HTML. 2013-10-22 20:22:47 +02:00
Ophir LOJKINE
6888c33e49 GUI improvements:
Make a beautiful tool menu.
Choose a standard font for the text tool: Arial.
2013-10-13 12:52:01 +02:00
Ophir LOJKINE
b557375a08 Improve tool architecture, and add a new tool, to write text. 2013-10-07 00:43:00 +02:00
Ophir LOJKINE
3601154abf Bug corrections and improvements 2013-10-06 12:16:45 +02:00
Ophir LOJKINE
ea00e86965 Small optimization. 2013-10-05 12:34:36 +02:00
Ophir LOJKINE
fa7b451b94 Improve the way the history is saved. Correct errors in pencil.js 2013-10-05 03:50:09 +02:00
Ophir LOJKINE
16b781598b Small bug fix. (curTool instead of Tools.curTool) 2013-10-05 02:15:10 +02:00
Ophir LOJKINE
91493d0b92 Apply tool hooks. Fix typo (ev instead of evt). 2013-10-05 02:12:51 +02:00
Ophir LOJKINE
bfba4e606e Select the pencil by default. 2013-10-05 02:07:48 +02:00
Ophir LOJKINE
bfc3d87c61 Change the moment when the start and quit callbacks are called. 2013-10-05 02:02:59 +02:00
Ophir LOJKINE
398992a88e Select the 'pencil' tool by default.
(Oops... The pencil tool wasn't tracked anymore.)
2013-10-05 01:56:51 +02:00
Ophir LOJKINE
57fbf2173e Include the first tool in the board.
Start tracking all client data in git.
2013-10-05 01:54:19 +02:00
Ophir LOJKINE
eaea72d442 End of the first tool (pencil). Now, let's debug all that... 2013-10-05 01:45:23 +02:00
Ophir LOJKINE
f83eeca13e Work on pencil 2013-10-04 22:34:03 +02:00
Ophir LOJKINE
3696a2183b Improve overall tool architecture. Create the first tool: pencil. 2013-10-04 21:33:57 +02:00
Ophir LOJKINE
350a91939b Improve UI. Add GUI logic to board.js. 2013-10-03 16:24:45 +02:00
Ophir LOJKINE
8ac5131f10 New icon 2013-09-27 13:29:02 +02:00
Ophir LOJKINE
7b4b5e24bc Add a better infrastructure, in order to prepare the introduction of new modules (called "tools"). 2013-09-27 12:39:47 +02:00