Commit Graph

5646 Commits

Author SHA1 Message Date
Kevin Sawicki
728681a34e 💄 2013-02-12 08:24:32 -08:00
Kevin Sawicki
21e5f550c8 Assert editor receives focus after tab is dropped 2013-02-11 21:11:15 -08:00
Kevin Sawicki
9057f044bf Add specs for Editor.moveEditSessionToEditor 2013-02-11 21:01:21 -08:00
Kevin Sawicki
9eae796be3 Add move edit session specs 2013-02-11 20:54:04 -08:00
Kevin Sawicki
ad9114c95e Use octicon for drop target indicator 2013-02-11 20:35:41 -08:00
Kevin Sawicki
c9fae85375 Rename moveEditSessionAtIndex to moveEditSessionToIndex 2013-02-11 20:29:48 -08:00
Kevin Sawicki
472b436b24 Add spec for dragging/dropping tabs across editors 2013-02-11 20:24:01 -08:00
Kevin Sawicki
867e8d5678 Add spec for dragging/dropping tab in the same editor 2013-02-11 20:03:28 -08:00
Kevin Sawicki
8b61c0d8f7 Rearrange tabs when the edit session order changes 2013-02-11 19:40:33 -08:00
Kevin Sawicki
a104e67acd Support moving an edit session's editor index 2013-02-11 18:36:50 -08:00
Kevin Sawicki
5abf17e93b Compare edit sessions instead of tab paths 2013-02-11 17:11:14 -08:00
Justin Palmer
0acd532428 Add transferEditSessionAtIndex to Editor 2013-02-11 17:02:34 -08:00
Justin Palmer
4502ec04d3 only check for duplicates when dragging to a different panel 2013-02-11 16:49:34 -08:00
Kevin Sawicki
fff049e8a6 Use Buffer.getPath() 2013-02-11 14:09:37 -08:00
Justin Palmer
96e2044e18 💄 2013-02-11 13:31:07 -08:00
Justin Palmer
d448db41d1 don't allow duplicate tabs in the same edit session 2013-02-11 13:26:23 -08:00
Justin Palmer
94cec69e31 little strong visual indication of drop location 2013-02-11 13:10:59 -08:00
Justin Palmer
ac39dd963f 💄 2013-02-11 13:01:03 -08:00
Justin Palmer
b9101b3310 this is how we write this on .com 2013-02-11 12:58:03 -08:00
Kevin Sawicki
6a504fc290 Remove unused index variable 2013-02-11 11:20:50 -08:00
Kevin Sawicki
94ba8c1191 Do nothing when dragged tab is dropped onto itself 2013-02-11 11:16:54 -08:00
Kevin Sawicki
07ff931082 Remove unneeded rootView parameter 2013-02-11 10:51:12 -08:00
Kevin Sawicki
b5451ce5b3 Remove unneeded rootView variable 2013-02-11 10:48:54 -08:00
Kevin Sawicki
785d91e4f4 Use relative require 2013-02-11 10:48:23 -08:00
Justin Palmer
52afa8983a remove pane if it has no tabs left 2013-02-11 09:12:06 -08:00
Justin Palmer
45d6a30a80 determine if dragged tab was perviously active before reactivating in new pane 2013-02-11 08:26:18 -08:00
Justin Palmer
ae841c2bf7 pass event to shouldAllow* methods 2013-02-11 08:17:32 -08:00
Justin Palmer
ffbc0ab45c only activate another tab if the pane's active tab wasn't dragged away 2013-02-10 11:20:47 -08:00
Justin Palmer
4474f2bc2d rename Tabs -> TabView 2013-02-10 11:12:14 -08:00
Justin Palmer
b7d4689cfe fix logic error in shouldAllowDrag 2013-02-10 10:53:19 -08:00
Justin Palmer
9c99369c10 add methods to determine if we should allow dragging and dropping 2013-02-10 10:46:02 -08:00
Justin Palmer
ccb8688a43 update require paths 2013-02-10 09:50:44 -08:00
Justin Palmer
b2ce4ca6d5 merge dev, fix conflicts from package rewrite 2013-02-09 20:17:29 -08:00
Justin Palmer
d45aac57dd :after is better 2013-02-09 19:38:55 -08:00
Justin Palmer
a124f5aeee update tabs to use new way to find pane index 2013-02-09 19:38:55 -08:00
Justin Palmer
a1a663cd30 implement indexOfPane in RootView to get array index
We need something like this because jquery's el.index() doesn't work
when multiple panes are spread out among different rows and columns.
2013-02-09 19:38:55 -08:00
Justin Palmer
83631935ff working implementation of drag and drop across multiple panels 2013-02-09 19:38:55 -08:00
Justin Palmer
c7c9656c46 remove drop dom manipulation from sortable-list
Not sure how we should handle generic drag and drop.  Tabs are more
complex because of multiple panels
2013-02-09 19:38:55 -08:00
Justin Palmer
be49f047e1 index -> sortable-index 2013-02-09 19:38:55 -08:00
Justin Palmer
b00df1aae0 sortableElement -> getSortableElement 2013-02-09 19:38:55 -08:00
Justin Palmer
e92d9ea998 sorting works on a single editor
Needs updating to support dragging between panels
2013-02-09 19:38:55 -08:00
Justin Palmer
8a50581430 rename sortable view to sortable list 2013-02-09 19:38:54 -08:00
Justin Palmer
9100367c12 very basic tab sorting 2013-02-09 19:38:54 -08:00
Justin Palmer
ff4e374d44 basics of drag and drop support 2013-02-09 19:38:54 -08:00
Nathan Sobo
d8111797ba RootView can no longer be focused.
Allowing root view to be focused was stealing focus away from the
editor whenever a click event made it to the root view. This unnecessary
switching of focus was interfering with the ability to drag tabs.

But if RootView can't be focused, focus ends up being returned to the
document body when there are no focusable elements. This would be fine,
except for the fact that we frequently bind global events on root view,
and so they aren't triggered when events are triggered on the body. We
could just bind all global events on the body, but this would require
us to always attach elements to the DOM during specs, which is a serious
performance killer in specs.

The workaround is in the keymap. When the keymap handles a key event
that was triggered on the body, it triggers the corresponding semantic
event on the root view anyway, so from the event perspective, it's as
if the root view actually had focus. The only place this might fall
down is if someone wants to capture raw key events. But that's the
keymap's job anyway, and we maybe add a hook on the keymap if such a
need ever arises.
2013-02-09 19:38:54 -08:00
Kevin Sawicki
5e81d5ceb8 Support bold and italic wrapped in underscores 2013-02-09 16:51:41 -08:00
Kevin Sawicki
e4da35d841 Support lists with hyphens and pluses 2013-02-09 16:48:12 -08:00
Kevin Sawicki
653979afc0 Capture begin and end triple ticks as support scope 2013-02-09 16:36:38 -08:00
Kevin Sawicki
659b7e05a0 Require non-asterix in bold and italic matches 2013-02-09 16:32:59 -08:00
Kevin Sawicki
20d68a380f Only tokenize list if whitespace after asterix 2013-02-09 16:30:04 -08:00