Nathan Sobo
6dddb1aa26
RootView.toggleFileFinder scans urls asynchronously.
2012-01-03 16:39:09 -07:00
Nathan Sobo
07b40cdbeb
RootView opens a project for the directory of the url passed to initialize.
...
Rename fixtures/file-finder-dir to fixtures/dir, because it's not really file-finder specific.
2012-01-03 16:01:46 -07:00
Corey Johnson & Nathan Sobo
f8b04cd902
RootView is initialized with a url and opens it with its editor
2012-01-03 13:57:10 -08:00
Corey Johnson & Nathan Sobo
2cfea9fa42
Fix broken specs
2012-01-03 14:40:31 -07:00
Corey Johnson & Nathan Sobo
5b3e0e9f83
fs.async.list takes a boolean 'recursive' flag.
2012-01-03 14:23:18 -07:00
Corey Johnson & Nathan Sobo
3822549007
Spec passes for fs.async.list.
2012-01-03 14:03:03 -07:00
Corey Johnson & Nathan Sobo
b3a7e1e097
Add failing fs.async.list spec.
2012-01-03 11:18:08 -07:00
Corey Johnson & Nathan Sobo
fe0c6f9a61
Remove common path prefix from FileFinder matches
2011-12-30 11:50:29 -08:00
Corey Johnson & Nathan Sobo
e6053a2d66
FileFinder only returns up to maxResults
2011-12-30 11:37:11 -08:00
Nathan Sobo
ad024bc1e6
Move window-global key bindings from window object to RootView.
...
This makes it simpler to discard bindings between specs: just throw away the RootView. It's also more straightforward to call @bindKey on self in the initialization of RootView, rather than binding to document on window.startup.
2011-12-30 13:26:48 -06:00
Nathan Sobo
a1e0039890
Centralize key binding logic in KeyBinder and jQuery.fn.bindKey extension.
...
This commit removes window.bindKey in favor of binding keys on dom elements. It also refactors pattern parsing in the test helper to use KeyBinder.parseKeyPattern.
2011-12-30 13:19:41 -06:00
Nathan Sobo
5273cb0638
Add $.fn.bindKey, which works on any jquery-wrapped element.
...
If given a string as an action, it attempts to call a method by that name on the element's view object. If given a function, it calls it directly.
2011-12-30 12:33:55 -06:00
Nathan Sobo
dc38a0e375
Add $.fn.view method, which links any jquery element to its parent view.
...
When generating a jQuery fragment with the templating framework, I store the fragment in the 'view' data property on all the fragments elements. This allows us to query an element from the DOM and determine what view object it belongs to.
2011-12-30 12:05:11 -06:00
Corey Johnson & Nathan Sobo
e4d73ace25
Bound up / down keys to moveUp / moveDown in fileFinder
2011-12-29 17:38:08 -08:00
Corey Johnson & Nathan Sobo
98458806ea
Add moveUp and moveDown to FileFinder
2011-12-29 16:43:22 -08:00
Corey Johnson & Nathan Sobo
0f772c0858
Template framework can bind events on the root of views, in addition to descendant elements.
2011-12-29 16:13:16 -08:00
Corey Johnson & Nathan Sobo
5aee51eb35
FileFinder tests pass
2011-12-29 15:37:08 -08:00
Corey Johnson & Nathan Sobo
b279063550
Fix bug where subviews could clobber outlets on superviews.
...
Now we wire outlets before the subviews are attached, preventing any outlets on the subview from overwriting outlets on the superview.
2011-12-29 16:29:06 -06:00
Corey Johnson & Nathan Sobo
2eb7d2a215
FileFinder loads files from editor.url's directory
2011-12-29 12:23:04 -08:00
Corey Johnson & Nathan Sobo
35e4b0e969
Incorporate Editor into templating framework.
2011-12-29 13:12:13 -06:00
Corey Johnson & Nathan Sobo
0285c3d94d
Builder.subview wires an outlet directly, rather than assigning an outlet property.
2011-12-29 13:10:44 -06:00
Corey Johnson & Nathan Sobo
b25fc80c9a
Template.subview expects a view instance instead of a template and params hash.
2011-12-29 12:17:52 -06:00
Corey Johnson & Nathan Sobo
8455507566
Use _.uniqueId to generate temporary subview divs.
2011-12-29 11:58:59 -06:00
Corey Johnson & Nathan Sobo
79ead1fefb
Add Builder.subview / Template.subview
2011-12-29 11:43:14 -06:00
Corey Johnson & Nathan Sobo
81dbe51851
Editor.buildAceEditor is causing root-view-spec to fail because it expects the DOM to have a #main element. I think we need to implement subviews for this to work, but didn't have time to get that working.
2011-12-28 17:30:34 -08:00
Corey Johnson & Nathan Sobo
e617e129e0
Rename Layout to RootView
2011-12-28 17:14:32 -08:00
Corey Johnson & Nathan Sobo
c6fbad8e9e
FileFinder is toggleable
2011-12-28 16:21:38 -08:00
Corey Johnson
7c2f4ff1be
Remove focused spec
2011-12-28 15:17:42 -08:00
Corey Johnson & Nathan Sobo
c6d90748f7
Meta-t adds file finder to bottom of layout.
2011-12-28 16:30:08 -06:00
Nathan Sobo
0fe85355f8
Merge branch 'view'
2011-12-28 14:22:12 -06:00
Nathan Sobo
886c435b43
Populate url list of file finder as user types.
2011-12-28 14:21:43 -06:00
Nathan Sobo
51c89acc5b
Add FileFinder with a findMatches method that returns ranked urls.
...
Change stringscore.js to be a function that takes a string, rather than extending the prototype.
2011-12-28 13:53:39 -06:00
Nathan Sobo
28ef202a6a
Un-focus and fix Layout template.
2011-12-28 12:47:04 -06:00
Corey Johnson
4d9e1d94aa
Remove test that is not used
2011-12-27 17:29:59 -08:00
Corey Johnson
06fd50de96
Bind keyPatterns to menuItems.
...
I don't like the implementation of this, but it works. Next step is cleaning it up.
2011-12-27 17:28:32 -08:00
Nathan Sobo
a622da2904
💄
2011-12-27 19:14:29 -06:00
Nathan Sobo
eeb20673b3
Pass the event and element to event-handling methods on the view.
2011-12-27 19:13:54 -06:00
Nathan Sobo
ba18614c2f
Bind DOM events to view methods based on element attributes.
...
For example, if you give an element the attribute click: 'elementClicked', the template will bind a click event to that element which calls the elementClicked method on the view.
2011-12-27 19:00:00 -06:00
Nathan Sobo
7948543a5b
Template extends view with @viewProperties and calls initialize with attributes passed to build.
2011-12-27 18:36:54 -06:00
Corey Johnson
a0fc994dcb
addMenuItem can take a key pattern and set it as the key equivalent.
2011-12-27 16:30:48 -08:00
Nathan Sobo
08c1d33836
Switch Template to use builder. Wire outlets in Template.
2011-12-27 18:21:00 -06:00
Nathan Sobo
43ddb6b16a
Builder.toFragment creates outlet references on the fragment.
2011-12-27 17:43:05 -06:00
Nathan Sobo
a7aa1d2b75
Add jasmine jquery matchers.
2011-12-27 17:42:29 -06:00
Nathan Sobo
bd79d9cd5d
Builder correctly generates void (self-closing) tags.
2011-12-27 16:43:28 -06:00
Nathan Sobo
21fb88141e
Builder can generate tags with attributes.
2011-12-27 16:16:35 -06:00
Nathan Sobo
b5a06c288e
Tags can take textual content.
2011-12-27 16:05:01 -06:00
Nathan Sobo
e570c5d454
Tags can take a function for their content.
2011-12-27 15:57:29 -06:00
Nathan Sobo
22167faf28
Add template/Builder. It generates basic tags.
2011-12-27 15:50:39 -06:00
Nathan Sobo
a48a1b24f4
Don't add the same menu item more than once.
2011-12-26 23:33:05 -06:00
Nathan Sobo
b9f844ab18
Listen for focus/blur on window, not document.
2011-12-26 23:32:54 -06:00