-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Implementation
Jeffrey Guenther edited this page Apr 24, 2016
·
27 revisions
This is a work in progress and will evolve as I (@jeffreyguenther) spelunk the code base. If others want to join in the effort, you are most welcome.
Navigation
- left - move cursor one character to left
- right - move cursor one character to right
Delete
- backspace - deletes backward
- delete - deletes forward
- control + d - deletes forward
- control + h - deletes backward
Line Breaks
- control + o - inserts line break
- return - insert line break
Modify Indent
- tab - increase indent level
- ⇧ shift + tab - decrease indent level
Selection
- ⇧ shift + right -expand selection right
- ⇧ shift + left - expand selection left
Events are handled with a combination of code run in InputController
and EditorController
. In some cases, InputController
delegates back to EditorController
. EditorController
acts as a delegate for the SelectionManager
, Composition
, InputController
, AttachmentManager
, and ToolbarController
. If delegate?.method
is called, chances are you will find the implementation in EditorController
.
Trix.ObjectView
Provides base rendering methods
Subclasses:
Each of the subclasses is responsible for creating the HTMLElement
s needed to display the block.
Trix.PieceView
Trix.DocumentView
Trix.ObjectGroupView
Trix.TextView
Trix.BlockView
-
Trix.AttachmentView
Trix.PreviewableAttachmentView