Commit Graph

199 Commits

Author SHA1 Message Date
Antonio Scandurra
c9a159aab3 🔥 Remove unused requires 2015-05-21 11:16:28 +02:00
Antonio Scandurra
1a5e2fe5dd 🎨 2015-05-21 10:48:04 +02:00
Antonio Scandurra
efeb129cff Rename LinesComponent to TileComponent 2015-05-21 10:47:23 +02:00
Antonio Scandurra
299ee5dbf3 Merge branch 'master' into as-tiled-rendering
# Conflicts:
#	spec/text-editor-presenter-spec.coffee
#	src/lines-component.coffee
#	src/text-editor-presenter.coffee
2015-05-21 10:46:52 +02:00
Antonio Scandurra
f49078d394 wip 2015-05-21 10:40:37 +02:00
Antonio Scandurra
1a18cda000 💚 Fix remaining specs 2015-05-21 10:00:46 +02:00
Nathan Sobo
2beb6c0fe0 Pass TokenIterator reference instead of using global singleton
Adds an extra reference to each tokenized line but is also more sane.

/cc @maxbrunsfeld
2015-05-20 19:29:38 +02:00
Antonio Scandurra
dbc57abeb0 🔥 Remove obsolete node pool 2015-05-18 11:50:13 +02:00
Nathan Sobo
4235c15dd8 🔥 debugger 2015-05-14 21:43:45 +02:00
Antonio Scandurra
5201e4547b 🎨 2015-05-14 19:36:05 +02:00
Antonio Scandurra
723bf5a302 Reimplement lineNodeForScreenRow 2015-05-14 18:30:29 +02:00
Antonio Scandurra
6be88fd645 Scroll every single tile left/right 2015-05-14 11:36:20 +02:00
Nathan Sobo
0ca967d6b0 Switch character measurement to TokenIterator
Instead of using TokenizedLine::tokens shim
2015-05-14 01:10:29 +02:00
Nathan Sobo
121e42deba Use TokenIterator to build line HTML 2015-05-14 00:55:06 +02:00
Nathan Sobo
d7f5588904 Generate line HTML based on tags instead of tokens
This avoids creating a bunch of tokens as temporary objects since they
are no longer stored.
2015-05-13 21:57:53 +02:00
Antonio Scandurra
02838ad193 Recycle tiles 2015-05-06 09:46:47 +02:00
Antonio Scandurra
de53e1dccc Fix char measurement 2015-05-05 18:36:10 +02:00
Antonio Scandurra
3e78fe3019 wip 2015-05-05 16:21:37 +02:00
Jess Lin
79b460a0ca [Gutter] Add ::getDomNode method to all 'components' 2015-04-22 07:28:59 -07:00
Ben Ogle
db35022d0e Remove OverlayManager from the LinesComponent 2015-04-01 17:40:59 -07:00
Kevin Sawicki
590a4b0fd5 Add explicit return after for loop 2015-03-19 11:48:40 -07:00
Antonio Scandurra
0dca5a5fcd Encapsulate state update inside TextEditorPresenter#getState 2015-02-28 09:25:53 +01:00
Nathan Sobo
622caee446 Correctly store which lines we have already measured 2015-02-24 11:36:01 -07:00
Nathan Sobo
fd603a0cbc Move new character measurement to end of full update to avoid reflow 2015-02-19 17:14:55 -07:00
Nathan Sobo
8552acaec2 🐎 Optimize line node updates 2015-02-19 17:14:54 -07:00
Nathan Sobo
ea49fc6d5f Construct LinesComponent with visibility param to avoid redundant update 2015-02-19 17:14:54 -07:00
Nathan Sobo
c06e100fae Make LinesComponent a normal object instead of a React component
Also, remove ability to disable hardware acceleration since there’s
no longer a need for it and it complicated this conversion.
2015-02-19 17:14:53 -07:00
Nathan Sobo
da793e834a Perform all LinesComponent DOM updates manually 2015-02-19 17:14:53 -07:00
Nathan Sobo
b0a29bdc2f Make HighlightsComponent a plain object instead of using React 2015-02-19 17:14:53 -07:00
Nathan Sobo
b4ecb65fb9 Make CursorsComponent a plain object instead of using React 2015-02-19 17:14:53 -07:00
Nathan Sobo
6a36bdda25 Replace ::hasRequiredMeasurements() with specific criteria in presenter
Now each update method requires a list of specific variables to be
defined before running.
2015-02-12 19:48:06 -07:00
Nathan Sobo
48195851d4 Assign line and character measurements on model via presenter 2015-02-09 15:32:14 -07:00
Nathan Sobo
4f0e1997cf 💄 CharWidth -> CharacterWidth in presenter 2015-02-09 15:28:17 -07:00
Nathan Sobo
df01c8ab6f Batch scoped character measurement in presenter 2015-02-09 14:33:18 -07:00
Nathan Sobo
6977660699 Store ‘isOnlyWhitespace’ in line presenter state 2015-02-04 07:59:34 -07:00
Nathan Sobo
ba6d11e24e Merge branch 'master' into ns-editor-presenters 2015-02-04 07:57:04 -07:00
Nathan Sobo
75652e36d9 Remove ? guard from ::oldState and ::newState references 2015-02-03 15:05:44 -07:00
Nathan Sobo
9991cd73c7 Reference scrollingVertically in the proper location in presenter state 2015-02-03 15:05:44 -07:00
Nathan Sobo
bbc1a264b5 Make each section of presenter state self-contained
This means we have some duplicated values in different parts of the
tree, but it’s cleaner in the view since each component only consumes
a single object. Seems like the presenter should convey the correct
data to the correct locations and minimize the logic in the view. A
few duplicated integers is a reasonable trade-off.
2015-02-03 15:05:31 -07:00
Nathan Sobo
76241fb779 Handle line and line number preservation in presenter
The target of mousewheel events needs to be preserved when scrolling.
It used to be dealt with in the view, but now we can do it in the
presenter for a simpler view implementation.
2015-02-03 15:05:29 -07:00
Nathan Sobo
fd50a0db6c Construct TextEditorPresenter before component mounts
This allows us to use the presenter for all stages of the component
lifecycle rather than needing to wait until it is created.

Signed-off-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
2015-02-03 15:05:28 -07:00
Max Brunsfeld
fd4f28911d Use presenter state for placeholder text
Signed-off-by: Nathan Sobo <nathan@github.com>
2015-02-03 15:05:27 -07:00
Nathan Sobo
f5fa3b837e Set content.indentGuidesVisible in presenter if editor is mini 2015-02-03 15:05:26 -07:00
Nathan Sobo
b21b9c3402 Use presenter’s scrollingVertically property to defer line measurement 2015-02-03 15:05:26 -07:00
Nathan Sobo
837b9eefbb Use backgroundColor from presenter in LinesComponent 2015-02-03 15:05:26 -07:00
Nathan Sobo
96ba4cc6bd Remove unused React props and methods that build them 2015-02-03 15:05:25 -07:00
Nathan Sobo
a5580a704d Remove unused properties in EditorComponent and children 2015-02-03 15:05:25 -07:00
Nathan Sobo
d26e8a2df1 Move vertical scroll state to root of presenter state object
Signed-off-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
2015-02-03 15:05:23 -07:00
Nathan Sobo
49bf3bb14e Use presenter to render flashes
Signed-off-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
2015-02-03 15:05:22 -07:00
Nathan Sobo
8ebd057b0c Use presenter to render highlights
Signed-off-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
2015-02-03 15:05:22 -07:00