Commit Graph

199 Commits

Author SHA1 Message Date
Eric Rowell
5765ab749b converting arguments object into true array for setters, restored the original underscore.js methods, and moved radius conversion logic from the setAttrs method to a radiusChange event listener in Ellipse 2012-06-20 12:55:34 -07:00
Eric Rowell
ce5a8f3209 you can now cancel drag and drop with setDraggable(false) during a drag and drop operation 2012-06-19 17:06:31 -07:00
Eric Rowell
5679b1fb76 fixed bug with Path dataChange event subscription 2012-06-19 16:26:28 -07:00
Eric Rowell
76c85a639e changed listen property to listening, listen() to setListening(), and isListening() to getListening() for consistency 2012-06-18 23:12:56 -07:00
Eric Rowell
c8d8aa6028 changed draggable() to setDraggable(). added getDraggable(). added more unit tests and functional tests 2012-06-18 22:02:13 -07:00
Eric Rowell
dee78e86e2 added Circle backwards compatibility with Ellipse 2012-06-18 19:09:07 -07:00
Eric Rowell
bf616d0d4d fixed mousemove event bug, and added a very rigorous functional test to test all of the basic shape events for both desktop and mobile 2012-06-18 17:56:12 -07:00
Eric Rowell
dc51d95eb1 image fills can now be scaled to simulate image cropping. Now that image fills can be offset and scaled, the Image Shape is now obsolute because any shape can now use regular images or cropped images. 2012-06-17 17:18:49 -07:00
Eric Rowell
fae1ff6cb7 removed Circle shape and replaced it with the more flexible Ellipse shape. If you define the radius with a number, the shape will be a circle. if you define the radius with an x and y component, it will be an oval 2012-06-17 16:50:04 -07:00
Eric Rowell
c1b9d44885 setup data url hash for functional tests so that we can compare the visual result before and after a series of simulated events 2012-06-16 00:02:55 -07:00
Eric Rowell
9ec8c94701 refactored event bindings to expose content node events and enable true functional tests without a test framework like Selenium. Added new manualTests.html page for manual tests. One of the manual tests has already been converted to a functional test. Will add in image data url hashmaps soon so that I can compare screenshots before and after a series of actions in the functional tests 2012-06-15 11:47:55 -07:00
Eric Rowell
9b76f650f7 exposed content event bindings so that we can simulate mouse and touch events for the purpose of internal and external functional tests 2012-06-14 23:46:52 -07:00
Eric Rowell
838c719c0e made a better fix for the mobile alternating drag and drop bug 2012-06-14 20:29:07 -07:00
Eric Rowell
9a5f9006b8 updated jsdocs 2012-06-14 14:56:13 -07:00
Eric Rowell
73ad904de6 updated jsdocs 2012-06-14 02:19:51 -07:00
Eric Rowell
2455000f5c fixed set fill attr bug which occurred when instantiating the fill with a string color and then setting it later to a fill object such as a gradient or pattern. The fix will apply to any attr which can be a string or object 2012-06-12 09:57:29 -07:00
Eric Rowell
6d4738cd2b all simple getters and setters are now dynamically created. This is the first step towards creating a code base that can unpack at run time to reduce file size 2012-06-10 13:07:09 -07:00
Eric Rowell
6b70e1b18f now using setAttrs for all Shape and shapes setters 2012-06-10 00:02:16 -07:00
Eric Rowell
13105969b1 attr change events are now only fired on root level attr changes. changed centerOffset property to offset property for consistency. did additonal refactoring 2012-06-09 16:13:25 -07:00
Eric Rowell
bba1d0ad21 now leveraging the setAttrs method for all setters in Node class. utilizing draggableChange attr event to trigger drag and drop inits 2012-06-09 15:31:25 -07:00
Eric Rowell
9697af530c stage now listens for dimension changes, and updates the DOM dimensions if the widthChange or heightChange event is triggered 2012-06-09 11:24:35 -07:00
Eric Rowell
e64024d3bd refactored attr event change logic a bit. added delete operator in a couple places to fix memory leaks. added better event unit tests. 2012-06-09 10:53:47 -07:00
Eric Rowell
12b61b3621 attr change events are now triggered for any root attr so long as the attr is set with the setAttrs method 2012-06-09 01:47:41 -07:00
Eric Rowell
2cd24309ac first step to exposing event driven architecture. Devs can subscribe to attr change events with the on method. e.g. shape.on('widthChange', function(){...}) 2012-06-08 21:56:33 -07:00
Eric Rowell
440c3ac279 event simulation now correctly bubbles 2012-06-08 20:57:20 -07:00
Eric Rowell
e7699a588f fixed mobile drag and drop bug. refactored _handleEvents(). added new functional test that has two drag and drop shapes 2012-06-08 00:42:48 -07:00
Eric Rowell
0167432216 updated Path docs 2012-06-06 21:41:29 -07:00
Eric Rowell
e74fa3a319 fixed stage drag and drop bug on tablets 2012-06-03 12:48:13 -07:00
Eric Rowell
8b22fb0690 updated Transition docs 2012-06-03 10:36:50 -07:00
Eric Rowell
e842cdf8ac stage setSize() method now converts inputs to integers. added a lot of setSize unit tests 2012-06-02 21:27:26 -07:00
Eric Rowell
91eb4ea371 isVisible() method now takes into account ancestor visibility. This fixes several bugs related to odd event detection behavior with clusters of visible and invisible nodes 2012-06-02 19:12:06 -07:00
Eric Rowell
9f243d4a2e garbage collecting empty arrays in _removeName method to free up space 2012-06-02 00:39:17 -07:00
Eric Rowell
1b333bc800 new simulate() method to simulate node events. e.g. shape.simulate('click') 2012-06-02 00:21:49 -07:00
Eric Rowell
385deb793d remove() method now correctly removes node descendants 2012-06-01 23:56:01 -07:00
Eric Rowell
ba796f4cc3 new tap event. touchmove no longer incorrectly fires onmousemove event. dbltap now correctly bubbles. cleaned up some other event handling logic. 2012-06-01 00:44:38 -07:00
Eric Rowell
84e400e0f0 changed commands property to data per Jason's request. This provides a similar nomenclature to the SVG path data property 2012-05-29 21:34:04 -07:00
Eric Rowell
89370bfee7 fixed bug with setScale method and _isNumber method. Added unit tests 2012-05-28 23:46:40 -07:00
Eric Rowell
85cb03fa90 further optimized the path parser algo 2012-05-28 19:00:22 -07:00
Eric Rowell
9fa7949d27 fixed closePath bug with Path shape, added getters and setters, and added another path unit test 2012-05-28 16:11:43 -07:00
Eric Rowell
a29d1520ae applying event throttling logic to mousemove and touchmove only 2012-05-28 12:12:26 -07:00
Eric Rowell
3c72f8240b fixed up unit tests 2012-05-28 12:02:02 -07:00
Eric Rowell
a2defa4bed turns out there was no performance problems with the path (made a dumb mistake with implementation). However, during the analysis, I ended up adding event detection throttling which is pretty handy. It cuts down unecessary mousemove event handling dramatically and greatly improves performance when you have thousands of shapes 2012-05-27 23:41:05 -07:00
Eric Rowell
cc35abd0f6 first round of new Path shape. Despite multiple optimizations, the path performance isn't as good as a previous experiment done with v3.8.1. Will keep this as a separate branch until the performance issues are resolved 2012-05-27 21:46:03 -07:00
Eric Rowell
4488f22c32 added drag and drop support for the stage. This essentially enables stage panning 2012-05-27 00:07:36 -07:00
Eric Rowell
e075a725a1 rewrote shadow logic. Shadows can now be applied to images and sprites, even if they have transparent pixels 2012-05-26 20:34:36 -07:00
Eric Rowell
af31e1ee83 refactored stage.reset method. Now storing node default attrs as an object which can be used by the stage to reset itself 2012-05-26 18:40:43 -07:00
Eric Rowell
44ba6f7e5b bug fix - when setting a custom attr that points to self, the setAttrs method no longer gets stuck in a recursive loop throwing a stack overflow error. Also, objects that were instantiated from a class (non-literal objects) are no longer serializable 2012-05-26 18:31:13 -07:00
Eric Rowell
fd6bdb570c refactored get() and add() node methods. much cleaner now. 2012-05-26 16:49:58 -07:00
Eric Rowell
07edfbc765 hooked setAttrs into setCrop() method and made the _getSize() method more flexibile by accepting more variations of input. added unit tests 2012-05-26 16:37:37 -07:00
Eric Rowell
8c675327b9 hooked in the setAttrs method to the shadow setter and the pattern fill setter. added more unit tests 2012-05-26 10:57:56 -07:00