Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Taming Content Editable with Ember.js - Ember NYC

Taming Content Editable with Ember.js - Ember NYC

Gavin Joyce

May 29, 2015
Tweet

More Decks by Gavin Joyce

Other Decks in Technology

Transcript

  1. The BOM The DOM Editor View Event Handling DOM Selection

    UI Coordinates Rendering Composer component
  2. The BOM Composer State BOM Selection Undo Stack Blocks The

    DOM Editor View Event Handling DOM Selection UI Coordinates Rendering Composer component
  3. Paragraph Composer State Block Selection Undo Stack Block List Item

    Ordered List Command • Backspace • Delete • Return • Sync • Insert Attribute • Insert Character • Insert Block • Paste • ...
  4. Blocks Paragraph text: “hello there” Entities Italic (0 -> 5)

    Bold (6 -> 14) Selection: 0:0:1 → 0:0:1
  5. Blocks Paragraph text: “hello there” Entities Italic (0 -> 5)

    Bold (6 -> 14) Selection: 0:0:2 → 0:0:9
  6. Blocks Paragraph text: “hello there” Entities Italic (0 -> 5)

    Bold (9 -> 14) Selection: 0:0:2 → 0:0:9
  7. Blocks Paragraph text: “hello there” Entities Italic (0 -> 5)

    Bold (2 -> 14) Selection: 0:0:2 → 0:0:9
  8. We believe Intercom is a place to come and deliver

    career defining achievements intercom.io/careers
  9. We believe Intercom is a place to come and deliver

    career defining achievements intercom.io/careers Dublin & San Francisco