Commit Graph
100 Commits
Author SHA1 Message Date
ahocevar 26e3179b2e Making linter and Travis happy 2012-09-27 12:18:05 +02:00
ahocevar caaec7c366 Use the map's zoom method instead of our own
This also allows us to get rid of the resolutions constraint and configuration.
2012-09-27 12:05:53 +02:00
ahocevar 1b18dbedb7 Dispatch MapBrowserEvent before interactions get it
By doing so, application event handlers can preventDefault on the event, and interactions won't get the event any more. This means that interactions are default behavior that can be prevented by application event handlers.
2012-09-27 09:54:16 +02:00
ahocevar 2991fa1178 Adding important comment 2012-09-26 22:39:21 +02:00
ahocevar d6f6b828f1 preventDefault on mousedown
This is needed to avoid native image dragging.
2012-09-26 18:48:57 +02:00
ahocevar 303960731c CSS for previous commit 2012-09-26 18:33:07 +02:00
ahocevar e390ff80ea Adding zoom control 2012-09-26 18:27:45 +02:00
ahocevar 47c343ce4f We can rely on the click event
No need to use the mousedown/touchstart event here, because the click event gives us both clientX/clientY and button on touch devices.
2012-09-26 18:27:12 +02:00
ahocevar 4257f5c7c6 Removing unneeded preventDefault calls 2012-09-26 18:26:11 +02:00
ahocevar c7a32b33da Fixing indentation 2012-09-26 15:11:47 +02:00
ahocevar 78c380c9a5 Type cast to make the compiler happy 2012-09-26 15:05:52 +02:00
ahocevar fa16adec02 Making more use of Closure 2012-09-26 14:38:29 +02:00
ahocevar bdd8a75123 Remove the box also if we don't zoom 2012-09-26 13:03:41 +02:00
ahocevar 3bd204fb6a DragBox control provides visual shiftdragzoom feedback
Adding a new DragBox control and using it in the shiftdragzoom interaction to provide visual feedback of the zoom box. The control is nicely separated from the interaction - it only draws the box and does not perform any action.
2012-09-26 12:50:14 +02:00
ahocevar 86336b42e6 Ignoring index.html instead of debug.html 2012-09-25 19:47:26 +02:00
ahocevar 36a8dd81ee Missing change from previous commit
This should have gone in with ef383ee7b6.
2012-09-25 19:35:12 +02:00
ahocevar 3c099a96b7 No longer tap-selecting elements on touch devices
This finalizes the effort to improve map browser event handling.
2012-09-25 19:32:08 +02:00
ahocevar ef383ee7b6 Examples using a script loader
This makes it possible to run examples hosted on hosts other than localhost. To get that version by default, debug.html has been renamed to index.html.
2012-09-25 19:06:29 +02:00
ahocevar 5a97655983 Optimizing touch device handling
The native event of the touchstart/mousedown event needs to be cloned; change includes some compiler optimizations.
2012-09-25 18:30:23 +02:00
ahocevar ce977e5364 Map browser event handling for touch devices
By handling click, dblckick and drag sequences in MapBrowserEvent, we can overcome closure issues with touch events. In particular, these issues were double drag events (from mousemove and touchmove) and a missing dblclick event on touch devices.
2012-09-25 17:28:01 +02:00
ahocevar b151304630 Prevent default on mousedown and touchstart for all renderers
By doing this on the map renderer, we do not need to duplicate code for the webgl and dom renderers.
2012-09-25 17:28:01 +02:00
ahocevar 6b8e14c623 Don't trigger extra drag events on touch devices. 2012-09-25 08:30:57 +02:00
ahocevar 002e23cb74 Satisfy latest Closure library/tools. 2012-09-24 17:59:34 +02:00
ahocevar 78f8ed04dd Fixing typo. 2012-07-18 08:10:44 +02:00
ahocevar 6c9ef26c79 Using safe unicode notation. 2012-07-18 08:10:35 +02:00
ahocevar fd2ac782cf Using high level map event instead of browser event. 2012-07-13 17:54:34 +02:00
ahocevar 1c07c38a70 Using minus sign instead of ndash. 2012-07-13 17:53:33 +02:00
ahocevar f4532f1548 Completing tests for map handlers. 2012-07-12 23:48:13 +02:00
ahocevar ba986e536d We decided to be explicit about bubble/capture. 2012-07-12 23:47:37 +02:00
ahocevar 8183164298 The underlying event will be needed frequently.
But there will also be events that don't have an underlying event, so we make it optional.
2012-07-12 23:47:16 +02:00
ahocevar 3cc069186c Allow for using a different set of default behaviors.
The default behavior of dragging and wheel zooming feels specific to 2D maps. So I think it makes sense to introduce a special type of controls (ol.control.DefaultControl) that implement default behaviors. This change also re-introduces the Navigatin control, which is a container for the default behaviors that were previously defined in the map handlers. Maybe this control needs to be renamed to Navigatin2D in the future, and there could be a different Navigation control for 3D maps.
2012-07-12 20:51:47 +02:00
ahocevar 42c4c9d869 No need to pass the element to the constructor.
If MapHandler subclasses could live without a map, it would make sense to have a constructor with a target and an element. But because the target is always the map, and the handler need to know about the map for performing default behavior, we always assume the map's viewport as element.
2012-07-12 20:44:32 +02:00
ahocevar f672303f0a New MapHandler base class; better API docs 2012-07-12 15:21:15 +02:00
ahocevar 1ad915b428 Shuffling resources; better variable names; better type declarations. 2012-07-12 13:43:47 +02:00
ahocevar d76eea8ac4 Fixing tests. 2012-07-09 08:26:25 +02:00
ahocevar 7bf1ffe606 Nice improvement of the wheel zooming experience. 2012-07-08 20:27:10 +02:00
ahocevar 4132ded263 Merge branch 'events' 2012-07-08 12:19:32 +02:00
ahocevar ca2414c9d6 Simplify controls by registering click events on own elements.
This makes sense for all controls that provide buttons or similar UI elements that don't interfer with map interaction.
2012-07-08 12:17:11 +02:00
ahocevar a38a331085 Allow for events on other elements than the map viewport.
Not registering browser events as priority events makes it easy for controls to preventDefault or stopPropagation when events are registered on children of the map viewport element.
2012-07-08 12:14:26 +02:00
ahocevar e67e9049ca preventDefault and stopPropagation convenience functions.
These functions can directly be used as browser event listeners.
2012-07-08 12:12:19 +02:00
ahocevar e8ac3f1a6b preventDefault for mousemove and touchmove.
This avoids panning of the browser page when drag-panning the map.
2012-07-08 11:55:31 +02:00
ahocevar 578f74eb86 Less magic.
Each control is responsible for its handlers. And all controls are rendered into an overlay, not any more depending on assumptions about link click handling.
2012-06-29 09:44:52 +02:00
ahocevar f28fe4912f I think we decided to name events in a noun+verb fashion. 2012-06-26 13:34:34 +02:00
ahocevar 8541490f53 Be more explicit about object properties to get rid of warnings. 2012-06-26 09:56:50 +02:00
ahocevar b7c8486289 Testing Control.js. 2012-06-26 00:18:29 +02:00
ahocevar 56542de1f3 More Events.js tests. 2012-06-26 00:00:36 +02:00
ahocevar f962b78caa If no listeners are registered, triggerEvent does nothing now. 2012-06-25 06:32:10 +02:00
ahocevar 87459deb65 Removing unused variable. 2012-06-25 06:32:10 +02:00
ahocevar 9c46aadd22 Adding attribution control and attribution. 2012-06-24 22:22:18 +02:00
ahocevar dfc21754c9 Adding addLayers method and addlayer event. 2012-06-24 22:14:48 +02:00
ahocevar c218e7a139 Adding missing return type. 2012-06-24 22:12:58 +02:00
ahocevar 9758910fc6 Making Element/Node types more consistent. 2012-06-24 22:12:38 +02:00
ahocevar eabc2d9922 Shortcut to register events. 2012-06-24 20:03:58 +02:00
ahocevar 1b93856e89 Keep track of the number of events we have registered.
This is needed to reliably prevent the handleBrowserEvent method to perform potentially expensive calculations.
2012-06-24 20:03:16 +02:00
ahocevar d8599f28b9 Let the controls decide about stopPropagation and preventDefault. 2012-06-24 19:53:42 +02:00
ahocevar 68498bc36e Fixing the way we prevent the extra click. 2012-06-24 19:48:59 +02:00
ahocevar bd8354c831 Adding destroy method.
The control now removes its markup from the DOM. A nice aspect of our event handling is that no events need to be registered on any of the dom elements that controls create.
2012-06-24 17:08:32 +02:00
ahocevar 45222ac5cb Adding getStaticOverlay method.
This will be used by overlays, e.g. to display layer attribution.
2012-06-24 17:07:02 +02:00
ahocevar bc37121ae0 Accessibility - now we can use the keyboard to zoom in and out. 2012-06-24 13:45:32 +02:00
ahocevar 218ad77103 preventDefault now happens in Events.js for all handled events. 2012-06-24 13:43:53 +02:00
ahocevar fcadf842e5 stopPropagation and preventDefault when the event was handled. 2012-06-24 13:43:11 +02:00
ahocevar 446a434c06 New isEnterOrSpace method for keyboard navigation. 2012-06-24 13:42:34 +02:00
ahocevar 7f01528311 Proper destruction. 2012-06-24 13:41:00 +02:00
ahocevar 2fbb29efa0 Using goog.object.clear in destroy. 2012-06-24 12:46:09 +02:00
ahocevar 53a1f9b579 Adding tests for Loc.add. 2012-06-24 12:02:45 +02:00
ahocevar fdfccb7a82 Fixing type of maxResolution. 2012-06-24 11:40:18 +02:00
ahocevar 0c9b3d1d58 Making map_ protected instead of private. 2012-06-24 11:39:42 +02:00
ahocevar 81577d6dce Adding Loc.add method. 2012-06-24 10:09:24 +02:00
ahocevar 12fb6c5af4 Merge branch 'master' of github.com:openlayers/ol3 2012-06-23 17:03:57 +02:00
ahocevar bba7500ab7 Making Popup tests pass. 2012-06-23 17:00:58 +02:00
ahocevar 81b8a472d8 No longer need to calculate the anchor transformation. 2012-06-23 16:16:37 +02:00
ahocevar 026b60826e Removing stub method, and use the real method in Popup. 2012-06-23 16:16:37 +02:00
ahocevar ad8568a259 New setCenterAndZoom and setZoom methods. 2012-06-23 16:16:37 +02:00
ahocevar abf4f41eab Check for renderer before calling methods on it. 2012-06-23 16:16:37 +02:00
ahocevar c656bac601 Making the pointer position the zoom origin. 2012-06-23 14:22:54 +02:00
ahocevar d391c65ac6 New pixel conversion and zoom/center related methods. 2012-06-23 14:21:37 +02:00
ahocevar 6d7c79a9b9 Merge branch 'master' of github.com:openlayers/ol3 2012-06-23 14:18:25 +02:00
ahocevar 43adc61b26 No click event at the end of a drag sequence. 2012-06-23 14:18:02 +02:00
ahocevar 3adf04f728 Merge branch 'master' of github.com:openlayers/ol3 2012-06-23 13:41:35 +02:00
ahocevar e03595fdac Priority flag for unregistering priority events. 2012-06-23 13:37:39 +02:00
ahocevar cdd9439bbd Consistency: get/setMaxResolution instead of get/setMaxRes. 2012-06-23 09:10:01 +02:00
ahocevar a6069bb78e Center tranformation in the api; moveByPx implemented. 2012-06-22 20:49:58 +02:00
ahocevar c72f803038 Adding scroll sequence and scroll support for the Navigation control. 2012-06-22 19:51:35 +02:00
ahocevar 6b8000d963 Removing debug output. 2012-06-22 19:48:05 +02:00
ahocevar f504fe87b8 Removing incorrect comments. 2012-06-22 18:27:06 +02:00
ahocevar 84ee96fbd0 Don't subclass fx.Dragger - just use it. 2012-06-22 18:27:06 +02:00
ahocevar 6c1d510bf0 Getting rid of compiler warnings. 2012-06-22 17:17:25 +02:00
ahocevar f12a20d7aa Stop the event chain when we have handled the event. 2012-06-22 17:14:46 +02:00
ahocevar 0420d2efb9 Adding Zoom control.
Tests still missing.
2012-06-22 17:14:22 +02:00
ahocevar d9537b558a Simplified ISequence API; add object property also for browser events. 2012-06-22 17:12:29 +02:00
ahocevar 65ae7eb7a7 Adding 'object' property to event object. 2012-06-22 15:58:58 +02:00
ahocevar 494305d725 Simplified the ISequence interface and sequence event handling. 2012-06-22 14:14:10 +02:00
ahocevar deb84cf212 Removing unused code. 2012-06-22 11:42:17 +02:00
ahocevar fbcca9642c Use renderTo instead of el as method/option name. 2012-06-22 11:17:27 +02:00
ahocevar 4776b11658 Now the map also has overlay divs. 2012-06-21 19:40:04 +02:00
ahocevar ed62cc00a7 Fixing typos. 2012-06-21 19:36:11 +02:00
ahocevar 188615391d Using a map for controls also. 2012-06-21 19:33:33 +02:00
ahocevar 9bd507e9b8 Adding a map of sequence providers 2012-06-21 19:27:18 +02:00
ahocevar a06de64f37 Minimal demo. 2012-06-21 18:57:07 +02:00
ahocevar e9e5fd27dc The map now has a viewport and can render to a container. 2012-06-21 18:56:48 +02:00