concordusapps/Whiteboard — pull request #25 by joneshf (2014-07-15 09:42:59+00:00)
Title: Started converting to cljs.

Here's something I hacked together for you!

I didn't get too in depth with actually making it build properly since the gruntfile+chaplin+layout is too complicated for me to understand. So, I just deleted most of that stuff and tried to start fresh. In any case, if you `grunt` to get the css stuff, and then `lein cljsbuild auto whiteboard`, both should be running (grunt doing the css, and lein doing the js). Probably best to move everything over to lein, or find a grunt-lein task when you get the chance.

Anyway, it uses [om](https://github.com/swannodette/om), which uses [react](http://facebook.github.io/react/). So, if you get stuck with something, I'd look for react semantics first, then try to understand what om is doing. I think it's a good way to go primarily because you don't have to search through multiple places to find what you need. As I'm sure you know, once it gets complex, it's hard as hell to find out where you need to look to see who's updating state or changing a class or some other arbitrary thing. Also, there's very little state in general with react, which is a HUGE good.

You can continue using chaplin/backbone/exoskeleton for your model and controller (do you still need a controller?) layers. I just didn't feel like keeping it in there since they weren't actually being used at the time.

This has the same functionality of the previous commit except two things:

1. the mouse stuff. Too late for that tonight sorry.
1. the slide down transition on the menu. Again, too late tonight.

The canvas component should be broken apart, but I was too lazy to do more than a direct port.

Anyway, something to get you started.