Commit Graph

53 Commits

Author SHA1 Message Date
Corey Johnson
a41676e84e Use event.originalEvent.keyIdentifier instead of event.which.
Events match patterns if event.keyStroke == key pattern.
2012-02-15 10:04:02 -08:00
Nathan Sobo
bb640dd342 Use $$ -> to render ad-hoc document fragments
Also eliminate stdlib/template directory which held code related to
SpacePen's precursor framework.
2012-02-06 16:19:43 -07:00
Nathan Sobo
64a97b9427 Use SpacePen for all views
SpacePen is better because its objects inherit directly from the jQuery
prototype, meaning you can create them with `new`.
2012-02-06 12:12:45 -07:00
Danny Greg & Nathan Sobo
62d8aa72e2 Merge branch 'master' into editor 2012-01-19 18:54:34 -08:00
Danny Greg & Nathan Sobo
0e9bfe4d1a Builder has class methods for every tag
Shorthand: If you know the top-level tag you want to render, you can
call `Builder.div class: "foo", -> ...` instead of calling render.
2012-01-19 18:54:09 -08:00
Danny Greg & Nathan Sobo
aec88e3404 Add Builder.render and instance methods for tags
Builder.render takes a function that calls tag methods and returns a
view fragment.
2012-01-19 18:30:32 -08:00
Danny Greg & Nathan Sobo
7d0c5ff2f0 Merge branch 'master' into editor 2012-01-19 16:47:12 -08:00
Danny Greg & Nathan Sobo
5e41f82985 Add a raw call to builder. 2012-01-19 16:46:32 -08:00
Danny Greg & Nathan Sobo
597e4c54b2 Merge branch 'master' into editor 2012-01-19 16:37:58 -08:00
Danny Greg & Nathan Sobo
660beb9f65 Text inside of tags is HTML escaped. 2012-01-19 16:36:32 -08:00
Nathan Sobo
4274ff4a81 Merge branch 'master' into editor 2012-01-16 21:28:31 -08:00
Nathan Sobo
ba2ed50e87 Also trigger 'attach' on subviews when parent view is attached. 2012-01-16 21:28:18 -08:00
Nathan Sobo
a051e452ea Merge branch 'master' into editor 2012-01-16 21:17:51 -08:00
Nathan Sobo
5dbdd92e6c When views are attached to dom, trigger 'attach' events
Added this mechanism by augmenting jQuery dom mutation methods. It will
only trigger an event if the element has a truthy value for the
'triggerAttach' data entry. This will allow us to execute actions that
require the view to be physically on the dom at the appropriate time.
2012-01-16 21:15:57 -08:00
Nathan Sobo
07a51fb310 Displaying lines and a basic cursor 2012-01-16 17:17:36 -08:00
Corey Johnson & Nathan Sobo
278ac6a9f2 Remove bindKey from views. Make FileFinder use atom.bindKeys 2012-01-11 13:16:11 -08:00
Corey Johnson & Nathan Sobo
e58f699681 Remove KeyBinder and CommandMap. 2012-01-11 13:16:11 -08:00
Corey Johnson & Nathan Sobo
7f3396c125 Rename createKeyEvent to keydownEvent 2012-01-11 13:16:10 -08:00
Corey Johnson & Nathan Sobo
18b9782b16 Opening a previously opened url restores the same buffer and session. 2012-01-05 16:33:53 -08:00
Corey Johnson & Nathan Sobo
5293ba7469 Add fs.join 2012-01-05 12:01:55 -08:00
Nathan Sobo
629c1ef239 If passed a directory path, fs.directory returns the path it is given (not the parent dir) 2012-01-04 19:07:55 -07:00
Nathan Sobo
80e4fda2f9 Filter out directory paths for FileFinder in Objective-C instead of JS.
Rename FileSystemHelper-contentsOfDirectoryAtPath… to -listFilesAtPath to make it clear that we're only listing files, not subdirectories. This is a fairly special purpose method but it saves us from calling back into objective-c a ton of times to filter them in JS, and makes bringing up the file finder ~2x as fast.
2012-01-04 18:22:22 -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
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
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
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
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
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
79ead1fefb Add Builder.subview / Template.subview 2011-12-29 11:43:14 -06:00
Nathan Sobo
0fe85355f8 Merge branch 'view' 2011-12-28 14:22:12 -06:00
Nathan Sobo
28ef202a6a Un-focus and fix Layout template. 2011-12-28 12:47:04 -06: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
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
0cc29a0319 Beef up Native.addMenuItem spec 2011-12-23 16:59:02 -06:00