Commit Graph

232 Commits

Author SHA1 Message Date
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
Nathan Sobo
90188a871c Only show menu items for a window/document when it is the key window.
Also add "File > Save" menu item. When document is focused, all menu items associated with its window are added to the main menu. When it is blurred, main menu is reset.
2011-12-26 14:49:51 -06:00
Nathan Sobo
a010c8e3c6 Add window.bindMenuItem, which adds a menu item that invokes a given function.
Every menu item is created with a path (File > Save). The functions are stored in a hash from (menu item path -> action) on the window. When an AtomMenuItem is selected, it looks up the action on the current window based on its path.
2011-12-26 13:12:27 -06:00
Nathan Sobo
0cc29a0319 Beef up Native.addMenuItem spec 2011-12-23 16:59:02 -06:00
Nathan Sobo
11d502b511 Unfocus spec. Fix spec. 2011-12-23 16:50:35 -06:00
Nathan Sobo
00bccdca96 Add partial implementation Native.addMenuItem.
It takes a path like "Menu 1 > Menu 2 > Item", and builds a series of submenus if needed along that path, then adds the final item at its terminus. Specs still need to be fleshed out further.
2011-12-23 16:45:04 -06:00
Nathan Sobo
68ce5544a7 Merge branch 'master' into wip 2011-12-23 15:58:11 -06:00
Nathan Sobo
c2b102d9f4 💄 2011-12-23 15:38:38 -06:00
Nathan Sobo
5b7a80f707 fdescribe / fit can be used to focus specs manually 2011-12-23 15:38:22 -06:00
Nathan Sobo
ae4fdf8812 Add Native.resetMainMenu and call it in global afterEach
This method removes any AtomMenuItems that aren't marked as 'global'. It ignores menu items that aren't instances of our custom subclass. This is needed by specs to clear any menu items added during tests. It will also be needed when a window loses focus and we want to remove any non-global menus associated with the window.
2011-12-23 12:43:32 -06:00
Nathan Sobo
deb088f1ed Merge branch 'master' of github.com:probablycorey/Atomicity 2011-12-23 10:48:22 -06:00
Nathan Sobo
7d524f5f54 Editor.open assigns the url on the atom controller so refresh works properly. 2011-12-23 10:48:11 -06:00
Corey Johnson
2d6ddcedfd Add window.bindKey which matches a pattern to an action. 2011-12-22 16:24:09 -08:00
Corey Johnson
b15c493693 Remove meta-o handler from window. 2011-12-22 14:58:34 -08:00
Corey Johnson
d0ed5992ca 'meta-o' presents open dialog. 2011-12-20 10:41:31 -08:00
Corey Johnson
f2d9f818a8 Add spec to verify mode is set on the aceEditor session. 2011-12-20 09:27:32 -08:00
Corey Johnson
f78d1461d3 Sobo'd the spec. 2011-12-20 09:25:15 -08:00
Corey Johnson
1abccbf9eb Buffer with no url returns Text as its mode. 2011-12-19 16:40:55 -08:00
Corey Johnson
a72fb416f8 Buffer.getMode returns the ace mode based on the url. 2011-12-19 16:26:55 -08:00
Corey Johnson
ce9f5b7f5d Better spec name 2011-12-19 13:20:45 -08:00
Corey Johnson
8efbd8c281 Move keybindings to window.
Window has startup and shutdown methods.
2011-12-19 12:59:11 -08:00
Corey Johnson
5ec94fc28c Triggers the event created with window.keydown. 2011-12-19 12:58:35 -08:00
Nathan Sobo
7dcb00f0ec When saving buffer with no url, pop up 'save as' dialog.
Remove a lot of old code.
2011-12-16 16:31:02 -08:00
Nathan Sobo
c75c3555bb Meta+s triggers save on Editor.
Still can't save buffers that don't have a url.
2011-12-16 16:30:51 -08:00
Nathan Sobo
4ce635d539 Always assign the app to a global in specs console. 2011-12-15 19:11:20 -08:00
Corey Johnson & Nathan Sobo
a07daf26ca Add Buffer.save 2011-12-15 15:59:32 -08:00
Corey Johnson & Nathan Sobo
5fbb320957 Buffer is empty when created with no url. 2011-12-15 15:16:44 -08:00
Corey Johnson & Nathan Sobo
c16c25b69b ace Editor uses Document held by Buffer. 2011-12-15 15:06:34 -08:00
Corey Johnson & Nathan Sobo
27dd97069a Attach and populate the ace editor with buffer text when an editor is created. 2011-12-15 14:13:34 -08:00
Corey Johnson & Nathan Sobo
32631468e7 Recursively require all -spec.coffee files in spec suite. 2011-12-15 14:11:00 -08:00
Corey Johnson & Nathan Sobo
71d9dfb147 Rename jasmine_content to jasmine-content. 2011-12-15 14:09:40 -08:00
Corey Johnson & Nathan Sobo
cf02d1183a App.open opens a new window with an editor pointing at the given url. 2011-12-15 10:45:15 -08:00
Corey Johnson
9e55a00a56 Closes all non-spec windows opened by the app. 2011-12-14 18:30:17 -08:00
Corey Johnson
fbb3efacf4 wii - gettings specs on App.open. Window closing not working quite right. 2011-12-14 16:24:30 -08:00
Corey Johnson & Nathan Sobo
607149a07d Half-baked template experiment 2011-12-12 16:24:55 -08:00
Corey Johnson & Nathan Sobo
0dd6df1ab6 Empty test suite runs when you hit ctr-alt-cmd-s 2011-12-12 15:05:59 -08:00