It's probably more useful to look at the tests: https://github.com/alohaeditor/Aloha-Editor/blob/howling-mad/tests/undo-tests.js https://github.com/alohaeditor/Aloha-Editor/blob/howling-mad/tests/boromir-tests.js
On Tue, Apr 22, 2014 at 3:46 PM, deliminator <[email protected]> wrote: > In the aloha project we are experimenting with new ways to deal with the > contentEditable problem that you may find interesting: > > * state-based, serializable, replayable change tracking for > contentEditable (as opposed to command-based the way it is usually done) > using MutationObservers where available: > https://github.com/alohaeditor/Aloha-Editor/blob/howling-mad/src/undo.js > > * React-like virtual-DOM, where a javascript-object tree can be updated > without actually touching the DOM (in a referentially-transparent and > optionally lazy fashion), and coupled with a very simple difference > algorithm can be used to update the dom with a single function call: > https://github.com/alohaeditor/Aloha-Editor/blob/howling-mad/src/boromir.js > > On Tuesday, April 22, 2014 12:58:38 PM UTC+2, Paul Butcher wrote: > > After working my way through the various samples and tutorials out > there, I’m about to start on my first Om app (yay!). > > > > > > Possibly foolishly, I’m planning to make heavy use of contentEditable. > In essence, what I need to do is replicate something similar to Word’s > “track changes” functionality. Ideally, I’d like to get this to play nicely > with Om’s undo - the complication being that as well as changes made by the > app, I’d also need to undo changes made by the user (ideally wrapping > changes made by both into a single logical undo). > > > > > > I’ve done quite a bit of searching, and getting React to play nicely > with contentEditable seems to be a largely unexplored area? Chas Emerick’s > message on the React mailing list seems to capture the current state of the > art: > > > > > > https://groups.google.com/d/msg/reactjs/ff5YlPKiqmc/ngDTsk_i2mYJ > > > > > > Although this looks promising: > > > > > > http://stackoverflow.com/a/22678516/268371 > > > > > > Is there anything else that I should be aware of? Any words of wisdom or > advice before I dive into this (including “don’t use Om for this - it’s the > wrong tool for the job” :-)? > > > > > > > > > > > > > > -- > > paul.butcher->msgCount++ > > > > Silverstone, Brands Hatch, Donington Park... > > Who says I have a one track mind? > > > > http://www.paulbutcher.com/ > > LinkedIn: http://www.linkedin.com/in/paulbutcher > > Skype: paulrabutcher > > > > > > Author of Seven Concurrency Models in Seven Weeks: When Threads Unravel > > http://pragprog.com/book/pb7con > > -- > Note that posts from new members are moderated - please be patient with > your first post. > --- > You received this message because you are subscribed to a topic in the > Google Groups "ClojureScript" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/clojurescript/1jeSLRdSmGU/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/clojurescript. > -- We create value through sharing and collaboration. Tobias Steiner Tech-lead & Co-founder [email protected] Gonzagagasse 11/25 A-1010 Vienna, Austria +43 699 15191890 https://wikidocs.com This e-mail is private, confidential, privileged and is intended only for the use of the above mentioned addressee. If you receive this e-mail in error, please advise us immediately and delete the message. Unless confirmed in writing, duly signed by an authorized representative of Girigiri Software GmbH, any liability our company, its partners or employees for e-mails or their content is excluded. Although taking according measures, complete safety from viruses cannot be guaranteed. Any liability for damages resulting from or in connection with virus infections is excluded. Forum for all disputes out of or in connection with our services is the competent court for the First District, City of Vienna, Austria. Any agreements and all services are governed to the extent or as permitted by Austrian law. -- Note that posts from new members are moderated - please be patient with your first post. --- You received this message because you are subscribed to the Google Groups "ClojureScript" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/clojurescript.
