Compare commits

...

2591 Commits

Author SHA1 Message Date
Bart van den Eijnden
626d1da0e7 Merge pull request #3406 from bartvde/release-v3.4.0
Release v3.4.0
2015-03-27 10:22:38 +01:00
Bart van den Eijnden
96c670cebf Update package version to 3.4.0 2015-03-27 10:08:50 +01:00
Bart van den Eijnden
42366c3d00 Changelog for v3.4.0 2015-03-27 10:08:30 +01:00
Bart van den Eijnden
d698e2fcee Merge pull request #3383 from bartvde/xmleql-performance
GML3 tests time out in unit tests
2015-03-26 17:10:25 +01:00
Bart van den Eijnden
7d5ede6728 Restore the previous error messages 2015-03-26 16:48:22 +01:00
Bart van den Eijnden
616a0b161e Speed up xmleql performance 2015-03-26 16:03:28 +01:00
Tim Schaub
6e878468ae Merge pull request #3401 from tschaub/geojson-orientation
Allow GeoJSON to be serialized according to the right-hand rule.
2015-03-26 08:44:57 -06:00
Frédéric Junod
9b23572d4e Merge pull request #3403 from fredj/unused-require
Remove unused goog.require
2015-03-26 14:08:24 +01:00
Frederic Junod
c0c3057498 Remove unused goog.require 2015-03-26 11:54:37 +01:00
Andreas Hocevar
34851d8ecb Merge pull request #3362 from ahocevar/constructor-proj4js
Configure proj4 options and transforms upon construction
2015-03-26 11:21:52 +01:00
Andreas Hocevar
362c9b6851 Clarification of the purpose of ol.proj.addProjection 2015-03-26 10:52:19 +01:00
Andreas Hocevar
a920cd94d9 Create ol.proj.Projection instances with additional properties 2015-03-26 10:50:52 +01:00
Andreas Hocevar
338901774b Configure proj4 options and transforms upon construction 2015-03-26 10:39:26 +01:00
Frédéric Junod
2c04e4c071 Merge pull request #3394 from fredj/fullscreen-css-name
Fix fullscreen pseudo CSS class name
2015-03-26 09:00:57 +01:00
Tim Schaub
be0c9f3c8a Allow orienting coordinates when serializing GeoJSON 2015-03-25 18:32:31 -06:00
Tim Schaub
5d590bcf95 Allow access to right-hand oriented multi-polygon coordinates 2015-03-25 16:57:29 -06:00
Tim Schaub
7572f27cf9 Allow access to right-hand oriented polygon coordinates 2015-03-25 16:57:29 -06:00
Tim Schaub
ce36947bdb Allow orienting with the right-hand rule 2015-03-25 16:57:25 -06:00
Tim Schaub
5f6ceff3a7 Use ol.geom.flat.orient namespace 2015-03-25 16:33:17 -06:00
Andreas Hocevar
7d20e2a317 Merge pull request #3399 from ahocevar/tilegrid-widths-docs
Clarify when widths need to be configured on a tile grid
2015-03-25 17:18:27 +01:00
Andreas Hocevar
0d507dcbb0 Clarify when widths need to be configured on a tile grid 2015-03-25 16:52:45 +01:00
Andreas Hocevar
c600a92516 Merge pull request #3398 from ahocevar/safe-wrapx
Make sure that the return value of wrapX() is stable
2015-03-25 16:21:53 +01:00
Andreas Hocevar
1df8cba753 Make sure that the return value of wrapX() is stable 2015-03-25 15:59:59 +01:00
Frédéric Junod
bb87b8e7ce Merge pull request #3396 from fredj/sort-compareFn
Move the compare function out of ol.interaction.Modify.handleDownEvent_
2015-03-25 14:57:50 +01:00
Frederic Junod
6a770f03b8 Move the compare function out of ol.interaction.Modify.handleDownEvent_ 2015-03-25 14:41:40 +01:00
Andreas Hocevar
683097d62a Merge pull request #3395 from fperucic/inteaction.modify-fix
ol.Interaction.Modify fixes
2015-03-25 14:16:37 +01:00
Andreas Hocevar
e58a470e69 Merge pull request #3387 from ahocevar/wmts-wrapx
Add wrapX option for ol.source.WMTS
2015-03-25 14:01:04 +01:00
Fran Peručić
56067d1cda Prevent unnecessary function calls
handlePointerMove_ doesn't need to be called when dragging.
handleDragEvent_ takes care of the event in that case.

in handleDragEvent_, createOrUpdateVertexFeature_ doesn't need to be called for each dragged segment. it can be called only once with current vertex.

fixes made to pass the build
2015-03-25 11:19:24 +01:00
Frederic Junod
40f4d5256b Fix fullscreen pseudo CSS class name
Change from `:full-screen` to `:fullscreen`.
See https://fullscreen.spec.whatwg.org/#:fullscreen-pseudo-class
2015-03-25 11:14:52 +01:00
Fran Peručić
279d1829bb fix: ol.interaction.Select conflict
Prevent vertexFeature_ from ol.interaction.Modify from being selected by ol.interaction.Select.
The bug occurs when an delete attempt fails. ex: clicikng on the first or last node of LineString,
or clicking a line segment between two nodes.
2015-03-25 10:52:29 +01:00
Fran Peručić
eb6d61e6d1 fix: modifying the closed LineString
This commit fixes the bug that occurs when trying to modify
a closed LineString by clicking on the starting/ending node.

Such a closed line is added to the modify-test example.
2015-03-25 10:44:35 +01:00
Fran Peručić
7dff739bce Deleting a duplicate node
Fix a bug in ol.interaction.Modify when trying to delete nodes
on a geometry that has duplicate nodes. A bug occurs when
clicking on the duplicate node.
2015-03-25 10:34:36 +01:00
Frédéric Junod
8beeee8a95 Merge pull request #3393 from fredj/cleanup
Remove unused define
2015-03-25 08:54:27 +01:00
Andreas Hocevar
ebb40c8046 Clean up docs and consistently work with resolutions 2015-03-24 19:03:33 +01:00
Andreas Hocevar
4822ca273f Give tile grids a width 2015-03-24 19:03:09 +01:00
Tobias Sauerwein
563d51b389 Merge pull request #3392 from tsauerwein/fullscreen-class
Fix switching class name of full-screen control
2015-03-24 18:26:20 +01:00
Andreas Hocevar
57d9b87fb3 Add wrapX option for ol.source.WMTS 2015-03-24 17:13:07 +01:00
Frederic Junod
4c36e05f27 Remove unused define
Should have been removed in #40
2015-03-24 17:10:27 +01:00
tsauerwein
eb7dde6d0f Fix class name of full-screen control 2015-03-24 17:07:55 +01:00
Frédéric Junod
1d04eabeda Merge pull request #3391 from fredj/cleanup
Minor code cleanup
2015-03-24 14:57:51 +01:00
Frédéric Junod
5c6c45fc92 Merge pull request #3388 from fredj/polyline-layout
Add new geometry layout option for polyline format
2015-03-24 14:44:06 +01:00
Frederic Junod
b7c4e4f297 Remove console.debug from selectinteraction tests 2015-03-24 14:42:30 +01:00
Frederic Junod
6a8b236d82 Remove unnecessary newlines 2015-03-24 14:41:40 +01:00
Frederic Junod
e669b20ed5 Add new geometry layout option for polyline format
To be able to choose the geometry layout of the feature geometries created by
the format reader.

Default is `ol.geom.GeometryLayout.XY`
2015-03-24 11:39:18 +01:00
Éric Lemoine
ae2c9144e1 Merge pull request #3385 from elemoine/getzforresolution
Fix ol.tilegrid.TileGrid#getZForResolution
2015-03-23 18:31:42 +01:00
Andreas Hocevar
45e9695239 Merge pull request #3377 from ahocevar/attribution-wrapx
Support wrapX for attributions
2015-03-23 18:05:13 +01:00
Éric Lemoine
79748c6f0c Fix ol.tilegrid.TileGrid#getZForResolution
This fixes a bug in ol.tilegrid.TileGrid#getZForResolution where this function doesn't take minZoom and maxZoom into account when selecting a zoom level for a resolution.

Fixes #2780.
2015-03-23 18:04:13 +01:00
Andreas Hocevar
d9c04cd925 Support wrapX for attributions 2015-03-23 16:55:50 +01:00
Andreas Hocevar
7df00242f0 Merge pull request #3382 from ahocevar/github-source-links
Create github source links
2015-03-23 16:47:47 +01:00
Andreas Hocevar
4862a8c897 Create github source links 2015-03-23 16:08:36 +01:00
Andreas Hocevar
8813eb0112 Merge pull request #3376 from ahocevar/wms-tile-wrapx
Add ol.source.Tile support for wrapping around the x-axis
2015-03-23 14:37:12 +01:00
Andreas Hocevar
b75f7f9e3b Merge pull request #3378 from ahocevar/questions
Clarify where to ask questions
2015-03-23 14:24:14 +01:00
Andreas Hocevar
9b4cb96502 Clarify where to ask questions 2015-03-23 14:14:34 +01:00
Frédéric Junod
c71db17c1d Merge pull request #3380 from fredj/more-geojson-tests
Test the GeoJSON layout
2015-03-23 13:29:13 +01:00
Frederic Junod
bfd9ec1ef1 Test the GeoJSON layout 2015-03-23 12:47:34 +01:00
Andreas Hocevar
3e18b85206 Add ol.source.Tile support for wrapping around the x-axis 2015-03-22 14:27:19 +01:00
Frédéric Junod
c707c5e9db Merge pull request #3360 from fredj/dispose-imagetile
Don't unlisten image twice when disposing an ol.ImageTile
2015-03-18 11:46:09 +01:00
Frederic Junod
f474e7ccd9 Don't unlisten image twice when disposing an ol.ImageTile
Fixes #3325
2015-03-18 10:33:41 +01:00
Andreas Hocevar
752cf78e50 Merge pull request #3361 from ahocevar/test-listen-localhost
Listen on localhost to avoid phantomjs browsing 0.0.0.0
2015-03-18 09:54:08 +01:00
Andreas Hocevar
52ee1b1630 Merge pull request #3365 from ahocevar/pointresolution-docs
Better docs for #getPointResolution
2015-03-18 09:53:29 +01:00
Andreas Hocevar
d8f624bf44 Better docs for #getPointResolution 2015-03-18 09:26:02 +01:00
Andreas Hocevar
7916f36f7a Merge pull request #3363 from bill-chadwick/master
New ol.proj features
2015-03-18 00:22:34 +01:00
bill-chadwick
3efea3ddfc Update to ol.proj
Add support for custom getPointResolution
and setting the 'global' boolean
2015-03-17 23:08:11 +00:00
Andreas Hocevar
9462c2148d Listen on localhost to avoid phantomjs browsing 0.0.0.0 2015-03-17 14:39:00 +01:00
Bart van den Eijnden
8061b69495 Merge pull request #3305 from bartvde/image-load-events
Add image loading events to image sources (r=@ahocevar,@elemoine)
2015-03-17 13:07:37 +01:00
Bart van den Eijnden
4569858882 Add image loading events to image sources 2015-03-17 12:56:39 +01:00
Frédéric Junod
3a7b9751d7 Merge pull request #3343 from fredj/line-arrows
Line arrows example
2015-03-16 14:30:08 +01:00
Frédéric Junod
d3f246518b Merge pull request #3354 from fredj/geojson-write-options
Mark ol.format.GeoJSON#writeFeature(s) option param optional
2015-03-16 11:31:59 +01:00
Frederic Junod
b9aba8babd Add optional this param to the callback function 2015-03-16 11:25:51 +01:00
Frederic Junod
023816f43b Add new line-arrows example 2015-03-16 10:43:33 +01:00
Frederic Junod
4b13627fd7 Add new ol.geom.LineString#forEachSegment function 2015-03-16 10:43:33 +01:00
Frédéric Junod
dd23403315 Merge pull request #3346 from fredj/geojson-feature-properties
Set the 'properties' member to null if the feature has not properties
2015-03-16 10:21:05 +01:00
Frederic Junod
3a7d1ebd16 Mark ol.format.GeoJSON#writeGeometry option param optional 2015-03-16 09:25:50 +01:00
Frederic Junod
180a75d714 Mark ol.format.GeoJSON#writeFeature option param optional 2015-03-16 09:20:57 +01:00
Frederic Junod
0997a171a0 Mark ol.format.GeoJSON#writeFeatures option param optional 2015-03-16 09:18:52 +01:00
Frederic Junod
96883e0b69 Set the 'properties' member to null if the feature has not properties 2015-03-12 15:58:16 +01:00
Frédéric Junod
da94ee5754 Merge pull request #3344 from fredj/cleanup
Minor code cleanup
2015-03-12 13:24:02 +01:00
Frederic Junod
5a350fb978 Remove unused goog.require 2015-03-12 12:25:38 +01:00
Frederic Junod
d87da4b3c8 Better 'rotation' option documentation 2015-03-12 12:17:25 +01:00
Éric Lemoine
80fa7e5ba1 Merge pull request #3237 from Morgul/ccase-circle-drawing
Add circles to Draw interaction.
2015-03-11 17:08:10 +01:00
Christopher S. Case
1fb932f7bb Removed lurking console.log 2015-03-11 10:09:58 -05:00
Frédéric Junod
b26bea8e88 Merge pull request #2691 from fredj/will-change
Add will-change CSS properties
2015-03-11 12:15:44 +01:00
Frederic Junod
1a80c0ef01 Add will-change CSS property to ol-overlay-container elements 2015-03-11 11:08:14 +01:00
Frederic Junod
dcba9f2ff4 Add a 'ol-overlay-container' CSS class to the overlay element 2015-03-11 11:08:14 +01:00
Frederic Junod
064cd5695a Add will-change CSS property to scale line and rotate controls 2015-03-11 11:08:14 +01:00
Frédéric Junod
b6adeea4f4 Merge pull request #3336 from fredj/getTargetElement
Use ol.Map#getTargetElement function
2015-03-09 17:15:20 +01:00
Frédéric Junod
49a807fa56 Merge pull request #3335 from fredj/rbush
Update rbush to version 1.3.5
2015-03-09 17:14:51 +01:00
Frederic Junod
7dcef882c2 Use ol.Map#getTargetElement function 2015-03-09 16:21:03 +01:00
Frederic Junod
b6b8ae265c Update rbush to version 1.3.5 2015-03-09 16:03:09 +01:00
Frédéric Junod
9951c88343 Merge pull request #3322 from fredj/drawinteraction-map.isDef
Remove unneeded map.isDef call
2015-03-09 09:01:05 +01:00
Andreas Hocevar
c9715d32b0 Merge pull request #3327 from ahocevar/dist-css
Add css to dist directory
2015-03-07 21:55:25 +01:00
Andreas Hocevar
47f32a30b8 Merge pull request #3324 from ahocevar/select-event-interface
Add interface definition for ol.SelectEvent
2015-03-06 12:41:05 +01:00
Andreas Hocevar
d8150c5155 Add interface definition for ol.SelectEvent 2015-03-06 11:31:30 +01:00
Andreas Hocevar
1b640870b1 Add css to dist directory 2015-03-06 11:20:01 +01:00
Frederic Junod
0d979e37b8 Remove unneeded map.isDef call 2015-03-05 18:12:23 +01:00
Frederic Junod
daf81b9c26 Remove unused goog.require 2015-03-05 18:11:19 +01:00
Frédéric Junod
4b1accb149 Merge pull request #3315 from fredj/tissot-desc
Fix Tissot indicatrix example description
2015-03-05 13:55:06 +01:00
Frederic Junod
b79174d6a3 Fix Tissot indicatrix example description
Fixes #3314
2015-03-05 12:36:37 +01:00
Andreas Hocevar
41fe72fab5 Merge pull request #3312 from ahocevar/arcgis-hidpi
Fix HiDPI support for ArcGIS REST
2015-03-04 22:33:21 +01:00
Andreas Hocevar
8f1726ae39 Fix HiDPI support for ArcGIS REST 2015-03-04 22:11:16 +01:00
Bart van den Eijnden
3867c0e45a Merge pull request #2910 from bartvde/issue-2910
Support multiple featureTpes in GML parser
2015-03-04 18:59:05 +01:00
Bart van den Eijnden
15ab515ceb Add docs to explain how to use featureNS in the case of multiple feature namespaces 2015-03-04 18:33:56 +01:00
Éric Lemoine
aad727ad14 Merge pull request #3309 from bjornharrtell/select-multi-fix
Fix select event always reporting as multi select
2015-03-04 18:04:15 +01:00
Bart van den Eijnden
b698fe9968 Support multiple featureTypes with a different featureNS 2015-03-04 15:27:05 +01:00
Andreas Hocevar
b782e0be98 Merge pull request #3307 from ahocevar/scaleline-units
Handle all non-degree units in ol.control.ScaleLine
2015-03-04 11:20:05 +01:00
Bart van den Eijnden
b05ead4056 Allow multiple featureTypes through ol.format.WFS as well 2015-03-04 10:24:42 +01:00
Bart van den Eijnden
d0180f35e0 Support multiple featureTypes as well in autoconfigure mode 2015-03-04 10:20:36 +01:00
Bart van den Eijnden
3a7905f2fd Support multiple feature types in GML format 2015-03-04 10:16:25 +01:00
Björn Harrtell
49c2af165a Fix select event always reporting as multi select 2015-03-04 08:48:08 +01:00
Andreas Hocevar
7527eddbaf Merge pull request #3308 from ahocevar/release-v3.3.0
Release v3.3.0
2015-03-03 22:28:30 +01:00
Andreas Hocevar
6854833fbd Update package version to 3.3.0 2015-03-03 22:27:25 +01:00
Andreas Hocevar
c8b90adfef Changelog for v3.3.0 2015-03-03 22:27:15 +01:00
Andreas Hocevar
d33a45dfa2 Merge pull request #3263 from cwgrant/master
Support ArcGIS Rest Services
2015-03-03 21:40:33 +01:00
Andreas Hocevar
1cec149681 Merge pull request #3295 from sarametz/wmts-getcap
Add RESTful to WMTS GetCapabilities optionsFromCapabilities
2015-03-03 21:13:00 +01:00
Andreas Hocevar
2e3d0d57d5 Handle all non-degree units in ol.control.ScaleLine 2015-03-03 21:06:12 +01:00
Frédéric Junod
a629be0e2e Merge pull request #3304 from fredj/scaleline-padding
Remove scale line inner padding
2015-03-03 17:46:29 +01:00
Frederic Junod
6c32b280f5 Remove scale line inner padding
Fixes #3291
2015-03-03 17:06:41 +01:00
Éric Lemoine
787ab91eef Merge pull request #3296 from elemoine/changes
Add upgrade-notes.md file
2015-03-03 14:28:30 +01:00
Andreas Hocevar
5b539a75bb Merge pull request #3303 from ahocevar/us-ft
Add constant for us-ft units
2015-03-03 14:01:02 +01:00
Andreas Hocevar
a6f80ef4b8 Add constant for us-ft units 2015-03-03 13:51:23 +01:00
Andreas Hocevar
de42334b19 Merge pull request #3018 from bjornharrtell/selectevent
Add SelectEvent to interaction
2015-03-03 12:56:42 +01:00
Björn Harrtell
e4b1d6e1de Add SelectEvent to Select interaction
Fixes
2015-03-03 12:22:01 +01:00
Sara Metz
cadc346de2 Added RESTful to valid requestEncoding values 2015-03-03 12:45:24 +13:00
Andreas Hocevar
927a0a4627 Merge pull request #3301 from bjornharrtell/select-tests
Select interaction unit tests
2015-03-02 21:12:15 +01:00
Björn Harrtell
d9cf8df052 Select interaction unit tests 2015-03-02 19:52:48 +01:00
Bart van den Eijnden
2ff3682eff Update README.MD with stackoverflow 2015-03-02 15:27:03 +01:00
Frédéric Junod
8836dd6e70 Merge pull request #3298 from fredj/source-object
Make ol.source.Source inherit from ol.Object
2015-03-02 15:07:33 +01:00
Frederic Junod
6ab0ed2df7 Make ol.source.Source inherit from ol.Object 2015-03-02 14:48:17 +01:00
Frédéric Junod
8dd3e7ebff Merge pull request #3297 from fredj/wmts-getter
Add getters to ol.source.WMTS
2015-03-02 11:11:12 +01:00
Éric Lemoine
7f71876dad Add upgrade-notes.md file
This file includes upgrade notes for changes to the library that require changes to application code. This file is used by the release manager to fill the "Upgrade notes" section in the v3.x.y.md changelog file.
2015-03-02 10:37:42 +01:00
Frederic Junod
54bea174ff Add new ol.source.WMTS#getMatrixSet api function 2015-03-02 09:51:11 +01:00
Frederic Junod
9d37090e6b Add new ol.source.WMTS#getFormat api function 2015-03-02 09:40:08 +01:00
Frederic Junod
b42a214252 Add new ol.source.WMTS#getVersion api function 2015-03-02 09:40:08 +01:00
Frederic Junod
61d2506970 Add new ol.source.WMTS#getStyle api function 2015-03-02 09:40:08 +01:00
Frederic Junod
3bfbd47fdb Add new ol.source.WMTS#getLayer api function 2015-03-02 09:40:08 +01:00
Éric Lemoine
4f5cc22ba0 Merge pull request #3281 from adube/fix-ie-mousemove-condition
Fix mouseMove event type comparison for IE10-11, pointermove
2015-03-02 09:15:15 +01:00
Andreas Hocevar
a7205d8aec Merge pull request #3293 from ahocevar/icon-opacity
Add missing opacity option for ol.style.IconOptions
2015-03-01 17:11:02 +01:00
Andreas Hocevar
6d0fb4d74e Add missing opacity option for ol.style.IconOptions 2015-03-01 12:07:19 +01:00
Alexandre Dubé
d1185da6b1 Replace mouseMove event condition by pointerMove
The original browser event was used to catch the mousemove event,
but in IE the 'pointermove' event is returned instead. So, instead
of using the original event, we use the map browser event, which
is always 'pointermove'.
2015-02-27 12:14:13 -05:00
Frédéric Junod
6c4b30fa02 Merge pull request #3284 from fredj/jsdoc
Fix jsdoc type for arrays of listening keys
2015-02-26 12:26:17 +01:00
Frederic Junod
e2f8c01c42 Fix jsdoc type for arrays of listening keys 2015-02-26 11:45:15 +01:00
Éric Lemoine
ad7616abb2 Merge pull request #3278 from elemoine/draweventtype
Add goog.provide for ol.DrawEventType
2015-02-26 10:46:12 +01:00
Éric Lemoine
56b08adef7 Add goog.provide for ol.DrawEventType 2015-02-25 21:59:57 +01:00
Éric Lemoine
70162d7889 Merge pull request #3272 from acanimal/3267
Added getter function to return the wrapped source within the cluster
2015-02-25 21:55:04 +01:00
Frédéric Junod
4c1be5967d Merge pull request #3275 from fredj/heatmap-properties
Add ol.layer.Heatmap#blur getter and setter
2015-02-25 17:29:48 +01:00
Frederic Junod
d12cdc336c Create the circle only when the blur and radius are set 2015-02-25 09:16:42 +01:00
Frederic Junod
232f4975c4 Add ol.layer.Heatmap#blur getter and setter 2015-02-25 08:57:04 +01:00
Éric Lemoine
45547eefbe Merge pull request #3142 from sarametz/wmts-getcap
WMTS Get Cap document with updated WMTS.optionsFromCapabilities function
2015-02-25 08:29:40 +01:00
acanimal
086202cfdd Added short description on getSource() method 2015-02-25 07:54:14 +01:00
Frédéric Junod
3079924a3d Merge pull request #3271 from fredj/jsdoc-fixes
[wip] Fix misplaced comment blocks
2015-02-25 07:13:19 +01:00
Tim Schaub
7e812959e7 Merge pull request #3273 from tschaub/unused-function
Remove unused createGetTileIfLoadedFunction function.
2015-02-24 15:35:38 -08:00
Tim Schaub
22aeb3612e Remove unused createGetTileIfLoadedFunction function 2015-02-24 15:06:10 -08:00
Sara Metz
6894bc8444 Add ability to get wmts source from capabilities
Added functionality to create a wmts tilegrid and wmts source from the
capabilities object created from ol.format.WMTSCapabilities.read().
Added tests for these functions and an example.

Also altered the REST url template replacement to be case insensitive
and added tests for this. This is because the spec uses both style
and Style and both of these are used by existing WMTS services.
2015-02-25 09:21:45 +13:00
Frederic Junod
1620a11181 Fix misplaced comment blocks
Found while testing the new google-closure release (v20150126)

The code still compiles with the older (default) version.
2015-02-24 17:13:35 +01:00
Éric Lemoine
18ec8a487f Merge pull request #3270 from elemoine/dragpan-false
Make ol.Overlay autoPan default to false
2015-02-24 15:42:57 +01:00
Éric Lemoine
329edc4ec6 Make ol.Overlay autoPan default to false 2015-02-24 15:14:10 +01:00
Tobias Sauerwein
7a5ad336c6 Merge pull request #3268 from tsauerwein/fix-example-autoPan
Fix autoPan in examples with ol.Overlay on hover
2015-02-24 09:48:22 +01:00
tsauerwein
054dc81485 Disable autoPan in examples
To avoid that the map is panned when showing
overlays on hover.
2015-02-24 09:33:40 +01:00
cwgrant
f63a856741 Add support for ArcGIS Rest Services
Adding a data source to support ArcGIS Map Server and Image Server.
Functionality is similar to the ArcGIS93Rest Layer in OpenLayers 2.
2015-02-23 22:49:29 -05:00
acanimal
eb8a1845a5 Added getter function to return the wrapped source withint the cluster 2015-02-23 22:07:35 +01:00
Tobias Sauerwein
5897cf55aa Merge pull request #3256 from tsauerwein/overlay-panIntoView
Add autoPan option to ol.Overlay
2015-02-23 17:23:00 +01:00
tsauerwein
e46e0f85fb Add autoPan option to ol.Overlay 2015-02-23 17:01:52 +01:00
Tobias Sauerwein
3fbc6fa361 Merge pull request #3261 from adube/fix-extent-foreachcorner
Fix forEachCorner extent, add TopLeft
2015-02-20 16:01:37 +01:00
Alexandre Dubé
e1336e1891 Fix forEachCorner extent, add TopLeft 2015-02-20 08:30:39 -05:00
Frédéric Junod
c30373963e Merge pull request #3260 from fredj/unused-require
Remove unused goog.require
2015-02-20 07:39:56 +01:00
Frederic Junod
96cb3d314f Remove unused goog.require 2015-02-20 07:32:55 +01:00
Tim Schaub
733167c612 Merge pull request #3246 from tschaub/tile-cache
Avoid creating unnecessary images in tile layers.
2015-02-19 10:33:31 -07:00
Frédéric Junod
84cc48a7bf Merge pull request #3254 from fredj/regular-stroke
Use lineCap, lineJoin and miterLimit stroke properties in RegularShape
2015-02-19 13:26:52 +01:00
Frederic Junod
c3d9946924 Use lineCap, lineJoin and miterLimit stroke properties 2015-02-19 12:33:16 +01:00
Frederic Junod
5e712ac88c Use correct renderOptions type 2015-02-19 12:12:00 +01:00
Tim Schaub
9e94308cdc Merge pull request #3252 from tschaub/global-spy
Avoid leaking global listenerSpy.
2015-02-19 00:09:59 -07:00
Tim Schaub
b8e3deb756 Merge pull request #3248 from tschaub/tile-events
Add tile loading events to image tile sources.
2015-02-18 16:16:24 -07:00
Tim Schaub
3e3104bbb1 Avoid leaking global listenerSpy 2015-02-18 16:05:33 -07:00
Tim Schaub
56c5cef3f8 Example style 2015-02-18 15:45:20 -07:00
Tim Schaub
199fcb05e3 Unregister image listeners when disposing of a tile 2015-02-18 15:45:14 -07:00
Christopher S. Case
15a4b7f4a6 Changed default radius to 0, instead of 1000.
(This was debugging code.)
2015-02-18 09:50:10 -06:00
Christopher S. Case
b2ce4c19e1 added unit tests. 2015-02-18 09:50:10 -06:00
Christopher S. Case
1074c9d44a Updated example for circle drawing. 2015-02-18 09:50:10 -06:00
Christopher S. Case
ae8321ab30 Added circle drawing to draw interaction. 2015-02-18 09:50:02 -06:00
Tim Schaub
c42af7919e Example docs 2015-02-17 11:22:44 -07:00
Tim Schaub
77d8d48b57 Progress bar for tile loading 2015-02-17 11:22:39 -07:00
Tim Schaub
5cbae8c8f5 Add tile loading events to image tile sources 2015-02-17 11:09:30 -07:00
Tim Schaub
bf35b40b11 Fire change event every time state changes 2015-02-17 11:09:16 -07:00
Tim Schaub
e5432f7cb5 Avoid creating unnecessary images during rendering 2015-02-16 15:11:16 -07:00
Tim Schaub
2cf1fe5552 Create tile cache for all tile sources 2015-02-16 12:22:15 -07:00
Tim Schaub
eb1a46cf7d Merge pull request #3240 from openlayers/v3.2.x
Changes from the v3.2.x branch.
2015-02-14 09:22:47 -07:00
Tim Schaub
d5f18dc120 Merge pull request #3239 from openlayers/release-v3.2.1
Release v3.2.1.
2015-02-13 11:12:45 -07:00
Tim Schaub
0ddae22661 Update package version to 3.2.1 2015-02-13 10:52:02 -07:00
Tim Schaub
fb2506672c Changelog for v3.2.1 2015-02-13 10:51:31 -07:00
Tim Schaub
391ff4eeab Merge pull request #3236 from tschaub/select-fix
Select the uppermost feature.
2015-02-13 09:29:20 -07:00
Frederic Junod
4686dfc0bb Select the uppermost feature 2015-02-13 09:12:26 -07:00
Tim Schaub
a924cc4d11 Merge pull request #3233 from stweil/master
Four small fixes.
2015-02-12 12:39:23 -07:00
Stefan Weil
5c99b6349c Add missing var declaration for local variable flippedFlatPoints
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-02-12 17:53:53 +01:00
Stefan Weil
829569c6b5 Fix typo in documentation of function getInfo
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-02-12 17:53:53 +01:00
Stefan Weil
e6d342dc96 Replace wrong comma in JavaScript code by semicolon
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-02-12 17:53:53 +01:00
Stefan Weil
8bfa1c45e7 examples: Remove wrong semicolon in css code
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-02-12 17:53:53 +01:00
Tim Schaub
bfcceac68f Merge pull request #3232 from stweil/master
Fix typos found by codespell.
2015-02-12 09:02:03 -07:00
Stefan Weil
e812f2435e Fix typos found by codespell
Most of them are in comments, some in strings.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-02-12 16:39:55 +01:00
Frédéric Junod
c4ddc62ab4 Merge pull request #3231 from fredj/heatmap-radius
Make ol.layer.Heatmap#radius configurable
2015-02-12 16:36:56 +01:00
Frederic Junod
f117550694 Add a radius input to the heatmap-earthquakes example 2015-02-12 14:41:22 +01:00
Frederic Junod
dfda3e37a4 Add ol.layer.Heatmap#radius getter and setter 2015-02-12 14:16:48 +01:00
Frederic Junod
b5206cb354 Make ol.layer.Heatmap.createCircle_ an instance function 2015-02-12 13:45:44 +01:00
Tim Schaub
90ba1140ac Merge pull request #3225 from tschaub/attributions
Respect attributions passed to TileJSON source.
2015-02-11 10:36:27 -07:00
Tim Schaub
9cea85be80 Merge pull request #3223 from tschaub/tilesize-change
Resize the canvas when the tile size changes.
2015-02-11 10:18:27 -07:00
Tim Schaub
e79211e0c1 Respect attributions passed to TileJSON source 2015-02-11 10:15:29 -07:00
Bart van den Eijnden
ad23a9c9cd Merge pull request #3224 from bartvde/mapquest-getname
Provide the ability to get the layer name from a MapQuest source
2015-02-11 15:56:50 +01:00
Bart van den Eijnden
eafa5419c3 Provide the ability to get the layer name from a MapQuest source 2015-02-11 15:46:02 +01:00
Bart van den Eijnden
b529f0f0a0 Merge pull request #3222 from bartvde/geodesic-measure
Add geodesic option for measure
2015-02-11 13:34:32 +01:00
Bart van den Eijnden
c5c24f209a Add geodesic option for measure 2015-02-11 13:24:23 +01:00
bill-chadwick
0381689fb6 Resize the canvas when the tile size changes 2015-02-10 14:00:23 -07:00
Frédéric Junod
89954ca5fc Merge pull request #3221 from fredj/hectic-select
Select the uppermost feature
2015-02-10 14:03:18 +01:00
Frederic Junod
13f265b4e1 Select the uppermost feature 2015-02-10 09:59:09 +01:00
Tim Schaub
776ffa925f Merge pull request #3211 from photostu/master
Bing https logo fix.
2015-02-08 20:18:19 -07:00
Tim Schaub
ada6b5640a Merge pull request #3215 from tschaub/rendering
Allow reuse of layer rendering code without creating a map.
2015-02-08 17:24:16 -07:00
Tim Schaub
33c197cf16 Layer renderers should not require a map renderer 2015-02-08 07:25:10 -07:00
Tim Schaub
e0f250483d Layer renderers don't need access to the map 2015-02-07 16:56:10 -07:00
Tim Schaub
c4ee8518e1 Use frame state for size 2015-02-07 16:52:48 -07:00
Tim Schaub
d4b7bb7c57 Use frame state for pixel to coord conversion 2015-02-07 16:52:34 -07:00
Tim Schaub
a460cb3983 Fire change instead of calling render on map 2015-02-07 16:46:30 -07:00
Tim Schaub
7f18033171 Make layer renderers observable and re-render on change 2015-02-07 16:42:36 -07:00
Tim Schaub
693ec7706e createLayerRenderer must be implemented by subclass 2015-02-07 16:30:28 -07:00
Tim Schaub
9081682286 Use provided frame state instead of map for pixel to coord conversion 2015-02-07 16:12:39 -07:00
Éric Lemoine
e97f017dda Merge pull request #3213 from openlayers/release-v3.2.0
Release v3.2.0
2015-02-06 11:14:26 +01:00
Éric Lemoine
22b27cdb02 Update package version to 3.2.0 2015-02-06 11:12:59 +01:00
Éric Lemoine
480c276d93 Changelog for v3.2.0 2015-02-06 11:12:59 +01:00
photostu
9247dc9f41 bing logo https
fix syntax to please Travis
2015-02-05 11:21:13 -05:00
Éric Lemoine
480f352cc6 Merge pull request #3171 from oterral/kml_link
KML: Parsing of NetworkLink tag
2015-02-05 16:41:36 +01:00
photostu
4080e729df bing https logo fix
If https is missing from bing logo uri, replace
2015-02-05 10:34:33 -05:00
oterral
c1fd95305c Add tests for parsing of NetworkLink tags 2015-02-05 16:21:51 +01:00
oterral
0a6a3f5d65 Add parsing of NetworkLink tag 2015-02-05 16:21:45 +01:00
Frédéric Junod
456def67de Merge pull request #3209 from fredj/coding-style
Coding style fixes
2015-02-05 14:53:59 +01:00
Bart van den Eijnden
f9a8239443 Merge pull request #3208 from bartvde/setImageLoadFunction
Add setters and getters for imageLoadFunction
2015-02-05 12:37:02 +01:00
Frederic Junod
a0a4369c24 Fix ol.format.GPX.TRKSEG_NODE_FACTORY_ type definition 2015-02-05 10:56:44 +01:00
Frederic Junod
078d3fb007 Add missing goog.require 2015-02-05 10:56:44 +01:00
Frederic Junod
65c2f7de5f Remove unused goog.require 2015-02-05 10:56:44 +01:00
Frederic Junod
8ec90a2045 Remove unnecessary newlines 2015-02-05 10:56:44 +01:00
Frédéric Junod
0906bf09ed Merge pull request #3019 from bjornharrtell/selectmulti
Add option to allow Select interaction logic to select overlapping features
2015-02-05 10:55:04 +01:00
Bart van den Eijnden
ce8d57b534 Add setters and getters for imageLoadFunction 2015-02-05 10:53:21 +01:00
Pierre GIRAUD
b8a0d6b702 Merge pull request #3206 from pgiraud/measure_tooltip
Add tooltip to show measure + help message while drawing
2015-02-05 09:48:32 +01:00
Pierre GIRAUD
4ba500925f Changing draw interaction styling 2015-02-05 09:39:17 +01:00
Pierre GIRAUD
c63c358d08 Add tooltip to show measure + help message while drawing 2015-02-04 17:48:28 +01:00
Björn Harrtell
162c47eb3e Option to enable selection of overlapping features 2015-02-04 16:15:41 +01:00
Frédéric Junod
f117cddb34 Merge pull request #3205 from fredj/use-ol.extent.createOrUpdateFromCoordinate
Use ol.extent.createOrUpdateFromCoordinate
2015-02-04 14:55:49 +01:00
Frederic Junod
f6b47f086b Use ol.extent.createOrUpdateFromCoordinate
Instead of ol.extent.boundingExtent
2015-02-04 14:14:50 +01:00
Éric Lemoine
2d3e5d2bac Merge pull request #3026 from htulipe/wmts-getcap
Add support of reading WMTS Get Cap document
2015-02-04 13:32:32 +01:00
Bart van den Eijnden
8f6cb00ea6 Merge pull request #3201 from bartvde/fast_clear
Pass on opt_fast to parent clear function in ol.source.ServerVector (r=@elemoine,@gberaudo)
2015-02-04 08:53:51 +01:00
Bart van den Eijnden
80f7b726f9 Pass on opt_fast to parent clear function in ol.source.ServerVector 2015-02-04 08:45:09 +01:00
Frédéric Junod
f75cec5c8e Merge pull request #3199 from fredj/jsdoc-fixes
Minor jsdoc fixes
2015-02-03 16:14:39 +01:00
Frederic Junod
89f21f5d50 Remove square brackets from type 2015-02-03 15:52:19 +01:00
Frederic Junod
f9723aa310 Add missing goog.require 2015-02-03 15:52:19 +01:00
Hadrien Tulipe
87644a1a46 Add support of WMTS Get Cap read
This commit fixe #2721. It still lacks the possibility to create layer from the GetCap document. It also lacks the reading of TMS limits.
2015-02-03 14:46:29 +01:00
Frédéric Junod
38c80e7f9b Merge pull request #3059 from fredj/memory
Cache the buffered extent value
2015-02-03 13:39:39 +01:00
Frederic Junod
0d3eb8642f Cache the buffered extent value
Assuming that the maxExtent and resolution property are immutable
2015-02-03 10:37:38 +01:00
Frédéric Junod
a7fcf05a4b Merge pull request #3196 from fredj/coding-style
Remove unnecessary newlines
2015-02-02 16:47:53 +01:00
Frederic Junod
31f61121d9 Remove unnecessary newlines 2015-02-02 14:38:39 +01:00
Bart van den Eijnden
b8d44e7f91 Merge pull request #3099 from bartvde/ogr-gml2
Fix up parsing of OGR GML with ol.format.GML
2015-02-02 13:16:12 +01:00
Bart van den Eijnden
423c8761aa Use ol.format.GMLBase.GMLNS and get rid of unneeded Object 2015-02-02 12:46:49 +01:00
Frédéric Junod
ef871f54f8 Merge pull request #3195 from fredj/coding-style
Coding style
2015-02-02 09:59:00 +01:00
Éric Lemoine
898c8fa9a2 Merge pull request #3192 from elemoine/mapquest-url
Add "url" option to ol.source.MapQuest
2015-02-02 09:26:08 +01:00
Tobias Sauerwein
350ce735f1 Merge pull request #3172 from tsauerwein/forEachLayerAtPixel
Introduce forEachLayerAtPixel
2015-02-02 09:24:43 +01:00
Frederic Junod
0f65d7778a Remove unnecessary newlines 2015-02-02 09:11:35 +01:00
Frederic Junod
12925a35b9 Use goog.isDef to check the opt_array param 2015-02-02 09:11:35 +01:00
Frédéric Junod
df32d04fdb Merge pull request #3178 from fredj/geojson-externs
GeoJSON externs fixes
2015-02-02 09:11:08 +01:00
Frédéric Junod
987b032d9d Merge pull request #3179 from fredj/disallow-undefined
Disallow undefined values for ol.layer.Base
2015-02-02 09:10:36 +01:00
Bart van den Eijnden
5d70e61753 Make FEATURE_COLLECTION_PARSERS an instance property 2015-01-30 21:00:04 +01:00
Éric Lemoine
130535c83e Merge pull request #3161 from 3x0dv5/master
Doc fix. writeFeaturesNode receives an array of Feature
2015-01-30 17:46:23 +01:00
Éric Lemoine
fcbdc6bd26 Merge pull request #3169 from oterral/kml_example
Fix default icon style in kml format
2015-01-30 17:45:31 +01:00
Éric Lemoine
df2d71ef83 Add "url" option to ol.source.MapQuest 2015-01-30 17:08:50 +01:00
tsauerwein
b390c1bdf8 Use dragging flag in examples 2015-01-30 13:53:32 +01:00
tsauerwein
f4500c8f89 Rename *AtPixel to *AtCoordinate if coordinate 2015-01-30 10:00:37 +01:00
tsauerwein
4d4bed454a Avoid pixel->coord->pixel conversion 2015-01-30 10:00:37 +01:00
tsauerwein
054227fd26 Make signature for *AtPixel methods more consistent
pixel/coordinate is the first argument.
2015-01-30 10:00:36 +01:00
tsauerwein
b7415219a6 Use forEachLayerAtPx in example 2015-01-30 10:00:36 +01:00
tsauerwein
dce4210a5b Implement forEachLayerAtPixel for webgl 2015-01-30 10:00:36 +01:00
tsauerwein
6cc5bd466d Add hasFeatureAtPixel for ImageLayer 2015-01-30 10:00:36 +01:00
tsauerwein
b4cb786f29 Implement forEachLayerAtPixel for canvas 2015-01-30 10:00:36 +01:00
tsauerwein
225f0739ec Add forEachLayerAtPixel 2015-01-30 10:00:36 +01:00
tsauerwein
7feb8b22f6 Rename forEachGeometryAtPixel 2015-01-30 10:00:36 +01:00
Tobias Sauerwein
9e7e5efd27 Merge pull request #3190 from tsauerwein/event-dragging
Introduce `dragging` flag for MapBrowserEvent
2015-01-30 09:54:52 +01:00
tsauerwein
9a841583db Remove getter for down_ 2015-01-30 09:38:47 +01:00
tsauerwein
9cc8390dfd Use dragging in examples 2015-01-30 09:16:19 +01:00
tsauerwein
f2518e4c08 Add dragging flag to MapBrowserEvent 2015-01-30 09:15:35 +01:00
Tobias Sauerwein
aa67078d74 Merge pull request #3135 from tsauerwein/control-label
Make changing the label of ZoomToExtent/FullScreen control consistent
2015-01-29 15:03:53 +01:00
Bart van den Eijnden
0243ce6612 Fix up parsing of OGR GML with ol.format.GML 2015-01-29 11:40:30 +01:00
Frédéric Junod
3abcbcf377 Merge pull request #3186 from fredj/clip-pixel-ratio
Take the pixel ratio into account when clipping the layer
2015-01-28 21:29:48 +01:00
Éric Lemoine
5c9e099628 Merge pull request #3183 from htulipe/switch-mode-fix
Allow other params than 'mode' in example page query string.
2015-01-28 16:03:25 +01:00
Frederic Junod
cb69cecf03 Take the pixel ratio into account when clipping the layer 2015-01-28 14:21:50 +01:00
Frédéric Junod
2ad93b9e86 Merge pull request #2791 from fredj/rotate-css-transition
Re enable rotation button transition
2015-01-28 09:18:50 +01:00
Frederic Junod
aa23a7bce5 Re enable rotation button transition
The opacity transition was broken with #2782
2015-01-28 09:09:01 +01:00
htulipe
f0608f6fed Allow other params than 'mode' in example query string.
Currently, if other params are present at the beginning of the query string,
the mode switcher will not work.

This situation can occur when a search criteria was entered in the examples
index page. That criteria will be passed along to the example page via a query
param.
2015-01-27 21:52:38 +01:00
Bart van den Eijnden
798399101f Merge pull request #3180 from bartvde/featureoverlay-getmap
Add a getMap function to ol.FeatureOverlay (r=@ahocevar)
2015-01-27 20:07:25 +01:00
Bart van den Eijnden
bc5f81cfa0 Add a getMap function to ol.FeatureOverlay 2015-01-27 19:54:34 +01:00
Frederic Junod
fc3c808209 Disallowed undefined 'minResolution' value 2015-01-27 18:07:42 +01:00
Frederic Junod
1d6f7e9504 Disallowed undefined 'maxResolution' value 2015-01-27 18:07:42 +01:00
Frederic Junod
60ea87fdfb Disallowed undefined 'saturation' value 2015-01-27 18:07:42 +01:00
Frederic Junod
caa8428990 Disallowed undefined 'contrast' value 2015-01-27 18:07:42 +01:00
Frederic Junod
007ad2c58f Disallowed undefined 'brightness' value 2015-01-27 18:07:42 +01:00
Frederic Junod
663f18cd29 Disallowed undefined 'opacity' value 2015-01-27 18:07:42 +01:00
Frederic Junod
e25cb30e5f Disallowed undefined 'hue' value 2015-01-27 18:07:42 +01:00
Frederic Junod
c7dbd4a303 Disallowed undefined 'visible' value 2015-01-27 18:07:42 +01:00
Frédéric Junod
43f84e798f Merge pull request #3176 from fredj/undefined-rotation
Disallowed undefined rotation value
2015-01-27 17:11:26 +01:00
Frederic Junod
d640accdc8 More precise ol.format.GeoJSON.readGeometry_ param type 2015-01-27 12:21:11 +01:00
Frederic Junod
f1c0072bd0 More precise olx.source.GeoJSONOptions#object type 2015-01-27 12:06:03 +01:00
Frederic Junod
d219a8ef22 Remove GeoJSONObject extends from GeoJSONLink
Otherwise CRS object may have a `boox` or a `crs` property
2015-01-27 11:30:24 +01:00
Frederic Junod
3fbe9265da Remove GeoJSONObject extends from GeoJSONCRS
Otherwise CRS object may have a `boox` or a `crs` property
2015-01-27 11:26:06 +01:00
Frederic Junod
ad65989d28 Move bbox property to GeoJSONObject
See http://geojson.org/geojson-spec.html#geojson-objects:
"A GeoJSON object may have a "bbox" member [...]"
2015-01-27 11:18:13 +01:00
Tobias Sauerwein
9d5f7c1eb4 Merge pull request #3177 from tsauerwein/style-polygons
Add example showing how to style polygon vertices
2015-01-27 10:18:55 +01:00
tsauerwein
48cf51a7ca Add example for polygon vertices styling 2015-01-27 10:02:28 +01:00
Frederic Junod
829a0ca224 Disallowed undefined rotation value 2015-01-27 09:26:51 +01:00
Frédéric Junod
5c9b17a3b2 Merge pull request #3174 from fredj/view-getState
Use view.getRotation or view.getResolution instead of view.getState
2015-01-26 17:14:38 +01:00
Frederic Junod
915df000ab Use view.getRotation instead of view.getState 2015-01-26 13:39:49 +01:00
Frederic Junod
247d8668d1 Use view.getResolution instead of view.getState 2015-01-26 13:39:49 +01:00
Frederic Junod
7c7a4c2b7a Use view.getRotation instead of view.getState 2015-01-26 13:39:49 +01:00
Frédéric Junod
8e161a077f Merge pull request #3170 from fredj/coding-style
Coding style
2015-01-26 13:39:02 +01:00
Frederic Junod
7885ad6ae7 Remove unnecessary newlines 2015-01-26 10:33:00 +01:00
Frederic Junod
98f7b5f186 Mark projection property as constant 2015-01-26 10:20:21 +01:00
Frederic Junod
72b2182219 Add missing projection property in olx.ViewState 2015-01-26 09:51:53 +01:00
Frederic Junod
eb7041c71d Simplify ternary operator condition 2015-01-26 09:51:53 +01:00
oterral
65fe82d188 Fix default icon style in kml format 2015-01-26 09:46:48 +01:00
Tobias Sauerwein
90a5997c22 Merge pull request #3108 from tsauerwein/webgl-point-skipFeatures
Support skipping features in the WebGL renderer
2015-01-23 08:56:39 +01:00
Frédéric Junod
fd5a3ce7b4 Merge pull request #3163 from fredj/webglmaprenderer-layerStatesArray
Use the layerStatesArray property from the frameState
2015-01-23 07:27:38 +01:00
Frederic Junod
948a1f1321 Use the layerStatesArray property from the frameState 2015-01-22 17:36:26 +01:00
Frédéric Junod
edc6746545 Merge pull request #3159 from fredj/heatmap-constr
Don't pass specific options to the parent constructor
2015-01-22 14:55:55 +01:00
3x0dv5
6ceef2b0cc Doc fix. writeFeaturesNode receives an array of Feature 2015-01-22 11:21:02 +00:00
Frederic Junod
f3bafab1e6 Don't pass specific options to the parent constructor 2015-01-22 11:30:20 +01:00
tsauerwein
316480dcda Rename argument 2015-01-22 10:24:59 +01:00
tsauerwein
a39544cce0 Implement skipping features for hasFeatureAtPixel 2015-01-22 10:24:59 +01:00
tsauerwein
cf9619f378 Implement skipping features for 1by1 hit detection 2015-01-22 10:24:59 +01:00
tsauerwein
c4ee074274 Implement skipping features for drawReplay 2015-01-22 10:24:59 +01:00
Tobias Sauerwein
1702a4ed36 Merge pull request #3066 from tsauerwein/webgl-point-hasFeatureAtPixel
Introduce hasFeatureAtPixel
2015-01-22 10:20:00 +01:00
Tobias Sauerwein
53f98dcf4e Merge pull request #3065 from tsauerwein/webgl-point-hit-detection
Add hit-detection support for WebGL
2015-01-22 10:19:37 +01:00
Éric Lemoine
f625a29978 Merge pull request #3128 from oterral/kml_default_style
Allow rendering of feature when download of icon failed
2015-01-21 15:08:02 +01:00
Éric Lemoine
21144f161a Add more tests fr ol.renderer.vector 2015-01-21 14:50:48 +01:00
Frédéric Junod
b6a550f354 Merge pull request #3156 from fredj/format-getprojection
Move readProjectionFrom* functions to the base classes
2015-01-21 13:30:47 +01:00
Éric Lemoine
b27c1c82d4 Merge pull request #3107 from elemoine/imagestate
Also listen on loading images
2015-01-21 12:50:31 +01:00
Frederic Junod
077a827197 Move readProjectionFrom* functions to the base classes 2015-01-21 09:15:04 +01:00
Frédéric Junod
2970da3461 Merge pull request #3153 from fredj/geojson-externs
Add missing GeoJSONFeature#bbox property
2015-01-21 07:34:10 +01:00
Frédéric Junod
165e3fe1ff Merge pull request #3154 from fredj/coding-style
Remove unnecessary newlines
2015-01-20 17:43:51 +01:00
Frederic Junod
b53a5e28d5 Remove unnecessary newlines 2015-01-20 16:48:52 +01:00
Frederic Junod
d8984ca1aa Add missing GeoJSONFeature#bbox property
See http://geojson.org/geojson-spec.html#bounding-boxes
2015-01-20 15:17:29 +01:00
Éric Lemoine
c185bf8f30 Merge pull request #3146 from icholy/enable-reversflatgeom-tests
Enable tests for ol.geom.flat.reverse
2015-01-19 21:01:13 +01:00
Frédéric Junod
8bc72c62f6 Merge pull request #3152 from fredj/update
Update closure-library and closure-util version
2015-01-19 17:36:27 +01:00
Frederic Junod
a17bc916b1 Update closure-library version 2015-01-19 10:42:34 +01:00
Frederic Junod
c732538433 Update closure-util version 2015-01-19 10:42:33 +01:00
Ilia Choly
ee9cfef35a Enable reverseflatgeom tests 2015-01-16 13:40:47 -05:00
Éric Lemoine
970beb1741 Merge pull request #3145 from elemoine/wrapx
Add wrapX option to source.OSM and source.BingMaps
2015-01-16 17:40:13 +01:00
Éric Lemoine
11eeb6617c Add wrapX option to olx.source.BingMapsOptions 2015-01-16 17:15:59 +01:00
Éric Lemoine
d13a5dfb9f Add wrapX option to olx.source.OSMOptions 2015-01-16 17:12:00 +01:00
Éric Lemoine
4b3726fe71 Merge pull request #3139 from elemoine/control-setmap
Add ol.control.Control#setTarget
2015-01-16 11:16:30 +01:00
Bart van den Eijnden
12f3a9d454 Merge pull request #3144 from bartvde/code-guidelines
Update CONTRIBUTING style guide with recent guidelines
2015-01-16 10:57:35 +01:00
Bart van den Eijnden
4f4d12024b Update CONTRIBUTING style guide with recent guidelines 2015-01-16 10:49:44 +01:00
tsauerwein
fbb2883f6e Add Node to control label type 2015-01-16 10:14:39 +01:00
Éric Lemoine
79312c2083 Add ol.control.Control#setTarget
This commit adds a setTarget method to ol.control.Control. This function can be used in cases where the target cannot be set at control construction time. For example, with Angular, it makes sense to create the control instance in an Angular controller, and have a "control" directive insert the control into the DOM.
2015-01-16 09:27:30 +01:00
tsauerwein
7679069520 Add label option to FullScreen control 2015-01-16 09:05:51 +01:00
Frédéric Junod
1033171ff0 Merge pull request #3136 from fredj/coding-style
Use array.length = 0 instead of goog.array.clear
2015-01-16 08:08:27 +01:00
Tim Schaub
10c715ad9a Merge pull request #3140 from tschaub/array
Avoid use of goog.array.clone with arrays.
2015-01-15 13:00:02 -07:00
Tim Schaub
06dc0902c6 Avoid use of goog.array.clone with arrays 2015-01-15 12:43:12 -07:00
Frederic Junod
845957a27f Use array.length = 0 instead of goog.array.clear 2015-01-15 16:11:29 +01:00
Frédéric Junod
c23ae78978 Merge pull request #3122 from fredj/revert-2975
Revert "Use offsetX and offsetY if available"
2015-01-15 10:52:03 +01:00
tsauerwein
0d26a9aa87 Add label option to ZoomToExtent 2015-01-15 09:58:05 +01:00
Frederic Junod
0bae04331d Revert "Use offsetX and offsetY if available"
This reverts commit fabf05977a.
2015-01-15 08:56:55 +01:00
Andreas Hocevar
c726cbfcd9 Merge pull request #2385 from ahocevar/update-vectors-while-animating
Option to update vector layers while animating
2015-01-14 17:34:39 +01:00
Andreas Hocevar
b1a73da9dd Add updateWhileAnimating option
With this option, vector batches will be recreated with every frame.
For animations, this means that vector data won't be clipped to the
extent at which the animation started.
2015-01-14 16:33:05 +01:00
Frédéric Junod
dafcdfa494 Merge pull request #3129 from fredj/rbush-update
Only update the rbush item if the extent has changed
2015-01-14 13:53:41 +01:00
Frederic Junod
baf424f99c Only update the rbush item if the extent has changed 2015-01-14 13:29:28 +01:00
Andreas Hocevar
017ff47bf8 Merge pull request #3117 from ahocevar/domvector-pixelratio
Add pixelRatio support for DOM vector renderer
2015-01-14 12:55:05 +01:00
Tobias Sauerwein
110ed04a84 Merge pull request #3124 from sirtet/master
Add a space between scale -value and -unit
2015-01-14 12:41:01 +01:00
Frédéric Junod
2f5bbb37ed Merge pull request #3130 from fredj/doc
Document default value
2015-01-14 12:39:15 +01:00
Frédéric Junod
68f5ff0045 Merge pull request #3105 from fredj/geom-getextent
ol.geom.Geometry#getExtent re-factoring
2015-01-14 12:20:37 +01:00
Frederic Junod
5f55e01849 Document default value 2015-01-14 12:12:38 +01:00
Frederic Junod
f7943b9401 Set extent and extentRevision variables to private 2015-01-14 11:01:18 +01:00
Frederic Junod
8bd0a1232a Add geom.ol.geom.Geometry#computeExtent function 2015-01-14 11:01:18 +01:00
oterral
c97a29d13b Allow rendering of feature when download of icon failed 2015-01-14 09:34:03 +01:00
sirtet
66fea4dec9 Add a space between scale -value and -unit
For improved readability. Issue #3116
2015-01-13 16:16:20 +01:00
Bart van den Eijnden
35468e2bbb Merge pull request #3118 from naturalatlas/wfs-firstelementchild-bugfix
Bugfix: "Cannot read property 'firstElementChild' of null" (WFS)
2015-01-13 10:13:56 +01:00
Brian Reavis
37dac8e0cf Fixed "Cannot read property 'firstElementChild' of null" on WFS readProjectionFromNode.
Occurs when a FeatureCollection is empty.

Code style changes @bartvde

Added test case for #3118.

Attempt to make jshint happy.

Fixed tab character.

Another code style change (jshint)....
2015-01-13 01:42:03 -07:00
Andreas Hocevar
bbf074b70a Add pixelRatio support for DOM vector renderer
Adds the scaling and transforms to support pixelRatio values other than
1.
2015-01-12 22:14:52 +01:00
Éric Lemoine
5dca3e9b20 Merge pull request #3114 from elemoine/contributing
Specify node version in CONTRIBUTING.md
2015-01-12 21:13:16 +01:00
Éric Lemoine
789ddad536 Specify node version 2015-01-12 20:49:23 +01:00
Frédéric Junod
409969fa2a Merge pull request #3106 from fredj/tilelayer-constr
Don't pass specific options to the parent constructor
2015-01-12 15:31:36 +01:00
Éric Lemoine
76418bdbe5 Merge pull request #3110 from PeterDaveHello/patch-1
Use svg instead of png to get better image quality
2015-01-11 11:22:56 +01:00
Peter Dave Hello
3e2574bf49 Use svg instead of png to get better image quality 2015-01-11 14:33:36 +08:00
Éric Lemoine
12863cf3fd Merge pull request #2707 from gberaudo/source_map
Generate source map of minified ol.js
2015-01-09 13:16:18 +01:00
Éric Lemoine
2ef8302122 Add a build/ol.js.map target 2015-01-09 12:33:38 +01:00
Guillaume Beraudo
132686b4a7 Generate source map of minified ol.js
Allows automatic unminification by the browser.

A postprocessing is required to:
- fix the paths to the sources;
- add the link from the minified script to its map.

If someone knows how to do the first item in Python or nodejs, please provide a
patch. A simple shell script is:
```
\#!/bin/sh
pwd=`pwd`
sed -i "s!$pwd/build!olsource!g" 'build/ol.js.map'
sed -i "s!$pwd!olsource!g" 'build/ol.js.map'
```

The second item should always be manually handled to avoid 404 errors
in debuggers
`echo '//# sourceMappingURL=ol.js.map' >> build/ol.js`

Finally, create an alias / copy ol3 directory to /olsource in your
deployed environment.
2015-01-09 12:17:35 +01:00
Éric Lemoine
0f486e86f7 Add tests for ol.renderer.Layer#loadImage 2015-01-09 09:45:25 +01:00
tsauerwein
c85982bbe5 Remove unused variables 2015-01-09 09:21:40 +01:00
Éric Lemoine
4814983306 Also listen on loading images
This fixes a bug that occured when an image source was used by multiple maps. In that case the map that didn't load the image wouldn't register a load listener on that image and would therefore not call render to request a re-render of the map.
2015-01-09 09:07:31 +01:00
tsauerwein
d39904b66b Add @const annotation 2015-01-08 16:12:52 +01:00
tsauerwein
25612f1af2 Unify return statement
Only return the callback result if it is truthy,
otherwise return undefined.
2015-01-08 16:12:52 +01:00
tsauerwein
35c58b3b0e Use hasFeatureAtPixel in icon example 2015-01-08 16:12:52 +01:00
tsauerwein
3e5c4d0bf6 Show hasFeatureAtPixel in example 2015-01-08 16:12:52 +01:00
tsauerwein
bc71a36292 Implement hasFeatureAtPixel for webgl 2015-01-08 16:12:52 +01:00
tsauerwein
d62e910239 Implement hasFeatureAtPixel for canvas 2015-01-08 16:12:52 +01:00
tsauerwein
d0691ecc4d Add hasFeatureAtPixel function to map 2015-01-08 16:12:52 +01:00
tsauerwein
974823dbd4 Refactor createTexture 2015-01-08 15:40:03 +01:00
tsauerwein
38322d615b Use renderBuffer for hit-detection 2015-01-08 15:38:00 +01:00
tsauerwein
060c9f3bc6 Reduce number of arrays created 2015-01-08 15:38:00 +01:00
tsauerwein
6c48b2067b Make icon example work with webgl 2015-01-08 15:38:00 +01:00
tsauerwein
da7f38635b Remove hitDetectionOrigin 2015-01-08 15:38:00 +01:00
tsauerwein
461ec1d3bc Make sure hit-detection atlas is in sync
... with the atlas for the original images, so that
the offsets are the same.
2015-01-08 15:38:00 +01:00
tsauerwein
cf6dd38866 Use hit-detection images 2015-01-08 15:38:00 +01:00
tsauerwein
3ef61fa1c5 Add hit-detection support for webgl 2015-01-08 15:38:00 +01:00
tsauerwein
740420468e Add hit-detection framebuffer to context 2015-01-08 15:38:00 +01:00
Frederic Junod
b827bc126c Don't pass specific options to the parent constructor 2015-01-08 14:07:33 +01:00
Frédéric Junod
1f90aad4ad Merge pull request #3104 from fredj/vector-constr
Don't pass renderBuffer option to the parent constructor
2015-01-08 11:58:39 +01:00
Frederic Junod
91d2b3b87f Don't pass renderBuffer option to the parent constructor 2015-01-08 10:59:42 +01:00
Frédéric Junod
904fac082c Merge pull request #3096 from fredj/example-cleanup
popup example cleanup / simplification
2015-01-08 09:07:25 +01:00
Tim Schaub
b952f118ba Merge pull request #3072 from tschaub/hit-extent
Optimize canvas hit detection by rendering features in a limited extent.
2015-01-07 23:54:21 -07:00
Tim Schaub
1ee03625e9 Optimize hit detection by rendering features in a limited extent 2015-01-07 23:04:42 -07:00
Tim Schaub
3be6a84de6 Merge pull request #3101 from tschaub/object
Use bracket notation instead of goog.object functions.
2015-01-07 22:57:28 -07:00
Tim Schaub
1ff43686f5 Use bracket notation instead of goog.object.get 2015-01-07 22:31:01 -07:00
Tim Schaub
a09a76c766 Merge pull request #3079 from tschaub/sourceless-docs
Exclude source files from docs.
2015-01-07 22:20:57 -07:00
Tim Schaub
f9a92c422c Use bracket notation instead of goog.object.set 2015-01-07 21:08:24 -07:00
Tim Schaub
0a784bfc3b Allow bracket notation
We use bracket notation with string literals instead of dot notation where we don't want the compiler to do any renaming.
2015-01-07 21:06:04 -07:00
Frédéric Junod
d35ea9e4f4 Merge pull request #3100 from fredj/tilelayer-attr
Assert that ol.layer.Tile#getPreload is always set
2015-01-07 17:54:10 +01:00
Frederic Junod
55dda99cfe Assert that ol.layer.Tile#getUseInterimTilesOnError is always set 2015-01-07 16:59:44 +01:00
Frederic Junod
df51e55781 Assert that ol.layer.Tile#getPreload is always set 2015-01-07 16:48:15 +01:00
Frederic Junod
a753135e84 Remove moz-box-shadow CSS rule
Gecko 13 (Firefox 13) removed support for -moz-box-shadow. Since then,
only the unprefixed version is supported.
2015-01-06 09:26:00 +01:00
Frederic Junod
d4ff5527c9 Set the position to undefined to hide the overlay 2015-01-06 09:26:00 +01:00
Tim Schaub
06fe8288ce Merge pull request #3084 from openlayers/v3.1.x
Changes from the v3.1.x branch.
2015-01-05 10:22:14 -07:00
Tim Schaub
8e982b0763 Merge pull request #3094 from tschaub/authorless
Remove AUTHORS.md.
2015-01-04 13:00:14 -07:00
Tim Schaub
38b890a69a Removing AUTHORS.md
This was a partial, unmaintained list of the project contributors.  For a complete list of contributors, see the Git log.  E.g.

    git shortlog -s | cut -c8-
2015-01-03 22:58:06 -07:00
Bart van den Eijnden
8eb6814e4b Merge pull request #3089 from mike-mcgann/fix_test_readme_url
Fixed URL link for test README
2014-12-29 17:13:02 +01:00
Mike McGann
6b162f813f Fixed URL link for test README 2014-12-29 10:15:34 -05:00
Frédéric Junod
9a4c56d216 Merge pull request #2894 from fredj/simplify-custom-controls
Simplify CSS code in custom-controls example
2014-12-27 11:46:35 +01:00
Tim Schaub
5d2f4630f5 Merge pull request #3085 from mike-mcgann/doc-typo
Fixed documentation typo for return value of ol.proj.Projection.isGlobal().
2014-12-23 16:08:24 -05:00
Mike McGann
cc4a690676 Fixed documentation typo for return value of ol.proj.Projection.isGlobal() 2014-12-23 15:38:49 -05:00
Tim Schaub
68438c7c10 Merge pull request #3083 from tschaub/release-v3.1.1
Release v3.1.1.
2014-12-23 13:40:30 -05:00
Tim Schaub
7dd322dd6f Update package version to 3.1.1 2014-12-23 11:29:04 -05:00
Tim Schaub
676476ec64 Changelog for v3.1.1 2014-12-23 11:28:48 -05:00
Tim Schaub
8f8b7e1f17 Merge pull request #3082 from tschaub/issue-3081
Correct arguments for forEachGeometryAtPixel.
2014-12-23 11:23:01 -05:00
Tim Schaub
e62c333f32 Correct arguments for forEachGeometryAtPixel 2014-12-23 11:10:04 -05:00
Andreas Hocevar
97afb31a65 Merge pull request #3073 from ahocevar/load-tile-options
Make map's deviceOptions map options
2014-12-23 16:11:22 +01:00
Tim Schaub
4b423fca16 Exclude source files from docs 2014-12-22 17:01:01 -05:00
Tim Schaub
78ac65e57d Merge pull request #3077 from tschaub/release-v3.1.0
Release v3.1.0.
2014-12-22 15:27:31 -05:00
Tim Schaub
a796542223 Summarize changes and add upgrade notes 2014-12-22 15:17:05 -05:00
Tim Schaub
dc7f60801a Update package version to 3.1.0 2014-12-22 14:32:35 -05:00
Tim Schaub
9b55d20f90 Changelog for v3.1.0 2014-12-22 14:32:11 -05:00
Tim Schaub
d8a845de39 Merge pull request #3076 from tschaub/changelog
Add script to standardize changelog ceation.
2014-12-22 14:07:58 -05:00
Tim Schaub
ffea25fd6f Merge pull request #3074 from fredj/misplaced-function-annotation
Remove misplaced function annotation.
2014-12-22 13:30:44 -05:00
Bart van den Eijnden
aee37c4f90 Merge pull request #3075 from bartvde/remove-projlike-undefined
Remove unneeded undefined from ol.proj.ProjectionLike definitions (r=@tschaub)
2014-12-22 19:10:20 +01:00
Tim Schaub
62854f6e32 Add script to standardize changelog ceation 2014-12-22 13:02:27 -05:00
Bart van den Eijnden
ab76c2cae3 Remove unneeded undefined from ol.proj.ProjectionLike definitions 2014-12-22 18:28:04 +01:00
Frederic Junod
eabb795624 Remove misplaced function annotation 2014-12-22 11:12:01 +01:00
Andreas Hocevar
38b12d3149 Make map's deviceOptions map options
This removes the map's deviceOptions config option, and instead
introduces loadTilesWhileAnimating and loadTilesWhileInteracting map
options. By default, both are false now, to make zooming and panning
smoother on most devices.
2014-12-21 12:03:28 +01:00
Tim Schaub
0ae00fb277 Merge pull request #3071 from tschaub/publish
Add task for publishing to npm.
2014-12-20 09:46:28 -07:00
Tim Schaub
9b0349f2d5 Variable for builds directory 2014-12-20 02:55:56 -07:00
Tim Schaub
d4763a0fe7 Set CLOSURE_NO_DEPS globally 2014-12-20 02:35:05 -07:00
Tim Schaub
3582445755 Add task for publishing to npm
This task publishes an existing tag to the npm registry.  To publish a new release, create a commit that updates the version number in package.json (e.g. to "3.1.0").  Then create a tag, push to GitHub, and run the publish task.  Assuming "openlayers" is the remote for the canonical repo, this would look like the following:

    git tag -a v3.1.0 -m "3.1.0"
    git push --tags openlayers
    ./tasks/publish.sh 3.1.0

The task creates a build for each of the `PROFILES` in `publish.sh` (these correspond to `.json` files in the `config` directory).  Builds are generated in the `dist` directory.  Our `package.json` specifies `dist/ol.js` as the "main" build.  So when people use a module loader to `require('openlayers')`, they get the full build.  It is also possible to load a debug build (e.g. `require('openlayers/dist/ol-debug')`), and we can publish additional builds by adding `config` files and updating `PROFILES` in `publish.sh`.

The `.npmignore` file determines what is *not* included in the package (note that `node_modules` are always ignored).  So if additional items are added to `.gitignore` that should not be included in the npm package, they need to go in `.npmignore` as well (ideally, we don't need to generate anything else outside of the `build` directory that doesn't belong in the package).
2014-12-19 17:45:48 -07:00
Tim Schaub
27b5036c62 Merge pull request #3070 from tschaub/umd-debug
Define goog and assign to global when generating UMD debug builds.
2014-12-19 16:53:45 -07:00
Tim Schaub
a95327f18e Define goog and assign to global
When concatenating the Closure Library, base.js creates a new `goog` object if there is not already one in scope.  Later, `goog.global` is assigned the value of `this`.  Calls to `goog.provide` create "namespace" objects by assigning to `goog.global`.  To ensure that `goog` is the same as `goog.global.goog`, we need to create a new `goog` object in the scope of base.js and assign it to `this.goog`.
2014-12-19 14:41:47 -07:00
Tim Schaub
95972b354e Merge pull request #3068 from tschaub/pre-3
Update pre-release version.
2014-12-19 11:29:31 -07:00
Tim Schaub
b7e0acf4fa Update pre-release version 2014-12-19 11:05:29 -07:00
Tim Schaub
3d86339b88 Merge pull request #3039 from tschaub/umd
Support for UMD builds.
2014-12-19 11:02:54 -07:00
Bart van den Eijnden
3bc84c7288 Merge pull request #3038 from acanimal/master
Update attribution CSS #2803
2014-12-19 11:35:10 +01:00
Éric Lemoine
85a6de0ed6 Merge pull request #3061 from elemoine/render-bug2
Add a renderBuffer option to ol.layer.Vector
2014-12-19 08:58:38 +01:00
Éric Lemoine
a24716ac8a Merge pull request #3048 from elemoine/drag-features
Add a drag-features example
2014-12-19 08:49:11 +01:00
Éric Lemoine
f1bf782133 Change "recreate batch" strategy
Only recreate batch when the (buffered) rendered extent contains the **buffered** viewport extent.
2014-12-19 08:43:47 +01:00
acanimal
2f5999529a Removed unnecessary max-width from CSS .ol-attribution ul 2014-12-18 20:49:01 +01:00
acanimal
fa68410e5d Merge remote-tracking branch 'upstream/master' 2014-12-18 20:45:12 +01:00
Éric Lemoine
33cf4e6179 Add a drag-feature example
This example also demonstrates how to implement a custom interaction that inherits from ol.interaction.Pointer.
2014-12-18 18:42:36 +01:00
Éric Lemoine
14ea2bf413 Add ol.geom.Geometry#translate 2014-12-18 18:42:36 +01:00
Éric Lemoine
374f916b3a Add ol.geom.flat.transform.translate 2014-12-18 18:42:36 +01:00
Frédéric Junod
6d3103d4a9 Merge pull request #3060 from fredj/update-closure-library
Update closure-library version
2014-12-18 15:32:37 +01:00
Éric Lemoine
4a311e66d7 Add ol.Map#getTargetElement
ol.Map#getTarget returns an element or a string, depending on what was passed to setTarget. This commit adds a getTargetElement method that always returns an Element.
2014-12-18 14:13:44 +01:00
Éric Lemoine
6b46d5c76a Make shouldStopEvent default to the identity func 2014-12-18 14:13:44 +01:00
Éric Lemoine
1907de667a Make ol.interaction.Pointer call handleMoveEvent 2014-12-18 14:13:44 +01:00
Éric Lemoine
711ec705b7 Add handle*Event options to ol.interaction.Pointer
More specifically: handleDownEvent, handleDragEvent, handleMoveEvent, and handleUpEvent.
2014-12-18 14:13:44 +01:00
Éric Lemoine
8e8fc9977c Add a renderBuffer option to ol.layer.Vector 2014-12-18 13:20:32 +01:00
Éric Lemoine
ddc51ee267 Unconditionally draw Replay's 2014-12-18 13:04:29 +01:00
Andreas Hocevar
cd0bed6291 Merge pull request #3058 from ahocevar/extend-coordinate
Use an API function to extend the extent
2014-12-18 11:22:29 +01:00
Frederic Junod
440a85c6f4 Update closure-library version
fixes #3034
2014-12-18 11:18:37 +01:00
Andreas Hocevar
5ca6b5dd81 Use an API function to extend the extent 2014-12-18 11:02:41 +01:00
Andreas Hocevar
fe0e17fdaf Merge pull request #3010 from ahocevar/style-geometry
Allow styles to override feature geometries
2014-12-18 10:45:50 +01:00
Andreas Hocevar
784701641d Add a getGeometry method 2014-12-18 10:28:21 +01:00
Andreas Hocevar
2bf191b5e3 Assert that feature.get('foo') returns a geometry 2014-12-18 10:08:35 +01:00
Andreas Hocevar
19015d2ca9 Create typedef 2014-12-18 10:07:57 +01:00
Frédéric Junod
e95a350203 Merge pull request #3056 from fredj/memory-extent
Reuse previousExtent_ local variable
2014-12-17 13:53:16 +01:00
Frédéric Junod
b0cba674bc Merge pull request #3055 from fredj/coding-style
ol.tilecoord.createOrUpdate: add 'opt_' prefix to optional param
2014-12-17 10:40:34 +01:00
Frederic Junod
7c6ccca572 Reuse previousExtent_ local variable 2014-12-17 10:36:31 +01:00
Frederic Junod
2ea685e18f Add 'opt_' prefix to optional param 2014-12-17 10:29:49 +01:00
Bart van den Eijnden
13ce41a1d5 Merge pull request #3044 from gberaudo/api_image_style_constructor_properties
Mark Image style constructor properties `@api`
2014-12-17 10:25:20 +01:00
Bart van den Eijnden
5192257a6d Merge pull request #3052 from bartvde/tests-2888
Add a testcase for parsing GML feature with only boundedBy
2014-12-16 18:09:43 +01:00
Éric Lemoine
0bc96bb769 Merge pull request #3051 from elemoine/compile-wfs
Remove // NOCOMPILE from vector-wfs
2014-12-16 10:32:12 +01:00
Bart van den Eijnden
1bf4ddac6d Add a testcase for parsing GML feature with only boundedBy 2014-12-16 10:22:37 +01:00
Éric Lemoine
d3365fb3a5 Remove // NOCOMPILE from vector-wfs 2014-12-16 09:43:34 +01:00
Andreas Hocevar
af30b88413 Allow geometryFunction to return undefined 2014-12-16 01:12:08 +01:00
Andreas Hocevar
6478454a93 Use getGeometryFunction() in immediate API 2014-12-15 23:22:26 +01:00
Andreas Hocevar
49f9690786 Add tests for setGeometry 2014-12-15 23:21:02 +01:00
Andreas Hocevar
8d9acb8f48 Add an example showing the use of ol.style.Style#geometry 2014-12-15 23:21:02 +01:00
Andreas Hocevar
2d12531105 Allow styles to override feature geometries
With this change, application developers are able to define styles that
render a different geometry than the feature geometry. This can e.g. be
used to render an interior point of a polygon instead of the polygon, or
to render symbols like arrows along lines.
2014-12-15 23:20:53 +01:00
Bart van den Eijnden
e57ea1e66b Merge pull request #2699 from bartvde/issue-2699
No need for featureNS and featureType to be quoted
2014-12-15 21:06:02 +01:00
Bart van den Eijnden
a1c6662812 Do not quote featureNS and featureType in options 2014-12-15 20:28:13 +01:00
Tim Schaub
a101204ded Merge pull request #3047 from tschaub/jsdoc-warnings
Move description above annotation to avoid JSDoc warnings.
2014-12-15 09:57:02 -07:00
Bart van den Eijnden
fffeeaea97 Merge pull request #2996 from bartvde/regularshape-api
Add getter functions for points and angle in ol.style.RegularShape
2014-12-15 17:33:54 +01:00
Bart van den Eijnden
babc33fcb0 Add getter functions for points and angle in ol.style.RegularShape 2014-12-15 17:04:43 +01:00
Tim Schaub
abdae62481 Move description above annotation to avoid JSDoc warnings 2014-12-15 07:50:48 -08:00
Andreas Hocevar
7ece729d5f Merge pull request #3046 from ahocevar/pointerinteraction-api
Need exportable constructor for constructor options in olx
2014-12-15 16:41:44 +01:00
Éric Lemoine
a8b7f3570d Merge pull request #3043 from elemoine/nocompile-wfs
Use // NOCOMPILE for vector-wfs
2014-12-15 16:31:31 +01:00
Éric Lemoine
3623b4b31d Merge pull request #3042 from gberaudo/example_name_in_check_examples_exception
Print example name in check-examples exception
2014-12-15 16:31:11 +01:00
Andreas Hocevar
5eb1537f48 Need exportable constructor for constructor options in olx
When a constructor options object is created in the olx namespace,
the constructor that uses it must be exportable as well.
2014-12-15 16:15:30 +01:00
Éric Lemoine
7a09b11da5 Use // NOCOMPILE for vector-wfs
This is temporary solution until the demo.boundless.com WFS works again.
2014-12-15 15:24:28 +01:00
Guillaume Beraudo
3c00c7cf4c Print example name in check-examples exception 2014-12-15 15:21:55 +01:00
Guillaume Beraudo
ae998a7585 Mark Image style constructor properties @api 2014-12-15 14:41:35 +01:00
Éric Lemoine
86561e5ef2 Merge pull request #3032 from elemoine/custom-components
Extension points for custom controls and interactions
2014-12-15 13:41:56 +01:00
Andreas Hocevar
e0f574bd25 Merge pull request #3033 from ahocevar/select-return
Allow custom mousemove conditions for Select interaction
2014-12-15 13:26:40 +01:00
Frédéric Junod
f5722bbbf9 Merge pull request #3040 from fredj/memory
Transform the coordinates in place
2014-12-15 11:32:41 +01:00
Andreas Hocevar
9b0b1543e0 Allow custom mousemove conditions
When configuring a Select interaction with a custom condition that
includes mousemove, panning the map will not work any more. This is
because the return value of handleMapBrowserEvent is determined by
checking for a default condition function. By checking for the
underlying event type instead, we gain flexibility with custom condition
functions.
2014-12-15 11:28:45 +01:00
Antoine Abt
aafe698285 Merge pull request #3036 from tonio/modify_stride
Respect geometry stride in modify interaction
2014-12-15 09:46:56 +01:00
Frederic Junod
c167b2b49d Transform the coordinates in place 2014-12-15 09:30:37 +01:00
Tim Schaub
b60b0ecdb0 Add support for wrapping the build in UMD syntax. 2014-12-13 13:23:10 -08:00
Tim Schaub
7fd017879f Merge pull request #3020 from tschaub/err-message
Correct error message from generate-info.js.
2014-12-12 12:06:50 -08:00
acanimal
6dc90aefa2 Update attribution CSS #2803 2014-12-12 18:52:46 +01:00
Éric Lemoine
a9f3367310 Rename handleMapPostrender to render (overlay) 2014-12-12 18:30:43 +01:00
Éric Lemoine
d07185e8f2 Add an "handleEvent" interaction option 2014-12-12 18:30:31 +01:00
Éric Lemoine
df170859cc Add a "render" control option 2014-12-12 18:30:02 +01:00
Bart van den Eijnden
ca355d2887 Merge pull request #3037 from bartvde/regularshape-rotation
Implement rotation for ol.style.RegularShape
2014-12-12 16:48:02 +01:00
Bart van den Eijnden
38dca7792c Implement rotation for ol.style.RegularShape 2014-12-12 15:19:31 +01:00
Andreas Hocevar
2c9fab22c8 Merge pull request #3015 from klokantech/utfgrid
UTFGrid Support
2014-12-12 12:37:37 +01:00
Petr Sloup
65583a8b77 preemptive is now true by default + improved documentation 2014-12-12 12:19:20 +01:00
Petr Sloup
7bcd925cdb Minor code style fix 2014-12-12 11:55:55 +01:00
Petr Sloup
82a30b4cd5 Modified the sync/async behavior logic of the forDataAtCoordinate* methods 2014-12-12 11:47:35 +01:00
Antoine Abt
e7db23761c Respect geometry stride in modify interaction 2014-12-12 11:22:15 +01:00
Bart van den Eijnden
31f7279de1 Merge pull request #3012 from bartvde/fix-ie9-tests
Failing tests in IE9
2014-12-10 16:10:38 +01:00
Bart van den Eijnden
c3beae6b16 Fix failing tests in IE9 2014-12-10 12:02:06 +01:00
Frédéric Junod
ae8f5149a7 Merge pull request #3029 from fredj/update-closure
Update closure compiler and library
2014-12-10 07:47:30 +01:00
Frédéric Junod
0052116860 Merge pull request #3031 from fredj/FitGeometryOptions
Add missing maxZoom property in olx.view.FitGeometryOptions
2014-12-09 15:28:29 +01:00
Frederic Junod
5c2501d982 Add missing maxZoom property in olx.view.FitGeometryOptions 2014-12-09 14:59:13 +01:00
Frederic Junod
1238ab0df0 Remove ol.Object.capitalize and use goog.string.capitalize 2014-12-09 11:55:27 +01:00
Frederic Junod
f8b59dbd53 Use goog.array.extend instead of ol.array.safeExtend
The upstream implementation now supports large arrays.
See https://github.com/google/closure-library/pull/356
2014-12-09 11:55:27 +01:00
Frederic Junod
443c9749fb Update closure-library version 2014-12-09 11:55:27 +01:00
Frederic Junod
7bc2081138 Update closure-util to v1.2.0 2014-12-09 11:55:09 +01:00
Frédéric Junod
0a01204bb3 Merge pull request #3028 from fredj/wfsformat-cleanup
ol.format.WFS cleanup
2014-12-09 09:35:00 +01:00
Frederic Junod
aaf689bbec Uppercase ol.format.WFS.SCHEMA_LOCATION const 2014-12-09 09:19:15 +01:00
Frederic Junod
7922c08fe0 Uppercase ol.format.WFS.XMLNS const 2014-12-09 09:18:12 +01:00
Frederic Junod
045109aaab Uppercase ol.format.WFS.FEATURE_PREFIX const 2014-12-09 09:16:41 +01:00
Frederic Junod
de058c7889 Remove unneeded type cast 2014-12-09 09:15:00 +01:00
Frédéric Junod
39cb30308d Merge pull request #3024 from fredj/wfs_gmlFormat
Add missing gmlFormat to olx.format.WFSOptions
2014-12-08 17:55:21 +01:00
Frederic Junod
a9e6b7115f Remove gmlFormat from olx.format.WFSWriteGetFeatureOptions 2014-12-08 17:36:43 +01:00
Frederic Junod
ddcfe77897 Add missing gmlFormat to olx.format.WFSOptions 2014-12-08 17:28:17 +01:00
Frédéric Junod
f3824ec244 Merge pull request #3023 from fredj/server-vector-source
Change loader function return type
2014-12-08 15:39:55 +01:00
Frederic Junod
0c7e9a823c Remove loader function return type 2014-12-08 14:56:25 +01:00
Frédéric Junod
eb6aeee819 Merge pull request #3021 from fredj/attribution-options-typedef
Add missing properties in olx.control.AttributionOptions typedef
2014-12-08 14:38:01 +01:00
Éric Lemoine
bcd983723f Merge pull request #3013 from gberaudo/performance_vector_source_clear
Improve vector source clear() performance
2014-12-08 14:05:24 +01:00
Frederic Junod
8fa628a11d Add missing properties in olx.control.AttributionOptions typedef 2014-12-08 12:09:16 +01:00
Tim Schaub
4c504ede74 Doc fix regarding externs 2014-12-07 16:35:58 -08:00
Tim Schaub
32a67801e5 Include correct path in error message 2014-12-07 16:27:31 -08:00
Bart van den Eijnden
b7d0e06f05 Merge pull request #3017 from bartvde/format-write-string-example
Use writeFeatures instead of writeFeaturesNode in GPX and KML example (r=@elemoine)
2014-12-07 18:14:49 +01:00
Bart van den Eijnden
0fef608683 Use writeFeatures instead of writeFeaturesNode in GPX and KML example 2014-12-07 18:04:35 +01:00
Petr Sloup
d28ffc4808 Use null instead of undefined in the callback 2014-12-06 15:42:40 +01:00
Petr Sloup
b03b762500 More properties made private 2014-12-06 15:26:49 +01:00
Petr Sloup
48478c6868 Listen 'mousemove' and 'click' rather than 'pointermove' in the TileUTFGrid example 2014-12-06 15:21:14 +01:00
Petr Sloup
ca77a20b57 Improved TileUTFGrid example 2014-12-06 15:07:52 +01:00
Petr Sloup
ac144d934f Documentation blocks for the option members 2014-12-06 14:19:56 +01:00
Petr Sloup
250a1e4da3 Various code style fixes 2014-12-06 14:13:22 +01:00
Petr Sloup
363ac54509 Suppress warning about dot notation (compiler would report undefined properties) 2014-12-05 20:26:33 +01:00
Guillaume Beraudo
e3947fb09a Add optional fast parameter for clearing vector source 2014-12-05 18:06:23 +01:00
Petr Sloup
c8bc3620d3 Added TileUTFGrid example 2014-12-05 17:33:30 +01:00
Éric Lemoine
347c4c869d Merge pull request #3014 from elemoine/simplifyreplay
Simplify hit detection code
2014-12-05 16:53:47 +01:00
Petr Sloup
4b605d40d9 getTemplate method to get the Mustache template from the TileJSON 2014-12-05 16:07:37 +01:00
Petr Sloup
ef816d30ed The preemptive loading of UTFGrid tiles is now optional 2014-12-05 16:07:37 +01:00
Petr Sloup
99eab24b20 Implementation of the ol.source.TileUTFGridTile_#getData method 2014-12-05 16:07:36 +01:00
Petr Sloup
9f7e94ec85 Added UTFGridJSON to the TileJSON externs 2014-12-05 16:07:35 +01:00
Petr Sloup
641a829918 Incomplete getFeatureInfo implementation 2014-12-05 16:07:34 +01:00
Petr Sloup
794c7950c8 Added ol.source.TileUTFGrid 2014-12-05 16:07:34 +01:00
Bart van den Eijnden
d62ad47338 Merge pull request #3006 from bartvde/issue-3006
gml3.js and gml2.js don't follow file naming conventions
2014-12-05 15:53:29 +01:00
Éric Lemoine
fdf52c1865 Simplify hit detection code 2014-12-05 15:42:54 +01:00
Bart van den Eijnden
bdc05472bc Rename GML format files to match conventions 2014-12-05 15:28:27 +01:00
Bart van den Eijnden
47325cd4ae Merge pull request #3003 from bartvde/writefeatures
The writeFeatures method should always return a string (r=@elemoine)
2014-12-05 15:05:25 +01:00
Guillaume Beraudo
17e56d8357 Introduce clear event on vector source
Three seconds speed up when clearing 100'000 features.
Clearing is now around 350ms.
2014-12-05 15:03:23 +01:00
Guillaume Beraudo
3e2cc3c246 Faster vector source clear
Three seconds speed up for clearing 100'000 features.
2014-12-05 15:03:20 +01:00
Guillaume Beraudo
e4063102b7 Potentialy faster array allocation in rbush 2014-12-05 15:03:07 +01:00
Bart van den Eijnden
3587418888 The writeFeatures method should always return a string 2014-12-05 14:54:59 +01:00
Paul Spencer
9802cfd56f Merge pull request #3011 from pagameba/master
opt_options may not be defined, use options
2014-12-05 08:50:51 -05:00
Paul Spencer
12ddc7da57 opt_options may not be defined, use options
Constructing an instance of `ol.interaction.DragPan` with no options should be possible, the reference to `opt_options` makes this throw an error when no options are passed.
2014-12-05 08:30:14 -05:00
Éric Lemoine
571cd1c57a Merge pull request #3009 from elemoine/hitdetectionfix
Fix hit detection bug
2014-12-05 14:12:49 +01:00
Éric Lemoine
a820ccea5a Use alphabetical order for canvas ReplayGroup methods 2014-12-05 12:32:54 +01:00
Éric Lemoine
9421bbd362 More clean-ups in the canvas replay code 2014-12-05 12:29:53 +01:00
Éric Lemoine
4c2a0d2053 Remove unused code in the canvas replay code 2014-12-05 12:24:54 +01:00
Éric Lemoine
b3ad50018d Remove unused local variable 2014-12-05 12:24:54 +01:00
Éric Lemoine
27d30e4286 Replay replays in correct order for hit detection 2014-12-05 12:24:54 +01:00
Éric Lemoine
3fb539460c Merge pull request #3002 from elemoine/regularstyle
Passing options to RegularShape is mandatory
2014-12-04 13:45:18 +01:00
Éric Lemoine
61f0c55975 Passing options to RegularShape is mandatory 2014-12-04 13:33:30 +01:00
Éric Lemoine
dfb55fb6a5 Merge pull request #2967 from camptocamp/webgl-point
Add support for drawing points with WebGL
2014-12-04 13:11:31 +01:00
Bart van den Eijnden
e716428895 Merge pull request #2701 from bartvde/geojson-geometryname
Writing GeoJSON does not respect the feature's geometryName
2014-12-04 13:04:17 +01:00
Éric Lemoine
87bb1b956b Merge remote-tracking branch 'upstream/master' into webgl-point
Conflicts:
	src/ol/style/circlestyle.js
	src/ol/style/regularshapestyle.js
	test/spec/ol/style/regularshapestyle.test.js
2014-12-04 12:57:46 +01:00
Éric Lemoine
b2e419654b Add ol.INITIAL_ATLAS_SIZE and ol.MAX_ATLAS_SIZE 2014-12-04 12:13:47 +01:00
tsauerwein
e109be4b57 Rename size to initialSize 2014-12-04 11:49:50 +01:00
tsauerwein
0fd1a575a9 Use string instead of ol.structs.Checksum 2014-12-04 11:48:43 +01:00
Bart van den Eijnden
f0bf61bbf3 Do not encode geometry in properties if geometryName is different 2014-12-04 11:23:01 +01:00
Éric Lemoine
6d1d47a918 Remove @api for ol.render.webgl.Immediate#flush 2014-12-04 11:22:15 +01:00
Éric Lemoine
aef11b7471 Better comment in ivectorcontext.js 2014-12-04 11:18:58 +01:00
tsauerwein
b5d80679d8 Add and fix documentation for atlas manager 2014-12-04 10:21:32 +01:00
Bart van den Eijnden
dcd81ab4b3 Merge pull request #3000 from bartvde/color-docs
Explain that return of ol.color.asArray should not be modified
2014-12-04 10:02:06 +01:00
Bart van den Eijnden
ccc7c1b9b7 Remove code that suggests that color arrays may be modified 2014-12-04 09:24:18 +01:00
tsauerwein
88a3fda514 Remove star example in favor of #2976 2014-12-04 09:23:00 +01:00
Bart van den Eijnden
22e33519c8 Explain that return of ol.color.asArray should not be modified 2014-12-04 09:07:21 +01:00
Andreas Hocevar
6255d8b493 Merge pull request #2997 from ahocevar/opengeo-boundless
Use new demo GeoServer location
2014-12-03 14:25:05 +01:00
Andreas Hocevar
0d16e0f0c8 Use new demo GeoServer location
demo.opengeo.org currently redirects to demo.boundlessgeo.com, so this
change makes it so the new location is used directly.
2014-12-03 14:13:36 +01:00
Bart van den Eijnden
c30233d9c7 Merge pull request #2976 from bartvde/regularstyle-example
Add an example to show off ol.style.RegularShape
2014-12-03 11:09:33 +01:00
Bart van den Eijnden
4a07327dab Add an example to show off ol.style.RegularShape (see #2706) 2014-12-03 10:58:00 +01:00
Pierre GIRAUD
cc39c26132 Merge pull request #2992 from pgiraud/tilevector_featureatcoordinate
Add support for finding features at a given coordinates for vector tiles - fixes
2014-12-02 08:54:46 +01:00
Pierre GIRAUD
9f725f99ca Rename methods 2014-12-01 14:22:03 +01:00
Andreas Hocevar
4cbeb5ee22 Merge pull request #2987 from kartverket/2966
Image layer renderers use source projection if given and equivalent
2014-12-01 13:06:42 +01:00
Thomas Hirsch
8e4d7c0715 isDefAndNotNull -> !isNull 2014-12-01 12:57:35 +01:00
Frédéric Junod
6790b8655a Merge pull request #2975 from fredj/mouseevent-offset
Use offsetX and offsetY if available
2014-12-01 11:23:09 +01:00
Frederic Junod
fabf05977a Use offsetX and offsetY if available 2014-12-01 10:56:34 +01:00
Frederic Junod
26ce8032eb Use ol.Map#getEventPixel in mouse position control 2014-12-01 10:56:34 +01:00
Thomas Hirsch
d5bafc5e9f linting 2014-12-01 10:53:36 +01:00
Pierre GIRAUD
ce4ecb711b getFeaturesAtCoordinateAtResolution is not stable yet 2014-12-01 09:49:02 +01:00
Éric Lemoine
4734530ce2 Merge pull request #2973 from s093294/patch-1
Making GetTileCoordFor methods public avaible
2014-12-01 09:05:29 +01:00
Poul Kjeldager Sørensen
1d7bae6b26 Update tilegrid.js 2014-11-30 21:53:42 +01:00
Thomas Hirsch
e385e81a20 linting 2014-11-30 10:08:41 +01:00
Pierre GIRAUD
25516fead9 Merge pull request #2986 from pgiraud/tilevector_featureatcoordinate
Add support for finding features at a given coordinates for vector tiles
2014-11-29 23:12:47 +01:00
Tim Schaub
f57f0e17ab Merge pull request #2937 from tschaub/clipped
Clip layer rendering to limited extent.
2014-11-29 14:01:43 -07:00
Éric Lemoine
56ad3ea9aa Merge pull request #2971 from elemoine/tilevector
Two ol.source.TileVector fixes
2014-11-29 20:07:33 +01:00
Bart van den Eijnden
1a2544d30a Merge pull request #2988 from bartvde/radius1-olx
Correct olx.style.RegularShapeOptions definition (r=@elemoine)
2014-11-29 14:08:40 +01:00
Bart van den Eijnden
6cd1f3f262 Correct olx.style.RegularShapeOptions definition 2014-11-29 13:52:36 +01:00
Bart van den Eijnden
275f5bc796 Merge pull request #2981 from bartvde/circle-linedash
Use lineDash in ol.style.Circle's and ol.style.RegularShape's stroke (r=@fredj,@elemoine)
2014-11-29 12:19:14 +01:00
Thomas Hirsch
c42ec27a4a image layer renderers use source projection if given and equivalent 2014-11-28 22:09:45 +01:00
Bart van den Eijnden
6556e5eb52 Merge pull request #2982 from bartvde/radius1
Allow radius1 as an alias for radius in ol.style.RegularShape
2014-11-28 19:58:46 +01:00
Bart van den Eijnden
da39e9f96a For stars, use radius1 and radius2 in ol.style.RegularShape 2014-11-28 19:44:16 +01:00
Pierre GIRAUD
5878e7f839 Adding getFeaturesAtCoordinateAtResolution in ol.source.TileVector 2014-11-28 17:30:45 +01:00
Pierre GIRAUD
802cfb59d5 Merge pull request #2980 from pgiraud/tilevector_getfeatures
Export ol.source.TileVector#getFeatures in built mode
2014-11-28 14:44:04 +01:00
Bart van den Eijnden
2d74a6b10f Use lineDash in ol.style.Circle's and ol.style.RegularShape's stroke 2014-11-28 13:11:25 +01:00
Pierre GIRAUD
34e82de8c8 Export ol.source.TileVector#getFeatures in built mode 2014-11-28 11:54:35 +01:00
Bart van den Eijnden
9e591d21d0 Merge pull request #2979 from bartvde/proj-urns
Support OGC srs urns without an EPSG database version
2014-11-27 20:09:54 +01:00
Bart van den Eijnden
890b96f1e9 Support OGC srs urns without an EPSG database version 2014-11-27 20:01:53 +01:00
Andreas Hocevar
5a29834555 Merge pull request #2978 from ahocevar/mapquest-zoom
Fix zoom levels for the MapQuest Street layer
2014-11-27 19:41:26 +01:00
Andreas Hocevar
5155e7a6ac Fix zoom levels for the MapQuest Street layer
A typo in 65b8e0f915 introduced this bug.
Before that, 18 zoom levels were used. Now we're using 19, which appears
to be available with full world coverage.
2014-11-27 19:13:02 +01:00
Éric Lemoine
1845665306 Correct spelling for "performance" 2014-11-27 17:14:22 +01:00
Antoine Abt
ed4bae064d Merge pull request #2889 from fgravin/getFeatureInfo
Add GetFeatureInfo format
2014-11-27 10:30:20 +01:00
Poul Kjeldager Sørensen
b72fddf7f4 Making GetTileCoordFor methods public avaible
I am using tilegrid to request elevation data tiles side by side of a raster layer. It would be nice if these two method was public avaible such I could use the tilegrid to convert mouse coordinates to tile coordinates to request backend tiles. 

The elevation tiles are not shown as a layer directly but rather used to compute and show information in relationship to mouse curser or map view.

This would save me the time of adding another tilegrid implementation in my application specific context.
2014-11-26 01:24:00 +01:00
Antoine Abt
22491601ba Restore proj4 state after tests 2014-11-25 17:38:06 +01:00
Antoine Abt
638f8275aa Export readFeatures method 2014-11-25 16:24:51 +01:00
Antoine Abt
fc16c4500d Renaming & better typing 2014-11-25 16:24:32 +01:00
Éric Lemoine
ec01aa45b9 Make createTileCoordTransform return identity func
This makes ol.tilegrid.TileGrid#createTileCoordTransform return the identity function. This makes it possible to use ol.source.TileVector with an ol.tilegrid.TileGrid (as opposed to an ol.tilegrid.XYZ).
2014-11-24 15:19:24 +01:00
Éric Lemoine
8ba830f91f Make loadFeaturesFromUrl accept an error callback 2014-11-24 15:13:17 +01:00
tsauerwein
d6841e6d9d Fix tests for when not run with WebGL support 2014-11-24 13:26:45 +01:00
tsauerwein
b8b48afc82 Use WEBGL_MAX_TEXTURE_SIZE as default 2014-11-24 09:57:09 +01:00
tsauerwein
e307579d49 Move constants from ol.has to ol 2014-11-24 09:42:10 +01:00
Éric Lemoine
3ed46c50cc Merge pull request #46 from elemoine/webgl-point-delete-resources
[webgl-point] Delete WebGL resources
2014-11-21 18:02:38 +01:00
Éric Lemoine
c0bbb6c4fa Disable vertex attrib array after replay 2014-11-21 17:48:58 +01:00
Éric Lemoine
fe2f83e878 Merge pull request #43 from elemoine/webgl-point-examples
[webgl-point] Revert changes to examples
2014-11-21 16:45:51 +01:00
Éric Lemoine
b3369cd516 Delete WebGL resources used by immediate API 2014-11-21 16:35:05 +01:00
Éric Lemoine
857a8ca2bb Delete WebGL resources used at postcompose time 2014-11-21 16:35:05 +01:00
Éric Lemoine
37f91690f1 Merge pull request #45 from elemoine/webgl-point-buffer
[webgl-point] Rename ol.structs.Buffer to ol.webgl.Buffer
2014-11-21 16:14:01 +01:00
Éric Lemoine
b904427087 Merge pull request #44 from elemoine/webgl-point-delete
[webgl-point] Add a comment to WebGL ImageReplay
2014-11-21 15:49:41 +01:00
Éric Lemoine
57db47ac18 Rename ol.structs.Buffer to ol.webgl.Buffer
The Buffer class is WebGL specific, and it's not really a "data structure", in the pure sense of the term.
2014-11-21 15:48:31 +01:00
Éric Lemoine
6360e4497d Add a comment to WebGL ImageReplay
A comment explaining why we don't need to call deleteProgram and deleteShader in the function returned by getDeleteResourcesFunction.
2014-11-21 15:39:23 +01:00
Éric Lemoine
2e873d3e6d Revert changes to the synthetic-points example
These changes were made for testing WebGL. We now have specific examples for WebGL point.
2014-11-21 15:15:06 +01:00
Éric Lemoine
336de4b1b1 Revert changes to the icon example
The changes were made for testing WebGL, and we now have specific examples for WebGL point.
2014-11-21 15:13:51 +01:00
Éric Lemoine
34953e8266 No need to mention WebGL in draw-feature example 2014-11-21 15:12:26 +01:00
Éric Lemoine
dae5bd53b7 Merge pull request #41 from elemoine/webgl-point-cleanup
[webgl-point] Use ol WebGL infrastructure in WebGL replay
2014-11-21 14:56:19 +01:00
gberaudo
a324f9805f Merge pull request #42 from gberaudo/webgl_immediate_fixes
[webgl-point] Webgl Immediate fixes
2014-11-21 14:43:12 +01:00
Antoine Abt
32d5300682 Merge pull request #2965 from tonio/pan_selectinteraction
Fix pan with select interaction in mousemove mode.
2014-11-21 14:01:51 +01:00
Guillaume Beraudo
fe74bd1b2c Add missing call to flush in webgl map renderer 2014-11-21 13:36:09 +01:00
Guillaume Beraudo
235f7c5bd1 Fix lack of @api doc in webgl Immediate 2014-11-21 13:35:20 +01:00
Éric Lemoine
fd9db053c0 Use ol WebGL infrastructure in WebGL replay 2014-11-21 11:39:47 +01:00
Tobias Sauerwein
ac24b615c3 Merge pull request #39 from tsauerwein/webgl-point-hit-detection-atlas
[webgl-point] Add hit-detection images of symbols to separate atlas
2014-11-21 11:37:48 +01:00
Éric Lemoine
44782c59a5 Merge pull request #40 from elemoine/webgl-point-cleanup
[webgl-point] Remove unused WebGL related code
2014-11-21 11:37:21 +01:00
Antoine Abt
374f02c725 Fix pan with select interaction in mousemove mode. 2014-11-21 11:23:06 +01:00
Éric Lemoine
1e12e7ca90 Remove unused WebGL related code 2014-11-21 10:51:00 +01:00
tsauerwein
fb8af71f25 Use goog.isNull and goog.isDef 2014-11-21 10:42:06 +01:00
Tobias Sauerwein
283d878177 Merge pull request #36 from tsauerwein/webgl-point-has-stable
Mark ol.has.WEBGL_MAX_TEXTURE_SIZE as API
2014-11-21 10:33:18 +01:00
Éric Lemoine
a665b76f8f Merge pull request #38 from elemoine/webgl-point-uint
Fix assert in WebGL replay
2014-11-21 10:20:44 +01:00
tsauerwein
8fcde092c7 Set the default of WEBGL_MAX_TEXTURE_SIZE to undefined
By doing so the examples will also work if WebGL is not supported.
2014-11-21 09:54:55 +01:00
tsauerwein
40c33a21eb Mark ol.has.WEBGL_MAX_TEXTURE_SIZE as API 2014-11-21 09:52:09 +01:00
tsauerwein
ab42965aa2 Add hit-detection image to atlas (RegularShape) 2014-11-21 09:41:38 +01:00
tsauerwein
4132505313 Add hit-detection image to atlas (Circle) 2014-11-21 09:41:10 +01:00
tsauerwein
97f8e4ac8d Keep separate atlas for hit-detection images 2014-11-21 09:40:22 +01:00
tsauerwein
82ef80cf60 Add imageSize and origin for hit-detection image 2014-11-21 09:39:38 +01:00
Éric Lemoine
05f71383f9 Fix assert in WebGL replay 2014-11-21 09:33:45 +01:00
Éric Lemoine
ee54d21b89 Merge pull request #37 from elemoine/webgl-point-uint
[webgl-point] Use OES_element_index_uint when available
2014-11-20 17:08:16 +01:00
Éric Lemoine
7c88329354 Use 50000 features in the WebGL vector examples 2014-11-20 16:39:25 +01:00
Éric Lemoine
2f7c97f25a Use OES_element_index_uint when available 2014-11-20 16:39:25 +01:00
gberaudo
3af2257345 Merge pull request #22 from gberaudo/webgl_immediate_point
[webgl-point] Webgl immediate implementation using a replay group
2014-11-20 14:01:08 +01:00
Guillaume Beraudo
7d01946fef Removing webgl Immediate delegation code for drawing text 2014-11-20 13:53:00 +01:00
Guillaume Beraudo
257784e277 More lenient webgl Immediate drawing of a feature.
Remove assert to handle drawing features with supported geometries.
2014-11-20 13:53:00 +01:00
Guillaume Beraudo
f1402522b5 More lenient Immediate geometry collection rendering
Render geometry collection elements with a valid renderer inspite of
throwing an assertion error. Allows support of hierarchies of points.
2014-11-20 13:53:00 +01:00
Guillaume Beraudo
20ceae2655 Webgl immediate implementation for points
Internally uses a replay group to share code.

Modifies the dynamic data example to use PointGeometry
and Feature in addition to MultiPoint.
2014-11-20 13:53:00 +01:00
Tobias Sauerwein
9681ec3e10 Merge pull request #35 from tsauerwein/webgl-point-fix-examples
Fix examples (minor)
2014-11-20 12:01:22 +01:00
Tobias Sauerwein
d5ffd8abac Merge pull request #34 from camptocamp/webgl-point-texture-per-image
Make sure only one texture is created per image
2014-11-20 12:01:11 +01:00
tsauerwein
d73e183c89 Fix examples
The very last style was not used.
2014-11-20 11:50:46 +01:00
tsauerwein
d12db0419c Make sure only one texture is created per image 2014-11-20 11:39:25 +01:00
Tobias Sauerwein
c564a0963c Merge pull request #33 from tsauerwein/webgl-point-symbol-atlas
[webgl-point] Use the atlas manager for symbols [WIP]
2014-11-20 09:50:03 +01:00
Bart van den Eijnden
4b61e864e7 Merge pull request #2960 from bartvde/layergroup-extent
LayerGroup extent should be used if extent not set on child layer
2014-11-20 08:53:23 +01:00
Bart van den Eijnden
3db26f1d2b Use the layergroup's extent if no extent provided 2014-11-20 08:35:40 +01:00
Frédéric Junod
aba47907ca Merge pull request #2956 from fredj/mousewheel-event-name
Revert "Remove mousewheel event name workaround"
2014-11-19 08:19:59 +01:00
Andreas Hocevar
ca3dfe2b35 Merge pull request #2959 from ahocevar/unstable-doc-fix
Fix typo in selector
2014-11-18 16:53:25 +01:00
Andreas Hocevar
4714c9b380 Fix typo in selector 2014-11-18 16:37:18 +01:00
Frederic Junod
552f9483cb Revert "Remove mousewheel event name workaround"
This reverts commit 20ce664068.

Reverted upstream: 4ee0daca0e
2014-11-18 09:00:50 +01:00
Frédéric Junod
a77b7aa817 Merge pull request #2895 from fredj/remove-font-family
Move font-family customization to layout.css
2014-11-17 16:43:57 +01:00
Éric Lemoine
3bf4cf28f8 Merge pull request #2896 from kalinbas/patch-1
Remove duplicated style parameter
2014-11-16 20:24:31 +01:00
Tim Schaub
b1ac2ff2f2 Merge pull request #2938 from tschaub/image-static-docs
Additional image static docs.
2014-11-16 08:47:19 -08:00
Tim Schaub
46e33a2979 Merge pull request #2939 from tschaub/sticky-stability
Make stability checkbox sticky.
2014-11-14 16:36:34 -08:00
Éric Lemoine
a306c5327c Merge pull request #2949 from elemoine/rbush-debug
Add ol.ext to hosted dir
2014-11-13 21:33:07 -09:00
Éric Lemoine
2b2f745248 Add ol.ext to hosted dir 2014-11-14 00:16:28 +01:00
tsauerwein
327763cc82 Add stars to example 2014-11-13 12:04:51 +01:00
tsauerwein
f07e59d63f Add regular shape example 2014-11-13 11:52:35 +01:00
tsauerwein
e9e76954b2 Integrate atlas manager into RegularShape 2014-11-13 11:48:23 +01:00
Frédéric Junod
41eeed5f35 Merge pull request #2943 from fredj/applyTransform-api
Mark applyTransform api stable
2014-11-13 11:05:18 +01:00
tsauerwein
7593a18a19 Add atlas manager to RegularShapeOptions 2014-11-13 10:53:03 +01:00
tsauerwein
ea65f65b37 Implement getChecksum for RegularShape 2014-11-13 10:50:07 +01:00
Frederic Junod
c701ad6749 Mark applyTransform api stable 2014-11-13 10:46:06 +01:00
tsauerwein
7e9dd65f8b Add example for symbols in an atlas 2014-11-13 10:24:28 +01:00
Andreas Hocevar
cee1575a6c Merge pull request #2936 from ahocevar/unselect-index
Fix unselection of selected features
2014-11-13 08:39:40 +01:00
tsauerwein
62e9d259b2 Fix @type annotation
A description for @type annotation emits a warning.
2014-11-12 17:22:27 +01:00
tsauerwein
b3b7579f84 Use atlas manager for circle style 2014-11-12 17:22:27 +01:00
tsauerwein
ffced21893 Add atlas manager to CircleOptions 2014-11-12 17:22:27 +01:00
Tobias Sauerwein
2a5fffaee4 Merge pull request #32 from tsauerwein/webgl-point-offset
[webgl-point] Fix call to drawElements
2014-11-12 17:21:21 +01:00
tsauerwein
41887e660b Fix call to drawElements
The offset must be given in bytes.
2014-11-12 16:29:46 +01:00
Tim Schaub
39010238b9 Make stability checkbox sticky 2014-11-11 20:06:26 -08:00
Tim Schaub
b991895c61 Similar detail for all crossOrigin options 2014-11-11 19:04:25 -08:00
Tim Schaub
b269161276 A bit more static image doc 2014-11-11 19:01:05 -08:00
Andreas Hocevar
96729baa9f Push the feature, not the index 2014-11-11 20:09:24 +01:00
Tim Schaub
3685626187 Example demonstrating limited layer extent 2014-11-11 09:11:12 -08:00
Tim Schaub
50c0bc6879 Clip rendering to layer extent 2014-11-11 08:59:57 -08:00
Andreas Hocevar
08aa6ee82d Do not rely on unstable index 2014-11-11 12:35:19 +01:00
Éric Lemoine
84889d9dc5 Merge pull request #2935 from geosense/master
Fix jsdoc comment
2014-11-11 11:05:47 +01:00
paulsimon
89248cf60a Fix jsdoc comment 2014-11-10 20:49:20 +01:00
Éric Lemoine
01bc02214c Merge pull request #31 from elemoine/webgl-point-refactoring
[webgl-point] Minor refactoring to WebGL image replay func
2014-11-10 18:21:42 +01:00
Éric Lemoine
a7a2499bc7 Merge pull request #2933 from elemoine/fix-warning
Fix compile warning
2014-11-10 18:20:45 +01:00
Éric Lemoine
344658edb0 Fix compile warning 2014-11-10 17:24:29 +01:00
Éric Lemoine
46e436b599 Minor refactoring to WebGL image replay func 2014-11-10 17:19:31 +01:00
Éric Lemoine
23a24973eb Merge pull request #30 from elemoine/webgl-point-delete
[webgl-point] Add ol.renderer.webgl.VectorLayer#disposeInternal
2014-11-10 17:18:28 +01:00
Éric Lemoine
c8e22bdb44 Merge pull request #29 from elemoine/webgl-point-merge
[webgl-point] Merge openlayers:master into the branch
2014-11-10 17:18:04 +01:00
Éric Lemoine
d9a4482393 Add ol.renderer.webgl.VectorLayer#disposeInternal
Implement disposeInternal to free WebGL resources (deleteBuffer and deleteTexture).
2014-11-10 16:52:32 +01:00
Éric Lemoine
501e7456c0 Merge remote-tracking branch 'upstream/master' into webgl-point-merge 2014-11-10 15:40:03 +01:00
Éric Lemoine
6c80ddcb14 Merge pull request #28 from elemoine/webgl-point-shaders
[webgl-point] Add support for changing "colors"
2014-11-10 15:35:48 +01:00
Éric Lemoine
87865be9f4 Add "color" support to WebGL image replay
This adds support for layer brightness, contrast, hue, saturation.
2014-11-10 15:00:35 +01:00
Éric Lemoine
240f425c46 Add global opacity support to WebGL image replay
vectorLayer.setOpacity() now works as expected.
2014-11-10 14:58:57 +01:00
Éric Lemoine
1de46c68d7 Use "discard" in image shader
This leads to better looking Timeline profiles in Chrome's developer tools!
2014-11-10 14:58:56 +01:00
Éric Lemoine
ce879e115f Merge pull request #2931 from elemoine/viewdocs
Improvement to view docs
2014-11-10 13:47:12 +01:00
Éric Lemoine
cb8167b31a Merge pull request #27 from elemoine/webgl-point-texture-coords
Fix texture coordinates in WebGL image replay
2014-11-10 13:05:38 +01:00
Éric Lemoine
96f8a806a6 Improvement to view docs 2014-11-10 12:48:43 +01:00
Éric Lemoine
fb816b7ab5 Fix texture coordinates in WebGL image replay 2014-11-10 12:30:59 +01:00
Éric Lemoine
bdf3798c7a Merge pull request #26 from elemoine/webgl-point-tests
[webgl-point] Add unit tests for WebGL image replay
2014-11-10 12:30:25 +01:00
Frédéric Junod
1df7f6c2c7 Merge pull request #2906 from fredj/polyline-order
Assume a latitude, longitude order for Polyline format
2014-11-10 12:13:35 +01:00
Éric Lemoine
a2cf5b0889 Add unit tests for WebGL image replay 2014-11-10 11:02:32 +01:00
Éric Lemoine
d91330d83d Merge pull request #25 from elemoine/webgl-point-delete-buffers
[webgl-point] Delete WebGL buffers
2014-11-10 11:00:12 +01:00
Éric Lemoine
c79f3aa101 Delete WebGL buffers 2014-11-10 09:54:04 +01:00
Éric Lemoine
b7376779fb Merge pull request #2927 from elemoine/finishdrawing
Make it possible to programmatically finish drawing
2014-11-10 08:55:45 +01:00
Éric Lemoine
2f17106b68 Merge pull request #2928 from elemoine/patch-3
Do not rename handleMapBrowserEvent internally
2014-11-09 22:44:55 +01:00
Éric Lemoine
f32c550dbe Better docs for handleMapBrowserEvent 2014-11-09 22:08:29 +01:00
Éric Lemoine
bdeb195bfb Add finishDrawing to API
This makes it posssible to programmatically finish drawing.
2014-11-09 20:50:36 +01:00
Éric Lemoine
583f47d24d No need to pass event to finishDrawing_ 2014-11-09 20:49:52 +01:00
Éric Lemoine
d85c31e112 Merge pull request #23 from elemoine/webgl-point-comment
[webgl-point] Some explanation to the icon-sprite-webgl example
2014-11-07 18:51:53 +01:00
Éric Lemoine
97dafa6425 Some explanation to the icon-sprite-webgl example 2014-11-07 18:50:56 +01:00
Éric Lemoine
5998011985 Merge pull request #21 from elemoine/webgl-point-compile-err
[webgl-point] Add an assertion to avoid compile error
2014-11-07 17:02:11 +01:00
Éric Lemoine
73e76fe468 Add an assertion to avoid compile error 2014-11-07 16:48:29 +01:00
Tobias Sauerwein
4c3a7d0248 Merge pull request #14 from tsauerwein/webgl-point-atlas-manager
[webgl-point] Add atlas manager
2014-11-07 14:50:33 +01:00
gberaudo
dee4d3b130 Merge pull request #20 from gberaudo/webgl_feature_overlay
[webgl-point] Add feature overlay support to webgl map renderer.
2014-11-07 14:24:08 +01:00
Guillaume Beraudo
c05ffff629 Dynamically selected renderer in draw feature example 2014-11-07 14:20:51 +01:00
Guillaume Beraudo
6abe3047ec Add feature overlay support to webgl map renderer. 2014-11-07 14:17:31 +01:00
Éric Lemoine
89e682ba9c Merge pull request #2924 from gberaudo/canvasmaprenderer_readability
Readability rearangement in canvasmaprenderer.js
2014-11-07 14:00:39 +01:00
Guillaume Beraudo
f715e3186a Readability rearangement in canvasmaprenderer.js 2014-11-07 11:15:02 +01:00
tsauerwein
fe3cdd8d1b Add AtlasManagerOptions and improve docs 2014-11-07 11:12:32 +01:00
Éric Lemoine
440d253335 Merge pull request #19 from elemoine/webgl-point-rotation
[webgl-point] Add support for icon rotation
2014-11-07 11:12:31 +01:00
Éric Lemoine
3268b20333 Make icon-sprite-webgl example usable with Canvas 2014-11-07 10:57:59 +01:00
Éric Lemoine
e0c5e742ad Use 30000 points in icon-sprite-webgl example 2014-11-07 10:52:05 +01:00
Éric Lemoine
0a364b32ed Use LINEAR for icon textures 2014-11-07 10:49:58 +01:00
Éric Lemoine
c0acc8d825 Add comment describing the vertices sent to GPU 2014-11-07 09:59:56 +01:00
Tim Schaub
c50b7d759c Merge pull request #2911 from tschaub/fires
List events fired in the navigation.
2014-11-06 11:10:37 -07:00
Tim Schaub
d4658837e2 Use toggleClass instead of addClass and removeClass 2014-11-06 10:42:40 -07:00
Andreas Hocevar
1d221f8166 Add ability to filter out unstable Fires items 2014-11-06 10:32:17 -07:00
tsauerwein
ebe0c6a88c Move AtlasManager to ol.style.AtlasManager 2014-11-06 17:51:15 +01:00
Éric Lemoine
0c6a40f5b5 Support image rotateWithView 2014-11-06 17:16:58 +01:00
tsauerwein
64da2647a6 Take space into account when checking size 2014-11-06 17:09:34 +01:00
tsauerwein
f0841b38cd Use id string instead of hash code 2014-11-06 16:22:46 +01:00
Éric Lemoine
4924f34287 Merge pull request #2921 from gberaudo/small_overlay_optimization
Small feature overlay optimization
2014-11-06 15:45:40 +01:00
tsauerwein
5ba6ddcecf Only create new atlas after testing all existing 2014-11-06 15:28:44 +01:00
Éric Lemoine
fb24c68b9c Support image rotation 2014-11-06 15:27:25 +01:00
tsauerwein
509fbaee1c Replace hashCode with checksum
Hash codes are not collision free, so what we
actually need is a checksum.
2014-11-06 15:08:34 +01:00
Éric Lemoine
815a22bd22 Merge pull request #18 from elemoine/webgl-point-misc
[webgl-point] Misc changes
2014-11-06 14:30:53 +01:00
Guillaume Beraudo
6b8a5870ba Small feature overlay optimization
Compute `getSquaredTolerance` once, out of the loops.
2014-11-06 11:49:44 +01:00
Frederic Junod
83025fb97d Assume a latitude, longitude order for Polyline format 2014-11-06 10:58:52 +01:00
tsauerwein
581b372c6a Add constant ol.has.WEBGL_MAX_TEXTURE_SIZE 2014-11-06 10:24:14 +01:00
Éric Lemoine
43756a2d59 Support image scale 2014-11-06 09:47:24 +01:00
Éric Lemoine
64a7cdf372 Implement getImageSize in ol.style.Circle and RegularShape 2014-11-06 09:35:47 +01:00
Éric Lemoine
9029c0fdad Use replay maxExtent center as the coord system origin 2014-11-06 09:24:47 +01:00
Frédéric Junod
afe1467ddf Merge pull request #2897 from fredj/longclick
Remove pointerup listener on controls
2014-11-04 17:32:14 +01:00
Frédéric Junod
03ed3fe43f Merge pull request #2912 from fredj/jquery-externs
jQuery externs update
2014-11-04 14:57:18 +01:00
Frederic Junod
84c11b08fa Fix filter() function parameter in jquery externs
Submitted upstream: https://github.com/google/closure-compiler/pull/672
2014-11-04 14:26:05 +01:00
Frederic Junod
161d75dd22 Update jquery externs
From https://github.com/google/closure-compiler/blob/master/contrib/externs/jquery-1.9.js
2014-11-04 14:23:34 +01:00
Frederic Junod
1253177ae4 Add FastClick in mobile-full-screen example 2014-11-04 11:48:33 +01:00
Florent gravin
0f99f113e3 Change format name to WMSGetFeatureInfo 2014-11-04 09:39:19 +01:00
Antoine Abt
c0f2187310 Make GetFeatureInfo format pass ol2 test suite 2014-11-04 09:25:13 +01:00
Florent gravin
d0d6215550 Add tests suite for GetFeatureInfo format 2014-11-04 09:25:13 +01:00
Florent gravin
759386e37e Add WMS GetFeatureInfo reader format 2014-11-04 09:25:13 +01:00
Frederic Junod
4c8d8c21dc Remove 'pointerup' listener in ol.control.OverviewMap 2014-11-04 09:21:41 +01:00
Frederic Junod
e32be091a4 Remove 'pointerup' listener in ol.control.Attribution 2014-11-04 09:21:41 +01:00
Frederic Junod
cc442d964b Remove 'pointerup' listener in ol.control.ZoomToExtent 2014-11-04 09:21:40 +01:00
Frederic Junod
e55caef0d2 Remove 'pointerup' listener in ol.control.Rotate 2014-11-04 09:21:40 +01:00
Frederic Junod
c7a3fcd426 Remove 'pointerup' listener in ol.control.Zoom 2014-11-04 09:21:40 +01:00
Frederic Junod
224d86802e Remove 'pointerup' listener in ol.control.FullScreen 2014-11-04 09:21:40 +01:00
Éric Lemoine
8415a0c8ba Fix type for image replay origin 2014-11-04 08:48:43 +01:00
Tim Schaub
02bfa42736 List events fired in the navigation 2014-11-03 16:52:17 -07:00
Éric Lemoine
0115368649 Merge pull request #17 from elemoine/webgl-point-jitter
[webgl-point] Address precision/jitter problems
2014-11-03 18:10:19 +01:00
tsauerwein
7618c96c29 Double the size when creating new atlases 2014-11-03 18:00:57 +01:00
Éric Lemoine
28e51740c6 Address precision/jitter problems
Address precision/jitter problems by using coordinates relative to the Replay max extent rather that the world.
2014-11-03 17:45:50 +01:00
Éric Lemoine
1c9a87d50d Merge pull request #16 from elemoine/webgl-point-opacity
[webgl-point] Add support for icon opacity
2014-11-03 17:04:05 +01:00
Éric Lemoine
209d39a460 Support image opacity 2014-11-03 16:50:33 +01:00
Éric Lemoine
d7a992ba83 Merge pull request #15 from elemoine/webgl-point-anchor
[webgl-point] Add support for icon anchors
2014-11-03 16:15:59 +01:00
tsauerwein
1bd388188b Add atlas manager 2014-11-03 15:40:42 +01:00
Éric Lemoine
05bbfd58a8 Support image anchor 2014-11-03 15:40:00 +01:00
Éric Lemoine
c99b1772ed Merge pull request #13 from elemoine/webgl-point-merge
[webgl-point] Merge openlayers:master into the branch
2014-11-03 15:05:29 +01:00
Éric Lemoine
46b03e79a4 Merge remote-tracking branch 'upstream/master' into webgl-point 2014-11-03 15:02:22 +01:00
Éric Lemoine
787f98c5f2 Merge pull request #12 from elemoine/webgl-point-refactor
[webgl-point] Refactoring and fixes
2014-11-03 15:01:35 +01:00
Éric Lemoine
2c92d9a709 Fix drawElement call 2014-11-03 14:54:41 +01:00
Éric Lemoine
14d7f2a797 Delete ImageReplay textures 2014-11-03 14:16:32 +01:00
Éric Lemoine
4534bb8861 Make shaders closer to WebGL image replay 2014-11-03 13:46:34 +01:00
Andreas Hocevar
bf43816b66 Merge pull request #2706 from yportier/master 2014-11-03 13:24:37 +01:00
Yannick
a1dded3c27 Add ol.style.RegularShape 2014-11-03 13:24:30 +01:00
Antoine Abt
26f025a409 Merge pull request #2888 from fgravin/boundedBy
Element boundedBy must not be set as geometry field on GML reading
2014-11-03 11:34:30 +01:00
Éric Lemoine
00f20a11b5 Merge pull request #2903 from elemoine/icon-docs
Improved docs for icon options
2014-10-31 19:54:05 +01:00
tsauerwein
22e1159736 Implement hashCode for ol.style.Circle 2014-10-31 17:22:44 +01:00
Éric Lemoine
6eea0a1fc6 Improved docs for icon options 2014-10-31 17:16:04 +01:00
Éric Lemoine
95d2085cc4 Merge pull request #11 from elemoine/webgl-point-refactor
Clean up WebGL replay code
2014-10-31 15:56:27 +01:00
Éric Lemoine
495a7c95a1 Clearer comment 2014-10-31 15:42:52 +01:00
Éric Lemoine
64bc8f74be Better typing, fewer arrays 2014-10-31 15:41:25 +01:00
Éric Lemoine
8bff6a1abe Flatten the WebGL replay class hierarchy 2014-10-31 15:23:50 +01:00
Éric Lemoine
ed1be0d4e7 Merge pull request #10 from elemoine/icon-sprite
[webgl-point] Make WebGL image replay support icon sprites
2014-10-31 14:52:24 +01:00
Frederic Junod
d4bd5f24c6 Move font-family customization to layout.css 2014-10-31 11:57:27 +01:00
Éric Lemoine
f332cdacf1 Add an icon sprite webgl example 2014-10-31 11:17:24 +01:00
tsauerwein
46ec078501 Add Hashable interface 2014-10-31 11:17:03 +01:00
Éric Lemoine
9201312737 Add support for icon sprites 2014-10-31 11:16:51 +01:00
Tim Schaub
178e3f1856 Merge pull request #2900 from tschaub/wrapper
Allow build.js task to add header.
2014-10-30 13:07:39 -06:00
Tim Schaub
4b7e52c76f Allow build.js task to add header 2014-10-30 12:18:08 -06:00
Frédéric Junod
127818f9b7 Merge pull request #2893 from fredj/simplify-createDom
Don't pass an object to goog.dom.createDom for the class name
2014-10-30 17:57:44 +01:00
Frederic Junod
6ca1640659 Don't pass an object to goog.dom.createDom for the class name
If the second argument to goog.dom.createDom is a string, then this is
the className of the new element.
2014-10-30 16:53:42 +01:00
Frédéric Junod
2d53eb7667 Merge pull request #2781 from fredj/button-title
Use a standard title attribute for the control buttons
2014-10-30 16:52:09 +01:00
kalinbas
08c6e601b8 Update wmtssource.js
- "duplicated" style parameter is not supported by Intergraph GeoMedia
- Uppercase Parameter is needed by ARCGis 
- are there other constraints?
2014-10-30 13:23:09 +01:00
Frederic Junod
a715a38d75 Simplify CSS code in custom-controls example
By using the ol-control css class and a button instead of a link.
2014-10-30 12:37:44 +01:00
Frédéric Junod
ffeda3f25a Merge pull request #2852 from fredj/issue-2845
Add missing space between class names
2014-10-30 12:17:54 +01:00
Andreas Hocevar
8027c577bc Merge pull request #2891 from ahocevar/imageloadfunction
Introduce a load function for image sources
2014-10-30 09:33:47 +01:00
Andreas Hocevar
765189b86e Add missing types to olx.js 2014-10-30 09:22:45 +01:00
Andreas Hocevar
fed6376e26 Add imageLoadFunction option for ol.source.ImageWMS 2014-10-30 09:22:45 +01:00
Andreas Hocevar
a1e19b4905 Add imageLoadFunction option for ol.source.ImageStatic 2014-10-30 09:22:44 +01:00
Andreas Hocevar
46870456ac Add imageLoadFunction option to ol.source.ImageMapGuide 2014-10-30 09:22:44 +01:00
Andreas Hocevar
f5761daa61 Add a default imageLoadFunction to be used by sources 2014-10-30 09:22:44 +01:00
Andreas Hocevar
46eb14dc96 Give ol.Image an imageLoadFunction argument 2014-10-30 09:22:34 +01:00
Andreas Hocevar
87a06c0086 Rename #getImageElement to #getImage
This adds consistency between ol.Image and ol.ImageTile. Now both have
an exportable getImage method.
2014-10-30 08:42:09 +01:00
Frederic Junod
b40c439d33 Add new button-title example 2014-10-29 16:21:34 +01:00
Florent gravin
74410487aa Refactor the use of ol.xml.getLocalName(n) 2014-10-28 16:48:16 +01:00
Frederic Junod
9ebde652dc Use a standard title attribute for the control buttons 2014-10-28 15:22:46 +01:00
Éric Lemoine
abb86e16f0 Merge pull request #2885 from elemoine/tilejson
Add wrapX option to TileJSON source
2014-10-28 14:58:08 +01:00
Éric Lemoine
cd80ca6024 Merge pull request #2890 from elemoine/layerproperty
Use correct layer property names
2014-10-28 14:57:56 +01:00
Éric Lemoine
6fe80c4111 Use correct layer property names 2014-10-28 14:22:27 +01:00
Florent gravin
51da7bad8c Element boundedBy must not be set as geometry field on GML reading 2014-10-28 09:56:55 +01:00
Tim Schaub
f863386f39 Merge pull request #2887 from tschaub/more-d
Explicitly pass coordinate dimension before transforming.
2014-10-27 13:27:43 -06:00
Tim Schaub
e68eb726d2 Test 3d points and proj4 defs 2014-10-27 12:39:28 -06:00
Éric Lemoine
44d9950e8c Merge pull request #2886 from elemoine/ternary
Use ternary notation
2014-10-27 17:47:10 +01:00
Tim Schaub
8a82048c12 Explicitly pass coordinate dimension before transforming 2014-10-27 10:33:46 -06:00
Éric Lemoine
1f54b33961 Add wrapX option to TileJSON source 2014-10-27 17:23:00 +01:00
Éric Lemoine
dc7aee1974 Use ternary notation 2014-10-27 17:22:17 +01:00
Antoine Abt
4d4d9abe76 Merge pull request #2869 from tonio/xmlexport
Export useful xml functions
2014-10-27 17:13:52 +01:00
Tim Schaub
aa41da1318 Merge pull request #2884 from tschaub/wkt-returns
Make WKT methods throw errors instead of calling a method that throws.
2014-10-27 09:15:20 -06:00
Antoine Abt
ef435d9deb Improve doc for xml functions 2014-10-27 16:00:42 +01:00
Antoine Abt
88d1258e83 Rename ol.xml.load to ol.xml.parse 2014-10-27 16:00:42 +01:00
Antoine Abt
757b6a214c Rename ol.xml.parse to ol.xml.parseNode 2014-10-27 16:00:42 +01:00
Tim Schaub
7c2e0fa627 Verbose warnings 2014-10-27 08:45:11 -06:00
Antoine Abt
ba2d39e683 Export useful xml functions 2014-10-27 15:45:06 +01:00
Tim Schaub
aad9e4e8d3 Throw instead of calling a function that throws 2014-10-27 08:44:31 -06:00
Antoine Abt
67ec0b5988 Merge pull request #2746 from fgravin/gmlVersionFormat
Add versioning for GML format
2014-10-27 15:44:06 +01:00
Frédéric Junod
ee3259d13e Merge pull request #2882 from fredj/wmts_requestEncoding_string
Allow olx.source.WMTSOptions#requestEncoding to be a string
2014-10-27 14:24:15 +01:00
Frederic Junod
398b1f86ce Allow olx.source.WMTSOptions#requestEncoding to be a string 2014-10-27 13:48:47 +01:00
Frédéric Junod
f938ce82d9 Merge pull request #2881 from fredj/doc
Add default requestEncoding in documentation
2014-10-27 13:41:18 +01:00
Frederic Junod
70375d5227 Add default requestEncoding in documentation 2014-10-27 13:38:37 +01:00
Frédéric Junod
d77d504d01 Merge pull request #2877 from fredj/rm_fixme
Remove FIXME in src/ol/structs/rbush.js
2014-10-27 09:34:52 +01:00
Frederic Junod
bd72f6117b Remove FIXME in src/ol/structs/rbush.js 2014-10-27 09:24:27 +01:00
Éric Lemoine
bbea205a9c Use texture to draw points with WebGL 2014-10-27 09:18:19 +01:00
Éric Lemoine
2ecd2eadf7 Remove snap code from synthetic-points example 2014-10-27 09:18:19 +01:00
Éric Lemoine
c8225e49b1 Use triangles to draw points with WebGL 2014-10-27 09:18:19 +01:00
Éric Lemoine
9f108391ae Get renderer from query string in vector point examples 2014-10-27 09:18:19 +01:00
Éric Lemoine
33adcd3903 Add very basic webgl vector renderer 2014-10-27 09:18:19 +01:00
Tobias Sauerwein
5ddbe54310 Merge pull request #2870 from tsauerwein/rbush-bulk-insert
Use bulk-insertion for addFeatures
2014-10-27 09:12:23 +01:00
Tim Schaub
2d415b6ce8 Merge pull request #2856 from tschaub/set-source
Allow layer source to be set.
2014-10-26 15:04:13 -06:00
Tim Schaub
aa6a5d52dd Merge pull request #2875 from tschaub/orphan-logos
Avoid modifying `map.logos_` with each frame.
2014-10-26 13:11:54 -06:00
Tim Schaub
8fb5dc75ef Merge pull request #2874 from tschaub/tiny-logo
Avoid shrinking logos.
2014-10-26 00:32:28 -06:00
Tim Schaub
03fa9965c5 Avoid modifying map.logos_ with each frame 2014-10-25 23:54:42 -06:00
Tim Schaub
7152cdc87f Guard against Bootstrap's max-width setting
Bootstrap sets both the max-width and max-height of all image elements to 100%.  When attributions are removed from their containing element, this causes logos to shrink.
2014-10-25 23:37:20 -06:00
Tim Schaub
d712b2ba54 Allow source to be set after layer construction 2014-10-25 15:34:47 -06:00
Tim Schaub
c06774acb5 Allow source to be set with set method as well 2014-10-25 15:31:08 -06:00
Tim Schaub
88030dbce7 Allow layer source to be set 2014-10-25 15:31:07 -06:00
Frédéric Junod
773ac433ce Merge pull request #2872 from fredj/remove_beforechange_event
Remove the beforepropertychange event from ol.Object
2014-10-24 21:03:31 +02:00
Tim Schaub
771c418de3 Merge pull request #2868 from tschaub/event-doc
Remove doc about dispatching events.
2014-10-24 12:07:45 -06:00
Tim Schaub
1652da8e9d Merge pull request #2871 from tschaub/npm-install
Make `npm install` a dependency of node based targets.
2014-10-24 12:07:02 -06:00
Frederic Junod
1d533d2924 Remove the beforepropertychange event from ol.Object
propertychange events include the oldValue so remove the beforepropertychange
event type.
2014-10-24 18:09:34 +02:00
Tim Schaub
5cab561f12 Make npm install a dependency of node based targets 2014-10-24 09:28:27 -06:00
tsauerwein
56e3ba4578 Use bulk insertion for addFeatures 2014-10-24 17:10:02 +02:00
tsauerwein
97acd989a2 Add support for bulk insertion to rbush wrapper 2014-10-24 17:10:02 +02:00
Tim Schaub
8eaeb7bc35 Merge pull request #2867 from openlayers/module
Support for importing CommonJS style modules (like rbush).
2014-10-24 09:07:25 -06:00
Tim Schaub
c6b172aef2 Work with modules that assign to exports
CommonJS style modules will either assign `exports` to `module` or will assign properties to `exports`.  This allows us to work with either style:

    module.exports = Foo;

or

    exports.Foo = Foo;

Support for additional properties that are assigned to `exports` (or non-function values assigned to `module.exports`) will likely take additional typedef work in the wrapper.
2014-10-24 08:45:59 -06:00
Tim Schaub
120ace5cef Minimal typedef 2014-10-24 08:45:31 -06:00
tsauerwein
47d17342ca Set type for ol.ext.* 2014-10-24 08:39:03 -06:00
Éric Lemoine
478ecb80fd Merge pull request #2865 from elemoine/oldvalue
Add old value to property change events
2014-10-24 10:58:06 +02:00
Éric Lemoine
6d095bdf7c Add old value to property change events 2014-10-24 09:24:37 +02:00
Tim Schaub
bf314f30d5 Remove doc about dispatching events 2014-10-23 17:10:29 -06:00
tsauerwein
af4184e743 Add wrapper for the RBush 2014-10-23 15:57:27 -06:00
Tim Schaub
4785001548 Parse examples and build external modules on install 2014-10-23 15:57:10 -06:00
Éric Lemoine
780df9819b Merge pull request #2866 from elemoine/2801
Cluster source calls loadFeatures on vector source
2014-10-23 22:59:19 +02:00
Joseph Miller
d917952615 Cluster source calls loadFeatures on vector source
Closes #2801
2014-10-23 22:29:44 +02:00
Bart van den Eijnden
fd6a5d8df3 Merge pull request #2864 from bartvde/bing-mixed-content
Avoid mixed content in Bing Maps (r=@elemoine)
2014-10-23 22:25:57 +02:00
Tim Schaub
01b64bc655 General purpose task for building external modules 2014-10-23 13:40:31 -06:00
Bart van den Eijnden
ed980e0e73 Add uriScheme parameter to Bing Maps metadata request to avoid mixed content 2014-10-23 21:33:41 +02:00
Frédéric Junod
a6c3607897 Merge pull request #2855 from fredj/blur_preventDefault
Move touchstart preventDefault to ol.renderer.dom.Map
2014-10-23 17:38:44 +02:00
Andreas Hocevar
45967992fb Merge pull request #2690 from ahocevar/layer-vectoroverlay
Vector rendering with the DOM renderer
2014-10-23 10:19:20 +02:00
Frederic Junod
c83caa9686 Add ol.renderer.dom.Map#disposeInternal 2014-10-23 08:53:55 +02:00
Frederic Junod
f440de2446 Move touchstart preventDefault to ol.renderer.dom.Map
`preventDefault` is called to prevent the img context menu on mobile devices.
2014-10-23 08:48:22 +02:00
Tim Schaub
0a93ad5430 Merge pull request #2859 from tschaub/vector-doc
Document exportable vector source symbols.
2014-10-22 17:43:21 -06:00
Tim Schaub
473023d146 Document exportable vector source symbols 2014-10-22 09:12:37 -06:00
Tim Schaub
fa7f580053 Merge pull request #2857 from tschaub/osm-attribution
Update the OSM attribution.
2014-10-21 23:16:21 -06:00
Tim Schaub
3f5dd45310 One OSM attribution 2014-10-21 23:00:10 -06:00
Pol Dell'Aiera
119289040f Issue #2802: Update OSM attribution 2014-10-21 22:48:46 -06:00
Frederic Junod
d8d0f87ad6 Add missing space between class names
Fixes #2845
2014-10-18 12:06:24 +02:00
Éric Lemoine
b42b6ae1c5 Merge pull request #2847 from elemoine/zoomify-example
Constrain center in zoomify example
2014-10-17 08:07:38 +02:00
Éric Lemoine
6d531cdc29 Constrain center in zoomify example 2014-10-16 19:42:26 +02:00
Éric Lemoine
b61c257124 Merge pull request #2838 from mike-mcgann/wmts-tile-class
ol.source.WMTS now passes tileClass option to ol.source.TileImage
2014-10-15 15:33:12 +02:00
Mike McGann
5a2c206cab ol.source.WMTS now passes tileClass option to ol.source.TileImage
The constructor for ol.source.TileImage accepts an option for the tileClass,
but ol.source.WMTS does not pass this to the parent. This pull request adds
that in.
2014-10-15 09:13:35 -04:00
Éric Lemoine
74fd55a3e8 Merge pull request #2821 from elemoine/polygon-from-extent
Add ol.geom.Polygon.fromExtent
2014-10-15 07:48:58 +02:00
Tim Schaub
017703f05d Merge pull request #2835 from j16sdiz/master
Use correct Stamen URL for SSL.
2014-10-14 16:25:34 -06:00
Tim Schaub
2b50734d0b Merge pull request #2839 from tschaub/publish
Dependency updates and new package name.
2014-10-14 14:44:01 -06:00
Tim Schaub
26006418a8 Package metadata 2014-10-14 14:32:58 -06:00
Tim Schaub
dd665c7e9e New package name and updated dependencies 2014-10-14 14:32:58 -06:00
Tim Schaub
9597a383e8 Merge pull request #2840 from tschaub/point-resolution
Fewer point resolution tests.
2014-10-14 14:29:50 -06:00
Tim Schaub
081f3689b1 Quarter the number of test cases to avoid timeout 2014-10-14 13:58:19 -06:00
Tim Schaub
8b3677967d Use getMetersPerUnit 2014-10-14 13:45:23 -06:00
Éric Lemoine
323886cdda Merge pull request #2836 from oterral/styles_prority
Give priority to feature's style instead of source's style
2014-10-14 20:53:28 +02:00
Daniel Cheng
da479908e7 Fix HTTPS server name for stamen source (Close: #2830) 2014-10-15 01:11:51 +08:00
oterral
345c5c5eb7 Give priority to feature's style instead of source's style 2014-10-14 17:39:51 +02:00
Frédéric Junod
a121d4c568 Merge pull request #2834 from fredj/compiler_mode_name_doc
Use ADVANCED instead of ADVANCED_OPTIMIZATIONS
2014-10-14 14:12:36 +02:00
Frederic Junod
f277b5c9a5 Use ADVANCED instead of ADVANCED_OPTIMIZATIONS
ADVANCED_OPTIMIZATIONS is deprecated (but still accepted)
2014-10-14 14:01:31 +02:00
Éric Lemoine
1ce43e323d Add ol.geom.Polygon.fromExtent 2014-10-14 11:32:20 +02:00
Tim Schaub
0a8c218b8a Merge pull request #2833 from tschaub/less-fuzzy
Avoid too many files open with graceful-fs@3.0.3.
2014-10-13 23:34:23 -06:00
Tim Schaub
edb28d6a47 A tiny bit more deterministic 2014-10-13 23:02:46 -06:00
Tim Schaub
c3c81caf4b Merge pull request #2829 from tschaub/slider
Zoom slider refactor.
2014-10-13 16:33:54 -06:00
Tim Schaub
d2bea2692c Renaming for clarity 2014-10-13 10:29:33 -06:00
Tim Schaub
c1afd513b7 Account for the thumb size when handling clicks 2014-10-13 10:13:50 -06:00
Tim Schaub
9dd5b611c7 Give container ol-control class and tidy css 2014-10-13 09:22:21 -06:00
Tim Schaub
26be3a5450 Example style update 2014-10-13 08:42:45 -06:00
Tim Schaub
b8369ad3f0 Allow thumb to range over the entire container size 2014-10-13 08:40:51 -06:00
Tim Schaub
6f20afeba9 Set interaction hint while dragging 2014-10-12 19:16:49 -06:00
Tim Schaub
d45283c55e Animate from the current resolution 2014-10-12 18:59:58 -06:00
Tim Schaub
164407bc83 (x - 1) * -1 == 1 - x 2014-10-12 18:21:27 -06:00
Tim Schaub
dc0ff2eee8 Merge pull request #2757 from tschaub/new-extent
Clear the canvas on layer extent changes.
2014-10-12 10:35:15 -06:00
Tim Schaub
6fdc35e379 Merge pull request #2796 from tschaub/lazy-size
Determine image size on load.
2014-10-12 10:31:46 -06:00
Éric Lemoine
4970d143b0 Merge pull request #2825 from elemoine/oli-olx
Change comments for examples_star_json build target
2014-10-12 12:59:15 +02:00
Éric Lemoine
141cd6853c Change comments for examples_star_json build target 2014-10-12 11:17:27 +02:00
Tim Schaub
e1ee3474bf Unregister listener 2014-10-11 18:49:12 -06:00
Tim Schaub
7129a08e0b Clear the canvas on layer extent changes 2014-10-11 18:22:18 -06:00
Tim Schaub
49796090fa Allow renderer to load the image 2014-10-11 18:16:14 -06:00
Tim Schaub
ede37f26f7 Let image resolution be calculated when the image loads 2014-10-11 18:08:48 -06:00
Tim Schaub
ddc3dbaa87 If image size is not provided, determine resolution on load 2014-10-11 18:08:48 -06:00
Tim Schaub
63f126a528 The imageExtent option is required 2014-10-11 18:08:48 -06:00
Éric Lemoine
389d36e4bd Merge pull request #2822 from gingerik/externs-as-source
Remove obsolete comment
2014-10-11 11:43:33 +02:00
Erik Timmers
6cf5f204c5 Add explanation on using externs as input 2014-10-11 10:35:20 +02:00
Éric Lemoine
d6afca38c2 Use oli/x.js as input files when compiling examples 2014-10-11 09:04:49 +02:00
Andreas Hocevar
dd337f3526 Add a canvas for FeatureOverlay and pre-/postcompose rendering 2014-10-10 16:17:19 +02:00
Björn Harrtell
c4d6e04e4b Do not rename handleMapBrowserEvent internally 2014-10-10 10:43:59 +02:00
Éric Lemoine
4c63609749 Merge pull request #2769 from adube/overviewmap
OverviewMap control
2014-10-09 19:33:45 +02:00
Andreas Hocevar
4702aa496a Add DOM vector layer renderer 2014-10-09 19:10:22 +02:00
Éric Lemoine
1357ef295e Merge pull request #2820 from oterral/labelstyle
Add parsing of LabelStyle in KML format
2014-10-09 19:02:27 +02:00
oterral
9aeb9849fb Add parsing of LabelStyle in KML format 2014-10-09 16:48:49 +02:00
Alexandre Dubé
efbeba3bb9 Add overviewmap-custom example, complex use case 2014-10-09 10:10:47 -04:00
Alexandre Dubé
f17bb1a852 Add overviewmap example, simple use case 2014-10-09 10:10:27 -04:00
Alexandre Dubé
ddc6138dbf Add OverviewMap control 2014-10-09 10:10:14 -04:00
Éric Lemoine
5c514b36dd Merge pull request #2819 from elemoine/xyz-esri
Improvements to the xyz-esri-4326-512 example
2014-10-09 13:59:34 +02:00
Éric Lemoine
8067bc3863 Show how to wrap world in xyz-esri-4326-512 example 2014-10-09 13:35:51 +02:00
Éric Lemoine
efd2357d5b Fix typo in xyz-esri-4326-512 example 2014-10-09 13:21:24 +02:00
Éric Lemoine
c69974f460 Add more explanations to xyz-esri-4326-512 example 2014-10-09 13:20:51 +02:00
Éric Lemoine
c1259aacab Merge pull request #2743 from elemoine/drawinteraction
Handle ol.interaction.Draw activation/deactivation
2014-10-08 16:01:10 +02:00
Andreas Hocevar
27160be639 Merge pull request #2816 from gberaudo/exit_on_check_examples_failure
Exit on check-examples failure
2014-10-08 15:18:37 +02:00
Éric Lemoine
d1973a040f Merge pull request #2794 from elemoine/unbykey
Add ol.Observable.unByKey
2014-10-08 15:14:12 +02:00
Guillaume Beraudo
5adcaa3487 Exit on check-examples failure
Should avoid Travis to pass even though there are errors.

Waiting for the check-examples to finish to get all the errors.
It may also be necessary in order to free system resources like file
descriptors.
2014-10-08 14:46:42 +02:00
Éric Lemoine
b832c42585 Add ol.Observable.unByKey 2014-10-08 14:41:45 +02:00
Frédéric Junod
0858017085 Merge pull request #2815 from fredj/leftover-2756
Fix jquery.min.js path in xyz-esri-4326-512 example
2014-10-08 14:33:42 +02:00
Frederic Junod
bb1f51e5f0 Fix jquery.min.js path in xyz-esri-4326-512 example 2014-10-08 14:27:21 +02:00
Bart van den Eijnden
19cba46b38 Merge pull request #2756 from bartvde/ESRI_Imagery_World_2D
Add an example for using an Esri 512x512 tile server in EPSG:4326 (r=@elemoine)
2014-10-08 13:44:12 +02:00
Bart van den Eijnden
2321ed64bc Add an example for using an Esri 512x512 tile server in EPSG:4326 2014-10-08 13:31:45 +02:00
Frédéric Junod
1f098633e2 Merge pull request #2814 from fredj/css-calc
Add missing whitespaces in CSS calc
2014-10-08 10:52:36 +02:00
Frederic Junod
2139e4455a Add missing whitespaces in CSS calc
See http://dev.w3.org/csswg/css-values/#calc-syntax
2014-10-08 10:40:27 +02:00
Frédéric Junod
3dcba3bf15 Merge pull request #2811 from fredj/leftover-2810
Remove defaultProjection and object from typedef
2014-10-07 16:24:21 +02:00
Frederic Junod
31bb1ada0a Remove defaultProjection and object from typedef
Leftover from #2810
2014-10-07 16:03:07 +02:00
Frédéric Junod
9d1101c727 Merge pull request #2779 from fredj/resources
Update jQuery to 1.9.1
2014-10-07 15:58:28 +02:00
Paul Spencer
8c41e6c720 Merge pull request #2810 from pagameba/patch-1
Remove unused properties from olx.source.TileVectorOptions
2014-10-07 09:47:12 -04:00
Paul Spencer
816cb44cc2 Remove unused properties from olx.source.TileVectorOptions 2014-10-07 09:25:29 -04:00
Frédéric Junod
352d7071f7 Merge pull request #2808 from fredj/reprojectTo
Remove reprojectTo option from olx.source.OSMXMLOptions
2014-10-07 13:50:33 +02:00
Frédéric Junod
44c300bfef Merge pull request #2809 from fredj/button-cleanup
Miscellaneous controls cleanups
2014-10-07 13:37:27 +02:00
Frederic Junod
be6c6ee93c Remove unused ResetRotation name attribute 2014-10-07 12:25:41 +02:00
Frederic Junod
0cf83c2047 Add missing 'button' type attribute to html button 2014-10-07 12:25:01 +02:00
Frederic Junod
ec129f5778 Rename reprojectTo option to projection 2014-10-07 11:41:59 +02:00
Frederic Junod
4c1d2f8c86 Remove reprojectTo option from olx.source.OSMXMLOptions
Leftover from #1640
2014-10-07 10:41:32 +02:00
Éric Lemoine
90fb83b95e Merge pull request #2805 from sweco-sebhar/patch-2
Enable subclassing Interaction in public API
2014-10-07 09:30:28 +02:00
Björn Harrtell
59cc2ac736 Enable subclassing Interaction in public API 2014-10-07 09:15:25 +02:00
Frédéric Junod
ee4ca5bd2c Merge pull request #2798 from fredj/update-closure-util
Update closure-util to version 1.0.0
2014-10-06 18:29:57 +02:00
Andreas Hocevar
6b437701a8 Merge pull request #2785 from ahocevar/export-goog
Use goog.* types in externs
2014-10-06 16:50:02 +02:00
Andreas Hocevar
66234a73ba Use goog.* types in externs
To have an externs file as accurate as possible, we also need to use
types that are provided by the Closure library.
2014-10-06 14:20:59 +02:00
Frederic Junod
04e7a81b1e Update closure-util to version 1.0.0 2014-10-06 13:42:34 +02:00
Éric Lemoine
fa30ba29c9 Merge pull request #2795 from gingerik/externs
Externs
2014-10-03 17:16:43 +02:00
Pierre GIRAUD
a1c3d57013 Merge pull request #2792 from pgiraud/gpx_export_chrome
Use valid mediatype for GPX export.
2014-10-03 13:50:32 +02:00
Florent gravin
27f32621ab Update comments on WFS format version 2014-10-03 12:13:36 +02:00
Florent gravin
93db3d42b7 Add tests for gml2 gml:box element 2014-10-03 12:02:14 +02:00
Florent gravin
8a07d241ff Add support for gml2 gml:box element 2014-10-03 12:01:52 +02:00
Pierre GIRAUD
8f6b49877f Use valid mediatype for GPX export. 2014-10-03 11:30:44 +02:00
Florent gravin
d290445048 Make sure alias ol.format.GML show its content in apidoc 2014-10-03 11:16:19 +02:00
Florent gravin
1a7cbfd6ac Use Object() for objects in prototype
to avoid linter warning
2014-10-03 10:01:31 +02:00
Florent gravin
47e182524f Put PARSERS object into prototype too
This is to avoid the use of this.constructor that breaks advanced build
2014-10-03 09:45:24 +02:00
Florent gravin
bea721349a Rename gml format files to match convention
also changes some comments and syntax (feedback from PR comments
2014-10-03 09:45:24 +02:00
Florent gravin
0646056751 Overrides schemaLocation in subclasses 2014-10-03 09:45:24 +02:00
Florent gravin
678c66f50c Move GML subclasses to ol.format namespace
to avoid issue with ol.format.GML alias
ol.format.GMLBase
ol.format.GML2
ol.format.GML3
2014-10-03 09:44:56 +02:00
Florent gravin
607543e4e7 Create an alias ol.format.GML to ol.format.GML3
for backward compatibility
2014-10-03 09:44:47 +02:00
Florent gravin
563174383a Merge GML versions tests in base GML suite 2014-10-03 09:44:06 +02:00
Florent gravin
d3ac01445e Use by default instance of ol.format.GML.v3 in WFS format 2014-10-03 09:44:06 +02:00
Florent gravin
58485fc1f1 Instanciate ol.format.GML.v3 by default in gml tests 2014-10-03 09:44:06 +02:00
Florent gravin
07d6b83154 Redefine some PARSERS_ that are different in v2 and v3 2014-10-03 09:44:06 +02:00
Florent gravin
8182396454 Make class members public or protected
to be accessed from subclasses or static objects
2014-10-03 09:43:05 +02:00
Florent gravin
9324580c87 add format for GML v3 version
all writing methods & objects are defined in v3, as writing for v2 is not done yet
2014-10-03 09:43:04 +02:00
Florent gravin
d8114012bb Remove from GML base all objects and methods that should belong to v3 2014-10-03 09:42:51 +02:00
Florent gravin
c9171b8682 Pass options from v2 to its parent constructor 2014-10-03 09:42:51 +02:00
Florent gravin
82f267f0c5 Add test to parse WFS with GML 2.1.2 2014-10-03 09:42:51 +02:00
Florent gravin
f8e8653480 Add gmlFormat as option for WFS format 2014-10-03 09:42:45 +02:00
Florent gravin
192c7827c9 Add tests suite for ol.format.GML.v2 class 2014-10-03 09:42:22 +02:00
Florent gravin
13f10f6a98 Change GML method call signature from WFS format 2014-10-03 09:42:22 +02:00
Florent gravin
074330707c Call dedicated version format methods with 'this.constructor' object 2014-10-03 09:42:17 +02:00
Florent gravin
8efab3d4be Make protected some shared methods or objects 2014-10-03 09:42:13 +02:00
Florent gravin
8b38367e2b Add subclass for version ol.format.GML.v2 2014-10-03 09:42:09 +02:00
Florent gravin
b8e5ffaf31 Use current scope on remote methods call if arg opt_this is undefined 2014-10-03 09:42:09 +02:00
Florent gravin
4aad872d71 Send ol.format.GML instance reference to ol.xml static methods 2014-10-03 09:42:09 +02:00
Florent gravin
5884f7343a Call method in ol.format.GML.prototype from ol.format.GML static objects 2014-10-03 09:42:09 +02:00
Florent gravin
c49891dcce Call inner methods from 'this' object 2014-10-03 09:42:08 +02:00
Florent gravin
42b58cddbd Move all method declarations into ol.format.GML.prototype 2014-10-03 09:42:08 +02:00
Florent gravin
f5e5419cb6 Move gmlformat.js to gml/base.js 2014-10-03 09:41:59 +02:00
Marc Jansen
6a1d143f9f Merge pull request #2784 from marcjansen/tag-kml-example
Add 'tooltip'-tag to KML example.
2014-10-02 10:23:58 +02:00
Frédéric Junod
24484d5e51 Merge pull request #2782 from fredj/hide-rotate
Hide the rotate control when the rotation is 0
2014-10-01 20:47:19 +02:00
Marc Jansen
46db263088 Add 'tooltip'-tag to KML example.
Fixes #2708.
2014-10-01 20:35:21 +02:00
Frederic Junod
6f3b01f3dc Hide the rotate control when the rotation is 0
To prevent the cursor to be displayed as a pointer (only happens with bootstrap)
2014-10-01 19:09:14 +02:00
Erik Timmers
b321501476 Fix namespacing convention 2014-10-01 17:57:53 +02:00
Erik Timmers
b447e1f766 Fix ol externs definitions
* Namespaces must be defined;
* Interfaces must be initialized.
2014-10-01 17:52:01 +02:00
Frederic Junod
898f5ac547 Update jquery to 1.9.1 2014-10-01 10:05:06 +02:00
Frederic Junod
078ba2dec0 Move jquery.min.js to resources 2014-10-01 09:59:20 +02:00
Frederic Junod
fa60ec294e Remove 'examples/bootstrap' path from example filter
The directory was moved to resources/bootstrap in 6c5377eebe
2014-10-01 09:50:29 +02:00
Frédéric Junod
7273b501f1 Merge pull request #2774 from fredj/dead-code
Remove unused distinctFeatures object in ol.interaction.Modify#handlePointerDown
2014-10-01 09:10:42 +02:00
Tim Schaub
0acf9662a4 Merge pull request #2771 from tschaub/pre-releases
Allow package to be published in npm registry.
2014-09-30 22:51:06 -06:00
Frederic Junod
a3b3e044f5 Remove unused distinctFeatures object in ol.interaction.Modify#handlePointerDown
The object is filled but never used.
2014-09-30 15:08:15 +02:00
Éric Lemoine
6c7a6a7811 Merge pull request #2773 from elemoine/getimage
Type-related changes to ol.style.Image
2014-09-30 13:51:01 +02:00
Éric Lemoine
ddbc1d260c Mark ol.style.Image#getImage with @api 2014-09-30 12:26:07 +02:00
Éric Lemoine
af7944ef42 Mark ol.style.Image with @api
This is to be able to do `imageStyle instanceof ol.style.Image` in applications.
2014-09-30 12:26:06 +02:00
Éric Lemoine
4c0bfd8905 More restrictive type for ol.style.Icon#getImage 2014-09-30 12:26:06 +02:00
Éric Lemoine
c7ac9502bd More restrictive type for ol.style.Circle#getImage 2014-09-30 12:26:06 +02:00
Éric Lemoine
1c7f2ad5cc Merge pull request #2751 from gberaudo/export-source_source_children
Export constructors and options of ol.source.Source children
2014-09-30 11:55:21 +02:00
Éric Lemoine
1a856599cb Add tests for ol.interaction.Draw#setMap 2014-09-30 10:00:53 +02:00
Éric Lemoine
a31f8a9446 Add tests for ol.interaction.Draw#setActive 2014-09-30 10:00:53 +02:00
Éric Lemoine
eb4e72c754 Handle activation/deactivation in draw interaction 2014-09-30 10:00:52 +02:00
Guillaume Beraudo
67f4e9c817 Export constructors of ol.source.Source children
Necessary addition to https://github.com/openlayers/ol3/pull/2749.
2014-09-30 09:33:55 +02:00
Frédéric Junod
c0fc220298 Merge pull request #2772 from fredj/changefeature
Rename updatefeature event to changefeature
2014-09-30 09:27:58 +02:00
Éric Lemoine
0e3b08d493 Merge pull request #2766 from elemoine/interaction-object
Make interaction "active" an ol.Object property
2014-09-30 09:04:28 +02:00
Éric Lemoine
5d02760d23 Merge pull request #2765 from elemoine/ol-externs
Treat unknown opt types as Object in ol externs
2014-09-30 09:04:18 +02:00
Frederic Junod
cf8738f9f6 Rename updatefeature event to changefeature 2014-09-30 09:02:53 +02:00
Tim Schaub
c868e4bbdd Allow package to be published in npm registry
I've contacted the maintainer of the https://www.npmjs.org/package/openlayers package to see if we can take over ownership.  Until then, we can publish packages under the name 'ol'.
2014-09-29 22:27:27 -06:00
Tim Schaub
3285e0ddc8 Merge pull request #2759 from tschaub/test-failures
Fix test failures.
2014-09-29 14:09:03 -06:00
Tim Schaub
b6c6dc03a9 Merge pull request #2762 from tschaub/console-report
Report test failures to the console.
2014-09-29 14:07:55 -06:00
Tim Schaub
62c0dbb876 Merge pull request #2768 from xamgreen/patch-1
Write the function name correctly in the doc.
2014-09-29 14:05:28 -06:00
xamgreen
704d53e589 getProjektion() instead of getprojektion()
Just a little error that my confuse some people.
2014-09-29 20:01:47 +02:00
Éric Lemoine
4643c71e75 Treat unknown opt types as Object in ol externs 2014-09-29 17:58:04 +02:00
Éric Lemoine
dede4f379f Make interaction "active" an ol.Object property 2014-09-29 17:31:58 +02:00
Frédéric Junod
1a4d841a26 Merge pull request #2764 from fredj/remove-rtree-example
Remove rtree example
2014-09-29 14:37:41 +02:00
Frederic Junod
ced15e27c1 Remove rtree example
Fixes #2732
2014-09-29 13:29:52 +02:00
Frédéric Junod
14e8c098c8 Merge pull request #2763 from fredj/cleanup
Miscellaneous coding style and typo fixes
2014-09-29 11:45:14 +02:00
Frederic Junod
98ceee5d28 Fix documentation typo 2014-09-29 09:05:22 +02:00
Frederic Junod
aaeb2b6938 Remove unnecessary parentheses 2014-09-29 09:05:22 +02:00
Frederic Junod
6e3a5ca7ca Remove unnecessary newlines 2014-09-29 09:05:22 +02:00
Tim Schaub
291b033dbf Report failures to the console 2014-09-28 22:27:07 -06:00
Tim Schaub
8bded032df Fix failing GML format test 2014-09-28 15:04:54 -06:00
Tim Schaub
a1bb755123 Fix failing KML format tests 2014-09-28 15:04:49 -06:00
Tim Schaub
abc7848073 Fix failing WKT format tests 2014-09-28 14:44:26 -06:00
Tim Schaub
afd43687f2 Merge pull request #2758 from tschaub/tile-ranges
Correctly generate child tile ranges for XYZ tiles.
2014-09-28 13:40:28 -06:00
Tim Schaub
2ad27044a6 Correctly generate child tile ranges for XYZ
Instead of incrementing and then doubling, calculate the child tile range by doubling and then incrementing.

With this change, tile coord [0, 0, 0] has the four following children:

    [1, 0, 0]    [1, 1, 0]

    [1, 0, 1]    [1, 1, 1]

Without this change, tile coord [0, 0, 0] had the nine following children:

    [1, 0, 0]    [1, 1, 0]    [1, 2, 0]

    [1, 0, 1]    [1, 1, 1]    [1, 2, 1]

    [1, 0, 2]    [1, 1, 2]    [1, 2, 2]
2014-09-28 12:23:12 -06:00
Éric Lemoine
b0b62c6ac3 Merge pull request #2734 from elemoine/bingmaps
Add maxZoom option to BingMaps
2014-09-27 22:34:06 +02:00
Éric Lemoine
00800785d4 Merge pull request #2752 from elemoine/loadfeatures
Call loadFeatures from ol.source.ImageVector
2014-09-25 15:00:52 +02:00
Frédéric Junod
5f51fbc93d Merge pull request #2658 from oterral/fix_getcap
Set inherited values when parsing a GetCapabilities
2014-09-25 13:51:40 +02:00
Frédéric Junod
884fb5736c Merge pull request #2750 from fredj/export-layer-base
Export ol.layer.Base
2014-09-25 10:58:04 +02:00
Frédéric Junod
9fd0b53b02 Merge pull request #2749 from fredj/export-source-source
Export ol.source.Source
2014-09-25 10:42:08 +02:00
Frederic Junod
48b9475bb6 Export ol.layer.Base
See #2615
2014-09-25 10:40:03 +02:00
Frederic Junod
4e5120ff71 Export ol.source.Source
Fixes #2615
2014-09-25 10:33:31 +02:00
Frédéric Junod
aafe50c30e Merge pull request #2742 from fredj/updatefeature
Dispatch an 'updatefeature' from the vector source
2014-09-25 09:20:15 +02:00
Tim Schaub
b1ca9a4fc0 Merge pull request #2747 from lazaruslarue/patch-2
Fix incorrect web address.
2014-09-24 16:36:52 -06:00
lazarus
0f81a994fe Fix incorrect webaddress
was pointing to Jewish Studies Religious website... fixed to correctly point to ol3js.org instead.
2014-09-24 14:30:21 -07:00
Bart van den Eijnden
1f5ca28596 Merge pull request #2745 from bartvde/issue-2745
DragBox Interaction: getGeometry return type can be ol.geom.Polygon (r=@fredj)
2014-09-24 12:46:04 +02:00
Bart van den Eijnden
0145c4fb5f The getGeometry function of ol.interaction.DragBox always returns ol.geom.Polygon 2014-09-24 11:57:36 +02:00
Frédéric Junod
d03755859f Merge pull request #2744 from fredj/feature-id-change
Fix ol.Feature 'change' event documentation
2014-09-24 09:35:14 +02:00
Frederic Junod
1dcde66839 Fix ol.Feature 'change' event documentation
Setting the id also dispatch a `change` event
2014-09-23 17:40:46 +02:00
Frederic Junod
79b8ef3a53 Dispatch an 'updatefeature' from the vector source 2014-09-23 16:19:00 +02:00
Bart van den Eijnden
b8d8acd3fd Merge pull request #2741 from bartvde/issue-2741
issue with reading scientific notation coordinates in ol.format.GML (r=@fredj)
2014-09-23 16:17:36 +02:00
Bart van den Eijnden
2e18f077c8 Correctly parse GML coordinates with capital E in scientific notation 2014-09-23 15:35:12 +02:00
Éric Lemoine
fb01814384 Merge pull request #2739 from elemoine/circular
Revert "Function circular renamed to createCircularOnSphere"
2014-09-23 14:47:13 +02:00
Frédéric Junod
7dcb54fb58 Merge pull request #2616 from fredj/attributions-target
Target for attribution links differs between maps
2014-09-23 14:46:11 +02:00
Éric Lemoine
69877de0d0 Merge pull request #2740 from elemoine/setgetactive
Make interactions activable and deactivable
2014-09-23 13:41:37 +02:00
Éric Lemoine
2248d2e012 Skip inactive interactions 2014-09-23 12:37:53 +02:00
Éric Lemoine
de319b9ae8 Add ol.interaction.Interaction#setActive and #getActive 2014-09-23 12:37:53 +02:00
Éric Lemoine
6b2a703b35 Use ol.geom.Polygon.circular in ol.Geolocation 2014-09-23 09:43:13 +02:00
Éric Lemoine
a94f02e463 Revert "Function circular renamed to createCircularOnSphere"
This reverts commit ac8e7e16c2.
2014-09-23 09:41:03 +02:00
Éric Lemoine
f8702e2038 Call loadFeatures from ol.source.ImageVector 2014-09-23 09:36:00 +02:00
Éric Lemoine
23e597eb25 Add maxZoom option to BingMaps 2014-09-22 15:22:31 +02:00
Éric Lemoine
04f5768c76 Merge pull request #2727 from elemoine/createcircular
Rename ol.geom.Polygon#circular to createCircularOnSphere
2014-09-19 11:13:54 +02:00
Éric Lemoine
49a2f2c926 Merge pull request #2730 from elemoine/tolowercase
Do not call toLowerCase when forming a change:property event
2014-09-19 11:07:17 +02:00
Éric Lemoine
ad83f83f2c To do call toLowerCase when forming a change:property event 2014-09-18 18:44:45 +02:00
Tim Schaub
9da909dd57 Merge pull request #2728 from tschaub/exports
Mark `ol.extent.getIntersection` as stable.
2014-09-18 07:11:44 -06:00
Éric Lemoine
d85d34f3dd Better docs for ol.geom.Polygon#createCircularSphere 2014-09-18 08:48:05 +02:00
Éric Lemoine
122b535393 Better docs for ol.Sphere#offset 2014-09-17 20:22:18 +02:00
Éric Lemoine
5416badde1 Merge pull request #2726 from elemoine/feature-setstyle
Make ol.Feature#setStyle accept null
2014-09-17 19:56:28 +02:00
Tim Schaub
9f1bdc7c83 Mark ol.extent.getIntersection as stable 2014-09-17 11:24:54 -06:00
Éric Lemoine
ac8e7e16c2 Function circular renamed to createCircularOnSphere 2014-09-17 17:59:46 +02:00
Éric Lemoine
d335318496 Make ol.Feature#setStyle accept null 2014-09-17 17:52:51 +02:00
Frédéric Junod
5eaafc5936 Merge pull request #2724 from fredj/examples-unknownDefines
Error when compiling individual example
2014-09-17 16:25:58 +02:00
Frederic Junod
7ba7a61bb8 Disable unknownDefines check when compiling individual examples 2014-09-17 16:11:15 +02:00
Éric Lemoine
dfb2734368 Merge pull request #1959 from elemoine/feature-box-selection
Add a feature box selection example
2014-09-17 15:02:23 +02:00
Éric Lemoine
6a450f45e1 Merge pull request #2722 from elemoine/nullview
Make ol.Map#setView do not accept undefined
2014-09-17 15:01:41 +02:00
Éric Lemoine
f7e81f84db Zoom control should not act on a null view 2014-09-17 13:32:45 +02:00
Éric Lemoine
79932ee2f2 Rotate control should not act on a null view 2014-09-17 13:32:31 +02:00
Éric Lemoine
8660f00917 Do not exec animation functions when frameState is null 2014-09-17 12:49:46 +02:00
Éric Lemoine
72e173d925 Rename ol.extent.segmentIntersects to intersectsSegment 2014-09-17 12:26:26 +02:00
Éric Lemoine
79445e993b Add a box feature selection example 2014-09-17 12:26:26 +02:00
Éric Lemoine
227f3bae18 Add ol.source.Vector#forEachFeatureIntersectingExtent 2014-09-17 12:26:26 +02:00
Éric Lemoine
88911200c2 Add ol.geom.GeometryCollection#intersectsExtent 2014-09-17 12:17:32 +02:00
Éric Lemoine
92c2aca480 Add ol.geom.MultiLineString#intersectsExtent 2014-09-17 12:17:32 +02:00
Éric Lemoine
8d7cf7960a Add ol.geom.LineString#intersectsExtent 2014-09-17 12:17:32 +02:00
Éric Lemoine
d1f6f132d6 Add ol.geom.MultiPolygon#intersectsExtent 2014-09-17 12:17:32 +02:00
Éric Lemoine
8bdeca9f0a Add ol.geom.Polygon#intersectsExtent 2014-09-17 12:17:32 +02:00
Éric Lemoine
67f98145bb Add ol.geom.MultiPoint#intersectsExtent 2014-09-17 12:17:32 +02:00
Éric Lemoine
612cf70560 Add ol.geom.Point#intersectsExtent 2014-09-17 12:17:32 +02:00
Éric Lemoine
a740f32e4d Add ol.geom.Geometry#intersectsExtent (abstract method) 2014-09-17 12:17:32 +02:00
Éric Lemoine
cdbc1a07be Add ol.geom.flat.intersectsextent
Includes functions for testing if an extent and a geometry intersect.
2014-09-17 12:17:31 +02:00
Éric Lemoine
49fa7c01d4 Add ol.geom.flat.contains.linearRingContainsExtent 2014-09-17 12:17:31 +02:00
Éric Lemoine
3ce6229d34 Add ol.geom.flat.segments.forEach 2014-09-17 12:17:31 +02:00
Éric Lemoine
24321f6feb Add ol.extent.containsXY 2014-09-17 12:17:31 +02:00
Éric Lemoine
b5db9db453 Add ol.extent.forEachCorner 2014-09-17 12:17:31 +02:00
Éric Lemoine
cb8b896230 Make ol.Map#setView do not accept undefined
With this change map.setView(null) is permitted, but map.setView(undefined) is not. map.getView now always returns a defined value, which may be null is setView was called with null.
2014-09-17 11:47:24 +02:00
Frederic Junod
0938ab654a Remove target attribute on attributions link 2014-09-17 11:26:15 +02:00
Éric Lemoine
163cc5b873 Merge pull request #2696 from gberaudo/consistent_circle_transform
Consistent circle transform.
2014-09-16 14:39:17 +02:00
Guillaume Beraudo
d67cefdf3a Consistent circle transform
Depending on compilation flags, applying a transform used to either:
- work;
- fail throwing an abstract method not implemented message;
- fail silently.

Now it should consistently work, like the other geometries.

Adding a polygon factory method creating an approximation of a circle on
a plane would be useful for users wanting the circle to be deformed.
It would be similar to the `circular` function which creates an
approximation of a circle on a sphere.
2014-09-16 13:41:17 +02:00
Frédéric Junod
8e2cc7e3db Merge pull request #2717 from fredj/rotate-css
Change the control visibility by using css class
2014-09-16 13:29:58 +02:00
Frederic Junod
e136b4b4db Change the control visibility by using css class
Instead of changing the button opacity in the control, only add/remove
a css class (ol-hidden). This let the developer easily change the
behavior by updating the css.
2014-09-16 11:00:44 +02:00
Éric Lemoine
7e502ac477 Merge pull request #2715 from elemoine/tissot
Add an EPSG:3857 map to Tissot example
2014-09-15 19:44:31 +02:00
Éric Lemoine
83ded37cbc Add an EPSG:3857 map to Tissot example 2014-09-15 18:19:10 +02:00
Frédéric Junod
0b43183616 Merge pull request #2714 from fredj/opacity
Set the opacity directly to element.style.opacity
2014-09-15 17:13:50 +02:00
Frederic Junod
ec9386acfe Set the opacity directly to element.style.opacity
goog.style.setOpacity handles the IE8 case (but we are doing the same
above in the same function) and Firefox prior to version 3.5 (latest
stable release in April 2011).

See https://developer.mozilla.org/en-US/docs/Web/CSS/opacity
2014-09-15 16:01:24 +02:00
Frédéric Junod
8bf43f5f22 Merge pull request #2647 from fredj/closure-lib-upgrade
Upgrade closure library version
2014-09-15 14:36:17 +02:00
Frédéric Junod
007fc34a23 Merge pull request #2549 from fredj/assume-array-native
Use goog.array.ASSUME_NATIVE_FUNCTIONS define
2014-09-15 13:28:14 +02:00
Éric Lemoine
2c37a99332 Merge pull request #2711 from elemoine/remove-gmaps-example
Remove Google Maps example
2014-09-12 14:01:37 -07:00
Éric Lemoine
1bc650a19c Remove Google Maps example 2014-09-12 18:41:33 +02:00
Andreas Hocevar
b431487435 Merge pull request #2684 from ahocevar/notify-change
Rename ol.Observable#dispatchChangeEvent() to #changed()
2014-09-11 15:51:22 -07:00
Andreas Hocevar
3da9a67162 Merge pull request #2678 from ahocevar/mutable-styles
Mutable symbolizer properties for styles
2014-09-11 13:14:43 -07:00
Andreas Hocevar
267a950435 Mention the need to re-render in a single place only 2014-09-11 13:13:17 -07:00
Bart van den Eijnden
b86cb1f7b5 Merge pull request #2568 from bartvde/gml-autoconfigure
re-implement auto-configure code for ol.format.GML (r=@ahocevar)
2014-09-11 20:47:24 +02:00
Bart van den Eijnden
19319356d7 Auto configure ol.format.GML if not configured with a featureNS/featureType 2014-09-11 20:03:02 +02:00
Marc Jansen
dfa6a7c497 Merge pull request #2704 from gberaudo/pooled_example_checks
Use pool thread for calling bin/check-example.js.
2014-09-11 17:35:26 +02:00
Frederic Junod
fb87c22359 Set goog.array.ASSUME_NATIVE_FUNCTIONS to true 2014-09-11 13:24:13 +02:00
Guillaume Beraudo
590486fa72 Use pool thread for calling bin/check-example.js.
Saves 50s out of 60s on my machine, that is 83%.
Fixes https://github.com/openlayers/ol3/issues/2695
2014-09-11 09:30:44 +02:00
Andreas Hocevar
593532cb5a Merge pull request #2698 from ahocevar/feature-not-abstract
StaticVector is not an abstract base class
2014-09-10 08:03:15 -07:00
Frédéric Junod
be7ee49701 Merge pull request #2702 from fredj/export-map
Add vector layer in export-map example
2014-09-10 09:48:32 +02:00
Frederic Junod
1ae3e2a7f4 Add vector layer in export-map example 2014-09-10 09:06:51 +02:00
Andreas Hocevar
6eda02f208 StaticVector is not an abstract base class 2014-09-09 13:44:56 -07:00
Frederic Junod
20ce664068 Remove mousewheel event name workaround
Fixed upstream https://github.com/google/closure-library/pull/308
2014-09-09 15:03:18 +02:00
Frederic Junod
2b395d3160 Add missing goog.require 2014-09-09 15:03:18 +02:00
Frederic Junod
2eb9a4b72e Upgrade closure-library and closure-util version 2014-09-09 15:03:18 +02:00
Frédéric Junod
ad1f255211 Merge pull request #2687 from fredj/legacy-ie
Use ol.LEGACY_IE_SUPPORT and ol.IS_LEGACY_IE define
2014-09-09 09:25:56 +02:00
Frédéric Junod
95d295bc6b Merge pull request #2675 from fredj/map.getlayers
Remove undefined from ol.Map#getLayers return type
2014-09-08 16:30:47 +02:00
Frederic Junod
c0c14cb09c Remove undefined from ol.Map#getLayers return type
It's already assumed that the collection is defined in ol.Map#addLayer
and ol.Map#removeLayer.
2014-09-08 15:47:14 +02:00
Éric Lemoine
96f7d6323a Change signature of ol.layer.Group#getLayers
This commit changes the signature of ol.layer.Group#getLayers from {ol.Collection.<ol.layer.Base>|undefined} to {!ol.Collection.<ol.layer.Base>}. In this way the caller is guaranteed that getLayers returns a dereferencable object.
2014-09-08 15:45:58 +02:00
Frédéric Junod
bfef6ab075 Merge pull request #2692 from fredj/overlay-index
Unset z-index in overlay example
2014-09-08 15:20:28 +02:00
Frederic Junod
67a5b07a83 Unset z-index in overlay example 2014-09-08 15:01:19 +02:00
Frederic Junod
23745cd043 Use ol.LEGACY_IE_SUPPORT and ol.IS_LEGACY_IE define
See #1605
2014-09-06 17:52:13 +02:00
Andreas Hocevar
0e14639633 Update docs for changes proposed in #2684 2014-09-04 21:01:50 -06:00
Andreas Hocevar
ebe3b48e0a Rename ol.Observable#dispatchChangeEvent() to #changed()
Since dispatchChangeEvent does not only dispatch a change event, but
also increases the revision counter, the method name should reflect
this.
2014-09-04 19:30:48 -06:00
Andreas Hocevar
2876902333 Merge pull request #2681 from ahocevar/xyz-tilesize
Make tileSize a config option for ol.source.XYZ
2014-09-04 14:21:46 -06:00
Andreas Hocevar
88c30795d3 Doc improvements 2014-09-04 13:20:25 -06:00
Andreas Hocevar
ec00cd3222 Make tileSize a config option for ol.source.XYZ 2014-09-04 11:59:43 -06:00
Andreas Hocevar
0c36d7606b No need to have a mutable_ flag
Instead, educate users to call setStyle.
2014-09-04 11:47:32 -06:00
Frédéric Junod
5de537001f Merge pull request #2534 from fredj/polygon-api
Document ol.geom.Polygon#getLinearRing function
2014-09-04 17:57:12 +02:00
Andreas Hocevar
13d84e75ad Additional documentation 2014-09-03 18:31:01 -06:00
Andreas Hocevar
a50f6d7a2f Mutable symbolizer properties for style functions
This change adds setters for symbolizer properties. In addition, it
introduces a mutable flag on all styles. By default, this is set to
true. ol.style.createStyleFunction sets it to false for all static
styles.

The new setters assert that the mutable flag is true, so whenever an
application tries to set a symbolizer property on a style that was
assigned to a vector layer or feature overlay, the assertion will fail.
2014-09-03 16:57:50 -06:00
Éric Lemoine
e854d16646 Merge pull request #2677 from gberaudo/export_text_style_offsets
Add TextStyle offsets getters to API.
2014-09-03 17:30:14 +02:00
Guillaume Beraudo
9adb12846c Add TextStyle offsets getters to API.
The other properties getters are in the API already.
2014-09-03 17:21:27 +02:00
Frédéric Junod
f188cfd384 Merge pull request #2676 from fredj/featureoverlay-style
ol.FeatureOverlay: use the feature style if defined
2014-09-03 16:46:49 +02:00
Frederic Junod
9a23778d50 Use a custom style for the position feature 2014-09-03 16:34:28 +02:00
Frederic Junod
eecb5770a5 Use the feature style if defined
Same behavior as ol.layer.Vector
2014-09-03 16:34:28 +02:00
Frédéric Junod
b87a50726c Merge pull request #2656 from fredj/image-layer-source-type
Set ol.layer.Image#getSource return type to ol.source.Image
2014-09-03 14:23:55 +02:00
Frederic Junod
d7ee71a811 Remove unnecessary type cast 2014-09-03 11:14:33 +02:00
Frederic Junod
b366407038 Set ol.layer.Tile#getSource return type to ol.source.Tile 2014-09-03 11:14:33 +02:00
Frederic Junod
009cd9f840 Remove unnecessary type cast 2014-09-03 11:14:33 +02:00
Frederic Junod
0e964cb84c Set ol.layer.Image#getSource return type to ol.source.Image 2014-09-03 11:14:33 +02:00
Frederic Junod
568f854f29 Add olx.layer.ImageOptions typedef 2014-09-03 11:14:33 +02:00
Frédéric Junod
aa618e35e4 Merge pull request #2651 from gberaudo/layer_vector_source_specialisation
ol.layer.Vector.getSource return type specialisation.
2014-09-03 11:14:02 +02:00
Frédéric Junod
2470f21b4c Merge pull request #2669 from fredj/bad-commit
Revert "snapshot"
2014-09-02 16:17:18 +02:00
Frederic Junod
ad8cc3c1e0 Revert "snapshot"
This reverts commit 47fd7d8626.
2014-09-02 16:13:34 +02:00
Frederic Junod
47fd7d8626 snapshot 2014-09-02 16:11:31 +02:00
Frederic Junod
4a21ad566a Remove unnecessary type cast 2014-09-02 15:17:32 +02:00
Guillaume Beraudo
da2a291208 ol.layer.Vector.getSource return type specialisation. 2014-09-02 15:14:01 +02:00
Frédéric Junod
62dfc15bd5 Merge pull request #2663 from fredj/geolocation-tracking-error
Set tracking property to false on geolocation error
2014-09-02 12:34:23 +02:00
Frederic Junod
4969c2cf34 Set tracking property to false on geolocation error 2014-09-02 11:13:06 +02:00
Éric Lemoine
bcf5421541 Merge pull request #2662 from gingerik/delegate-transformation
Delegate transformation in ol.source.FormatVector#readFeatures to `ol.format.*`
2014-09-01 08:14:07 +02:00
Erik Timmers
1da5be6ffb Delegate transformation to ol.format.*
Fixes #2604.
2014-09-01 07:22:17 +02:00
Tim Schaub
273ba5fb00 Merge pull request #2447 from lazaruslarue/patch-1
Correct documentation typo.
2014-08-30 22:18:21 -06:00
Éric Lemoine
36e5fb8bdc Merge pull request #2660 from elemoine/domain
New domain in the build header
2014-08-29 17:50:31 +02:00
Éric Lemoine
ff6da7ed79 New domain in the build header 2014-08-29 17:27:52 +02:00
oterral
962f1eecc0 Set inherited values 2014-08-29 15:21:33 +02:00
Éric Lemoine
5df0b4ec3b Merge pull request #2641 from elemoine/sphere
Add @api to ol.Sphere
2014-08-29 12:10:00 +02:00
Éric Lemoine
f7f4c7b686 Remove @api annotation from ol.sphere.WGS84 2014-08-29 11:57:44 +02:00
Éric Lemoine
ad8a1f5fb6 Make tissot example use ol.Sphere 2014-08-29 11:57:44 +02:00
Éric Lemoine
f452f5545a Add @classdesc to ol.Sphere 2014-08-29 11:57:44 +02:00
Éric Lemoine
91b567293e Merge pull request #2652 from fredj/collection-doc
Improve ol.Collection documentation
2014-08-29 11:49:28 +02:00
Éric Lemoine
40fb661864 Add @api to ol.Sphere 2014-08-29 11:22:08 +02:00
Andreas Hocevar
90604fab2a Merge pull request #2644 from ahocevar/extends-externs
Add @extends annotations to generated externs
2014-08-29 10:49:42 +02:00
Éric Lemoine
5c88d8d84e Merge pull request #2655 from tschaub/new-domain
Using the openlayers.org domain
2014-08-29 08:16:12 +02:00
Frederic Junod
aa40504dd5 Improve ol.Collection documentation 2014-08-29 07:27:35 +02:00
Tim Schaub
fc13499f31 Using the openlayers.org domain 2014-08-28 16:15:41 -06:00
Andreas Hocevar
f724cb65bc Add base classes to info.json and generated externs
This ensures that the inheritance chain is intact, even if the base
class is not exportable.
2014-08-28 19:02:49 +02:00
Éric Lemoine
41ee554969 Merge pull request #2629 from elemoine/apistable-format
Add @api stable annotations to ol.format
2014-08-28 17:37:06 +02:00
Éric Lemoine
00bf5462ba Merge pull request #2609 from elemoine/view-stability
Annotate stable view functions and options
2014-08-28 17:36:49 +02:00
Éric Lemoine
1152b0327b Merge pull request #2612 from elemoine/proj-stability
Add @api stable annotations to ol.proj
2014-08-28 17:19:24 +02:00
Éric Lemoine
7c9c4c6462 Merge pull request #2614 from elemoine/tilegrid-stability
Add @api stable annotations tilegrid functions and options
2014-08-28 17:16:18 +02:00
Éric Lemoine
b099ac8e32 Merge pull request #2622 from elemoine/apistable-condition
Add @api stable annotations to ol.events.condition
2014-08-28 17:13:03 +02:00
Éric Lemoine
f8b9896dd3 Add @api stable annotations to Feature format 2014-08-28 17:10:25 +02:00
Éric Lemoine
52c5897ccc Add @api stable annotations to olx.format.WriteOptions 2014-08-28 17:10:25 +02:00
Éric Lemoine
3338d56792 Add @api stable annotations to olx.format.ReadOptions 2014-08-28 17:10:25 +02:00
Éric Lemoine
c8c59c3657 Add @api stable annotations for WKT format 2014-08-28 17:10:24 +02:00
Éric Lemoine
5eced4a015 Add @api stable annotations for WFS format 2014-08-28 17:10:24 +02:00
Éric Lemoine
de4131f207 Add @api stable annotations for TopoJSON format 2014-08-28 17:10:24 +02:00
Éric Lemoine
ceb0cc54ce Add @api stable annotations for Polyline format 2014-08-28 17:10:23 +02:00
Éric Lemoine
a09b5d61ae Add @api stable annotations for OSMXML format 2014-08-28 17:10:23 +02:00
Éric Lemoine
e0c173bd24 Add @api stable annotations for KML format 2014-08-28 17:10:23 +02:00
Éric Lemoine
5120248188 Add @api stable annotations for GPX format 2014-08-28 17:10:23 +02:00
Éric Lemoine
1f9ab58623 Add @api stable annotations for GML format 2014-08-28 17:10:22 +02:00
Andreas Hocevar
bc2044d48b Walk up the inheritance chain to an exportable constructor 2014-08-28 15:11:09 +02:00
Andreas Hocevar
a0c76aa5ee Do not extend goog.* types 2014-08-28 15:11:09 +02:00
Andreas Hocevar
80ea1772e2 Add @extends annotations to generated externs 2014-08-28 15:11:09 +02:00
Frédéric Junod
507dd4d534 Merge pull request #2630 from fredj/misc
Improve ol.structs.LRUCache type annotation
2014-08-28 13:59:30 +02:00
Andreas Hocevar
d2eceab25e Merge pull request #2643 from ahocevar/interface-externs
Handle interfaces in the generate-externs task
2014-08-28 13:22:15 +02:00
Éric Lemoine
99071b2bef Merge pull request #2638 from elemoine/setstyle
Allow passing undefined to ol.layer.Vector#setStyle
2014-08-28 12:12:38 +02:00
Andreas Hocevar
4d933f0764 Merge pull request #2645 from ahocevar/nullable-externs
Support nullable params and returns in generated externs
2014-08-28 11:52:26 +02:00
Andreas Hocevar
663fef3dfd Support nullable params and returns in generated externs 2014-08-27 18:18:49 +02:00
Andreas Hocevar
e560f529c6 Handle interfaces in the generate-externs task 2014-08-27 16:13:12 +02:00
Frédéric Junod
4e8abb62f9 Merge pull request #2639 from fredj/osmxml-options
Fix ol.source.OSMXML options
2014-08-27 15:11:03 +02:00
Frédéric Junod
95ba8c76e3 Merge pull request #2640 from fredj/geom-clone-return
Improve ol.geom.*.clone() return type annotation
2014-08-27 15:10:13 +02:00
Éric Lemoine
56d4d68459 Mark all WMTS functions/options as experimental 2014-08-27 14:44:21 +02:00
Frederic Junod
42312c6c73 Improve ol.geom.*.clone() return type annotation 2014-08-27 13:30:06 +02:00
Frederic Junod
eaca8c1691 Pass options.urls property to ol.source.OSMXML parent class 2014-08-27 12:31:09 +02:00
Éric Lemoine
03d321ce1f Better docs for ol.layer.Vector#setStyle 2014-08-27 12:26:10 +02:00
Éric Lemoine
9cc0841efb Allow passing undefined to ol.layer.Vector#setStyle 2014-08-27 12:26:10 +02:00
Frederic Junod
d3c2e40c84 remove unused olx.source.OSMXMLOptions#defaultStyle property 2014-08-27 11:19:15 +02:00
Andreas Hocevar
b7ca592334 Merge pull request #2635 from ahocevar/typedefs-after-symbols
Process typedefs last when generating externs
2014-08-27 10:54:27 +02:00
Frédéric Junod
20131bf54a Merge pull request #2637 from fredj/kinetic-optim
Don't compute velocity if not needed
2014-08-27 10:52:13 +02:00
Frederic Junod
5cdd96b131 Don't compute velocity if not needed 2014-08-27 10:40:36 +02:00
Antoine Abt
55005cfb21 Merge pull request #2619 from simonseyock/ol3-overlay-offset
Making ol.Overlay accept offset values if positioning right or bottom
2014-08-27 09:33:07 +02:00
Frederic Junod
1a4580f6f8 Add missing array type in ol.structs.LRUCache#getValues 2014-08-27 09:25:41 +02:00
Frederic Junod
25093b371d Improve ol.structs.LRUCache type annotation 2014-08-27 09:09:52 +02:00
Andreas Hocevar
e9457461af Process typedefs last
Becasue typedefs sometimes use namespaces that are actually
constructors, we need to process typedefs after symbols to avoid
duplicate entries for such namespace types.
2014-08-26 22:21:25 +02:00
Éric Lemoine
68b3691cd6 Merge pull request #2634 from probins/patch-1
Minor improvement to comment in style/style
2014-08-26 18:55:00 +02:00
Peter Robins
4005c986f6 Minor improvement to comment in style/style 2014-08-26 17:34:05 +01:00
Éric Lemoine
df23bd1ff7 Merge pull request #2633 from elemoine/signature
Fix ol.style.defaultStyleFunction signature
2014-08-26 17:24:45 +02:00
Éric Lemoine
0d92d7abc1 Better comments in ol.style.defaultStyleFunction 2014-08-26 17:10:07 +02:00
Éric Lemoine
89019ea233 Fix ol.style.defaultStyleFunction signature 2014-08-26 17:09:43 +02:00
Antoine Abt
dea670f754 Merge pull request #2632 from tonio/attrib_styles
Small tweaks to attributions max-width
2014-08-26 15:52:36 +02:00
Antoine Abt
a046dc1bab Fix attributions width 2014-08-26 15:29:11 +02:00
Frédéric Junod
0e9744d967 Merge pull request #2631 from fredj/osm-maxzoom
Set default ol.source.OSM maxZoom to 19
2014-08-26 15:19:52 +02:00
Frederic Junod
b611aff8e4 Set default ol.source.OSM maxZoom to 19 2014-08-26 14:21:32 +02:00
Éric Lemoine
9ecd60601c Merge pull request #2627 from elemoine/inherits
Fix ol.inherits docs
2014-08-26 11:24:01 +02:00
Frédéric Junod
1e0b366202 Merge pull request #2628 from fredj/scale-line
Take the 'us' and 'nautical' units into account in scale line control
2014-08-26 11:03:48 +02:00
Frederic Junod
8c8fd64ecb Add 'us' and 'nautical' units in scale-line example 2014-08-26 10:37:52 +02:00
Frederic Junod
58e3561ba5 Take the 'us' and 'nautical' units into account
When converting pointResolution from degrees to meters
2014-08-26 10:36:55 +02:00
Éric Lemoine
26df575bfe Add @api stable annotations for GeoJSON format 2014-08-26 10:36:27 +02:00
Éric Lemoine
d3d41c8217 Fix ol.inherits docs 2014-08-26 10:13:10 +02:00
Éric Lemoine
b83e639301 Merge pull request #2624 from gingerik/wkt-call-stack
Fix potentially exceeding call stack limit
2014-08-26 08:57:31 +02:00
Erik Timmers
eef87fdaac Fix potentially exceeding call stack limit
Fixes #2590. Improves parsing time.
2014-08-26 08:28:18 +02:00
Éric Lemoine
c02793e42b Add @api stable to ol.MapEvent 2014-08-25 17:36:22 +02:00
Éric Lemoine
db452759c9 Add @api stable to ol.MapBrowserEvent 2014-08-25 17:36:10 +02:00
Éric Lemoine
43ee0158f8 Add @api stable to ol.events.condition built-ins 2014-08-25 17:25:06 +02:00
Éric Lemoine
dcd2e425a2 Add @api stable to ol.events.ConditionType 2014-08-25 17:24:57 +02:00
Bart van den Eijnden
069a2d9f20 Merge pull request #2617 from bartvde/kml-earthquakes
kml earthquakes example is broken
2014-08-25 17:17:03 +02:00
Frédéric Junod
dda700c1e4 Merge pull request #2618 from fredj/geom-clone
Indicates that ol.geom.Geometry#clone never return null
2014-08-25 17:10:20 +02:00
simonseyock
52e06a8ff7 Making ol.Overlay accept offset values if positioning right or bottom
When ol.Overlay has set positioning is set to right or bottom, no offset is applied. I added the missing calculations.
I made 2 fiddles showing the bahaviour before and after.
The divs in hte fiddles are named after their positioning (anchor point)! Not the actual position!
Before: http://jsfiddle.net/simon_seyock/ob7ggtx6/
As you can see, on div named "bottom-right" no offset at all is applied. On "bottom-center" it is only applied horizontally and on "center-right" only vertically.
After: http://jsfiddle.net/simon_seyock/sL2f3nL9/2/
All offsets are applied correctly, you could draw a straight line through the anchor points of every div.
2014-08-25 16:55:33 +02:00
Bart van den Eijnden
8107a0582a Use extractStyles false in KML earthquakes example 2014-08-25 16:51:21 +02:00
Frederic Junod
6e3354ab7b Indicates that ol.geom.Geometry#clone never return null 2014-08-25 16:44:52 +02:00
Tim Schaub
b5a6ffc144 Merge pull request #2608 from tschaub/more-stable
Mark ol.RendererType enum as stable.
2014-08-25 07:39:38 -06:00
Éric Lemoine
5aca42fe64 Merge pull request #2610 from elemoine/geoloc-stability
Annotate stable geolocation functions and options
2014-08-25 13:14:53 +02:00
Éric Lemoine
2e89d69743 Add @api stable annotations to olx.tilegrid.WMTSOptions 2014-08-25 12:37:37 +02:00
Éric Lemoine
b0e87fac76 Add @api stable annotations to ol.tilegrid.WMTS 2014-08-25 11:00:13 +02:00
Éric Lemoine
e4fc8fa119 Add @api stable annotations to olx.tilegrid.TileGridOptions 2014-08-25 11:00:13 +02:00
Éric Lemoine
137d74e5a0 Add @api stable annotations to ol.tilegrid.TileGrid 2014-08-25 11:00:13 +02:00
Éric Lemoine
016daf3c68 Mark ol.TransformFunction as stable 2014-08-25 10:30:04 +02:00
Éric Lemoine
cc4d793c64 Add @api stable annotations to ol.proj 2014-08-25 10:27:25 +02:00
Éric Lemoine
522820fc97 Merge pull request #2611 from elemoine/pixel-stability
Add @api stable annotation to ol.Pixel
2014-08-25 10:20:08 +02:00
Éric Lemoine
a1d91042b1 Add @api stable annotation to ol.Pixel 2014-08-25 10:00:10 +02:00
Éric Lemoine
c97e19b4ff Better docs for ol.Geolocation projection option 2014-08-25 09:56:48 +02:00
Éric Lemoine
759419593a Add @api stable annotations to olx.GeolocationOptions 2014-08-25 09:56:29 +02:00
Éric Lemoine
250b588db4 Add @api stable annotations to ol.Geolocation 2014-08-25 09:56:01 +02:00
Éric Lemoine
c89ea54179 Better docs for fitExtent and calculateExtent 2014-08-25 09:28:31 +02:00
Frederic Junod
5602ae6521 Document ol.geom.Polygon#getLinearRing function 2014-08-25 09:21:09 +02:00
Frederic Junod
9feac717c8 Add ol.geom.Polygon#getLinearRingCount function 2014-08-25 09:21:09 +02:00
Éric Lemoine
3533dba7ac Add @api stable annotations to olx.ViewOptions 2014-08-25 09:20:24 +02:00
Éric Lemoine
f4c8f176ec Add @api stable annotations to ol.View 2014-08-25 09:19:58 +02:00
Éric Lemoine
cd4063b0d8 Merge pull request #2602 from elemoine/layer-extent
Fix Uncaught RangeError in canvas tile renderer
2014-08-25 09:13:01 +02:00
Bart van den Eijnden
ddb4d9ae83 Merge pull request #2151 from bartvde/license
Builds should include license
2014-08-25 08:27:23 +02:00
Tim Schaub
61d759acc7 Add unstable class to typedefs in navigation menu 2014-08-24 18:35:18 -06:00
Tim Schaub
79efcc78a5 Add unstable class to member definitions 2014-08-24 18:31:23 -06:00
Tim Schaub
38b2a46b59 Mark ol.RendererType enum as stable 2014-08-24 18:22:19 -06:00
Tim Schaub
38b58e9860 Merge pull request #2606 from tschaub/stable-map-options
Annotate stable map options.
2014-08-24 18:16:27 -06:00
Tim Schaub
c899324eb5 Merge pull request #2605 from tschaub/stable-doc
Hide unstable items from the API docs by default.
2014-08-24 18:09:50 -06:00
Éric Lemoine
73df93969a No composeFrame if layer and view don't intersect
ol.renderer.canvas.TileLayer#prepareFrame immediately returns false if the layer extent and the view extent do not intersect.
2014-08-24 14:55:13 +02:00
Éric Lemoine
def1af4492 No composeFrame if prepareFrame returns false 2014-08-24 14:55:13 +02:00
Éric Lemoine
284031bd1e Merge pull request #2607 from probins/patch-1
Clarify that draganddrop example doesn't include projection transforms
2014-08-23 15:32:23 +02:00
Peter Robins
0010cb787f Clarify that draganddrop example doesn't include projection transforms 2014-08-23 12:09:17 +01:00
Tim Schaub
e17e909ffa Annotate stable map options 2014-08-22 17:43:51 -06:00
Tim Schaub
a8999f601b Hide unstable items by default, provide checkbox for toggling 2014-08-22 17:30:29 -06:00
Tim Schaub
ecaedff890 Add "unstable" class to unstable items
This also removes the events from the sidebar.  These are repeated on the main page and only add unnecessary length to the sidebar.
2014-08-22 17:28:50 -06:00
Tim Schaub
787688ef33 Copy stability from doclet to observable 2014-08-22 17:27:29 -06:00
Éric Lemoine
07b5b448dc Merge pull request #2596 from elemoine/apistable-coordinate
Add @api stable annotations for ol.coordinate
2014-08-22 19:02:17 +02:00
Éric Lemoine
9a4b45921d Merge pull request #2552 from elemoine/apistable
Add @api stable annotations for the ol.layer namespace
2014-08-22 19:01:13 +02:00
Éric Lemoine
fa2206e7a4 Merge pull request #2601 from probins/dbf
Rename ol.dom.browserfeature back to BrowserFeature
2014-08-22 19:00:44 +02:00
Éric Lemoine
5ce4e748f5 Add docs for the tile layer preload option 2014-08-22 18:38:22 +02:00
Éric Lemoine
1b86a4967f Merge pull request #2600 from elemoine/apistable-size
Add @api stable annotation to ol.Size
2014-08-22 18:02:40 +02:00
Éric Lemoine
32dce80fb6 Merge pull request #2598 from elemoine/apistable-extent
Add @api stable annotations for ol.extent
2014-08-22 18:02:33 +02:00
Éric Lemoine
886941b48e Merge pull request #2597 from elemoine/apistable-attribution
Add @api stable annotations for ol.Attribution
2014-08-22 18:02:20 +02:00
Éric Lemoine
546b42df07 Remove @api annotation from ol.coordinate.fromProjectedArray 2014-08-22 18:01:31 +02:00
Éric Lemoine
678d4ef01c Merge pull request #2555 from elemoine/apistable1
Add @api stable annotations for the ol.source namespace
2014-08-22 17:57:23 +02:00
Éric Lemoine
f369f9a076 Merge pull request #2599 from elemoine/apistable-control-defaultsoptions
Add @api stable annotations for olx.control.DefaultsOptions
2014-08-22 17:37:33 +02:00
Peter Robins
18a1c1c0d7 Rename ol.dom.browserfeature back to BrowserFeature 2014-08-22 15:32:01 +00:00
Éric Lemoine
c2e93adae0 Add @api stable annotation to ol.Size 2014-08-22 17:21:46 +02:00
Éric Lemoine
db546a60ea Add missing "rotate" field to DefaultsOptions typedef 2014-08-22 17:18:36 +02:00
Éric Lemoine
83b086db4f Add @api stable annotations for olx.control.DefaultsOptions 2014-08-22 17:12:01 +02:00
Éric Lemoine
22fd6872f4 Add @api stable annotations for ol.extent 2014-08-22 17:04:24 +02:00
Éric Lemoine
89e086e586 Add @api stable annotations for ol.Attribution 2014-08-22 16:59:18 +02:00
Éric Lemoine
7a2bad543f Merge pull request #2595 from probins/patch-1
Fix typo in generate-exports
2014-08-22 16:56:15 +02:00
Peter Robins
8dab12f0d4 Fix typo in generate-exports 2014-08-22 15:42:24 +01:00
Tim Schaub
19843d301c Merge pull request #2586 from tschaub/has
Rename ol.browserfeature to ol.has.
2014-08-22 08:02:55 -06:00
Tim Schaub
90fc5b2a4d Merge pull request #2587 from tschaub/shuffle
Directory renaming.
2014-08-22 07:49:42 -06:00
Tim Schaub
f11e5de156 Mark exportable ol.has properties as stable 2014-08-22 07:36:05 -06:00
Tim Schaub
947b049799 Rename ol.browserfeature to ol.has 2014-08-22 07:34:35 -06:00
Tim Schaub
f17c33f631 Rename buildcfg to config 2014-08-22 07:28:05 -06:00
Tim Schaub
c7ba6f4c6e Rename doc template from apidoc to api 2014-08-22 07:28:05 -06:00
Tim Schaub
1fd0bada51 Move apidoc config with other build related config 2014-08-22 07:28:05 -06:00
Tim Schaub
403e87f697 Merge pull request #2588 from tschaub/unstable
Mark map.beforeRender as unstable.
2014-08-22 07:16:49 -06:00
Éric Lemoine
bbeb4442a5 Add @api annotations to ol.layer.Tile 2014-08-22 11:24:07 +02:00
Éric Lemoine
3ced2d8266 Add @api stable annotations to ol.layer.Vector 2014-08-22 11:24:07 +02:00
Éric Lemoine
1085d4f152 Add @api stable annotations to ol.layer.Tile 2014-08-22 11:24:07 +02:00
Éric Lemoine
ee745f8c9e Add @api stable annotations to ol.layer.Image 2014-08-22 11:24:06 +02:00
Éric Lemoine
e50ba2172f Add @api stable annotations to ol.layer.Group 2014-08-22 11:24:06 +02:00
Éric Lemoine
15487d1ce9 Add @api stable annotations to ol.layer.Layer 2014-08-22 11:24:06 +02:00
Éric Lemoine
efc32b14df Add @api stable annotations to ol.layer.Base 2014-08-22 11:24:06 +02:00
Éric Lemoine
54ff843075 Add @api stable annotations for olx.source.ImageMapGuideOptions 2014-08-22 11:08:50 +02:00
Éric Lemoine
daf7715bc6 Add @api stable annotations for ol.source.ImageMapGuide 2014-08-22 11:07:35 +02:00
Éric Lemoine
495d807aba Add @api stable annotations for olx.source.ZoomifyOptions 2014-08-22 10:43:01 +02:00
Éric Lemoine
b5dcfeac42 Add @api stable annotations for olx.source.XYZOptions 2014-08-22 10:41:38 +02:00
Éric Lemoine
895694e8e8 Add @api stable annotations for olx.source.WMTSOptions 2014-08-22 10:38:21 +02:00
Éric Lemoine
96d91c684e Add @api stable annotations for olx.source.VectorOptions 2014-08-22 10:34:53 +02:00
Éric Lemoine
3ee72c35a6 Add @api stable annotations for olx.source.TileWMSOptions 2014-08-22 10:32:32 +02:00
Éric Lemoine
328f049d04 Add @api stable annotations for olx.source.TileJSONOptions 2014-08-22 10:32:32 +02:00
Éric Lemoine
6724e1520f Add @api stable annotations for olx.source.StamenOptions 2014-08-22 10:32:32 +02:00
Éric Lemoine
6bbb699771 Add @api stable annotations for olx.source.OSMOptions 2014-08-22 10:32:32 +02:00
Éric Lemoine
580943e700 Add @api stable annotations for olx.source.MapQuestOptions 2014-08-22 10:24:15 +02:00
Éric Lemoine
67c44b4e9e Add @api stable annotations for olx.source.ImageWMSOptions 2014-08-22 10:19:37 +02:00
Éric Lemoine
a7a255c235 Add @api stable annotations for olx.source.ImageStaticOptions 2014-08-22 10:19:37 +02:00
Éric Lemoine
3049b56db1 Add @api stable annotations for olx.source.BingMapsOptions 2014-08-22 10:19:37 +02:00
Éric Lemoine
72aa61885a Add @api stable annotations for ol.source.Zoomify 2014-08-22 10:19:37 +02:00
Éric Lemoine
0fc4d0de98 Add @api stable annotations for ol.source.XYZ 2014-08-22 10:19:37 +02:00
Éric Lemoine
50564f8d67 Remove ol.source.WMTS.optionsFromCapabilities from the API 2014-08-22 10:19:36 +02:00
Éric Lemoine
abe6fb7611 Add @api stable annotations for ol.source.WMTS 2014-08-22 10:19:36 +02:00
Éric Lemoine
02dc7bcc9e Add @api stable annotations for ol.source.Vector 2014-08-22 10:19:36 +02:00
Éric Lemoine
68fc7e5251 Add @api stable annotations for ol.source.TileWMS 2014-08-22 10:12:54 +02:00
Éric Lemoine
cea9bd6a4a Add @api stable annotations for ol.source.Tile 2014-08-22 10:12:54 +02:00
Éric Lemoine
4cc9187414 Add @api stable annotations for ol.source.TileJSON 2014-08-22 10:12:54 +02:00
Éric Lemoine
e9c2e72000 Add @api stable annotations for ol.source.Stamen 2014-08-22 10:12:54 +02:00
Éric Lemoine
16359b8af0 Add @api stable annotations for ol.source.Source 2014-08-22 10:12:54 +02:00
Éric Lemoine
823dc41cdf Add @api stable annotations for ol.source.OSM 2014-08-22 10:12:54 +02:00
Éric Lemoine
69b99cb9ed Add @api stable annotations for ol.source.MapQuest 2014-08-22 10:12:54 +02:00
Éric Lemoine
7596133db1 Add @api stable annotations for ol.source.ImageWMS 2014-08-22 10:12:54 +02:00
Éric Lemoine
f7088fc500 Add @api stable annotations for ol.source.ImageStatic 2014-08-22 10:12:54 +02:00
Bart van den Eijnden
a5dd13c5f1 Add a reference to the license to the build 2014-08-22 10:10:21 +02:00
Éric Lemoine
d71ca642d2 Add @api stable annotations for ol.source.BingMaps 2014-08-22 09:32:14 +02:00
Éric Lemoine
807ddccecf Merge pull request #2589 from tschaub/olx-property-stability
Document stability for olx properties
2014-08-22 09:27:48 +02:00
Éric Lemoine
3e38b1d88a Merge pull request #2561 from elemoine/apistable2
Add @api stable annotations for ol.Observable
2014-08-22 09:17:47 +02:00
Éric Lemoine
f3930d751e Add @api stable annotations for ol.Observable 2014-08-22 09:16:28 +02:00
Éric Lemoine
7383a1df06 Merge pull request #2565 from elemoine/apistable5
Add @api stable annotations for ol.Feature and the ol.geom namespace
2014-08-22 07:37:28 +02:00
Tim Schaub
9c4689206b Document stability for options 2014-08-21 22:14:48 -06:00
Tim Schaub
525456e6cd Only document olx properties marked as part of the API
And mark all olx properties with @api.  The stability level will be used to determine what can change between minor releases.
2014-08-21 21:49:06 -06:00
Tim Schaub
9975d842f1 Mark map.beforeRender as unstable 2014-08-21 20:31:05 -06:00
Tim Schaub
fc303cdec7 Merge pull request #2577 from tschaub/stability-info
Write out stability info for symbols.
2014-08-21 13:41:11 -06:00
Frédéric Junod
a9195771ca Merge pull request #2584 from openlayers/error-by-fail
Replace 'throw new Error' by 'goog.asserts.fail'
2014-08-21 18:33:46 +02:00
Éric Lemoine
58a77478a3 Merge pull request #2582 from elemoine/wmsgfi
Support for "Stateless GetFeatureInfo"
2014-08-21 18:07:39 +02:00
Tobias Sauerwein
a231086a8b Merge pull request #2407 from ahocevar/format-projection
Options for feature readers and writers to support transforms
2014-08-21 17:58:10 +02:00
Frederic Junod
fb1d7e0c50 Replace 'throw new Error' by 'goog.asserts.fail' 2014-08-21 15:22:01 +02:00
Frédéric Junod
15a516fd62 Merge pull request #2583 from fredj/readFeature-doc
Update ol.format.GeoJSON#readFeature documentation
2014-08-21 13:30:56 +02:00
Éric Lemoine
43bd2b740b Add @api stable annotations for ol.coordinate 2014-08-21 13:24:57 +02:00
Frederic Junod
b5a3e90bb4 Update ol.format.GeoJSON#readFeature documentation
An error is only thrown in development mode: goog.asserts.assert are removed
by the compiler.
2014-08-21 12:36:53 +02:00
Éric Lemoine
2e29ae8bc5 Add a getfeatureinfo-image example 2014-08-21 11:54:49 +02:00
Éric Lemoine
89686b783f Rename getfeatureinfo example to getfeatureinfo-tile 2014-08-21 11:52:47 +02:00
Éric Lemoine
fbab52b09f Enable ProjectionLike on getGetFeatureInfoUrl
This commit follows up on #2348.
2014-08-21 11:45:10 +02:00
tsauerwein
939e167c0b Rename "adaptOptionsWithDefaultDataProjection" 2014-08-21 11:39:01 +02:00
Éric Lemoine
d1bb2724a5 Stateless GetFeatureInfo for ol.source.ImageWMS 2014-08-21 11:29:44 +02:00
Éric Lemoine
5a9d75a04f Stateless GetFeatureInfo for ol.source.TileWMS 2014-08-21 11:29:44 +02:00
Éric Lemoine
55db958290 Merge pull request #2564 from elemoine/apistable4
Add @api stable annotations for the ol.control namespace
2014-08-21 11:02:56 +02:00
Éric Lemoine
a54a485faf Merge pull request #2562 from elemoine/apistable3
Add @api stable annotations for ol.Overlay
2014-08-21 11:00:26 +02:00
Éric Lemoine
4764cbc908 Remove the ol.geom.RawMultiPolygon type 2014-08-21 10:56:50 +02:00
Éric Lemoine
95d7598227 Remove the ol.geom.RawMultiLineString type 2014-08-21 10:56:50 +02:00
Éric Lemoine
d17993794d Remove the ol.geom.RawMultiPoint type 2014-08-21 10:56:50 +02:00
Éric Lemoine
47c1f1908e Remove the ol.geom.RawPolygon type 2014-08-21 10:56:50 +02:00
Éric Lemoine
838415218f Remove the ol.geom.RawLinearRing type 2014-08-21 10:56:50 +02:00
Éric Lemoine
fb1c764a38 Remove the ol.geom.RawLineString type 2014-08-21 10:56:50 +02:00
Éric Lemoine
72bcb2db80 Remove the ol.geom.RawPoint type 2014-08-21 10:56:49 +02:00
Éric Lemoine
feba61af25 Add @api stable annotations for ol.geom.SimpleGeometry 2014-08-21 10:56:49 +02:00
Éric Lemoine
e9eb22bc47 Add @api stable annotations for ol.geom.Polygon 2014-08-21 10:56:49 +02:00
Éric Lemoine
b865958efb Add @api stable annotations for ol.geom.Point 2014-08-21 10:56:49 +02:00
Éric Lemoine
2c5464aa76 Add @api stable annotations for ol.geom.MultiPolygon 2014-08-21 10:56:49 +02:00
Éric Lemoine
6ecd31fe62 Add @api stable annotations for ol.geom.MultiPoint 2014-08-21 10:56:49 +02:00
Éric Lemoine
ce7fda71af Add @api stable annotations for ol.geom.MultiLineString 2014-08-21 10:56:49 +02:00
Éric Lemoine
180c6aa7a9 Add @api stable annotations for ol.geom.LineString 2014-08-21 10:56:49 +02:00
Éric Lemoine
516be9041e Add @api stable annotations for ol.geom.LinearRing 2014-08-21 10:56:49 +02:00
Éric Lemoine
5ccb0fae07 Add @api stable annotations for ol.geom.GeometryCollection 2014-08-21 10:56:49 +02:00
Éric Lemoine
9b0ce7b80c Add @api stable annotations for ol.geom.Geometry 2014-08-21 10:56:49 +02:00
Éric Lemoine
300146e15b Merge pull request #2580 from probins/patch-1
Small improvements to description of ol.Map example
2014-08-21 10:21:49 +02:00
Peter Robins
b858421220 Small improvements to description of ol.Map example 2014-08-21 08:46:40 +01:00
Frédéric Junod
dcf05af210 Merge pull request #2579 from probins/patch-1
Remove link to non-existent ol.ViewOptions
2014-08-21 09:43:54 +02:00
Peter Robins
44d9955dae Remove link to non-existent ol.ViewOptions 2014-08-21 08:34:54 +01:00
Frédéric Junod
fa512f1ed0 Merge pull request #2545 from fredj/cleanup
Miscellaneous coding style fixes
2014-08-21 07:44:07 +02:00
Tim Schaub
bc680ef101 Write out stability info for symbols 2014-08-20 16:17:27 -06:00
Bart van den Eijnden
dd2d896983 Merge pull request #2570 from bartvde/gml-wfs-docs
document that ol.format.GML is GML v3 SF profile only now
2014-08-20 22:55:55 +02:00
Bart van den Eijnden
45d4f32078 Document the supported GML and WFS versions 2014-08-20 21:50:51 +02:00
Antoine Abt
81b66a7906 Merge pull request #2575 from tonio/vectoropacity
Restore opacity after drawing vector layers
2014-08-20 15:47:07 +02:00
Éric Lemoine
d906efa24c Merge pull request #2509 from probins/apimismatch
Fix missing API docs
2014-08-20 15:40:25 +02:00
Antoine Abt
b034e114d6 Restore opacity after drawing vector layers 2014-08-20 15:34:48 +02:00
Frédéric Junod
42e8fb544a Merge pull request #2571 from fredj/rotatecontrol-cleanup
ol.control.Rotate cleanup and optimization
2014-08-20 11:59:57 +02:00
Frederic Junod
7f086e138a Remove unnecessary local variable 2014-08-20 11:17:44 +02:00
Éric Lemoine
817862ef59 Merge pull request #2572 from probins/proj
Document aliases for EPSG:4326/3857
2014-08-20 11:16:33 +02:00
Peter Robins
ac63a453c2 Document aliases for EPSG:4326/3857 2014-08-20 09:03:46 +00:00
Frederic Junod
27ae50e673 Only update rotate control element when it's needed
To avoid a lot of 'Recalculate style' events by the browser.
2014-08-20 10:58:18 +02:00
Frederic Junod
7c14399133 Add missing jsdoc tag 2014-08-20 10:58:18 +02:00
Frederic Junod
113888120f Use goog.math.toDegrees 2014-08-20 10:58:17 +02:00
Tim Schaub
c7f45819ae Merge pull request #2482 from tschaub/lint-tasks
Lint tasks.
2014-08-19 12:30:26 -06:00
Tim Schaub
f498080d78 Fail if tasks have lint 2014-08-19 12:15:11 -06:00
Tim Schaub
30bfa1bf19 Remove additional lint from new tasks 2014-08-19 12:15:11 -06:00
Tim Schaub
7f5ed26d8d Merge pull request #1124 from tschaub/xyz
Allow tilegrid creation from projection or extent.
2014-08-19 11:59:52 -06:00
Tim Schaub
6bd0d7efae Additional documentation 2014-08-19 10:30:38 -06:00
Tim Schaub
1ede97ae18 Respect the tileSize option for XYZ grids 2014-08-19 10:30:37 -06:00
Tim Schaub
ee487ca308 Sources may be configured with a projection, tile grids with an extent
An XYZ tile grid is constructed with an extent defining the bounds of the tile grid.
2014-08-19 10:30:27 -06:00
Éric Lemoine
239a90cd55 Add @api stable annotations for ol.Feature 2014-08-19 17:12:46 +02:00
Éric Lemoine
24651ba21e Add @api stable annotations for ol.control.FullScreen 2014-08-19 16:59:22 +02:00
Éric Lemoine
26ec1d5924 Add @api stable annotations for ol.control.ZoomToExtent 2014-08-19 16:59:18 +02:00
Éric Lemoine
967bbebaa0 Add @api stable annotations for ol.control.ZoomSlider 2014-08-19 16:59:14 +02:00
Éric Lemoine
c3e0b5f282 Add @api stable annotations for ol.control.Zoom 2014-08-19 16:59:10 +02:00
Éric Lemoine
d8afc96aa3 Add @api stable annotations for ol.control.ScaleLine 2014-08-19 16:59:06 +02:00
Éric Lemoine
975e81a041 Add @api stable annotations for ol.control.Rotate 2014-08-19 16:59:02 +02:00
Éric Lemoine
39431dff9e Add @api stable annotations for ol.control.MousePosition 2014-08-19 16:58:53 +02:00
Éric Lemoine
ecbf3bc692 Add @api stable annotations for ol.control.defaults 2014-08-19 16:58:49 +02:00
Éric Lemoine
602deafc86 Add @api stable annotations for ol.control.Attribution 2014-08-19 16:46:44 +02:00
Éric Lemoine
7c01d3a57c Add @api stable annotations for ol.control.Control 2014-08-19 16:46:12 +02:00
Éric Lemoine
365caa6f19 Merge pull request #2559 from elemoine/loader
Change comment in loader_hosted_examples.js
2014-08-19 12:33:04 +02:00
Éric Lemoine
879ace1c9a Add @api stable annotations for ol.Overlay 2014-08-19 12:32:01 +02:00
Frédéric Junod
27ad6c33bc Merge pull request #2560 from fredj/optim
Don't create unnecessary closure
2014-08-19 12:28:34 +02:00
Éric Lemoine
2c9e822808 Merge pull request #2410 from probins/taskreadme
Additional clarifications for tasks/readme
2014-08-19 12:27:25 +02:00
Éric Lemoine
96269c0b24 Change comment in loader_hosted_examples.js
The hosted examples do not use the ol-debug.js build. They use ol.js in "production" mode, and they load scripts one by one in "development" mode.
2014-08-19 12:14:38 +02:00
Frederic Junod
1439ceafa1 Simplify goog.object.forEach call 2014-08-19 11:58:50 +02:00
Frederic Junod
102f214afe Remove unnecessary local variable 2014-08-19 11:58:25 +02:00
Frederic Junod
0f4e56978b Remove unnecessary newlines 2014-08-19 11:58:25 +02:00
Frederic Junod
35e4134047 Don't create unnecessary closure 2014-08-19 11:39:44 +02:00
Frédéric Junod
59826ce490 Merge pull request #2558 from fredj/optim
Don't create unnecessary closure in constructor
2014-08-19 11:02:31 +02:00
Éric Lemoine
db490e11b5 Merge pull request #2557 from elemoine/rename-mapguide
Rename ol.source.MapGuide to ol.source.ImageMapGuide
2014-08-19 10:20:52 +02:00
Frederic Junod
2b3e0bf699 Don't create unnecessary closure in constructor 2014-08-19 09:55:18 +02:00
Éric Lemoine
ec81c05cce Rename ol.source.MapGuide to ol.source.ImageMapGuide 2014-08-19 09:44:15 +02:00
tsauerwein
b30ed6b934 Put options on objectStack for xml formats 2014-08-19 09:42:44 +02:00
Tim Schaub
e97f79b4ab Respect XYZ source projection 2014-08-18 23:03:33 -06:00
Tim Schaub
33b68123ac Add jshint config for tasks and remove lint 2014-08-18 17:22:57 -06:00
Tim Schaub
63ad916ca7 Function for creating tile grids from extents 2014-08-18 17:10:26 -06:00
Tim Schaub
dd5e7693da General purpose getCorner function for extents 2014-08-18 14:55:49 -06:00
Éric Lemoine
711c4bbc8c Merge pull request #2450 from probins/events
Improve and standardise event docs
2014-08-18 17:35:59 +02:00
Peter Robins
7a5a5d75e7 Improve and standardise event docs 2014-08-18 15:17:02 +00:00
Éric Lemoine
8f7f814d32 Merge pull request #2465 from probins/color
Expand docs for color options
2014-08-18 16:53:39 +02:00
Peter Robins
d5e1c27fc1 Expand docs for color options 2014-08-18 14:37:38 +00:00
Éric Lemoine
e53213d730 Merge pull request #2537 from probins/browserfeature
Rename BrowserFeature to browserfeature
2014-08-18 16:23:28 +02:00
Antoine Abt
344452bd22 Merge pull request #2443 from tonio/tile-vector
More data in tile-vector examples
2014-08-18 15:59:20 +02:00
tsauerwein
e7864be2be Fix ol.format.transformWithOptions 2014-08-18 15:48:29 +02:00
tsauerwein
539e4a23b9 Introduce defaultDataProjection for formats 2014-08-18 15:31:06 +02:00
Frédéric Junod
b92a0338c9 Merge pull request #2547 from fredj/proj-api
Export more functions from ol.proj.Projection
2014-08-18 15:00:13 +02:00
Éric Lemoine
a7e32469fa Merge pull request #2512 from petrsloup/olcs-missing-api
Make API of raster sources more convenient
2014-08-18 14:23:49 +02:00
Frederic Junod
d7c2e27d50 Export ol.proj.Projection#getMetersPerUnit function 2014-08-18 14:21:10 +02:00
Frederic Junod
e39e9c2230 Export ol.proj.Projection#isGlobal function 2014-08-18 14:21:10 +02:00
Antoine Abt
139ea4c7d2 Merge pull request #2513 from probins/editstyle
Move createDefaultEditingStyles() to ol.style
2014-08-18 14:11:35 +02:00
Petr Sloup
d7027a6a64 Export getLayers and setLayers methods of ol.layer.Group
This is nicer than having to use .get("layers") and .set("layers", x).
2014-08-18 13:48:42 +02:00
Petr Sloup
1d5c746974 Export getHTML method of ol.Attribution to the api 2014-08-18 13:48:34 +02:00
Petr Sloup
0ac90e62b9 Added some api annotations required for accessing layer properties 2014-08-18 13:48:14 +02:00
Éric Lemoine
c83ae8a284 Merge pull request #2544 from elemoine/mapguide
Params not correctly handled in MapGuide source
2014-08-18 13:21:34 +02:00
Éric Lemoine
e7083aef1d Params not correctly handled in MapGuide source 2014-08-18 12:17:32 +02:00
Frédéric Junod
c7bf94e69b Merge pull request #2528 from fredj/wmts-source-optim
ol.source.WMTS optimization
2014-08-18 11:24:41 +02:00
Éric Lemoine
9072fb1f2f Merge pull request #2543 from elemoine/foreachfeature
Do not hit-detect the same feature multiple times
2014-08-18 10:38:38 +02:00
Frederic Junod
b484801e4f Use tmpExtent in ol.source.WMTS tileUrlFunction 2014-08-18 10:35:14 +02:00
Frederic Junod
8076401c0f Use opt_tileCoord in ol.source.WMTS tileUrlFunction 2014-08-18 10:35:14 +02:00
Éric Lemoine
c81dfdc69b Do not hit-detect the same feature multiple times
In other words forEachFeatureAtPixel should not call the user-provided callback more than once for a given feature.
2014-08-18 10:24:12 +02:00
Éric Lemoine
0779b4ef79 Merge pull request #2539 from elemoine/tilecoord
Change ol.TileCoord to Array.<number>
2014-08-18 10:21:35 +02:00
Éric Lemoine
ba035abb1f Change ol.TileCoord to an Array 2014-08-18 09:33:24 +02:00
Paul Spencer
1fc620b7bb Merge pull request #2527 from pagameba/cluster-fix
Return rather than fail if resolution is not defined
2014-08-16 19:26:37 -04:00
Peter Robins
e35531e7c6 Rename BrowserFeature to browserfeature 2014-08-15 13:53:20 +00:00
Éric Lemoine
0d20b337a0 Merge pull request #2348 from probins/getget
Enable ProjectionLike on getGetFeatureInfoUrl
2014-08-15 11:37:20 +02:00
Peter Robins
7b32b8e561 Enable ProjectionLike on getGetFeatureInfoUrl 2014-08-15 08:42:40 +00:00
Frédéric Junod
7097be3d00 Merge pull request #2532 from fredj/tilerange-cleanup
Add ol.TileRange#containsXY function
2014-08-14 13:59:23 +02:00
Frédéric Junod
db6c87a9bd Merge pull request #2529 from petrsloup/source-state-fix
Fix for invalid initial state of certain sources
2014-08-14 12:23:49 +02:00
Éric Lemoine
a16a678ca7 Be stricter with types 2014-08-14 10:56:48 +02:00
Frederic Junod
14fc16b91d Add ol.TileRange#containsXY function 2014-08-14 10:50:19 +02:00
Frédéric Junod
8c3a72497c Merge pull request #2531 from fredj/debugtile-cleanup
Remove unneeded ol.DebugTile_#tileCoord_ variable
2014-08-14 10:17:36 +02:00
Frederic Junod
abc01b5f10 Remove unneeded ol.DebugTile_#tileCoord_ variable 2014-08-14 09:43:05 +02:00
Petr Sloup
5d31d2044a Added "state" property of olx.source.TileImageOptions to the olx externs 2014-08-14 09:32:27 +02:00
Petr Sloup
4b24eb6eb2 Added 'state' constructor option to Tile and TileImage sources 2014-08-13 17:11:29 +02:00
Frédéric Junod
ff209d8759 Merge pull request #2526 from fredj/xyz-retina
Fix incorrect maximum extent in xyz-retina example
2014-08-13 16:40:25 +02:00
tsauerwein
1205d0fe1e Fix ol.format.GML.readProjectionFromNode 2014-08-13 10:32:26 +02:00
Frederic Junod
3b817d8db3 Fix attribution in xyz-retina example 2014-08-13 08:59:42 +02:00
Paul Spencer
fb242b5316 Return rather than fail if resolution is not defined 2014-08-12 20:27:17 -04:00
Frederic Junod
2b8426fb47 Fix incorrect maximum extent in xyz-retina example 2014-08-12 18:09:00 +02:00
Frédéric Junod
4fb905170a Merge pull request #2525 from fredj/reuse-tileRange
Reuse tileRange in ol.renderer.Layer#manageTilePyramid
2014-08-12 17:53:56 +02:00
Éric Lemoine
9cf653f0f2 Merge pull request #2510 from elemoine/check
Make the check target build ol.js
2014-08-12 17:49:53 +02:00
Frederic Junod
f2638ddfbf Reuse tileRange in ol.renderer.Layer#manageTilePyramid
This avoids a lot of garbage.
2014-08-12 14:37:46 +02:00
Éric Lemoine
c16622be9e Merge pull request #2519 from probins/view
Small corrections to ol.View docs
2014-08-12 09:19:39 +02:00
Peter Robins
5247903a4a Small corrections to ol.View docs 2014-08-12 07:13:10 +00:00
Andreas Hocevar
45f24ee097 Merge pull request #2518 from probins/centercon
Remove centerConstraintType from API
2014-08-11 20:22:06 +02:00
Peter Robins
8bc5a928a7 Remove centerConstraintType from API 2014-08-11 17:15:08 +00:00
Andreas Hocevar
e69f065a23 Merge pull request #2479 from ahocevar/generate-externs
Node task to generate externs for OpenLayers 3
2014-08-11 18:29:04 +02:00
Peter Robins
ed2f2befdf Move createDefaultEditingStyles() to ol.style 2014-08-11 15:39:21 +00:00
Frédéric Junod
6ca3e83492 Merge pull request #2511 from fredj/cleanup
Remove unused goog.require
2014-08-11 15:31:00 +02:00
Éric Lemoine
b3b5572763 Make the check target build ol.js 2014-08-11 14:22:01 +02:00
tsauerwein
294afe16fe Fix compiler type errors 2014-08-11 14:04:31 +02:00
Frederic Junod
ddd16b6985 Remove unused goog.require 2014-08-11 13:49:30 +02:00
tsauerwein
3ff180b224 Implement read transforms for ol.format.WFS 2014-08-11 12:22:29 +02:00
tsauerwein
48ed2e861e Implement read/write transforms for ol.format.Polyline 2014-08-11 11:59:27 +02:00
Peter Robins
d9976ca207 Fix missing API docs 2014-08-11 09:35:16 +00:00
tsauerwein
f8560df793 Implement read transforms for ol.format.IGC 2014-08-11 10:51:34 +02:00
tsauerwein
9bc70f3459 Implement read/write transforms for ol.format.WKT 2014-08-11 10:17:31 +02:00
Andreas Hocevar
286db65d34 Use {*} instead of {goog.*} types in externs file 2014-08-09 09:05:54 +02:00
Andreas Hocevar
e294ca1868 Keep track of all symbols
This avoids that we add parent namespaces of symbols that were already
added because they have their own definition in the externs.
2014-08-09 08:53:25 +02:00
Andreas Hocevar
8a56f455f1 Define constructor before its members 2014-08-09 08:53:24 +02:00
Andreas Hocevar
63abbe2597 Prepend 'var ' for root symbols 2014-08-09 08:53:24 +02:00
Andreas Hocevar
9780e9f0c0 Dereference typedef 2014-08-09 08:53:24 +02:00
Andreas Hocevar
a35f361683 Build types only for olx.* symbols from externs 2014-08-09 08:53:24 +02:00
Andreas Hocevar
9e814f119f Do not process file type doclets 2014-08-09 08:53:24 +02:00
Andreas Hocevar
e8eebd8846 Allow to provide externs for inclusion in info.json 2014-08-09 08:53:24 +02:00
Tim Schaub
9db936fe87 Merge pull request #2508 from tschaub/post-install
Run closure-util install script after install.
2014-08-08 11:20:55 -07:00
Tim Schaub
bdfceaad06 Run closure-util install script after install
This needs to be run whenever our closure-util.json config changes.  It is harmless to run multiple times.
2014-08-08 11:08:37 -07:00
tsauerwein
bfb6c2e3b8 Implement read transforms for ol.format.OSMXML 2014-08-08 17:25:05 +02:00
tsauerwein
b05f880f7c Implement read/write transforms for ol.format.KML 2014-08-08 17:10:11 +02:00
tsauerwein
31dbbc6a8c Implement read/write transforms for ol.format.GPX 2014-08-08 15:50:55 +02:00
tsauerwein
e446738491 Implement read transforms for ol.format.TopoJSON 2014-08-08 11:43:53 +02:00
tsauerwein
3090a0af37 Fix GeoJSON.readFeaturesFromObject
Only feature collections worked properly.
2014-08-08 11:14:03 +02:00
tsauerwein
281fd3c6a9 Implement GML.readProjectionFromNode() 2014-08-08 10:54:40 +02:00
Éric Lemoine
8959aaafd5 Merge pull request #2477 from fredj/2475
Add new olx.format.KMLOptions#extractStyles property
2014-08-08 08:57:15 +02:00
Éric Lemoine
253d64d6f0 Merge pull request #2506 from elemoine/naming
Rename debugtilesource.js to tiledebugsource.js
2014-08-08 08:47:59 +02:00
Éric Lemoine
9d6fced8b4 Merge pull request #2505 from elemoine/graticule-style
Make stroke style of the graticule configurable
2014-08-08 08:43:28 +02:00
Éric Lemoine
9d9f29e1a2 debugtilesource.js changed to tiledebugsource.js 2014-08-08 08:32:44 +02:00
Marc Jansen
b60609d93c Make stroke style of the graticule configurable 2014-08-08 08:28:34 +02:00
Frédéric Junod
54406f5b2f Merge pull request #2416 from fredj/newer-closure-library
Upgrade closure-library version
2014-08-08 07:37:49 +02:00
Frédéric Junod
b8dca21286 Merge pull request #2470 from fredj/2470
EPSG:4326 example broken
2014-08-07 17:38:06 +02:00
Frederic Junod
134a4e220d Change WMS server in examples 2014-08-07 17:25:08 +02:00
Frederic Junod
190db934ee Always use goog.json.parse and set goog.json.USE_NATIVE_JSON=true 2014-08-07 17:14:50 +02:00
Frederic Junod
cf85079d22 Mark 'es5Strict' checks as errors 2014-08-07 17:14:49 +02:00
Frederic Junod
66da8fc393 Upgrade closure-library version 2014-08-07 17:14:49 +02:00
Frederic Junod
9e37aa796a Add new olx.format.KMLOptions#extractStyles property 2014-08-07 17:08:19 +02:00
Frédéric Junod
18b3c3eee7 Merge pull request #2501 from fredj/2501
bug fix to play nice with sencha touch 2.3
2014-08-07 16:58:19 +02:00
Frédéric Junod
5e4cfe875b Merge pull request #2503 from fredj/geolocation-bind-proj
Don't bind to ol.View projection property
2014-08-07 14:04:03 +02:00
Andreas Hocevar
e06fe37607 Merge pull request #2502 from ahocevar/template-test
Add unit test for greedy template replacement
2014-08-07 13:36:24 +02:00
Frederic Junod
0d6cc22bf0 Don't bind to ol.View projection property 2014-08-07 12:59:15 +02:00
Frederic Junod
d3b5a14a9b Don't use TouchList#item function 2014-08-07 12:25:19 +02:00
Andreas Hocevar
410b274b6a Add unit test for greedy template replacement 2014-08-07 12:18:03 +02:00
Andreas Hocevar
0a963d4615 Merge pull request #2497 from ahocevar/greedy-template
TileUrlFunction only replaces first instance of placeholder variables
2014-08-07 12:09:24 +02:00
Andreas Hocevar
08039e9894 Replace multiple placeholder occurrences in templates 2014-08-07 10:51:41 +02:00
Andreas Hocevar
2230349b52 Merge pull request #2498 from ahocevar/custom-def
Unprecise transormation used in example
2014-08-07 09:01:34 +02:00
Andreas Hocevar
52ee406938 Use definition with 7-parameter transform for EPSG:21781 2014-08-06 23:26:26 +02:00
Frédéric Junod
a1e33eabc5 Merge pull request #2499 from fredj/2294
Properly clear features in ol.source.ServerVector#clear
2014-08-06 10:42:31 +02:00
Tim Schaub
1864e03873 Merge pull request #2496 from probins/linear
Correct wrong docs for LinearRing.

Closes #2495.
2014-08-05 11:22:59 -06:00
Frédéric Junod
063532d509 Merge pull request #2455 from fredj/2455
Opacity of last layer is used in postcompose drawing
2014-08-05 17:18:57 +02:00
Frederic Junod
ae98ee8b4a Restore context opacity after drawing layers
Closes #2455
2014-08-05 16:05:23 +02:00
Evgeny Ushkalov
af05b3d031 Properly clear features in ol.source.ServerVector#clear 2014-08-05 15:39:42 +02:00
Peter Robins
d3683fcab9 Correct wrong docs for LinearRing 2014-08-05 11:08:44 +00:00
Andreas Hocevar
1bd522d96f Merge pull request #2481 from probins/styledoc
Improve docs for style
2014-08-05 12:01:19 +02:00
Peter Robins
bf3770a9da Improve docs for style 2014-08-05 09:04:35 +00:00
Andreas Hocevar
9575396aad Fix types in olx.js 2014-08-04 20:37:46 +02:00
Andreas Hocevar
53e12e7e47 Add typedefs for externs/olx.js contents 2014-08-04 20:37:46 +02:00
Andreas Hocevar
f0242a76c4 Include typedefs and types from olx.js 2014-08-04 20:37:46 +02:00
Andreas Hocevar
58f857bbb6 Test whether externs/olx.js is newer than build/info.json 2014-08-04 20:37:45 +02:00
Andreas Hocevar
33a627b7ce Include externs/olx.js in the info generation 2014-08-04 20:37:45 +02:00
Andreas Hocevar
a40170feb7 Include typedefs in externs 2014-08-04 20:37:45 +02:00
Andreas Hocevar
b2059b85d2 Add data for typedefs to info.json 2014-08-04 20:37:45 +02:00
Andreas Hocevar
26dae36a0b Extract types in a separate function 2014-08-04 20:37:45 +02:00
Andreas Hocevar
46b74cedf8 Only add object type definition when there is no constructor 2014-08-04 20:37:44 +02:00
Andreas Hocevar
94e2911697 Fix function type so the function is optional, not the return value 2014-08-04 20:37:44 +02:00
Andreas Hocevar
9517c0d433 Use 'Function' type instead of 'function' 2014-08-04 20:37:44 +02:00
Andreas Hocevar
66bde546c0 Avoid duplicate constructors 2014-08-04 20:37:44 +02:00
Andreas Hocevar
1e79acac20 Build externs file from info.json
This change adds all information that is needed to generate the externs
file to build/info.json, so tasks/generate-externs.js no longer needs
to spawn JSDoc.
2014-08-04 20:37:44 +02:00
Andreas Hocevar
0d86e4a237 Document the generate-externs.js task 2014-08-04 20:37:44 +02:00
Andreas Hocevar
4cb60feb40 Add generate-externs task to create build/ol-externs.js 2014-08-04 20:37:43 +02:00
Andreas Hocevar
0b622ba5e7 Add JSDoc configuration to generate ol3 externs 2014-08-04 20:37:43 +02:00
Andreas Hocevar
8e6711835c Move plugins one level up so they can be used by other configurations 2014-08-04 20:37:43 +02:00
Éric Lemoine
b6fa8908e5 Merge pull request #2494 from probins/geom
Document LinearRing as abstract class
2014-08-04 12:22:59 +02:00
Éric Lemoine
28c3993088 Merge pull request #2493 from elemoine/jquery-externs
Update jquery externs file
2014-08-04 12:06:04 +02:00
Peter Robins
652fcede22 Document LinearRing as abstract class 2014-08-04 10:05:01 +00:00
Éric Lemoine
41e5aa07bd Update jquery externs file 2014-08-04 11:07:17 +02:00
Andreas Hocevar
b88cb727c9 Merge pull request #2492 from probins/length
Document that geom.getArea/Length on projected plane
2014-08-04 10:40:38 +02:00
Peter Robins
c86569684e Document that geom.getArea/Length on projected plane 2014-08-04 08:02:01 +00:00
Frédéric Junod
7de98d8794 Merge pull request #2433 from fredj/collection
Templatize ol.Collection
2014-08-02 09:47:34 +02:00
Frédéric Junod
acf623f853 Merge pull request #2483 from fredj/view.projection
Remove projection from ol.View observable properties
2014-08-01 16:01:10 +02:00
Andreas Hocevar
65346d716d Add GeoJSON tests for write transforms 2014-07-31 17:55:43 +02:00
Andreas Hocevar
c4fdbacc12 Make options complete in ol.format.Feature already 2014-07-31 17:55:43 +02:00
Andreas Hocevar
4825cba48a Implement ReadOptions and WriteOptions for ol.format.GML 2014-07-31 17:55:43 +02:00
Andreas Hocevar
da0988f5f4 Add ReadOptions and WriteOptions for XML formats 2014-07-31 17:54:41 +02:00
Andreas Hocevar
b8a834b437 Add transform tests for GeoJSON readFeatures 2014-07-31 17:54:41 +02:00
Andreas Hocevar
46bba1fa3c Get projection from data if dataProjection is not specified 2014-07-31 17:54:41 +02:00
Andreas Hocevar
ee5f85df9f Add transformGeometry function to avoid repeated code 2014-07-31 17:54:41 +02:00
Andreas Hocevar
68d572e062 Better descriptions of options 2014-07-31 17:54:41 +02:00
Andreas Hocevar
464eb3ccf5 Make projection retrieval consistent 2014-07-31 17:54:41 +02:00
Andreas Hocevar
4c4a335448 Implement write transforms for ol.format.GeoJSON 2014-07-31 17:54:41 +02:00
Andreas Hocevar
8aa799850d Add write transform capability to ol.format.JSONFeature 2014-07-31 17:51:25 +02:00
Andreas Hocevar
b0d95b326a Introduce WriteOptions for feature formats 2014-07-31 17:51:25 +02:00
Andreas Hocevar
3245b8c6af Update read* signatures in ol.format.JSONFeature to use options 2014-07-31 17:51:25 +02:00
Andreas Hocevar
0ea55b7f27 Use a ReadFeatures object instead of sourceProjection/targetProjection 2014-07-31 17:51:25 +02:00
Éric Lemoine
225791c969 Add target/sourceProjection to ol.format.GeoJSON#read* 2014-07-31 17:51:24 +02:00
Éric Lemoine
d13261a21a Add target/sourceProjection to ol.format.JSONFeature#read* 2014-07-31 17:51:24 +02:00
Éric Lemoine
534a178a49 Add target/sourceProjection to ol.format.Feature#read* 2014-07-31 17:51:24 +02:00
Frédéric Junod
819fd83e06 Merge pull request #2473 from fredj/2472
Rename olx.FrameState#skippedFeatureUids_ skippedFeatureUids
2014-07-31 13:38:37 +02:00
Frederic Junod
8d9dbcbb2a Remove unneeded type cast 2014-07-31 12:11:27 +02:00
Frederic Junod
e69913900e Remove projection from ol.View observable properties 2014-07-31 12:10:35 +02:00
Frederic Junod
86268bcf58 Rename olx.FrameState#skippedFeatureUids_ skippedFeatureUids
To let the ol.Map#skippedFeatureUids_ property to be renamed by the compiler.
2014-07-31 11:30:39 +02:00
Frédéric Junod
80c6e019a7 Merge pull request #2471 from fredj/jsdoc
minor jsdoc and type annotation fixes
2014-07-31 11:14:08 +02:00
Frederic Junod
7a86bf58bf Improve type annotation 2014-07-31 09:44:52 +02:00
Frederic Junod
051da752f3 Improve type annotation in ol.format.GeoJSON 2014-07-31 09:43:06 +02:00
Frederic Junod
9b476e4ce3 Add the jsdoc ol.style namespace 2014-07-31 09:09:48 +02:00
Frederic Junod
0277026624 Stricter typing for ol.Collection 2014-07-30 09:38:16 +02:00
Frederic Junod
1048d59331 Remove unneeded type cast 2014-07-30 09:09:34 +02:00
Frederic Junod
93218e5db4 Templatize ol.Collection 2014-07-30 09:09:33 +02:00
Frédéric Junod
f99e9e40b7 Merge pull request #2467 from fredj/2460
Add workaround for mousewheel event name
2014-07-29 17:36:32 +02:00
Frédéric Junod
9e33ccad74 Merge pull request #2466 from fredj/unused-typedef
Remove unused ol.CoordinateArray typedef
2014-07-29 17:31:48 +02:00
Frederic Junod
3fce080d5a Add workaround for mousewheel event name
'DOMMouseScroll' for Gecko and 'mousewheel' otherwise.

See https://github.com/google/closure-library/pull/308
2014-07-29 17:10:26 +02:00
Frederic Junod
53be13a658 Remove unused ol.CoordinateArray typedef 2014-07-29 14:44:51 +02:00
Frédéric Junod
7b7070d723 Merge pull request #2458 from openlayers/cluster
Add clustering functionality
2014-07-29 14:10:49 +02:00
Andreas Hocevar
27d5a3cc4c Merge pull request #2463 from gingerik/externs-function-bodies
Remove function bodies from externs
2014-07-29 13:52:12 +02:00
Frédéric Junod
40e16557a9 Merge pull request #2464 from fredj/closure-library-issue-link
Update link to closure-library issue
2014-07-29 13:35:13 +02:00
Frederic Junod
4fa9083854 Update link to closure-library issue 2014-07-29 12:46:35 +02:00
Frederic Junod
06df648733 Add ol.source.Cluster
Initial code by @kenny806
2014-07-29 12:29:43 +02:00
Erik Timmers
077bcdd778 Remove function bodies from externs 2014-07-29 12:02:00 +02:00
Tim Schaub
77674c6728 Merge pull request #2448 from gingerik/wkt-docs
Fix WKT writers output type.
2014-07-28 17:47:10 -06:00
Frédéric Junod
ec8d3a45e4 Merge pull request #2423 from fredj/dispose
Dispose the tiles removed from the cache
2014-07-28 17:18:27 +02:00
Frédéric Junod
707648b828 Merge pull request #2457 from probins/patch-1
Remove reference to simple/whitespace in examples/readme
2014-07-28 12:22:11 +02:00
Peter Robins
8079590b49 Remove reference to simple/whitespace in examples/readme 2014-07-28 10:01:41 +01:00
Marc Jansen
495ad3de93 Merge pull request #2452 from marcjansen/test-typo
Fix typo in ol.Map test.
2014-07-28 09:36:28 +02:00
Marc Jansen
2e37a34459 Fix typo in ol.Map test. 2014-07-28 09:35:23 +02:00
Frédéric Junod
e729b3d423 Merge pull request #2449 from probins/patch-1
Improve wording of ol.Map description
2014-07-28 07:44:09 +02:00
Peter Robins
cff8d4c668 Improve wording of ol.Map description 2014-07-27 12:06:45 +01:00
Erik Timmers
76c883ea89 Fix WKT writers output type 2014-07-26 11:47:35 +02:00
Tim Schaub
4d0fbaedc1 Merge pull request #2446 from tschaub/version
Unconditionally add version info to the build header.
2014-07-25 15:33:30 -06:00
Jesse F. LaRue
f8824fa4b0 Correct typo in documentation
corrected homonym error.
2014-07-25 14:19:53 -07:00
Tim Schaub
c3bddffecb Unconditionally add version info to the build header
This reworks the changes in #2442 so we always include the version info, regardless of whether the module is run as main or not.  This also addresses a few lint related issues.
2014-07-25 12:50:58 -06:00
Bart van den Eijnden
2814abc59d Merge pull request #2420 from gingerik/gpx-extensions
PR for GPX: read extensions tags
2014-07-25 20:15:43 +02:00
Antoine Abt
49299dfe44 Uncheck heavy layers by default 2014-07-25 17:04:00 +02:00
Tobias Sauerwein
05e9a47fd1 Merge pull request #2442 from tsauerwein/build-version
Write library version in build files
2014-07-25 16:37:12 +02:00
tsauerwein
9102647751 Write version in builds 2014-07-25 16:10:08 +02:00
Antoine Abt
338f86f774 More data in example 2014-07-25 16:02:56 +02:00
Antoine Abt
cb03648704 Limit map size 2014-07-25 16:02:56 +02:00
Bart van den Eijnden
f468239e71 Merge pull request #2394 from tonio/style_order
Give precedence to feature styles
2014-07-25 11:34:24 +02:00
Antoine Abt
4b8ceca8eb Move defaults style into style.js 2014-07-25 09:50:53 +02:00
Tim Schaub
10ffc8953b Merge pull request #2436 from tschaub/doc-link
Correct link to API docs.
2014-07-24 14:58:24 -06:00
Tim Schaub
d846fbc0b4 Correct link to API docs 2014-07-24 14:32:34 -06:00
Marc Jansen
f5bb790509 Merge pull request #2167 from elemoine/graticule
Add a Graticule component
2014-07-24 19:13:26 +02:00
Tim Schaub
9fd5c1370e Merge pull request #2316 from tschaub/layer-extent
Support for layers with limited extent.
2014-07-24 10:41:01 -06:00
Tim Schaub
caa0b568ad Remove extent option for sources
Most of our uses of source extent were cargo cult programming.  The source extent was seldom and inconsistently used.  Instead, layers can now be configured with an extent, and layer renderers limit rendering (and data requests) to the layer extent.

For vector sources, the `getExtent` method returns the extent of currently loaded features (this was the case before and after this change).  For tile based sources, we will likely want to allow easy construction of tile grids based on an extent (this is not possible before or after this change, but could be added later).
2014-07-24 10:30:06 -06:00
Tim Schaub
7bbd27e68e ol.tilegrid.TileGrid doesn't accept an extent option
Tile grids cannot currently be constructed with an extent (though we should perhaps provide a function that allows this - see 68815dca10 for an example).
2014-07-24 10:26:07 -06:00
Tim Schaub
2b0284a342 Only request tiles within the layer extent
Layer renderers are now responsible for requesting data within a limited extent.
2014-07-24 10:26:07 -06:00
Tim Schaub
234cff4de5 Limit image layer requests to layer extent
This has two nice consequences that can be seen in the wms-image.js and mapbuide-untiled.js examples:
 * no images are requested when you browse outside of the layer extent
 * when the layer extent is within the viewport extent, cached images are used since the intersecting extent is the same for multiple viewport extents
2014-07-24 10:26:07 -06:00
Tim Schaub
1daf36956c Layer extent option
If provided, the layer extent will be used to limit data requests and rendering.  If undefined, to limit will be imposed.
2014-07-24 10:26:07 -06:00
Tim Schaub
42f953d08d Function for getting extent intersection 2014-07-24 10:26:07 -06:00
Éric Lemoine
e5a0e736ca Add a sphere mollweide example 2014-07-24 17:59:56 +02:00
Éric Lemoine
2365e73bef Add a graticule example 2014-07-24 17:59:56 +02:00
Éric Lemoine
9bd1ab78fc Add Graticule component 2014-07-24 17:59:56 +02:00
Éric Lemoine
9c70a49fb0 Add ol.geom.flat.geodesic
Inspired by #1884 by @twpayne.
2014-07-24 17:59:56 +02:00
Éric Lemoine
9f19569144 Add a worldExtent to ol.proj.Projection 2014-07-24 17:59:56 +02:00
Antoine Abt
9de010c791 Merge pull request #2413 from tonio/logos
Revisit Logos
2014-07-24 17:25:07 +02:00
Frédéric Junod
c25b1e939e Merge pull request #2431 from probins/intro
Update introduction tutorial
2014-07-24 16:54:46 +02:00
Antoine Abt
d50f40dcce Type check with olx.LogoOptions 2014-07-24 16:40:34 +02:00
Antoine Abt
280a7c520f More complete doc for logo option 2014-07-24 15:22:20 +02:00
Antoine Abt
31c9f5806e Wording in docs 2014-07-24 15:22:19 +02:00
Antoine Abt
ba8077010a Add link support for source logos 2014-07-24 15:22:19 +02:00
Antoine Abt
c1f7db9611 Set type=button to avoid forms submit 2014-07-24 15:22:19 +02:00
Antoine Abt
a314203e12 Fixes wording in comments 2014-07-24 15:22:19 +02:00
Antoine Abt
a43c546667 Uncollapse when there’s only logos 2014-07-24 15:22:19 +02:00
Antoine Abt
a71714e8b6 Allow string & object to be passed as map logo 2014-07-24 15:22:18 +02:00
Andreas Hocevar
16cdd35f6d Test to make sure that feature styles take prececence 2014-07-24 14:37:45 +02:00
Andreas Hocevar
c1d49a8cef Update to use the correct default style function namespace 2014-07-24 14:31:12 +02:00
Peter Robins
b945147950 Update introduction tutorial 2014-07-24 11:08:20 +00:00
Frédéric Junod
b29195639f Merge pull request #2429 from fredj/reuse-pixel-for-coord
Reuse event pixel to compute the coordinate
2014-07-24 07:54:39 +02:00
Frederic Junod
b2e345c407 Reuse event pixel to compute the coordinate 2014-07-23 16:53:56 +02:00
Antoine Abt
7fbc4e3bff Rename ol3Logo to logo in map options 2014-07-23 16:27:01 +02:00
Frédéric Junod
d3e575339b Merge pull request #2427 from fredj/misc
Revert "Add FIXME"
2014-07-23 13:55:11 +02:00
Frederic Junod
9bcafc0fab Revert "Add FIXME"
This reverts commit a4afcd533f.

Code removed in 7fabff5ffa
2014-07-23 13:18:23 +02:00
Marc Jansen
8b7f80c64e Merge pull request #2425 from marcjansen/examples
Add examples to ol.coordinate functions
2014-07-23 09:26:47 +02:00
Marc Jansen
64c03d0f9c Add examples to ol.coordinate functions. 2014-07-23 09:15:50 +02:00
Tim Schaub
e81e030dcd Merge pull request #2424 from tschaub/build-css
Build css if source is newer.
2014-07-22 20:56:47 -06:00
Tim Schaub
288c997322 Build css if source is newer
Previously, build/ol.css wasn't getting rebuilt on updates to css/ol.css.
2014-07-22 14:04:52 -06:00
Frederic Junod
02ede1eafa Dispose the tiles removed from the cache 2014-07-22 17:49:26 +02:00
Frederic Junod
312d5a87b8 Automatically dispose the ViewportSizeMonitor 2014-07-22 17:47:20 +02:00
Frédéric Junod
1d22113420 Merge pull request #2421 from fredj/misc
miscellaneous documentation and coding style fixes
2014-07-22 15:37:06 +02:00
Frédéric Junod
962b94444c Merge pull request #2417 from probins/patch-1
Update buildcfg/readme
2014-07-22 15:30:53 +02:00
Frederic Junod
a8961877e8 Add link to the OSM XML documentation 2014-07-22 15:21:27 +02:00
Frederic Junod
8cf48eac4f Document options default value 2014-07-22 15:11:40 +02:00
Frederic Junod
7b7788973b Remove unnecessary newlines 2014-07-22 15:00:23 +02:00
Erik Timmers
2f9918f774 Add tests for GPX extensions 2014-07-22 13:20:09 +02:00
Erik Timmers
0309a620ea Add option to process GPX extensions nodes
Fixes #1791.
2014-07-22 13:02:53 +02:00
Peter Robins
ddfe11042b Update buildcfg/readme 2014-07-22 10:00:56 +01:00
Bart van den Eijnden
8e106a2c98 Merge pull request #2403 from bartvde/gpx-write
ol.format.GPX writeFeatures is not working
2014-07-22 10:51:05 +02:00
Andreas Hocevar
8d805c6403 Merge pull request #2415 from probins/debugtile
Document debugtilesource
2014-07-22 10:25:17 +02:00
Peter Robins
3f1f450d5c Document debugtilesource 2014-07-22 08:14:33 +00:00
Tobias Sauerwein
a9d68a1899 Merge pull request #2405 from tsauerwein/kinetic-fast
Improve kinetic effect when panning fast
2014-07-22 08:37:57 +02:00
Tim Schaub
e593e5fb60 Merge pull request #2412 from tschaub/unused-proj
Removing unused ol.proj.CH.
2014-07-21 14:33:02 -06:00
Peter Robins
eb8dc15d8d Additional clarifications for tasks/readme 2014-07-21 16:12:34 +00:00
Tim Schaub
74dbd2b3e5 Merge pull request #2404 from tschaub/builds
Two ways to use the library: advanced compilation (prod) or raw/concatenated (dev).
2014-07-21 09:39:32 -06:00
Tim Schaub
aa4ee80033 Removing unused ol.proj.CH 2014-07-21 09:28:48 -06:00
Andreas Hocevar
fa7ff506fc Merge pull request #2406 from ahocevar/scaleline-infinite
Infinite loop in ol.control.ScaleLine
2014-07-21 14:08:36 +02:00
Andreas Hocevar
eb71e8e92d Handle cases where the x-axis distance cannot be calculated 2014-07-21 12:20:51 +02:00
Frédéric Junod
82b921ff06 Merge pull request #2411 from fredj/createMouseEvent
Remove ol.pointer.PointerEvent.createMouseEvent
2014-07-21 11:07:42 +02:00
Frederic Junod
fee4c79757 Remove ol.pointer.PointerEvent.createMouseEvent
The externs declarations for MouseEvent are now fixed upstream
2014-07-21 09:51:26 +02:00
tsauerwein
73951394f9 Ensure that the first point for kinetic is valid 2014-07-21 09:05:32 +02:00
Marc Jansen
434bf0bf42 Merge pull request #2409 from vicb/patch-1
fix: typos in map.js
2014-07-20 17:37:16 +02:00
Victor Berchet
9838687d88 fix: typos in map.js 2014-07-20 17:24:09 +02:00
Tim Schaub
cee5b81ec2 Merge pull request #2408 from gingerik/wkt-apidoc
Fix apidoc for WKT format.
2014-07-19 13:28:46 -06:00
Erik Timmers
71b2bf73de Fix apidoc for WKT format 2014-07-18 22:01:17 +02:00
tsauerwein
02a2c5aceb Start earlier to log points for kinetic 2014-07-18 15:54:38 +02:00
Bart van den Eijnden
dbb72f5080 Conflate ol.format.GPX.V1_1 and ol.format.GXP into ol.format.GXP 2014-07-18 15:11:45 +02:00
Andreas Hocevar
b4f6baa613 Merge pull request #2401 from probins/layerbase
Fix issue with layergroup event docs
2014-07-18 14:19:35 +02:00
Tim Schaub
e9c6e58663 Removing the build-all target
The ol-all.json and ol.json build configurations differ only in their use of the manage_closure_dependencies Compiler option.  I don't think there is value in running both (there are plenty of other compiler options that we don't exercise in this same way).
2014-07-17 21:48:53 -06:00
Tim Schaub
737e063937 Two ways to run the hosted examples: compiled and raw
When viewing the hosted examples, people can load the compiled version of the library or load each script individually.
2014-07-17 21:42:55 -06:00
Tim Schaub
4dc601f30d Generate a ol-debug.js script useful for debugging
Instead of running everything through the Compiler just to remove whitespace, we provide a build that is a simple concatenation of all scripts in dependency order.  This build (ol-debug.js) should never be used in production (the same applies to the old ol-whitespace.js build).  Instead, the intention is that it be used to aid in debugging during development.
2014-07-17 21:33:02 -06:00
Tim Schaub
28a23a11b5 Remove ol-simple.js build
We've proven that we can, but that doesn't mean we should be building with `SIMPLE_OPTIMIZATIONS`.
2014-07-17 21:31:58 -06:00
Andreas Hocevar
3ac7cb58af Merge pull request #2402 from probins/plugins
Fix jshint issues in apidoc/plugins
2014-07-17 13:35:38 +02:00
Peter Robins
346ff9c186 Fix jshint issues in apidoc/plugins 2014-07-17 09:50:31 +00:00
Peter Robins
4dccb32545 Fix issue with layergroup event docs 2014-07-17 09:24:39 +00:00
Tim Schaub
ad272a1b3a Merge pull request #2399 from tschaub/functions
Annotate functions that are aliases for goog functions.
2014-07-17 01:11:50 -06:00
Tim Schaub
b0c0d077c9 Annotate always and never conditions as functions 2014-07-16 23:16:51 -06:00
Tim Schaub
12d94e1405 Document ol.inherits and annotate as a function 2014-07-16 23:16:30 -06:00
Paul Spencer
10aa2019e7 Merge pull request #2398 from probins/color
Add color to api docs
2014-07-16 19:35:45 -04:00
Peter Robins
2b1c96a7ea Add color to api docs 2014-07-16 19:50:06 +00:00
Andreas Hocevar
c9d44fe842 Merge pull request #2397 from probins/nav
Docs sidebar in alphanumeric sequence
2014-07-16 18:55:48 +02:00
Andreas Hocevar
e56f759574 Merge pull request #2395 from probins/defaults
Remove classdesc tag from control/interaction defaults
2014-07-16 18:52:23 +02:00
Peter Robins
6a0d08eafd Docs sidebar in alphanumeric sequence 2014-07-16 15:37:03 +00:00
Peter Robins
b77af6d416 Remove classdesc tag from control/interaction defaults 2014-07-16 12:54:18 +00:00
Antoine Abt
b7b5de659b Distinct style function types 2014-07-16 11:25:16 +02:00
Antoine Abt
60f1874766 Give precedence to feature style 2014-07-16 11:25:16 +02:00
Tim Schaub
0b9936107d Merge pull request #2377 from tschaub/portable-config
Make our build configs more portable by using the default src config.
2014-07-15 20:56:25 -06:00
Paul Spencer
7ca069de39 Merge pull request #2311 from probins/tilegrid
Improve docs for tilegrid
2014-07-15 21:12:27 -04:00
Paul Spencer
8383f60fcf Merge pull request #2349 from probins/projdocs
Improve docs for projection
2014-07-15 21:10:33 -04:00
Paul Spencer
aa9dab092a Merge pull request #2387 from bnare/patch-1
Update mapguidesource.js
2014-07-15 21:05:11 -04:00
Paul Spencer
38b36a09bd Merge pull request #2378 from pagameba/doc-feature
Improve documentation for ol.Feature
2014-07-15 20:36:06 -04:00
Tim Schaub
b96fb6ad3a Merge pull request #2345 from tschaub/no-static
Remove static and other attributes from the docs.
2014-07-15 16:54:27 -06:00
Tim Schaub
1cbedadf48 Merge pull request #2390 from tschaub/unit-conversion
Make ol.proj.METERS_PER_UNIT exportable.
2014-07-15 16:26:53 -06:00
Tim Schaub
1657ed2d23 Make ol.proj.METERS_PER_UNIT exportable
We need to apply the `@api` annotation to the object itself in order for it to be exportable.
2014-07-15 15:49:48 -06:00
Tim Schaub
7a26966c8d Merge pull request #2360 from gingerik/wkt-lexer
WKT lexer.
2014-07-15 15:39:31 -06:00
Paul Spencer
685265e1db Improve documentation for ol.Feature 2014-07-15 13:09:43 -04:00
bnare
9e3b46762b Update mapguidesource.js
Add a method updateParams to ol.source.MapGuide.
2014-07-15 17:04:19 +02:00
Erik Timmers
1e7dc5cd32 Add tests for empty & invalid WKT strings 2014-07-15 14:28:05 +02:00
Erik Timmers
4abc887f5d Encode empty geometries as WKT strings 2014-07-15 13:20:58 +02:00
Erik Timmers
fe8a72dce5 Allow for empty Point & GeometryCollection 2014-07-15 13:20:58 +02:00
Tim Schaub
0bd9be547d Merge pull request #2376 from tschaub/transitive
Add packages required by the build task to dependencies.
2014-07-14 17:59:02 -06:00
Tim Schaub
aecaa52cb1 Make our build configs more portable by using the default src config
If a `src` config is not provided, by default, all of the library sources are included.  There is some special handling in the build task to make sure all library sources are included regardless of the path to the build config.  When someone includes a `src` config, path patterns are assumed to be relative to the current working directory (unless overriden with the `cwd` config).  So, when you use the `src` config, your config is no longer portable.
2014-07-14 17:52:10 -06:00
Tim Schaub
4f7073d7aa For jsdoc to find plugins, we need to set the cwd
This allows the `build.js` (and the exports from `generate-info.js`) to be run with a different working directory.
2014-07-14 14:42:42 -06:00
Tim Schaub
4de2520109 Add packages required to build the library to dependencies
This allows other packages to depend on the ol3 package and get the build tools (devDependencies are not installed when they are transitive dependencies).  The justification here is that the ol3 package becomes useful to other packages when you are able to run the build.js task.  For this task to run all of its dependencies must be available.
2014-07-14 14:19:24 -06:00
Andreas Hocevar
4aa76977d2 Merge pull request #2374 from probins/patch-1
Remove duplication from contributing.md
2014-07-14 19:01:50 +02:00
Peter Robins
fe1131b850 Remove duplication from contributing.md 2014-07-14 17:00:28 +01:00
Tim Schaub
a2e7432e42 Merge pull request #2356 from tschaub/regenerate-info
Always regenerate info using all sources if any have changed.
2014-07-14 09:17:36 -06:00
Tim Schaub
d7f4a06f61 Merge pull request #2369 from probins/contribute
Move developer guide from wiki to CONTRIBUTING.md.
2014-07-14 08:59:17 -06:00
Antoine Abt
f57a364534 Merge pull request #2370 from gingerik/classlist
Use goog.dom.classlist functions (2)
2014-07-14 16:09:32 +02:00
Erik Timmers
bd08bfe6c8 Use goog.dom.classlist functions
The goog.dom.classes functions have now been deprecated.
See google/closure-library@97e8a0c
2014-07-14 15:15:16 +02:00
Peter Robins
313e313f7a Move developer guide from wiki to CONTRIBUTING.md 2014-07-14 11:26:49 +00:00
Andreas Hocevar
9131512598 Merge pull request #2367 from probins/collection
Improve Collection docs
2014-07-14 13:18:10 +02:00
Peter Robins
307ee09988 Improve Collection docs 2014-07-14 09:20:25 +00:00
Andreas Hocevar
3e2350b2a0 Merge pull request #2364 from probins/observable
Tag always exported methods as api/observable
2014-07-14 10:53:37 +02:00
Andreas Hocevar
29d581bbee Merge pull request #2365 from probins/patch-1
Fix missing backtick in ol.Object docs
2014-07-14 10:49:36 +02:00
Peter Robins
aa85318d78 Fix missing backtick in ol.Object docs 2014-07-14 09:47:50 +01:00
Peter Robins
97f9527f41 Tag always exported methods as api/observable 2014-07-14 08:23:17 +00:00
Erik Timmers
4c03b3b35c Parse WKT strings using a lexer/parser 2014-07-13 23:09:38 +02:00
Erik Timmers
621aafbdde Encode WKT strings statically 2014-07-13 22:36:12 +02:00
Andreas Hocevar
cc9acef01f Merge pull request #2358 from probins/patch-1
Change docs landing page to link to transformExtent
2014-07-13 17:19:35 +02:00
Marc Jansen
5cd202d50b Merge pull request #2355 from probins/mapelements
Document map DOM elements
2014-07-13 11:05:05 +02:00
Peter Robins
be09368359 Document map DOM elements 2014-07-13 07:47:47 +00:00
Peter Robins
3259b1078c Change docs landing page to link to transformExtent 2014-07-13 08:34:12 +01:00
Tim Schaub
7286c29fbc Merge pull request #2343 from tschaub/build-cleanups
Build cleanups.
2014-07-13 01:18:01 -06:00
Tim Schaub
847440f30a Merge pull request #2342 from tschaub/private-proj
Make internal proj constructors private.
2014-07-13 01:11:57 -06:00
Tim Schaub
f5830cc8e5 Unused JAVA executable 2014-07-12 14:46:05 -06:00
Tim Schaub
5010596ec0 Unused JAR executable 2014-07-12 14:45:20 -06:00
Tim Schaub
db431ebdc6 No reason for build.py to run generate-exports.js
The doc task does not use the generated exports.js file.
2014-07-12 14:43:50 -06:00
Tim Schaub
df2c14b7af Remove unnecessary linting of generated exports file 2014-07-12 14:43:50 -06:00
Tim Schaub
c93e80a14a Always regenerate info using all sources if any have changed
Because we don't know if a new or modified file includes changes to the class hierarchy, we regenerate info for all sources any time any one has changed.  An alternative would be to generate info first for the new or modified file and then (potentially) regenerate info for more source files in the class hierarchy, but this makes the generate-info.js task far more complicated.
2014-07-12 14:39:18 -06:00
Tim Schaub
543250c88a Merge pull request #2346 from tschaub/clean-css
Minify CSS.
2014-07-12 11:48:12 -06:00
Marc Jansen
59fe635b46 Merge pull request #2350 from probins/obj
Expand on docs for observable properties
2014-07-12 17:51:47 +02:00
Peter Robins
753727c15f Expand on docs for observable properties 2014-07-12 15:28:46 +00:00
Peter Robins
96ec96c4d5 Improve docs for projection 2014-07-12 11:31:38 +00:00
Tim Schaub
046ae42b38 Merge pull request #2347 from tschaub/render-sync
Fix the export map example.
2014-07-11 23:48:16 -06:00
Tim Schaub
a6f921d443 To force a download by setting the href, we need synchronous rendering 2014-07-11 21:49:57 -06:00
Tim Schaub
3e23da7c83 Minify CSS 2014-07-11 21:25:21 -06:00
Tim Schaub
aa4dbde841 Remove static and other attributes from the docs 2014-07-11 19:47:49 -06:00
Éric Lemoine
8c1ad54bd8 Merge pull request #2340 from tsauerwein/view-fitGeometry-maxZoom
Add maxZoom to ol.View.fitGeometry() options
2014-07-11 17:02:18 +02:00
tsauerwein
3b8e182856 Add maxZoom to ol.View.fitGeometry() options 2014-07-11 16:31:01 +02:00
Éric Lemoine
b8c39bd62c Merge pull request #2336 from elemoine/seturl
Add ol.source.TileWMS#setUrls and setUrl
2014-07-11 12:31:00 +02:00
Éric Lemoine
b518466968 Merge pull request #2335 from elemoine/pixelratio-xyz
Add tilePixelRatio option to ol.source.XYZ
2014-07-11 12:17:50 +02:00
Peter Robins
5fb78fb352 Add ol.source.TileWMS#setUrls and setUrl 2014-07-11 12:07:07 +02:00
Petr Pridal
1a933febcd Add tilePixelRatio option to ol.source.XYZ 2014-07-11 12:03:55 +02:00
Éric Lemoine
2b4b2dadf7 Be stricter with the type of ol.source.TileWMS#_urls 2014-07-11 12:03:02 +02:00
Antoine Abt
aafa578805 Merge pull request #2159 from tonio/attributions
Merge Logo control into Attribution
2014-07-11 11:48:21 +02:00
Antoine Abt
e707e918aa Use @api annotation 2014-07-11 10:31:03 +02:00
Antoine Abt
1c8fc8358a Remove reference to ol-logo 2014-07-11 10:31:03 +02:00
Antoine Abt
f0f9291161 Add attributions example
Showing how to dynamically change collapsed/collapsible properties for ≠
map sizes.
2014-07-11 10:31:03 +02:00
Antoine Abt
4f087f1b84 Add getter/setter for collapsed & collapsible 2014-07-11 10:18:56 +02:00
Antoine Abt
6744713a54 Register button handlers the new way 2014-07-11 10:18:56 +02:00
Antoine Abt
d5d5f58809 Do not collapse Attributions when using OSM source 2014-07-11 10:18:55 +02:00
Antoine Abt
4d150e6b84 Move Logos in attributions 2014-07-11 09:53:25 +02:00
Antoine Abt
da74fbf529 Remove Logo Control 2014-07-11 09:53:25 +02:00
Antoine Abt
aeaa172abe Remove Logo Control from defaults 2014-07-11 09:36:14 +02:00
Antoine Abt
5a1e92830f Make attribution control collapsible. 2014-07-11 09:36:14 +02:00
Tim Schaub
521cbfb1b0 Make internal proj constructors private 2014-07-10 16:37:07 -06:00
Andreas Hocevar
121d19e0ba Merge pull request #2333 from ahocevar/better-proj4-check
Check for proj4 in a way that also works in module environments
2014-07-10 20:36:52 +02:00
Andreas Hocevar
1d26c1faaf Check for proj4 in a way that also works in module environments 2014-07-10 20:23:33 +02:00
Andreas Hocevar
512c2032ed Merge pull request #2330 from ahocevar/proj4-global
Safeguard against cases where no projection and no proj4 is available
2014-07-10 18:53:26 +02:00
Éric Lemoine
31fa59c996 Merge pull request #2329 from tsauerwein/multipolygon-empty-array
Also accept empty array for ol.geom.MultiPolygon
2014-07-10 18:35:43 +02:00
Andreas Hocevar
19757ae3e0 Safeguard against cases where no projection and no proj4 is available 2014-07-10 18:32:29 +02:00
tsauerwein
7c22d8ffd4 Also accept empty array for ol.geom.MultiPolygon 2014-07-10 17:18:24 +02:00
Bart van den Eijnden
ea7c32ff6e Merge pull request #2255 from elemoine/complexgeom
Fix canvas immediate API for cases where stride ≠ 2
2014-07-10 17:03:57 +02:00
Bart van den Eijnden
60c7564268 Add test case for 3D geometries in immediate API 2014-07-10 16:51:07 +02:00
Éric Lemoine
d57a35ffcb Fix stride related bug in Canvas immediate API 2014-07-10 14:21:56 +02:00
Paul Spencer
9dc17230c2 Merge pull request #2323 from pagameba/fix-addfeatures
ServerVector addFeaturesInternal fails when features lack an id
2014-07-10 08:08:54 -04:00
Paul Spencer
a02d21d4b5 Allow addFeaturesInternal to add multiple features lacking an id 2014-07-10 07:32:20 -04:00
Andreas Hocevar
9640a08c0e Merge pull request #1228 from ahocevar/new-proj4js
Use the new proj4.js
2014-07-10 13:31:17 +02:00
Éric Lemoine
a737cf0d99 Merge pull request #2326 from probins/osmxml
Change examples/vector-osm to use transformExtent
2014-07-10 13:20:19 +02:00
Éric Lemoine
7789bff3da Add explanations to wms-custom-proj example 2014-07-10 13:17:24 +02:00
Peter Robins
8e2a12bfc1 Change examples/vector-osm to use transformExtent 2014-07-10 11:07:39 +00:00
Éric Lemoine
4541019ff4 Merge pull request #2325 from elemoine/imagevector
Pass tolerance to ReplayGroup
2014-07-10 11:24:18 +02:00
Éric Lemoine
49b91998f9 Pass tolerance to ReplayGroup
The tolerance instead of the squared tolerance must be passed to the ReplayGroup constructor.
2014-07-10 09:52:13 +02:00
Andreas Hocevar
193adf4401 Move Swiss transform functions to the .js file 2014-07-09 21:24:42 +02:00
Andreas Hocevar
1ae82b054c Revert to only accept ol.proj.Projection as argument 2014-07-09 18:12:07 +02:00
Andreas Hocevar
1bb5705b55 Clean up after testing 2014-07-09 18:11:22 +02:00
Andreas Hocevar
8f1fdde26e Show both Proj4js and custom transform functions in examples 2014-07-09 18:09:23 +02:00
Éric Lemoine
4cf8383820 Avoid a type-cast 2014-07-09 17:51:24 +02:00
Andreas Hocevar
fc3ed93080 Use proj4.js from node_modules/ instead of copying it to build/ 2014-07-09 15:33:13 +02:00
Andreas Hocevar
0a01f8ef7e Simplify ol.proj.addCoordinateTransforms
Equivalent projections do not need to be handled here, and the forward
and inverse functions can be function arguments instead of being nested
in an object literal.
2014-07-09 15:33:13 +02:00
Andreas Hocevar
90c745006d Update to use the documented Proj4js 2.2.x API 2014-07-09 15:33:12 +02:00
Andreas Hocevar
a22d7e4d22 Allow Proj4js to be loaded after OpenLayers 2014-07-09 15:33:12 +02:00
Andreas Hocevar
20e903f8d9 Add proj4 to package.json 2014-07-09 15:32:54 +02:00
Paul Spencer
f1bdaed15a Merge pull request #2177 from pagameba/geometry-api
Add @todo api and describe ol.geom.Geometry funcs
2014-07-09 07:23:32 -04:00
Paul Spencer
4bcbda61c6 Merge pull request #2298 from probins/props
Document that options in layers and properties in features are set as object properties
2014-07-09 07:21:53 -04:00
Peter Robins
b396773183 Improve docs for tilegrid 2014-07-09 06:54:24 -04:00
Peter Robins
17d059f7bb Document that layer options are set as object properties 2014-07-09 06:40:28 -04:00
Peter Robins
9915bb873c Document that feature properties are set as object properties 2014-07-09 06:39:42 -04:00
Paul Spencer
befcc4ceea Merge pull request #2204 from probins/dragbox
Correct/improve dragbox docs
2014-07-08 19:40:55 -04:00
Andreas Hocevar
88ab1ac61a Doc changes suggested by @probins 2014-07-08 22:06:21 +02:00
Andreas Hocevar
8b2277cdda Use proj4.defs instead of proj4.Proj, to conform with the proj4js API 2014-07-08 22:06:21 +02:00
Andreas Hocevar
0c62469f50 Update example to show transparent proj4js integration 2014-07-08 22:06:21 +02:00
Andreas Hocevar
dfe92da58d Update example to show manual proj4js configuration 2014-07-08 22:06:21 +02:00
Andreas Hocevar
b5bdd0d4bb Update tests 2014-07-08 22:06:21 +02:00
Andreas Hocevar
8b89f5b689 Update API to work with custom transforms, including proj4js
All transparent proj4js handling is now in ol.proj.get, and a new
addCoordinateTransforms function makes it easy to configure custom
transform functions. ol.Proj4jsProjection is no longer needed.
2014-07-08 22:06:20 +02:00
Andreas Hocevar
dc09b0a27f Update externs and ol.HAVE_PROJ4JS for new proj4js API 2014-07-08 22:06:20 +02:00
Andreas Hocevar
971c1137bc Download and use new proj4js 2014-07-08 22:06:20 +02:00
Andreas Hocevar
d215696154 Merge pull request #2322 from ahocevar/view-projection
Make sure that projection is an ol.proj.Projection instance
2014-07-08 22:01:21 +02:00
Andreas Hocevar
38bf0b439a Merge pull request #2321 from ahocevar/cleanup-package-json
Remove transient jsdoc dependencies
2014-07-08 21:52:54 +02:00
Andreas Hocevar
82604ff60b Make sure that projection is an ol.proj.Projection instance 2014-07-08 21:41:08 +02:00
Andreas Hocevar
3a0d0c7290 Remove transient jsdoc dependencies
alpha9 has the dependencies fixed again, so no need to keep taffydb and
underscore around.
2014-07-08 21:38:16 +02:00
Tim Schaub
8e555fad5b Merge pull request #2312 from tschaub/test-deps
Move test dependencies out of the repo.
2014-07-07 07:04:42 -06:00
Paul Spencer
570a0c23a7 Merge pull request #2183 from pagameba/classdesc
Use @classdesc notation
2014-07-07 08:30:33 -04:00
Paul Spencer
8d991bd638 Add @todo API and describe ol.geom.Geometry funcs
The `clone()`, `getSimplifiedGeometry()` and `getType()` methods are all
base class methods documented in subclasses.  They should appear in
ol.geom.Geometry in the API docs as well.
2014-07-07 08:29:56 -04:00
Andreas Hocevar
9b1e9dbc8e Merge pull request #2317 from ahocevar/export-transform
Make transform exportable
2014-07-07 11:19:04 +02:00
Andreas Hocevar
1933d809e2 Export transform
ol.ObjectAccessor#transform is used in the bind-input example. Why the
example works without this export is a mystery to me. Either way, we
will want this in the docs.
2014-07-07 10:45:15 +02:00
Tim Schaub
5fdb380fb6 Merge pull request #2315 from tschaub/full-screen
Use goog.dom.fullscreen.
2014-07-06 17:18:44 -06:00
Tim Schaub
9c6cb9db6d Use goog.dom.fullscreen 2014-07-06 16:03:09 -06:00
Tim Schaub
26e6260446 Merge pull request #2313 from tschaub/transform-extent
Add ol.proj.transformExtent function.
2014-07-06 15:33:33 -06:00
Tim Schaub
d0301805c7 Doc flip 2014-07-06 15:26:04 -06:00
Tim Schaub
1f88015db0 Add ol.proj.transformExtent function 2014-07-06 13:22:47 -06:00
Tim Schaub
21878ebad3 Lint 2014-07-06 12:47:33 -06:00
Tim Schaub
7e8551a767 Unused extensions 2014-07-06 12:43:55 -06:00
Tim Schaub
93716fc7f0 Extend expect.js rather than modify the source 2014-07-06 12:40:03 -06:00
Tim Schaub
d8ca8e7341 Update test readme 2014-07-06 11:53:34 -06:00
Tim Schaub
264a01cfd4 Add jquery as a dev dependency 2014-07-06 11:47:58 -06:00
Tim Schaub
8a3f1a8f34 Add mocha and mocha-phantomjs as dev dependencies 2014-07-06 11:40:08 -06:00
Tim Schaub
70cb7a4a0a Add sinon as a dev dependency 2014-07-06 11:21:01 -06:00
Tim Schaub
6f398f93dd Merge pull request #2309 from tschaub/test
Add a task to run the tests once with PhantomJS.
2014-07-06 06:52:13 -06:00
Éric Lemoine
94ba9aeea9 Merge pull request #2296 from elemoine/settileurlfunction
Use inheritDoc for ol.source.XYZ#setTileUrlFunction
2014-07-06 13:21:17 +02:00
Éric Lemoine
4e0d48386b Use inheritDoc for ol.source.XYZ#setTileUrlFunction 2014-07-06 11:49:19 +02:00
Éric Lemoine
76584c3291 Merge pull request #2307 from elemoine/build
Build-related clean-ups
2014-07-06 09:16:11 +02:00
Tim Schaub
b452e04e08 Add a task to run the tests once with PhantomJS
The test.js task starts the development server and runs the tests in PhantomJS.  As mentioned in the readme, when running the tests continuously during development, it is more convenient to start the dev server and visit the root of the test directory in your browser.

Later we can bring in Karma to drive PhantomJS and other browsers, but this simple "run once" task is useful for the CI job.
2014-07-05 19:42:30 -04:00
Éric Lemoine
f18dbcdb97 Remove bin/closure
And use the depswriter.py script from Closure Library downloaded by closure-util.
2014-07-05 23:46:03 +02:00
Éric Lemoine
fa25f2a477 Remove examples/loader.js
That script was used when Plovr was used for running the examples.
2014-07-05 23:36:59 +02:00
Éric Lemoine
043cd0ff41 Remove test/ol.html
This file was used when Plovr was used for running the tests.
2014-07-05 23:34:02 +02:00
Tim Schaub
489096e40b Merge pull request #2305 from tschaub/todo
Replace @todo annotations.
2014-07-05 16:52:45 -04:00
Tim Schaub
1951c385a8 Merge pull request #2306 from tschaub/new
Remove old code.
2014-07-05 16:20:06 -04:00
Tim Schaub
5a24d022cf Extra annotations for build.py as well 2014-07-05 16:19:41 -04:00
Tim Schaub
d99a61545c Use @observable annotation instead of @todo observable 2014-07-05 16:16:44 -04:00
Tim Schaub
fd659d63e9 Remove @todo stability annotation (this has no effect) 2014-07-05 16:16:34 -04:00
Tim Schaub
10f4d0c3d7 Removing old code 2014-07-05 15:54:44 -04:00
Tim Schaub
8b29b52e95 Document olx.format.PolylineOptions
This was mistakenly annotated with `@todo stability` (which does nothing).
2014-07-05 15:43:03 -04:00
Tim Schaub
4cf5ab4620 Use @api annotation instead of @todo api 2014-07-05 15:41:14 -04:00
Éric Lemoine
297503e7c9 Merge pull request #2297 from elemoine/remove-plovr
Remove Plovr
2014-07-04 22:34:26 +02:00
Éric Lemoine
207e23099a Merge pull request #2300 from elemoine/geojson
GeoJSON format needs to implement readProjectionFromObject
2014-07-04 14:44:35 +02:00
Éric Lemoine
0666dee697 GeoJSON format needs to implement readProjectionFromObject 2014-07-04 13:51:27 +02:00
Éric Lemoine
e0a8bb045a Farewell Plovr 2014-07-04 10:51:18 +02:00
Éric Lemoine
c6138edbcb Remove the test.json Plovr config file 2014-07-04 10:51:18 +02:00
Éric Lemoine
52294519bc Remove the base.json Plovr config file 2014-07-04 10:51:18 +02:00
Éric Lemoine
07b02c2a55 Add a buildcfg/readme.md 2014-07-04 10:51:18 +02:00
Éric Lemoine
46149ff6f9 Remove ununsed serve-integration-test target 2014-07-04 10:51:18 +02:00
Éric Lemoine
a4e923cf4b Target integration-test renamed to ci 2014-07-04 10:51:17 +02:00
Éric Lemoine
d1820fbce5 Update .travis.yml 2014-07-04 10:51:17 +02:00
Éric Lemoine
1626399c08 Use serve.js as the test server 2014-07-04 10:51:17 +02:00
Frederic Junod
2064d08602 Refresh the compiler error list
Based on https://github.com/openlayers/closure-util/blob/master/compiler-options.txt
2014-07-04 10:51:17 +02:00
Éric Lemoine
1129e0d934 Get Closure Library from closure-util for host-examples 2014-07-04 10:51:17 +02:00
Frederic Junod
234dd91ff2 Remove some externs declarations
All these declarations are defined in recent versions of Closure Compiler.
2014-07-04 10:51:17 +02:00
Éric Lemoine
f54398eda3 compilation_level is now just ADVANCED and SIMPLE 2014-07-04 10:51:17 +02:00
Éric Lemoine
a157ecd788 Make compiler happy by replacing 0e6 by 0 2014-07-04 10:51:17 +02:00
Éric Lemoine
167d13b4f6 Use closure-util's Closure lib for the check-requires target 2014-07-04 10:51:17 +02:00
Éric Lemoine
8c4a55cc65 Use build.js for compiling the examples all at once 2014-07-04 09:15:23 +02:00
Éric Lemoine
35888d1dc6 Use build.js for compiling the examples 2014-07-04 09:15:23 +02:00
Éric Lemoine
0ae1cd7cf5 Fix a type issue in jquery-1.7 externs
See https://github.com/google/closure-compiler/issues/176
2014-07-04 09:15:23 +02:00
Éric Lemoine
152b434f1b Add jquery-1.7 externs 2014-07-04 09:15:23 +02:00
Éric Lemoine
992e0fa218 Use serve.js instead of the Plovr server 2014-07-04 09:15:23 +02:00
Éric Lemoine
f89abb53a9 Use build.js for ol-all.js 2014-07-04 09:15:23 +02:00
Éric Lemoine
4e8c9c5470 Use build.js for ol-whitespace.js 2014-07-04 09:15:23 +02:00
Éric Lemoine
3ea304f5bf Use build.js for ol-simple.js 2014-07-04 09:15:23 +02:00
Éric Lemoine
04e60a9d37 Use build.js for ol.js 2014-07-04 09:15:22 +02:00
Éric Lemoine
064f95f530 Remove the IE 11 fullscreen externs declarations
They are defined in recent versions of Closure Compiler.
2014-07-04 09:15:22 +02:00
Éric Lemoine
18462a2af3 Merge pull request #2229 from tsauerwein/stable
Add stable tags to interactions
2014-07-04 06:31:13 +02:00
Éric Lemoine
76e1ca67a4 Merge pull request #2269 from probins/select
Improve docs for interaction.Select
2014-07-03 17:07:03 +02:00
Marc Jansen
4fed441eda Merge pull request #2280 from probins/intro
Introduction tutorial
2014-07-03 16:53:55 +02:00
Éric Lemoine
067345a4b0 Merge pull request #2293 from elemoine/vector-wfs
Minor change to vector-wfs example
2014-07-03 14:55:13 +02:00
Éric Lemoine
6abba32707 Minor change to vector-wfs example
My linter complains that vectorSource is used before it is defined.
2014-07-03 14:53:49 +02:00
Éric Lemoine
d8cc019184 Merge pull request #2292 from elemoine/closure-util
Use closure-util 0.19.0
2014-07-03 14:45:03 +02:00
tsauerwein
b8ab6fd771 Add stable tags to interactions 2014-07-03 14:19:16 +02:00
Éric Lemoine
2e541b43d1 Use closure-util 0.19.0 2014-07-03 14:17:01 +02:00
Paul Spencer
abe953e4e5 Use @classdesc notation (continuing #2178) 2014-07-03 08:09:25 -04:00
Paul Spencer
b0a1444da0 Merge pull request #2290 from pagameba/typo
Fix spelling of GEOMETRY_RENDERERS_
2014-07-03 07:33:57 -04:00
Éric Lemoine
450d42a4cc Merge pull request #2276 from elemoine/select
Add "action type" select to select-features example
2014-07-03 12:36:01 +02:00
Peter Robins
90f2f96797 Introduction tutorial 2014-07-03 05:14:25 -04:00
Peter Robins
49aabda1b9 Improve docs for interaction.Select 2014-07-03 04:54:09 -04:00
Éric Lemoine
f8ba6758a2 Add "action type" select to select-features example
Making it possible to choose between three select interactions, one that works on "singleclick", one that works on "click", and one that works on "mousemove".
2014-07-03 09:24:23 +02:00
Éric Lemoine
ef1414c508 Minor apidoc change 2014-07-03 09:14:41 +02:00
Éric Lemoine
355ca67b86 Add ol.events.condition.click 2014-07-03 09:14:41 +02:00
Éric Lemoine
67c2e46c19 Add ol.events.condition.mouseMove 2014-07-03 09:14:41 +02:00
Paul Spencer
a93f7b8190 Fix spelling of GEOMETRY_RENDERERS_ 2014-07-02 21:54:53 -04:00
Marc Jansen
700a0b15b3 Merge pull request #2278 from probins/control
Document custom controls
2014-07-02 18:52:34 +02:00
Marc Jansen
fdf0525c71 Merge pull request #2286 from probins/defines
Improve docs for define tag
2014-07-02 18:45:27 +02:00
Frédéric Junod
17bb8d8ca1 Merge pull request #2288 from fredj/latest-closure-library
Mark the color argument to ol.color.transform non-nullable
2014-07-02 17:44:15 +02:00
Tim Schaub
927513e1f0 Merge pull request #2284 from tschaub/classes
Use `goog.dom.classlist` functions instead of the deprecated `goog.dom.classes` functions.
2014-07-02 10:18:28 -04:00
Éric Lemoine
fe776b0d1a Merge pull request #2287 from tsauerwein/geojson-write-geometry
Export ol.format.GeoJSON.writeGeometry()
2014-07-02 14:46:46 +02:00
Frederic Junod
54ea8dc52b Mark the color argument to ol.color.transform non-nullable
Inside this function goog.vec.Mat4.multVec3 is called and and its
arguments must not be null.
2014-07-02 14:43:29 +02:00
Peter Robins
2e1957c42c Improve docs for define tag 2014-07-02 08:22:23 -04:00
tsauerwein
97e59f0976 Export ol.format.GeoJSON.writeGeometry() 2014-07-02 13:48:51 +02:00
Éric Lemoine
3e49ea2ba0 Merge pull request #2285 from tsauerwein/vector-source-clear
Export ol.source.Vector.clear()
2014-07-02 12:10:46 +02:00
tsauerwein
5adb3a6a8e Export ol.source.Vector.clear() 2014-07-02 11:53:58 +02:00
Frédéric Junod
242787da45 Merge pull request #2283 from fredj/closure-util.json
Fix the closure-compiler and closure-library versions
2014-07-02 10:33:54 +02:00
Frederic Junod
6b230d3711 Fix the closure-library version
The version is the same as the one provided by plovr-81ed862.jar
2014-07-02 10:22:27 +02:00
Frederic Junod
d3234f1b6a Depends on closure-util version 0.18.0 2014-07-02 09:15:02 +02:00
Tim Schaub
4b57f7798f Use goog.dom.classlist functions
The goog.dom.classes functions have now been deprecated.  See 97e8a0c0fc
2014-07-01 14:09:28 -04:00
Tim Schaub
203df11c96 Merge pull request #2281 from tschaub/remove-libtess
Remove libtess.js.
2014-07-01 12:51:48 -04:00
Marc Jansen
a3e332c0c2 Merge pull request #2282 from marcjansen/coordinate-tests
Add more tests to ol.coordinate
2014-07-01 17:14:44 +02:00
Marc Jansen
70548b4704 Add tests for ol.coordinate.equals(). 2014-07-01 17:02:34 +02:00
Marc Jansen
00fd5caa92 Add tests for ol.coordinate.createStringXY(). 2014-07-01 17:02:34 +02:00
Marc Jansen
07b41f84d0 Add tests for ol.coordinate.add(). 2014-07-01 17:02:34 +02:00
Peter Robins
3bbf9ae720 Document custom controls 2014-07-01 09:57:26 -04:00
Tim Schaub
97985934e1 Remove libtess.js 2014-07-01 08:45:09 -04:00
Andreas Hocevar
60f283d5c0 Merge pull request #2279 from ahocevar/show-sketch-vertex
Show sketch vertex for all geometry types
2014-07-01 12:04:40 +02:00
Andreas Hocevar
29370a04aa Show sketch vertex for all geometry types 2014-07-01 11:52:21 +02:00
Éric Lemoine
c6083f0592 Merge pull request #2277 from probins/pm
Document that panning triggers pointermove on touch
2014-06-30 21:17:33 +02:00
Peter Robins
b4596732e1 Document that panning triggers pointermove on touch 2014-06-30 12:29:36 -04:00
Éric Lemoine
64fcb1a0f5 Merge pull request #2264 from elemoine/object
ol.ObjectAccessor#transform shouldn't dispatch an event to the target object
2014-06-30 12:17:33 +02:00
Tim Schaub
9e7c516d08 Merge pull request #2275 from tschaub/relative
Allow build task to be run from anywhere and provide option for resolving relative paths.
2014-06-29 15:16:47 -04:00
Tim Schaub
a8a035468b Allow cwd to be configured for build
By default, all paths in the build config (e.g. externs) are assumed to be relative to the ol3 repo root.  To make it so relative paths are resolved from a different directory, use the cwd option.

In addition, this change makes it so the `build.js` task can be run from another directory.
2014-06-29 15:02:47 -04:00
Tim Schaub
fb7d39005e Unused var 2014-06-29 12:55:30 -04:00
Tim Schaub
ce209220ae Merge pull request #2268 from tschaub/classdesc
Treat classdesc as description.
2014-06-29 08:58:22 -04:00
Éric Lemoine
ade0cd8aaf Merge pull request #2265 from elemoine/setproperties
Change setValues to setProperties
2014-06-29 11:56:17 +02:00
Tim Schaub
93ece7021c Merge pull request #2266 from tschaub/extra-require
Extra goog.require calls.
2014-06-28 10:47:35 -04:00
Tim Schaub
2f5a92c2c9 Treat classdesc as description 2014-06-28 10:46:36 -04:00
Marc Jansen
8f81f2e453 Merge pull request #2267 from probins/sig
Docs: fix missing space on type signature
2014-06-28 14:54:59 +02:00
Peter Robins
68885cbb96 Docs: fix missing space on type signature 2014-06-28 08:29:41 -04:00
Tim Schaub
2ec63b6c58 Unnecessary ol.Tile requires 2014-06-27 19:57:54 -04:00
Tim Schaub
997517110c Unnecessary ol.Image require 2014-06-27 19:51:38 -04:00
Tim Schaub
19cf117a08 Merge pull request #2172 from gingerik/restore-wkt-parser
Back from the ashes!  The WKT format lives!
2014-06-27 17:52:22 -04:00
Erik Timmers
1e61485e11 Extend WKT parser from ol.format.TextFeature 2014-06-27 23:35:36 +02:00
Erik Timmers
61378098e6 Restore the WKT parser, example & tests 2014-06-27 23:35:35 +02:00
Éric Lemoine
eafc2ac371 Change setValues to setProperties 2014-06-27 17:26:51 +02:00
Tim Schaub
fa5f99c716 Merge pull request #2261 from tschaub/view
Rename View2D to View.
2014-06-27 10:38:27 -04:00
Tim Schaub
e802902f9b Rename ol.extent.getForView2DAndSize to ol.extent.getForViewAndSize 2014-06-27 09:59:39 -04:00
Tim Schaub
9565e17ee0 Rename ol.View2DProperty to ol.ViewProperty 2014-06-27 09:59:39 -04:00
Tim Schaub
878dcd1d28 Rename olx.View2DOptions to olx.ViewOptions 2014-06-27 09:59:39 -04:00
Tim Schaub
47d37fabea Rename ol.View2D to ol.View 2014-06-27 09:59:39 -04:00
Tim Schaub
b9f444a008 Rename olx.View2DState to olx.ViewState and use viewState property 2014-06-27 09:58:25 -04:00
Tim Schaub
2e88f911dd Rename view.getView2DState() to view.getState() 2014-06-27 09:52:19 -04:00
Tim Schaub
b88d2aebc9 Remove view.getView2D() method 2014-06-27 09:52:19 -04:00
Tim Schaub
956e1bf8b4 Remove ol.View base class 2014-06-27 09:52:19 -04:00
Tim Schaub
3c1cb55079 Remove IView and IView2D 2014-06-27 09:52:19 -04:00
Tim Schaub
c74f945817 Remove IView3D 2014-06-27 09:52:19 -04:00
Andreas Hocevar
efc3e3244a Merge pull request #2254 from elemoine/replaygroup
Use replay groups for feature overlays
2014-06-27 12:59:06 +02:00
Andreas Hocevar
cf13cb5e32 Fix remaining API doc issues with squared tolerance vs. tolerance 2014-06-27 12:20:16 +02:00
Andreas Hocevar
80fa0be42f Use setStyle in the constructor 2014-06-27 12:14:22 +02:00
Andreas Hocevar
f67767aaf0 Add ol.renderer.vector.getSquaredTolerance and ol.SIMPLIFY_TOLERANCE 2014-06-27 12:10:46 +02:00
Andreas Hocevar
2171c92b5c Add new tests for FeatureOverlay
In the process of creating these tests, a bug with setting this._style
was also fixed.
2014-06-27 11:46:47 +02:00
Éric Lemoine
be69f5bdac Merge pull request #2244 from elemoine/kmlwrite
KML write support
2014-06-27 11:23:16 +02:00
Éric Lemoine
1ec25f3992 Remove the unused ol.format.KML.DOCUMENT_SEQUENCE_ 2014-06-27 10:59:31 +02:00
Éric Lemoine
ccd01fb874 Add ol.format.XSD.writeBooleanTextNode 2014-06-27 10:56:04 +02:00
Bart van den Eijnden
2517c712db Merge pull request #2263 from bartvde/transformflatgeom-test
Add some test coverage for ol.geom.transformSimpleGeometry2D
2014-06-27 10:36:49 +02:00
Éric Lemoine
b67e71828d Add a test for ol.Object 2014-06-27 10:17:13 +02:00
Éric Lemoine
5ebb9686ce ol.Object doc improvement 2014-06-27 10:16:53 +02:00
Éric Lemoine
9179c914b8 Notify ol.Object source when transform is called 2014-06-27 10:16:27 +02:00
Bart van den Eijnden
e3cbece91b Add some test coverage for ol.geom.transformSimpleGeometry2D 2014-06-27 10:07:47 +02:00
Frédéric Junod
c4cf76f983 Merge pull request #2260 from fredj/vectorsource-same-id
Remove uniqueness constraint check
2014-06-27 10:07:44 +02:00
Frederic Junod
a172eda242 Remove uniqueness constraint check 2014-06-26 17:55:38 +02:00
Frédéric Junod
d1737228e9 Merge pull request #2256 from fredj/easing.jsdoc
Add the jsdoc ol.easing namespace
2014-06-26 16:39:22 +02:00
Peter Robins
85c1427111 Add ol.easing to api docs 2014-06-26 16:14:59 +02:00
Andreas Hocevar
1551e6e7ff Improved forEatchFeatureAtPixel docs 2014-06-26 15:17:29 +02:00
Éric Lemoine
177188d732 Add ol.format.KML.SCHEMA_LOCATION_ 2014-06-26 15:13:04 +02:00
Paul Spencer
33948a7244 Merge pull request #2247 from pagameba/source-state
Use string values for ol.source.State enum
2014-06-26 08:27:06 -04:00
Paul Spencer
bf9dbd614a Use string values for ol.source.State enum
Many user-facing enums are string values and we document use of the string values rather than more confusing enum reference or the numeric values.
2014-06-26 08:15:03 -04:00
Éric Lemoine
b25e577865 Do not "export" ol.render.Event#replayGroup 2014-06-26 14:11:43 +02:00
Éric Lemoine
6cf4c95762 Flush the vector context after replaying the batch 2014-06-26 14:06:56 +02:00
Andreas Hocevar
d2e4603171 Merge pull request #2252 from probins/patch-1
Fix broken links in api docs landing page
2014-06-26 13:24:20 +02:00
Andreas Hocevar
ba2d49d715 Finish the replay group after dispatching the compose event 2014-06-26 13:16:34 +02:00
Peter Robins
54d249e921 Fix broken links in api docs landing page 2014-06-26 12:16:18 +01:00
Éric Lemoine
0762b8c023 Defer selection/deselection 2014-06-26 10:39:58 +02:00
oterral
02b8ef1bb6 Fix nodes order in Placemark and IconStyle 2014-06-26 09:24:08 +02:00
oterral
5d8d936216 Use ol.xml.setAttributeNS for xmlns attributes 2014-06-26 09:07:22 +02:00
Éric Lemoine
bcdce20ee3 Clone skippedFeatureUids_ 2014-06-25 18:32:08 +02:00
Éric Lemoine
18d117dff6 Hit detection for features drawn at pre/postcompose 2014-06-25 18:32:02 +02:00
Tim Schaub
b977d85229 Merge pull request #2246 from tschaub/kind
Add symbol kind to info.
2014-06-25 11:52:28 -04:00
Tim Schaub
d5de99bcf7 Add symbol kind to info 2014-06-25 11:11:22 -04:00
Tim Schaub
dc6fd76e25 Merge pull request #2245 from sweco-sebhar/patch-1
Make `ol.Observable#getRevision` exportable.
2014-06-25 10:53:18 -04:00
Björn Harrtell
8fab2f7d25 Add getRevision to api
The revision can be useful for instance to check if a feature has been modified so I'd like to see it in api.
2014-06-25 16:19:42 +02:00
Éric Lemoine
384f2a0ecf Create valid KML documents
Thanks @bartvde.
2014-06-25 15:58:56 +02:00
Éric Lemoine
05970c9831 Minor change to the example externs file 2014-06-25 15:58:56 +02:00
Éric Lemoine
fba89275d8 Use exampleNS.strToBase64 in kml example 2014-06-25 15:58:56 +02:00
Éric Lemoine
7fb3e5842d Add an exampleNS.strToBase64 function
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Base64_encoding_and_decoding
2014-06-25 15:58:56 +02:00
Éric Lemoine
78ac2c8a76 Add export button to kml example 2014-06-25 12:25:43 +02:00
Éric Lemoine
a4e95eb513 Add write support to KML format 2014-06-25 12:17:32 +02:00
Éric Lemoine
8dc9618adb Add ol.style.Icon#getImageSize 2014-06-25 12:16:22 +02:00
Éric Lemoine
bd3da0eed9 Merge pull request #2242 from elemoine/feature-clone
Add ol.Feature#clone
2014-06-25 09:43:41 +02:00
Andreas Hocevar
4679a7d4fb Merge pull request #2138 from probins/mapoptions
Document map options more thoroughly
2014-06-25 09:35:56 +02:00
Éric Lemoine
ec6a0548d1 Add ol.Feature#clone 2014-06-25 09:31:15 +02:00
Éric Lemoine
34d389e2f8 Merge pull request #2218 from oterral/exports
Add exports
2014-06-25 09:30:37 +02:00
oterral
0fefd680d4 Make ol.tilegrid.TileGrid#getResolutions method exportable 2014-06-25 08:31:45 +02:00
oterral
67bd397c37 Make ol.format.KML#readName method exportable 2014-06-25 08:31:45 +02:00
Frédéric Junod
b8dca03365 Merge pull request #2241 from fredj/misc
Cleanup vector-labels example
2014-06-24 23:11:10 +02:00
Frederic Junod
a6d059649f Cleanup vector-labels example 2014-06-24 16:45:58 +02:00
Frédéric Junod
3f5e42258a Merge pull request #2239 from probins/patch-1
Correct minor typo in ol.dom.Input docs
2014-06-24 13:27:29 +02:00
Frédéric Junod
1c751b9e9f Merge pull request #2238 from fredj/circle-hit-detection
Circle hit detection
2014-06-24 13:27:02 +02:00
Peter Robins
928b05e857 Correct minor typo in ol.dom.Input docs 2014-06-24 12:04:42 +01:00
Frederic Junod
2c6b22f55c Use the right coordinates when drawing circles 2014-06-24 12:25:21 +02:00
Andreas Hocevar
85ddd2446e Add endGeometry after hit detection stroke and fill 2014-06-24 12:23:47 +02:00
Paul Spencer
e5b9098965 Merge pull request #2207 from probins/projdocs
Improve docs for projection/transform functions
2014-06-23 07:48:46 -04:00
Peter Robins
ff3e66d550 Improve docs for projection/transform functions 2014-06-23 06:16:35 -04:00
Éric Lemoine
d7a046a0dc Merge pull request #2200 from probins/examplereadme
Add examples/readme
2014-06-22 19:08:16 +02:00
Peter Robins
8dcbded96a Add examples/readme 2014-06-22 11:57:03 -04:00
Marc Jansen
f2389a9a7d Merge pull request #2231 from probins/patch-1
Correct minor typo in ol.extent.buffer docs
2014-06-21 18:32:34 +02:00
Peter Robins
dbe3729857 Correct minor typo in ol.extent.buffer docs 2014-06-21 14:01:08 +01:00
Éric Lemoine
b6be48564c Merge pull request #2230 from probins/condition
Update docs for events.condition options
2014-06-20 20:33:19 +02:00
Peter Robins
68fcba6e35 Update docs for events.condition options 2014-06-20 14:15:52 -04:00
Peter Robins
68ec57b004 Document map options more thoroughly 2014-06-20 08:27:20 -04:00
Peter Robins
c1c98b45b9 Correct/improve dragbox docs 2014-06-20 04:45:12 -04:00
Frédéric Junod
71da6603cb Merge pull request #2171 from fredj/hidpi-text-stroke
Don't scale the text stroke width by pixel ratio
2014-06-19 19:20:32 +02:00
Éric Lemoine
5df4b5030a Merge pull request #1941 from elemoine/stable
Mark ol.Map and ol.Collection as stable
2014-06-19 15:53:23 +02:00
Frédéric Junod
19467fae8e Merge pull request #2223 from fredj/igc-example-input
Fix invalid input tag in igc example
2014-06-19 14:33:15 +02:00
Frederic Junod
6194eeda8e Fix invalid input tag in igc example 2014-06-19 11:37:47 +02:00
Éric Lemoine
b40a6997d9 Add stable tags to ol.Map 2014-06-19 10:37:11 +02:00
Éric Lemoine
601f0d8fd2 Add stable tags to ol.Collection 2014-06-19 10:35:04 +02:00
Éric Lemoine
5e9121cd8b Merge pull request #2217 from elemoine/overlay-offset
Add an offset property to ol.Overlay
2014-06-19 10:20:38 +02:00
Frédéric Junod
a4df24abb5 Merge pull request #2219 from fredj/rbush-update
Allow the value to be changed while iterating over the rtree
2014-06-19 10:10:53 +02:00
Éric Lemoine
af78adb417 Make ol.Overlay always call setPositioning 2014-06-19 10:09:57 +02:00
Éric Lemoine
0a0d12ec8a Make ol.Overlay always call setOffset 2014-06-19 10:09:37 +02:00
Éric Lemoine
dced47157e Better docs for ol.Overlay#positioning 2014-06-19 09:57:58 +02:00
Frédéric Junod
32f58b4b4e Merge pull request #2220 from fredj/synthetic-points-popup
Remove the unused popup from the synthetic-points example
2014-06-19 09:55:43 +02:00
Éric Lemoine
dc6867ea2f Merge pull request #2216 from elemoine/pixelratio
Add tilePixelRatio option to ol.source.WMTS
2014-06-19 09:51:41 +02:00
Éric Lemoine
fd151e1386 Add docs for tilePixelRatio 2014-06-19 09:50:53 +02:00
Frederic Junod
8d12c76c1d Remove the unused popup from the synthetic-points example 2014-06-19 09:43:37 +02:00
Frederic Junod
7408100c27 Allow the value to be changed while iterating over the rtree 2014-06-19 09:24:48 +02:00
Éric Lemoine
a9a1a42b8b Merge pull request #2214 from probins/patch-2
Stop exporting getTransformFromProjections and transformWithProjections
2014-06-18 22:52:28 +02:00
Éric Lemoine
d1d8d5f96c Add an offset property to ol.Overlay
Replaces "offsetX" and "offsetY" by an ol.Object "offset" property.
2014-06-18 22:11:07 +02:00
Frédéric Junod
cc51060170 Merge pull request #2215 from fredj/json-type
Correct code type in tasks/readme
2014-06-18 13:52:34 +02:00
Frederic Junod
f09c00462c Correct code type in tasks/readme 2014-06-18 13:42:32 +02:00
Éric Lemoine
16c9d9bf09 Use tilePixelOption in wmts-hidpi example 2014-06-18 13:34:57 +02:00
Andreas Hocevar
4e52224c12 Add example 2014-06-18 13:34:57 +02:00
Éric Lemoine
e161f0eaba Add tilePixelRatio option to ol.source.WMTS 2014-06-18 13:34:57 +02:00
Éric Lemoine
947eb2e949 Add tilePixelRatio option to ol.source.TileImage 2014-06-18 13:34:57 +02:00
Éric Lemoine
4bcadc5b8d Add tilePixelRatio option to ol.source.Tile 2014-06-18 13:27:22 +02:00
Frédéric Junod
92b62ba3ab Merge pull request #2213 from probins/patch-1
Correct minor typo in tasks/readme
2014-06-18 11:23:30 +02:00
Éric Lemoine
0cc0239c16 Merge pull request #2212 from elemoine/drawinteraction
Add "None" to draw-features example's select
2014-06-18 10:00:52 +02:00
Peter Robins
0a2b3b0bca Stop exporting getTransformFromProjections and transformWithProjections 2014-06-18 08:19:56 +01:00
Peter Robins
986778cf0c Correct minor typo in tasks/readme 2014-06-18 08:10:26 +01:00
Éric Lemoine
a7b4a08e07 Add "None" to draw-features example's select
This allows to deactivate drawing entirely in the example.
2014-06-18 08:26:45 +02:00
Frédéric Junod
758f326215 Merge pull request #2101 from fredj/polyline-factor
Make the scale factor of ol.format.Polyline configurable
2014-06-17 17:41:03 +02:00
Frederic Junod
a283977cb9 Make the scale factor of ol.format.Polyline configurable
And export the class
2014-06-17 16:58:40 +02:00
Bart van den Eijnden
0245cb1d56 Merge pull request #2210 from bartvde/wfs-example-fix
Get rid of unused info div in vector-wfs example
2014-06-17 11:14:36 +02:00
Bart van den Eijnden
6fa0aa252c Get rid of unused info div in vector-wfs example 2014-06-17 11:05:19 +02:00
Frédéric Junod
7d9e13f30f Merge pull request #2209 from fredj/modify-rbush
Use getInExtent instead of forEachInExtent
2014-06-17 09:28:11 +02:00
Frederic Junod
9b2a874282 Use getInExtent instead of forEachInExtent 2014-06-17 08:58:04 +02:00
Frederic Junod
52b1ba30fa Don't scale the text stroke width by pixel ratio 2014-06-16 15:34:54 +02:00
Andreas Hocevar
3fdd0e4bf7 Merge pull request #2202 from probins/tvformat
Add missing format option to TileVector docs
2014-06-16 11:03:43 +02:00
Andreas Hocevar
eb8c2ab339 Merge pull request #2203 from probins/classdesc
Add classdesc to remaining vector classes
2014-06-16 11:02:23 +02:00
Andreas Hocevar
0d59deb6ba Merge pull request #2206 from probins/nostatic
Remove static button in docs sidebar if none
2014-06-16 10:55:01 +02:00
Peter Robins
e4b5b3039a Remove static button in docs sidebar if none 2014-06-15 14:00:02 -04:00
Peter Robins
8a4307cff2 Add classdesc to remaining vector classes 2014-06-15 08:55:09 -04:00
Peter Robins
4a52333d9f Add missing format option to TileVector docs 2014-06-15 08:22:24 -04:00
Éric Lemoine
4f23ef66d0 Make ol.FeatureOverlay use replay group 2014-06-14 14:22:10 +02:00
Éric Lemoine
49a1215f75 Pass a replay group to ol.render.Event 2014-06-14 14:21:34 +02:00
Andreas Hocevar
4925ac9339 Merge pull request #2199 from probins/abstract
Add standard docs text to abstract base classes
2014-06-14 14:17:46 +02:00
Peter Robins
75be215497 Add standard docs text to abstract base classes 2014-06-14 07:20:33 -04:00
Tim Schaub
f1fe1a5ade Merge pull request #2197 from tschaub/deps
Update closure-util.
2014-06-13 23:51:58 -07:00
Tim Schaub
94f0513aa1 Update closure-util
The closure-util package works on Node 0.8, 0.10, and 0.11 (as of this writing), but it requires an updated version of npm to install on Node 0.8.  For the build to pass on Travis, we update npm before installing other dependencies.  For others who are installing the openlayers package, nothing special is required for Node 0.10 and above.  For users on Node 0.8, the openlayers package will only install with an updated version of npm.  This can be installed with npm itself.

    npm install -g npm # only needed on Node 0.8
2014-06-13 10:48:10 -07:00
Éric Lemoine
39a02f0d5a Merge pull request #2174 from elemoine/generate-info
Change sourceDir to src/ in generate-info.js
2014-06-12 15:48:09 +02:00
Andreas Hocevar
66d72519c3 Merge pull request #2191 from ahocevar/tile-function-annotation
Mark abstract method as function for JSDoc to pick it up
2014-06-12 15:03:52 +02:00
Andreas Hocevar
4eab46e41b Mark abstract method as function for JSDoc to pick it up
This leaves aside the question whether getImage needs to be
defined as abstract method in a base class that does not know
about images, but at least it makes the documentation appear
correctly in ol.tile.Image.
2014-06-12 14:43:49 +02:00
Frédéric Junod
44e829a17d Merge pull request #2188 from fredj/easing
Remove ol.easing.elastic and ol.easing.bounce
2014-06-12 13:43:05 +02:00
Frederic Junod
04cb3c4299 Remove ol.easing.elastic and ol.easing.bounce
And move the code to the animation example
2014-06-12 12:42:03 +02:00
Frédéric Junod
cd71b14775 Merge pull request #2173 from probins/sidebar
Remove olx and interfaces from docs sidebar
2014-06-12 11:02:29 +02:00
Frédéric Junod
a25067eccc Merge pull request #2157 from probins/loadstrat
Add docs link to loadingstrategy
2014-06-12 10:58:41 +02:00
Éric Lemoine
a2a06c745a Merge pull request #2185 from elemoine/imagevector
ol.source.ImageVector doesn't skip features
2014-06-11 17:42:49 +02:00
Frédéric Junod
54d5b25d77 Merge pull request #2186 from fredj/rbush-tests
Add more tests for ol.structs.RBush#forEach
2014-06-11 16:42:09 +02:00
Éric Lemoine
7a1e605f14 Skipped features support to ol.source.ImageVector 2014-06-11 16:26:21 +02:00
Frederic Junod
e9e62bcf98 Better ol.structs.RBush#forEach documentation 2014-06-11 13:45:18 +02:00
Frederic Junod
23383c9979 Add more tests for ol.structs.RBush#forEach 2014-06-11 13:45:18 +02:00
Andreas Hocevar
b411ccaa5b Merge pull request #2187 from ahocevar/fix-jsdoc
Manually add jsdoc dependencies
2014-06-11 13:04:21 +02:00
Andreas Hocevar
28d4e5a6c9 Manually add jsdoc dependencies
Looks like there is a version mismatch with the taffydb and
underscore dependencies of jsdoc, so we add them here manually.
2014-06-11 12:06:02 +02:00
Andreas Hocevar
90974a0721 Merge pull request #2184 from ahocevar/google-no-kinetic
Restore synchronized map panning in google-map example
2014-06-11 00:37:12 +02:00
Andreas Hocevar
c8c0f087f0 Restore synchronized map panning in google-map example 2014-06-10 16:11:40 +02:00
Éric Lemoine
f0dbcfd541 Merge pull request #2114 from tsauerwein/draw-and-modify
Add example combining draw and modify interaction
2014-06-10 10:00:27 +02:00
Antoine Abt
5926611cd1 Merge pull request #2168 from tonio/keyboard_controls
Restore control’s keyboard navigation
2014-06-10 08:45:19 +02:00
Andreas Hocevar
f27c91e27f Merge pull request #2130 from adube/fix-example-gmaps-zooms
Fix GoogleMaps example view max zoom levels
2014-06-09 22:22:34 +02:00
Paul Spencer
50b63b4a30 Merge pull request #2179 from pagameba/remove-getsimplifiedgeometry
Remove getSimplifiedGeometry from ol.geom.Circle
2014-06-09 16:10:02 -04:00
Paul Spencer
c1ddc92cc8 Fix typo in comment 2014-06-09 15:17:14 -04:00
Paul Spencer
7d8dbbc7cc Remove getSimplifiedGeometry from ol.geom.Circle
The `getSimplifiedGeometry` method is unnecessary as
`ol.geom.SimpleGeometry`'s default implementation is to do the
same thing (return `this`).
2014-06-09 14:37:39 -04:00
Tim Schaub
2a42e7736a Merge pull request #2178 from probins/classdesc
Use @classdesc notation.
2014-06-09 11:18:14 -06:00
Peter Robins
41d9f0360a Add @classdesc to classes 2014-06-09 12:10:19 -04:00
Éric Lemoine
be62e75714 Change sourceDir to src/ in generate-info.js
This is to accomodate the case where other directories than "ol" include "api" annotations. For example, the Swisstopo geoadmin folks extend OpenLayers 3 in an ol3 fork, and they have their own "ga" namespace/directory under "src". See https://github.com/geoadmin/ol3/tree/master/src.
2014-06-09 10:20:50 +02:00
Peter Robins
e08a98b624 Add classdesc to gjslint custom tags 2014-06-08 04:43:09 -04:00
Peter Robins
72dd59f554 Remove olx and interfaces from docs sidebar 2014-06-07 09:46:05 -04:00
Tim Schaub
ee38f8fc2f Merge pull request #2033 from htulipe/map-renderer-type
Expose map renderer type in the API.
2014-06-06 14:13:50 -06:00
tsauerwein
d0e818e8ce Add condition to draw interaction 2014-06-06 15:54:38 +02:00
tsauerwein
0a939c6554 Export condition singleClick and mouseOnly 2014-06-06 15:17:06 +02:00
tsauerwein
88197360c1 Add example combining draw and modify interaction 2014-06-06 15:17:06 +02:00
Peter Robins
acd03b0a46 Change @class docs tag to @classdesc 2014-06-06 05:28:24 -04:00
Frédéric Junod
70e3cb3598 Merge pull request #2170 from fredj/collection-item
Rename ol.Collection#getAt to ol.Collection#item
2014-06-06 10:13:46 +02:00
Frederic Junod
4525276c6e Rename ol.Collection#getAt to ol.Collection#item
TouchList, DOMStringList, DOMTokenList, NodeList all have an
`item(index)` function to retrieve an item from a list.
We should do the same.
2014-06-06 09:49:12 +02:00
Antoine Abt
09719bdc70 Fixes button handlers event type 2014-06-06 09:32:39 +02:00
Éric Lemoine
ba060ccc50 Merge pull request #2113 from GeoDienstenCentrum/improve-a11y-example
Enhance and improve the accessibility example
2014-06-05 14:27:14 +02:00
Éric Lemoine
afecbb7ea0 Merge pull request #2164 from oterral/sprite
Allow the use of sprite image in KML
2014-06-05 14:23:56 +02:00
oterral
b4851e7927 Add ol.format.KML test for complex IconStyle 2014-06-05 08:40:08 +02:00
oterral
2961970f59 Add ol.style.Icon tests for getAnchor and getOrigin 2014-06-05 08:40:00 +02:00
Antoine Abt
75cd5572aa Restore control’s keyboard navigation 2014-06-04 16:55:02 +02:00
Bart van den Eijnden
5645eab850 Merge pull request #2165 from bartvde/ie-xml-write
Make sure WFS format writing works correctly in IE9+ (r=@tschaub)
2014-06-04 15:03:56 +02:00
Bart van den Eijnden
87ea5fabdd Make sure WFS format writing works correctly in IE9+ 2014-06-04 12:29:24 +02:00
oterral
0b17d9aeb5 Add parsing of gx:x, gx:y, gx:w and gx:h tags in KML format 2014-06-04 11:15:13 +02:00
oterral
71951b8bbd Add offset and offsetOrigin in ol.style.Icon 2014-06-04 11:15:13 +02:00
Tim Schaub
38d8799a01 Merge pull request #2161 from tschaub/exports
Map event and vector source exports.
2014-06-03 16:29:18 -06:00
Tim Schaub
a9fc53e8da Make frameState property of ol.MapEvent exportable 2014-06-03 12:45:45 -06:00
Tim Schaub
0f04236fc4 Make map property of ol.MapEvent exportable 2014-06-03 12:45:03 -06:00
Tim Schaub
559feba1ed Add interface for map events so properties can be disambiguated 2014-06-03 12:43:45 -06:00
Tim Schaub
13d964488f Make getFeatureById method exportable 2014-06-03 11:42:47 -06:00
mprins
a6d26c53e1 Enhance and improve the accessibility example.
Changes to improve the accessibility example:

 - remove the `accesskey` attributes. Use of the `accesskey` is generally not recommended as it tends to cause conflicts with AT software and user settings.
 - Change the scripted "Go to map" accesskey to a regular skiplink.
 - Use script to inject the buttons below the map, if the map were to fail for lack of javascript support the buttons should not be there either. These should be buttons (and not hyperlinks) because they provide an action not a navigation.
 - Update the docs.
 - Add an empty `alt` attribute to the logo since it is strictly decorative (this should probably be done sitewide - which IMO is out of scope for this PR)
2014-06-03 09:28:43 +02:00
Peter Robins
474fc8f4a6 Add docs link to loadingstrategy 2014-06-02 09:58:04 -04:00
Éric Lemoine
73bfd326d0 Merge pull request #2156 from elemoine/featureoverlaytests
Add ol.FeatureOverlay tests
2014-06-02 14:16:47 +02:00
Éric Lemoine
0b4f463697 Merge pull request #2121 from oterral/utils_func_cache
Add getters and setters for TileUrlFunction and TileLoadFunction properties
2014-06-02 14:09:24 +02:00
Éric Lemoine
89a03bfb09 Merge pull request #2155 from probins/rendersync
Document Map.render() and Map.renderSync()
2014-06-02 14:08:44 +02:00
Éric Lemoine
85835a977b Add ol.FeatureOverlay tests 2014-06-02 14:05:06 +02:00
Peter Robins
17b4cea96d Document Map.render() and Map.renderSync() 2014-06-02 06:21:54 -04:00
Frédéric Junod
e5a522f484 Merge pull request #2133 from fredj/ol.ObjectEvent.key
Export ol.ObjectEvent#key property
2014-06-02 11:27:25 +02:00
oterral
f3be970f17 Add getTileLoadFunction and setTileLoadFunction in ol.source.TileImage 2014-06-02 11:23:53 +02:00
oterral
c4f7ebb571 Add getTileUrlFunction in ol.source.TileImage 2014-06-02 11:13:03 +02:00
Éric Lemoine
c4c05bd205 Merge pull request #2112 from elemoine/iconload
Icon image loading related exports
2014-06-02 08:25:45 +02:00
Éric Lemoine
dc3876e643 Merge pull request #2150 from probins/patch-1
Update year in LICENSE
2014-06-02 07:58:24 +02:00
Éric Lemoine
4981cde729 Add "img" option to ol.style.Icon 2014-06-02 07:56:34 +02:00
Peter Robins
0865f73448 Update year in LICENSE 2014-05-31 11:35:37 +01:00
Tim Schaub
3573697410 Merge pull request #2140 from probins/patch-3
Apidoc readme: clarify exportable methods.
2014-05-30 15:18:22 -06:00
Peter Robins
470ef992b7 Apidoc readme: clarify exportable methods 2014-05-30 12:13:19 -04:00
Tim Schaub
1013f8d2ba Merge pull request #2142 from tschaub/res-for-extent
Export method to get resolution for extent and size.
2014-05-29 15:18:23 -06:00
Tim Schaub
cda62c8a31 Merge pull request #2141 from probins/patch-5
Clarify compiler exports in tasks readme.
2014-05-29 13:00:18 -06:00
Tim Schaub
08ae509a7f Export method to get resolution for extent and size
While this is straightforward to calculate, this method adds convenience.
2014-05-29 11:21:31 -06:00
Peter Robins
c1037ad3ee Clarify compiler exports in tasks readme 2014-05-29 14:43:30 +01:00
Tim Schaub
ba004e9f10 Merge pull request #2139 from probins/patch-2
Improvements to externs readme.
2014-05-29 07:13:21 -06:00
Peter Robins
8dc3b95194 Improvements to externs readme 2014-05-29 11:21:42 +01:00
Bart van den Eijnden
b6e0195c9b Merge pull request #2137 from probins/patch-1
Clarify that ol.Coordinate is for xy coordinates
2014-05-28 20:04:44 +02:00
Peter Robins
2683f08bd2 Clarify that ol.Coordinate is for xy coordinates
Docs only; no logic change
2014-05-28 17:40:23 +01:00
Frédéric Junod
3bf1b36a72 Merge pull request #2119 from fredj/apidoc
Mark ol.format.GPX#readProjection as a function
2014-05-28 18:22:42 +02:00
Bart van den Eijnden
dd960b05c6 Merge pull request #2135 from bartvde/gml-write-export
Export ol.format.GML#writeFeatures
2014-05-28 18:16:53 +02:00
Bart van den Eijnden
409ef2d19a Export ol.format.GML#writeFeatures 2014-05-28 16:28:06 +02:00
Frédéric Junod
1d2543ba6f Merge pull request #2134 from fredj/jsdoc-extent
Add the jsdoc ol.extent namespace
2014-05-28 10:20:47 +02:00
Frederic Junod
c4d7fd8137 Add the jsdoc ol.extent namespace 2014-05-28 09:47:49 +02:00
Frederic Junod
b3de1b927a Export ol.ObjectEvent#key property 2014-05-28 09:18:59 +02:00
Hadrien Tulipe
0bae61ffe3 Rename Map.DEFAULT_RENDER_HINTS to Map.DEFAULT_RENDERER_TYPES 2014-05-27 22:47:02 +02:00
Hadrien Tulipe
7aab28afcc Provide ol.RendererType structure through ol.renderer.Map
It was previously in ol.Map, but it could not be provided because
of circular dependencies.
2014-05-27 22:47:02 +02:00
Hadrien Tulipe
2e587c1be8 Rename ol.RendererHint to ol.RendererType 2014-05-27 22:47:02 +02:00
Hadrien Tulipe
1d6f9ca80b Expose the map renderer type to the public API
In the case  where the map decides itself which renderer to use. It can
be convenient for the developer to have knowledge of the choice made.
2014-05-27 22:47:02 +02:00
Alexandre Dubé
2e067c67e5 Fix GoogleMaps example view max zoom levels 2014-05-27 14:44:15 -04:00
Éric Lemoine
d9c5e0c1ba Merge pull request #2127 from elemoine/2126
Fix bug in ol.FeatureOverlay
2014-05-27 16:51:58 +02:00
Éric Lemoine
afce8e8f5f Fix bug in ol.FeatureOverlay
This fixes a major regression introduced by db5b443 (#2028), where the FeatureOverlay won't draw features that do not have an image style.
2014-05-27 16:22:37 +02:00
Andreas Hocevar
cc1b7cac48 Merge pull request #2125 from ahocevar/loadingstrategy-docs
Make loading strategies appear in the docs
2014-05-27 15:59:10 +02:00
Bart van den Eijnden
0989f75e34 Merge pull request #2124 from bartvde/gmlwfs
readFeatures on ol.format.WFS is not exported (r=@fredj)
2014-05-27 15:42:31 +02:00
Frédéric Junod
fb955ace0c Merge pull request #2123 from fredj/export-osmxml
Export ol.format.OSMXML#readFeatures and ol.format.OSMXML#readProjection
2014-05-27 15:40:35 +02:00
Andreas Hocevar
45805f7158 Make loading strategies appear in the docs 2014-05-27 15:38:31 +02:00
Bart van den Eijnden
86b9a8869b Exports for ol.format.GML and ol.format.WFS 2014-05-27 15:30:46 +02:00
Frederic Junod
8db43a969b Fix formating issue in doc 2014-05-27 15:05:34 +02:00
Frederic Junod
2bd1234359 Export ol.format.OSMXML#readProjection 2014-05-27 14:31:27 +02:00
Frederic Junod
4c9463cdcc Export ol.format.OSMXML#readFeatures 2014-05-27 14:31:27 +02:00
Éric Lemoine
ac934c4564 Merge pull request #2028 from oterral/immediate_icon
Load the icon when needed in feature overlay
2014-05-27 14:09:52 +02:00
Bart van den Eijnden
27712a902d Merge pull request #2120 from bartvde/workshop
Move workshop reference to doc index
2014-05-27 13:53:49 +02:00
Bart van den Eijnden
bf8e949955 Move workshop reference to doc index 2014-05-27 09:17:52 +02:00
oterral
db5b443bbd Load the icon when needed in ol.FeatureOverlay 2014-05-27 09:17:38 +02:00
Frederic Junod
47f99f64ef Mark ol.format.GPX#readProjection as a function 2014-05-27 08:30:48 +02:00
Andreas Hocevar
7732a10bbf Merge pull request #2116 from ahocevar/no-imagestyle
Do not make ol.style.Image exportable
2014-05-27 08:02:51 +02:00
Tim Schaub
d41e2dff14 Merge pull request #2115 from tschaub/duplicate-id
Give features unique identifiers.
2014-05-26 16:15:15 -06:00
Andreas Hocevar
605b8278ea Do not make ol.style.Image exportable
Application developers should use its subclasses.
2014-05-26 19:26:58 +02:00
Tim Schaub
9323bbdcd0 Give Somaliland and Northern Cyprus unique ids 2014-05-26 10:31:27 -06:00
Frédéric Junod
c273c1d51c Merge pull request #2019 from fredj/device-orientation-example
Add an extent constraint to the device-orientation example
2014-05-26 13:54:56 +02:00
Frederic Junod
c15987a14d Add constrainCenter documentation 2014-05-26 13:44:01 +02:00
Frederic Junod
ff1a9d420d Add an extent constraint to the device-orientation example 2014-05-26 13:37:33 +02:00
Frederic Junod
824302349d Export ol.View2D.prototype.constrainCenter function 2014-05-26 13:37:33 +02:00
Éric Lemoine
b14e0d0330 Merge pull request #2111 from probins/patch-1
Tasks readme: update url for new compiler FAQ
2014-05-25 19:36:18 +02:00
Peter Robins
a0cfdb1990 Tasks readme: update url for new compiler FAQ
As changed on closure-util https://github.com/openlayers/closure-util/pull/17 - just realised this link is here too.
2014-05-25 17:39:23 +01:00
Éric Lemoine
8cd5f6d642 Merge pull request #2109 from elemoine/visibleandinrange
Hit detection respects min and maxResolution
2014-05-25 14:43:44 +02:00
Éric Lemoine
fd8a46dcae Hit detection respects min and maxResolution 2014-05-25 14:35:07 +02:00
Tim Schaub
df5b41862b Merge pull request #2110 from probins/patch-1
Apidoc readme: minor change.
2014-05-24 09:50:49 -06:00
Peter Robins
2aa97957cc Apidoc readme: minor change
so comments rendered correctly
2014-05-24 12:40:45 +01:00
Tim Schaub
92d8dd918b Merge pull request #2087 from tschaub/id-index
Add method for retrieving features by id.
2014-05-23 17:05:11 -06:00
Tim Schaub
a2b81d6bd0 Disallow adding the same feature twice 2014-05-23 16:52:11 -06:00
Tim Schaub
652f11cefa Provide a method for retrieving features by id 2014-05-23 16:35:07 -06:00
Tim Schaub
34cabd1579 Dispatch change on feature id change 2014-05-23 16:35:06 -06:00
Tim Schaub
305e9b0df1 Merge pull request #2107 from tschaub/null-or-undef
Account for null or undefined geometry.
2014-05-23 16:30:33 -06:00
Tim Schaub
2898151206 Merge pull request #2108 from tschaub/simple
Remove simple build profile.
2014-05-23 12:26:11 -06:00
Tim Schaub
25aefbeff5 Remove simple build profile
This was inadvertently added in d163f60e34 (see #2075).  Thanks @probins for the heads up.
2014-05-23 10:20:24 -06:00
Tim Schaub
097909516a Account for null or undefined geometry
The change in #2098 made it so a feature's geometry could be undefined.  This is consistent with the return type for the getGeometry method.  Where calling code needs to ensure that it has a geometry instance, it can use instanceof, goog.isDefAndNotNull(), or test for a truthy value.
2014-05-23 10:00:15 -06:00
Andreas Hocevar
0e7f86ea17 Merge pull request #2072 from ahocevar/no-oli-docs
Do not include oli.* symbols in the API documentation
2014-05-23 10:52:49 +02:00
Andreas Hocevar
f903849882 Remove all docstrings from oli.js
Instead, make sure that the properties are documented in the
implementing class.
2014-05-22 18:00:10 +02:00
Andreas Hocevar
547334e211 Move oli.* stability notes to the corresponding ol.* symbol 2014-05-22 16:01:35 +02:00
Andreas Hocevar
2caa1139a1 Move object literals defined in ol3 to a separate section 2014-05-22 15:51:41 +02:00
Andreas Hocevar
08cdeaacb4 Clean up api.js 2014-05-22 15:51:21 +02:00
Andreas Hocevar
eb6a938062 Do not document object literals as interfaces
Instead, object literals with properties that should not be
renamed can go in externs/olx.js.
2014-05-22 15:48:47 +02:00
Andreas Hocevar
e050c905e2 Do not include oli.* symbols in the inheritance chain 2014-05-22 15:48:46 +02:00
Tim Schaub
81523091f0 Merge pull request #2099 from tschaub/update-deps
Update dependencies.
2014-05-21 15:04:39 -06:00
Tim Schaub
be03ec5aa1 Update dependencies
* closure-util@0.12.0 - force inclusion of deps.js files when compiling
 * jshint@2.5.1 - various enhancements and fixes (https://github.com/jshint/jshint/compare/2.4.4...2.5.1)
 * walk@2.3.3 - directory exclusion fix
2014-05-21 12:08:46 -06:00
Bart van den Eijnden
db35a85710 Merge pull request #2090 from bartvde/wfs-update
Create valid XML in ol.format.WFS and ability to specify srsName (r=@ahocevar)
2014-05-21 19:04:05 +02:00
Bart van den Eijnden
28d122e21e Write out valid WFS Transaction XML and ability to specify srsName 2014-05-21 17:58:53 +02:00
Tim Schaub
98193c0336 Merge pull request #2098 from tschaub/empty-feature
Do not set geometry by default.
2014-05-21 09:52:09 -06:00
Frédéric Junod
9e7bfda9f7 Merge pull request #2096 from fredj/unused-require
Remove unused goog.require
2014-05-21 17:36:29 +02:00
Tim Schaub
9341e98374 Merge pull request #2093 from bjornharrtell/fix_opt_dest2
Assign to provided array instead of pushing when getting a linestring midpoint.
2014-05-21 09:28:06 -06:00
Bart van den Eijnden
a36bffae49 Merge pull request #2097 from bartvde/geojson-geometryname
Ability to specify geometryName on ol.format.GeoJSON (r=@tschaub)
2014-05-21 17:26:02 +02:00
Tim Schaub
a4d31147bc Do not set geometry by default
A feature can have a geometry whose value is an ol.geom.Geometry instance or null.  A feature can also have no geometry property.  By default, a feature has no geometry property.  To set a geometry, one can be passed to the constructor (including null) or passed to setGeometry().
2014-05-21 09:16:54 -06:00
Bart van den Eijnden
8eef633abc Ability to specify geometryName on ol.format.GeoJSON 2014-05-21 16:44:18 +02:00
Frederic Junod
2f918ea2a4 Remove unused goog.require 2014-05-21 16:06:32 +02:00
Andreas Hocevar
dca88668ab Merge pull request #2095 from ahocevar/test-geometry-name
Test that a custom geometry works
2014-05-21 15:08:47 +02:00
Andreas Hocevar
e530758b36 Test that a custom geometry works 2014-05-21 15:08:11 +02:00
Andreas Hocevar
cabd436b4c Merge pull request #2082 from ahocevar/custom-exports-target
Allow to specify an objectToExportTo for goog.exportSymbol
2014-05-21 13:51:52 +02:00
Tim Schaub
c820a7a1f8 Additional doc for the namespace option
People should be discouraged from exporting to single letter namespaces to avoid collissions with the symbols generated by the compiler.
2014-05-21 13:22:40 +02:00
Tim Schaub
250f6901d3 Pass around single config object 2014-05-21 13:22:32 +02:00
Björn Harrtell
ce40a142fa opt_dest should be assigned to not pushed 2014-05-21 12:02:26 +02:00
Frédéric Junod
32b17642c1 Merge pull request #2092 from fredj/unused-require
Remove unused goog.require
2014-05-21 11:36:16 +02:00
Frederic Junod
b2ab73e78b Remove unused goog.require 2014-05-21 09:46:49 +02:00
Frédéric Junod
c4e729a2bd Merge pull request #2086 from fredj/apidoc
Document ol.coordinate functions
2014-05-21 09:04:45 +02:00
Andreas Hocevar
3447f93bfe Document the new namespace option 2014-05-20 21:56:32 +02:00
Andreas Hocevar
cd4092f3e0 Allow to specify an objectToExportTo for goog.exportSymbol
This allows users to build ol3 without anything exposed in the
global namespace. This can e.g. be useful for creating an ol3
AMD module, by simply using a build configuration with
"define('ol',function(){var o={};%output%return o.ol;});" as
"output_wrapper".
2014-05-20 21:49:26 +02:00
Frederic Junod
8239a5c92a Document ol.coordinate functions 2014-05-20 14:15:28 +02:00
Frederic Junod
ae7291d9f1 Add the jsdoc ol.coordinate namespace 2014-05-20 13:58:17 +02:00
Éric Lemoine
832371b2aa Merge pull request #2083 from elemoine/missinganotation
Add missing @param annotation
2014-05-19 16:28:32 +02:00
Éric Lemoine
9b7735bf92 Add missing @param annotation 2014-05-19 15:43:38 +02:00
Tim Schaub
e17c8c79f9 Merge pull request #2079 from tschaub/view-options
Support zoom and resolution constrained views.
2014-05-16 11:26:09 -06:00
Tim Schaub
3793f33acf Handle minZoom in getZoom and setZoom 2014-05-16 04:56:42 -06:00
Andreas Hocevar
6185005c3f Merge pull request #2077 from ahocevar/event-stability
Document event stability even when there is no description
2014-05-16 10:03:30 +02:00
Tim Schaub
815f5b38c8 Accept resolution or zoom related options for constrained views
Any of minResolution, maxResolution, minZoom, or maxZoom can be used to constrain the view resolutions.  Resolution options are given precedence over zoom options.
2014-05-15 17:31:55 -06:00
Andreas Hocevar
aaf21198d3 Document event stability even when there is no description 2014-05-15 23:02:01 +02:00
Andreas Hocevar
c70497856c Merge pull request #2075 from ahocevar/api-docs-improved
More API doc improvements
2014-05-15 22:35:53 +02:00
Andreas Hocevar
687abda9fb Need to be more specific about the coordinate format now. 2014-05-15 20:56:09 +02:00
Andreas Hocevar
b348a4f8f9 Add some margin between the 'static' tag and the name 2014-05-15 20:29:46 +02:00
Andreas Hocevar
d163f60e34 Make sure that opt_layout is listed as optional 2014-05-15 20:29:16 +02:00
Andreas Hocevar
b2805c58de Better document which events are fired
The map does not fire ol.render.Event#render. Change events are
now only listed for classes that fire them, and a description
about when they are fired is added.
2014-05-15 20:28:09 +02:00
Andreas Hocevar
a75d944311 Allow custom events and do not collect events from methods 2014-05-15 20:25:26 +02:00
Andreas Hocevar
0d10314d4f Make sure that ol.source.wms.ServerType is documented 2014-05-15 17:06:19 +02:00
Andreas Hocevar
97bae045db Fix documentation typos 2014-05-15 17:05:40 +02:00
Andreas Hocevar
754ef24b0c List default controls and interactions 2014-05-15 17:04:58 +02:00
Andreas Hocevar
b2554cab41 Mark optional and repeatable arguments 2014-05-15 16:58:13 +02:00
Andreas Hocevar
fc88db53f6 Make types look the same everywhere 2014-05-15 16:57:47 +02:00
Andreas Hocevar
720052de12 New landing page 2014-05-15 16:54:33 +02:00
Bart van den Eijnden
3384ba07e3 Merge pull request #2074 from bartvde/touch
Restore map interaction on touch devices
2014-05-15 15:58:38 +02:00
Bart van den Eijnden
83ce0b2c7f Restore map interaction on touch devices 2014-05-15 15:29:41 +02:00
Frédéric Junod
92a7f9112c Merge pull request #2073 from fredj/named-colors
Change ol.ENABLE_NAMED_COLORS to be false by default
2014-05-15 11:02:34 +02:00
Frederic Junod
b42f4e1b0c Change ol.ENABLE_NAMED_COLORS to be false by default 2014-05-15 08:59:47 +02:00
Frederic Junod
84390da2e4 Rename ol.color.ENABLE_NAMED_COLORS in tests 2014-05-15 08:59:02 +02:00
Tim Schaub
9874f502ab Merge pull request #2071 from tschaub/doc
Minor doc content and style updates.
2014-05-14 18:28:54 -06:00
Tim Schaub
049531831c Move stability and inherited indicators after names 2014-05-14 16:27:30 -06:00
Tim Schaub
8fbf67b7e6 Remove space between ol. and Name 2014-05-14 16:26:44 -06:00
Tim Schaub
3a0efe83c5 Update map example 2014-05-14 15:11:12 -06:00
Tim Schaub
f559963126 Merge pull request #2063 from tschaub/moveend
Fire moveend only once after view settles.
2014-05-14 14:58:06 -06:00
Andreas Hocevar
81a85fe0e2 Merge pull request #2061 from eshon/master
Some suggested color changes to apidoc template items
2014-05-14 22:45:21 +02:00
Eva Shon
b8cef60036 Update main.less 2014-05-14 16:43:26 -04:00
Eva Shon
55b273686a Update main.less 2014-05-14 16:41:57 -04:00
Tim Schaub
df05e9da11 Fire moveend only once after view settles 2014-05-14 14:23:31 -06:00
Tim Schaub
2d34d04113 Merge pull request #2070 from tschaub/concatenate
Support for debug builds (concatenation only).
2014-05-14 13:48:44 -06:00
Andreas Hocevar
3a8aaea6c7 Merge pull request #2068 from ahocevar/apidoc-imprved
Only document arguments of exported constructors
2014-05-14 21:08:17 +02:00
Tim Schaub
c3184f2cce Support for debug builds (concatenation only)
Whitespace builds are still painful to debug.  Skipping the compiler altogether and simply concatenating sources is a better option for development and debugging.  By ommitting the `compile` option in a build config, the output is "uncompiled" - a straight concatenation of all sources in dependency order.
2014-05-14 10:39:51 -06:00
Andreas Hocevar
a613e01677 Only document arguments of exported constructors 2014-05-14 09:06:26 +02:00
Tim Schaub
ab9d42f2cd Merge pull request #2067 from tschaub/touches
Do less work while processing touch events.
2014-05-14 01:05:22 -06:00
Tim Schaub
9f047b791c Merge pull request #2066 from tschaub/phantom
Remove PhantomJS as a global dependency.
2014-05-14 00:52:26 -06:00
Bart van den Eijnden
28f21e44c1 Merge pull request #2059 from bartvde/draw-geometryname
Add geometryName option to ol.interaction.Draw (r=@elemoine)
2014-05-14 08:51:59 +02:00
Bart van den Eijnden
945f5008f5 Ability to specify geometryName on ol.interaction.Draw 2014-05-14 08:35:27 +02:00
Tim Schaub
4c8ba1bac6 Remove PhantomJS as a global dependency 2014-05-14 00:03:58 -06:00
Tim Schaub
abf35898ca Merge pull request #2064 from tschaub/restore-timer
Restore setTimeout after it is mocked.
2014-05-13 23:18:44 -06:00
Tim Schaub
b860ec7a06 Do less work while processing touch events 2014-05-13 23:06:27 -06:00
Tim Schaub
7709d26955 Restore setTimeout after it is mocked 2014-05-13 22:44:36 -06:00
Tim Schaub
3db28c2af6 Merge pull request #2065 from tschaub/global-leak
Properly reset the click count in ol.pointer.TouchSource.
2014-05-13 22:38:30 -06:00
Tim Schaub
57a6fbf416 Call resetClickCountHandler_ with proper this argument 2014-05-13 17:41:58 -06:00
Eva Shon
b4d316f224 some suggested color changes to template items 2014-05-13 13:25:07 -04:00
Bart van den Eijnden
86013c3a78 Merge pull request #2058 from bartvde/wfs-transaction-srs
no way to set srsName on WFS transactions (r=@ahocevar)
2014-05-13 13:20:30 +02:00
Bart van den Eijnden
0a3031a165 Ability to specify gmlOptions (e.g. srsName) in WFS transactions 2014-05-13 13:10:18 +02:00
Bart van den Eijnden
6ab92086d2 Merge pull request #2057 from bartvde/addfeatures
Export readFeatures on FormatVectorSource
2014-05-12 12:55:21 +02:00
Bart van den Eijnden
4780d17059 Export readFeatures on FormatVectorSource 2014-05-12 10:37:41 +02:00
Éric Lemoine
e97639590b Merge pull request #2055 from elemoine/icon-hidpi
Fix icon rendering on hidpi devices
2014-05-10 09:18:05 +02:00
Andreas Hocevar
efdf05f0d1 Merge pull request #2051 from ahocevar/fix-returns
Apidoc: first word of '@return' not displayed
2014-05-09 10:43:28 -05:00
Andreas Hocevar
90ffde52f2 Make sure that links are clickable
Because we set a padding of 50px on anchorable elements to make
sure they are not obscured by the header, we need to raise the
z-index of links so they are not obscured by these paddings.
2014-05-09 10:03:17 -05:00
Andreas Hocevar
f95e23deeb Do not hide the first word of returns 2014-05-09 10:02:13 -05:00
Éric Lemoine
6758e0905b Fix icon rendering on hidpi devices 2014-05-09 08:44:23 +02:00
Frédéric Junod
164922bd5f Merge pull request #2052 from fredj/apidoc
apidoc: display the event name in lower case
2014-05-09 07:38:20 +02:00
Frederic Junod
1b6a317bf9 Lower case the event name 2014-05-08 17:12:29 +02:00
Frédéric Junod
4e6e835c0e Merge pull request #2050 from fredj/has_webgl
Export ol.BrowserFeature.HAS_WEBGL
2014-05-08 09:53:13 +02:00
Frederic Junod
e1436b25e0 Export ol.BrowserFeature.HAS_WEBGL 2014-05-08 08:57:29 +02:00
Éric Lemoine
a189c4a68a Merge pull request #2047 from elemoine/snaptopixel
Set snapToPixel to true by default
2014-05-07 23:02:09 +02:00
Andreas Hocevar
354a93b2f7 Merge pull request #2049 from ahocevar/anchor-line-numbers
Fix anchor offsets for line numbers
2014-05-07 15:05:22 -05:00
Andreas Hocevar
564d3cda12 Fix anchor offsets for line numbers 2014-05-07 15:01:48 -05:00
Éric Lemoine
c0c6f286e0 Merge pull request #2048 from elemoine/duplicate
Remove duplicate record field "duration" in olx.js
2014-05-07 20:09:35 +02:00
Éric Lemoine
2b8f2517bd Remove duplicate record field "duration" in olx.js 2014-05-07 18:30:46 +02:00
Éric Lemoine
8610a91ea9 Set snapToPixel to false in dynamic-data example 2014-05-07 18:01:24 +02:00
Andreas Hocevar
be73885e37 Merge pull request #2043 from ahocevar/nicer-api-docs
Nicer API docs
2014-05-07 09:20:22 -05:00
Andreas Hocevar
0d4c7dc1fc Better match the ol3 color theme 2014-05-07 08:40:02 -05:00
Éric Lemoine
511e3f7810 Avoid defining default values at multiple locations 2014-05-07 09:58:56 +02:00
Éric Lemoine
6cd403945a Set snapToPixel defaut value to true 2014-05-07 09:58:56 +02:00
Andreas Hocevar
c57e9dc047 Better readable color for type links 2014-05-06 14:12:38 -05:00
Andreas Hocevar
e2c9dd279d Switch to the Jaguar theme
In addition to a nicer layout, this adds a searchable sidebar
and a source code viewer.
2014-05-06 12:46:59 -05:00
Andreas Hocevar
e6dbb61d68 Document raw geometry types 2014-05-06 12:45:53 -05:00
Andreas Hocevar
3f2f7e3603 Fix indentation 2014-05-06 12:45:53 -05:00
Andreas Hocevar
436bbdecd0 Document ol.Pixel 2014-05-06 12:45:53 -05:00
Éric Lemoine
596e06ed4e Merge pull request #2042 from elemoine/circle
Use correct circle canvas size
2014-05-06 18:37:31 +02:00
Andreas Hocevar
959e14c31a Handle observables and fires augments in plugins
This makes it easier to switch themes.
2014-05-06 10:14:28 -05:00
Éric Lemoine
18d292edd7 Make check-example.js display console logs from page 2014-05-06 16:38:55 +02:00
Éric Lemoine
c974612cc5 Use actual circle canvas size 2014-05-06 16:38:07 +02:00
Antoine Abt
a51e834fef Merge pull request #2027 from tonio/rotate
Add a rotate control
2014-05-06 15:36:01 +02:00
Andreas Hocevar
c2a9e95a37 Make sure anchors are not obscured by the header 2014-05-05 12:40:48 -05:00
Tim Schaub
454fc873f6 Merge pull request #2039 from tschaub/defines
Add info on defines to general build metadata.
2014-05-05 09:07:12 -07:00
Andreas Hocevar
5f54b45fa2 Add readme note about observable properties 2014-05-05 09:52:32 -05:00
Tim Schaub
d069f955f8 Document boolean defines as positive assertions 2014-05-05 07:41:53 -07:00
Tim Schaub
070f81aa7d Add description to symbols and defines 2014-05-05 07:41:53 -07:00
Tim Schaub
f9157a6123 Rename generate-symbols.js to generate-info.js
This task generates build related metadata for the library based on doc annotations.  Since it is about more than writing out exportable symbols, it makes sense to have a more general name.
2014-05-05 07:41:47 -07:00
Andreas Hocevar
61b732b8f7 Make sure that parent classes are not marked undocumented 2014-05-05 09:40:28 -05:00
Andreas Hocevar
b1126c9373 Inline events and also list method events with the class 2014-05-05 09:35:33 -05:00
Tim Schaub
48828a238a Generate metadata for boolean defines in addition to exportable symbols 2014-05-05 07:14:23 -07:00
Éric Lemoine
28e94b33ac Merge pull request #2040 from elemoine/iconsprite
Ability to use sprites as Icon src
2014-05-05 11:41:50 +02:00
Éric Lemoine
a7aab4eb47 Make Immediate API use ol.style.Image "origin" 2014-05-05 09:56:12 +02:00
Éric Lemoine
562d74dbed Make Replay API use ol.style.Image "origin" 2014-05-05 09:55:58 +02:00
Éric Lemoine
a62fd53d36 Add "origin" option to ol.style.Image 2014-05-05 09:30:35 +02:00
Andreas Hocevar
52444b1366 Inherit events 2014-05-04 18:29:18 -05:00
Andreas Hocevar
b444714c55 No longer need to remove dead links
There should be no dead links any more, now that we include
doclets for the whole inheritance chain of a class.
2014-05-04 18:28:19 -05:00
Andreas Hocevar
ea5df18c72 Remove unused require 2014-05-04 14:51:06 -05:00
Andreas Hocevar
8ee9f7cb6a Simplify the way we annotate observable properties
We no longer add observable annotations to the constructor.
Instead, we just mark getters (and for read/write properties
also setters) with an observable annotation.
2014-05-03 16:04:25 -04:00
Andreas Hocevar
0f072c0ec1 List subclasses for each class
With this change, we no longer need to link to implementations
or subclasses manually.
2014-05-03 15:32:39 -04:00
Andreas Hocevar
db5b2e284a Do not remove classes that other classes inherit from 2014-05-03 12:41:52 +02:00
Andreas Hocevar
6cea9a9d9a Avoid dead links
Because we remove doclets that are not part of the API, there
are cases where linkto will create a link to an undocumented
doclet. We now replace such links with the longname of the
doclet.
2014-05-03 12:41:52 +02:00
Tim Schaub
29d71b34b2 Merge pull request #2036 from tschaub/transform
More convenient geometry transforms.
2014-05-02 13:52:47 -06:00
Tim Schaub
0b8f1e8944 Mark applyTransform as part of the API for all geometries 2014-05-02 13:24:04 -06:00
Tim Schaub
1ba084ceab Merge pull request #2035 from tschaub/imprecision
Reducing expectations about spherical interpolation precision.
2014-05-02 12:10:40 -06:00
Tim Schaub
e448f100fd Add a transform method to geometries
This accepts CRS identifiers for source and destination, transforms the geometry in place, and returns a reference to the geometry.
2014-05-02 11:47:59 -06:00
Tim Schaub
1110da37e1 Move ol.Sphere#circle to ol.geom.Polygon.circular
Previously, ol.geom.Polygon was a transitive dependency of ol.proj (since ol.proj requires ol.sphere.NORMAL, and all spheres were capable of generating circular polygons).  Instead, ol.proj should be lower-level.  Since it deals only with coordinate arrays, it shouldn't depend on all of the geometry code.

By adding a static `circular` function to `ol.geom.Polygon`, the dependency tree makes more sense.  If you want to create a polygon that approximates a circle on a sphere, you require `ol.geom.Polygon` and `ol.Sphere` (or one of the constants).

This makes room for geometries to have a `transform` method that takes projection-like arguments (meaning that `ol.geom.Geometry` will require `ol.proj`).
2014-05-02 11:25:44 -06:00
Tim Schaub
f66ad1253f Reducing expectations about spherical interpolation precision
This avoids test failures in Chrome 34 (see also #1748 and https://code.google.com/p/v8/issues/detail?id=3006).
2014-05-02 10:23:03 -06:00
Tim Schaub
015aab8af3 Rename ol.extent.transform to ol.extent.applyTransform
This gives more consistency with ol.proj.applyTransform, allowing us to add a more convenient ol.extent.transform method that takes projection-like arguments.
2014-05-02 10:13:28 -06:00
Tim Schaub
a4f1efbddb Add tests for geometry applyTransform method 2014-05-02 09:58:23 -06:00
Tim Schaub
4f9968d106 Rename transform to applyTransform for geometries 2014-05-02 09:27:53 -06:00
Antoine Abt
603be52b1a Remove useless test in default controls 2014-05-02 14:12:31 +02:00
Antoine Abt
0bec5b5590 Add base control class, to simplify stylesheet 2014-05-02 14:12:31 +02:00
Antoine Abt
04fd0ecf53 Add rotate control to defaults. 2014-05-02 14:12:31 +02:00
Antoine Abt
229ae5e883 Add rotate control
- displayed when rotation ≠ 0
 - reset rotation on click
2014-05-02 14:12:31 +02:00
Andreas Hocevar
5a13488b11 Stop adding ObjectEvent links manually
Now that the links are removed from event annotations, we no
longer need to do this, because inheritance works.
2014-05-02 12:06:48 +02:00
Andreas Hocevar
b7f6e2d9b9 Fix quotes 2014-05-02 12:06:48 +02:00
Andreas Hocevar
d6722ddc6f Mark undocumented doclets as undocumented
To give other plugins access to doclets that are not part of
the API, we have to mark them undocumented instead of removing
them. They will be removed by JSDoc before publishing anyway.
2014-05-02 12:06:48 +02:00
Andreas Hocevar
7b4c240a5a Merge pull request #2004 from ahocevar/bind-webgl
Bind input example is broken since default renderer has changed
2014-05-02 11:08:32 +02:00
Frédéric Junod
0cd33ebfe9 Merge pull request #1926 from fredj/cache-anchor
Compute anchor value only once
2014-05-01 23:23:18 +02:00
Andreas Hocevar
8e387f385a Add missing namespace annotation 2014-05-01 22:17:57 +02:00
Andreas Hocevar
e7e1ef7534 Show inherited observable properties 2014-05-01 22:17:57 +02:00
Andreas Hocevar
25dd0127e9 Recursively document subparams and span table columns 2014-05-01 22:17:57 +02:00
Andreas Hocevar
7271b50d5a Simplify fires annotations 2014-05-01 22:17:56 +02:00
Andreas Hocevar
f22aac1e22 Only use the inheritdoc plugin once 2014-05-01 22:17:56 +02:00
Frédéric Junod
2e9cad730d Merge pull request #2032 from fredj/require
Remove unneeded goog.require
2014-05-01 17:10:30 +02:00
Frederic Junod
c0d8fe4126 Remove unneeded goog.require 2014-05-01 13:41:16 +02:00
Tim Schaub
0c8f29c432 Merge pull request #2031 from tschaub/dependencies
Move modules used in post-install task to dependencies.
2014-04-30 18:07:49 -06:00
Tim Schaub
f8e6fac90e Modules used in postinstall are dependencies
Since async and htmlparser2 are used by the postinstall task, they need to be listed as dependencies.  These will get installed when ol3 is a dependency of another project.
2014-04-30 17:54:39 -06:00
Tim Schaub
0d8c11394d Merge pull request #2030 from tschaub/defines
Move defines to ol namespace.
2014-04-30 17:13:10 -06:00
Tim Schaub
24498fa9d0 Defines in a namespace that can be required
For consistency, all defines are in the ol namespace.  If they are to be moved to another namespace, they need to be requireable.
2014-04-30 09:14:10 -06:00
Tim Schaub
e4e3b2229a Defines in ol namespace defined in ol.js 2014-04-30 08:54:30 -06:00
Tim Schaub
cec41c4b0a Add missing requires
Without explicit requires, it is possible that a build would exclude ol.js.
2014-04-30 08:37:52 -06:00
Tim Schaub
3f0da11008 Move ol defines from browserfeature.js to ol.js 2014-04-30 08:24:00 -06:00
Tim Schaub
12d4cb5752 Merge pull request #1979 from tschaub/custom-build
Annotation for exportable methods.  Node based tasks for generating exports and a custom build.

Fixes #613.
2014-04-29 13:01:52 -06:00
Tim Schaub
193d5c9ac1 Rename EXTERNAL_SRC to EXPORTS
The build/exports.js file passes gjslint and jshint, so the separate linting task is not needed.
2014-04-29 09:57:25 -06:00
Tim Schaub
a083c6149a No more generated internal source
With this change, the only two remaining generated scripts are build/exports.js and build/test/requireall.js.  Both are only required by Plovr.  With the Node based build task, a temporary exports.js file is created.  The Node based server can be used to run the tests without build/test/requireall.js.
2014-04-29 09:57:25 -06:00
Tim Schaub
9b4f61be3e No need for requireall.js when including exports.js 2014-04-29 09:57:25 -06:00
Tim Schaub
d552dfd96d Making ol.proj.Projection subclasses exportable
Because ol.proj.EPSG4326 et al. extend ol.proj.Projection which has exportable methods, these constructors need to be exportable as well (e.g. so ol.proj.EPSG4326.prototype is defined in exports.js when calling goog.exportProperty on getCode etc.).  If we really don't want these to be exportable, they should be removed or made private (and named like ol.proj.EPSG4326_) for internal use only.
2014-04-29 09:57:25 -06:00
Tim Schaub
ec6aa21912 Include goog.require calls in exports file 2014-04-29 09:57:25 -06:00
Tim Schaub
d087fdbefd Add list of provides to symbol metadata 2014-04-29 09:57:25 -06:00
Tim Schaub
fd170eb295 Accept a path for exports file 2014-04-29 09:57:19 -06:00
Tim Schaub
3dd5fb88e5 Allow configuration of JVM arguments in build 2014-04-29 09:53:07 -06:00
Andreas Hocevar
fbdbbfb7a7 Get rid of stability annotations and document stability with api
This change adds a stability value to the api annotation, with
'experimental' as default value.

enum, typedef and event annotations are never exportable, but
api annotations are needed there to make them appear in the
docs.

Nested typedefs are no longer inlined recursively, because the
resulting tables get too wide with the current template.
2014-04-29 09:53:07 -06:00
Andreas Hocevar
29b643c7b0 Inline object literals from olx.js 2014-04-29 09:53:07 -06:00
Andreas Hocevar
cdd1922350 Document purpose and use of oli.js and olx.js 2014-04-29 09:53:06 -06:00
Andreas Hocevar
c17ac0cae3 Greatly simplify and document the usage of JSDoc
This commit simplifies the exports.js plugin so it only relies
on the stability notes to generate the documentation, which
completely decouples it from the exportable API.

As a rule of thumb, whenever something has an 'api' annotation,
it should also have a 'stability' annotation. A more verbose
documentation of ol3 specific annotation usage is available in
the new 'apidoc/readme.md' file.

This commit also modifies all source files to implement these
usage suggestions.
2014-04-29 09:53:06 -06:00
Andreas Hocevar
aaf6101d0f Include symbols from oli.js using interface and implements tags
Instead of regex parsing, we define tags for interface and
implements.
2014-04-29 09:53:06 -06:00
Andreas Hocevar
b758d92790 Use symbols.json for determining the API
Also to get rid of regular expression parsing, instead of
collecting exports for observables from the source files, we use
the 'observable' annotations.
2014-04-29 09:53:06 -06:00
Tim Schaub
758eed357e Accept a src config, add docs 2014-04-29 09:53:06 -06:00
Tim Schaub
a28db38eef Parse options and add docs 2014-04-29 09:53:06 -06:00
Tim Schaub
b6277e0a01 Build task for driving the compiler 2014-04-29 09:53:06 -06:00
Tim Schaub
88e41f25ea Generate symbols before exports 2014-04-29 09:53:06 -06:00
Tim Schaub
fe5d8712f2 Unused script 2014-04-29 09:53:06 -06:00
Tim Schaub
7c68107b17 Call generate-symbols.js from build.py 2014-04-29 09:53:06 -06:00
Tim Schaub
88d67b7370 Regenerate symbols if parents have changed
The generate-symbols.js task runs JSDoc on source files.  Because this takes a long time (13s) to run on the whole library, the resulting symbols file includes additional metadata to make it possible to do incremental symbol generation on subsequent runs.  The 'path' and 'extends' metadata for a symbol are used to determine what needs to be regenerated.
2014-04-29 09:53:06 -06:00
Tim Schaub
1273c26f7a Use new generate-exports.js task 2014-04-29 09:53:05 -06:00
Tim Schaub
c692204ffd Task for generating a limited set of exports 2014-04-29 09:53:05 -06:00
Tim Schaub
d3e477a8df Allow main method to be called from elsewhere 2014-04-29 09:53:05 -06:00
Tim Schaub
e53fde402b Write out sorted symbols, excluding inherited ones on private classes
There are cases where a private class may inherit an exportable member (e.g. ol.DebugTile_#getTileCoord comes from ol.Tile#getTileCoord).  We want to avoid making these exportable.
2014-04-29 09:53:05 -06:00
Tim Schaub
11b49d6305 Removing old *.exports for completeness 2014-04-29 09:53:05 -06:00
Tim Schaub
fb497f5288 Annotations for exports 2014-04-29 09:53:05 -06:00
Tim Schaub
457cfe851a Add a task to generate metadata on exported symbols
This runs JSDoc with the "symbols" config, providing a list of source files that have been changed since the previous run.  The output is used to generate a symbols.json metadata file containing all exportable symbols info.  A separate task will be run to generate the exports.js file.  These same metadata files will be used by a build tool.
2014-04-29 09:53:05 -06:00
Tim Schaub
9800b38250 Adding a JSDoc configuration for generating metadata on exported symbols
This generates info for all symbols annotated with "@todo api" (when Plovr is replaced, this will become "@api").  Generated metadata is written to stdout.  A separate process will handle the output.
2014-04-29 09:53:05 -06:00
Tom Payne
debbd83d8b Merge pull request #2024 from twpayne/igc-invalid
Fix IGC handling of invalid IGC files
2014-04-29 15:31:12 +02:00
Tom Payne
b64c63ea24 Don't return a feature if there are no coordinates 2014-04-29 15:05:30 +02:00
Frédéric Junod
3742b3c816 Merge pull request #1992 from fredj/select-layer-option
Remove layer option from ol.interaction.Select
2014-04-29 09:56:56 +02:00
Frederic Junod
3c308af91f Merge layerFilter option into layers 2014-04-29 08:58:55 +02:00
Frederic Junod
2c7282d4e9 Remove layer option from ol.interaction.Select
Fixes #1991
2014-04-29 08:56:29 +02:00
Bart van den Eijnden
09621af085 Merge pull request #2020 from bartvde/wfsbbox
Add fifth value for BBOX to be conforming to the WFS 1.1 spec (r=@tschaub)
2014-04-28 18:00:39 +02:00
Bart van den Eijnden
b91d8871df Add fifth value for BBOX to be conforming to the WFS 1.1 spec 2014-04-28 17:57:30 +02:00
Frédéric Junod
1f3f1e1cc7 Merge pull request #2018 from fredj/featureoverlay-cleanup
Miscellaneous ol.FeatureOverlay cleanup
2014-04-28 15:24:35 +02:00
Frederic Junod
b41ee35422 Use features.forEach instead of for loop 2014-04-28 13:54:26 +02:00
Frederic Junod
90c0944617 Fix coding style 2014-04-28 13:51:42 +02:00
Frederic Junod
a5620fa46a Remove unneeded function binding 2014-04-28 13:50:54 +02:00
Frederic Junod
475be37ef4 Remove unused local variable 2014-04-28 13:49:14 +02:00
Bart van den Eijnden
77dfc29b5c Merge pull request #2013 from bartvde/wfsdata
parsing issues with ol.format.WFS (=r@fredj)
2014-04-28 09:38:54 +02:00
Frédéric Junod
d7296602fc Merge pull request #2017 from fredj/feature-setgeom-change
Dispatch a change event when the geometry is set
2014-04-28 08:57:32 +02:00
Bart van den Eijnden
2a45d3b41b Merge pull request #2014 from bartvde/getkeys
export getKeys on ol.Object (r=@elemoine,@fredj)
2014-04-28 08:08:35 +02:00
Frédéric Junod
35715da4e6 Merge pull request #2010 from fredj/goog.array.contains
Use goog.array.contains instead of goog.array.indexOf
2014-04-28 07:40:56 +02:00
Frederic Junod
68773941d3 Use goog.array.contains instead of goog.array.indexOf 2014-04-26 08:31:40 +02:00
Frederic Junod
74d83f29d2 Dispatch a change event when the geometry is set
Fixes #2016
2014-04-26 08:09:28 +02:00
Bart van den Eijnden
9c6987aa78 Export ol.Object's getKeys function 2014-04-25 15:02:58 +02:00
Bart van den Eijnden
635dd5f380 Make sure we can parse WFS 1.1 responses from MapServer 2014-04-25 11:29:27 +02:00
Éric Lemoine
928e3244cf Merge pull request #2012 from elemoine/skipfeature
Remove skippeFeatures collection
2014-04-25 09:01:02 +02:00
Bart van den Eijnden
0e6b72f94d Merge pull request #1986 from bartvde/wfs-example
ol.format.WFS has no readProjection method (r=@elemoine)
2014-04-24 21:16:53 +02:00
Éric Lemoine
f9c0f12f23 Remove skippeFeatures collection 2014-04-24 20:58:50 +02:00
Bart van den Eijnden
962ddff1c2 Implement readProjection on ol.format.WFS and add WFS JSONP example 2014-04-24 20:58:32 +02:00
Frédéric Junod
cd878e0ef8 Merge pull request #2009 from fredj/zoom-no-name
Remove name attributes from the zoom buttons
2014-04-24 15:10:03 +02:00
Frederic Junod
d00e515412 Remove name attributes from the zoom buttons 2014-04-24 14:45:14 +02:00
Frédéric Junod
a46f8647f9 Merge pull request #1998 from adube/fix-zoomcontrol
Fix zoomcontrol, set type button in button, not span
2014-04-24 14:35:53 +02:00
Andreas Hocevar
32dda342aa Only show controls for WebGL settings when WebGL is used 2014-04-22 16:29:53 +02:00
Frédéric Junod
16d7999deb Merge pull request #2007 from fredj/tilejson-jsonp
Use goog.net.Jsonp instead of goog.net.jsloader
2014-04-22 15:25:29 +02:00
Frederic Junod
1d688ad29d Use goog.net.Jsonp instead of goog.net.jsloader 2014-04-22 14:44:55 +02:00
Frédéric Junod
3ffed43834 Merge pull request #1995 from fredj/cleanup
Use ol.extent.getWidth and ol.extent.getHeight
2014-04-18 16:20:56 +02:00
Éric Lemoine
05217496f7 Merge pull request #1990 from elemoine/select-bug
Rework handling of skipped features in replay
2014-04-18 15:51:36 +02:00
Alexandre Dubé
f0d159d6ef Fix zoomcontrol, set type button in button, not span 2014-04-18 09:45:09 -04:00
Éric Lemoine
fa1d79016d Merge pull request #1994 from oterral/add_export
Add getSource function in ol.source.ImageVector
2014-04-18 13:37:00 +02:00
Éric Lemoine
8c1c775f85 Merge pull request #1997 from elemoine/skipped-features-performance
Make handling of skipped features faster
2014-04-18 13:17:05 +02:00
Éric Lemoine
4e965123c8 Make handling of skipped features faster 2014-04-18 10:52:20 +02:00
Frédéric Junod
551dd94494 Merge pull request #1996 from probins/measure
Measure example: correct source link
2014-04-17 21:00:52 +02:00
Peter Robins
53d3c695f4 Measure example: correct source link 2014-04-17 14:32:01 -04:00
Frederic Junod
663e7af0d2 Use ol.extent.getWidth and ol.extent.getHeight 2014-04-17 15:54:13 +02:00
oterral
a277cbf548 Add getSource getter in ol.source.ImageVector 2014-04-17 15:21:11 +02:00
Éric Lemoine
f59b3e968b Rework handling of skipped features in replay 2014-04-16 19:12:31 +02:00
Frédéric Junod
cb1edd262d Merge pull request #1985 from fredj/named-color
Handle ol.color.ENABLE_NAMED_COLORS = false
2014-04-16 16:28:26 +02:00
Frédéric Junod
b5873ff866 Merge pull request #1984 from fredj/export-circle
Export ol.Sphere.WGS84.circle function
2014-04-16 07:20:13 +02:00
Frederic Junod
251996f789 Use ol.color.ENABLE_NAMED_COLORS in tests 2014-04-15 17:22:58 +02:00
Frederic Junod
1da879ef06 Don't use a named color for defaultFillStyle
Named color support is optional (see ol.color.ENABLE_NAMED_COLORS)
2014-04-15 16:58:06 +02:00
Frederic Junod
4d548d99a7 Add Tissot indicatrix example 2014-04-15 14:35:27 +02:00
Frederic Junod
38f8774cc4 Export ol.Sphere#circle function 2014-04-15 14:35:20 +02:00
Éric Lemoine
2a0026bed3 Merge pull request #1970 from elemoine/geturls
Add getUrl methods to TileWMS and ImageWMS
2014-04-14 20:47:35 +02:00
Frédéric Junod
ce2b52d4fc Merge pull request #1983 from fredj/osgeo-url
Allow '{-y}' placeholder
2014-04-14 15:23:05 +02:00
Frederic Junod
9b5512c065 Allow '{-y}' placeholder 2014-04-14 14:27:18 +02:00
Frédéric Junod
738fe65268 Merge pull request #1982 from fredj/dnd-event
Add file propery to ol.interaction.DragAndDropEvent
2014-04-14 13:50:03 +02:00
Frederic Junod
ef27f14376 Remove undefined type from opt_target and opt_file 2014-04-14 12:01:48 +02:00
Frederic Junod
756f407ef4 Add file propery to ol.interaction.DragAndDropEvent 2014-04-14 10:47:57 +02:00
Andreas Hocevar
60ab837025 Merge pull request #1950 from jachym/measure_example
Adding simple measure example
2014-04-11 10:06:21 +02:00
Éric Lemoine
5755ea3be2 Merge pull request #1977 from elemoine/comment
Add an olx.js related comment to build.py
2014-04-10 20:18:44 +02:00
Éric Lemoine
df3319328d Add a comment to build.py 2014-04-10 17:58:35 +02:00
Andreas Hocevar
6826829786 Merge pull request #1971 from ahocevar/externs-instead-of-typedefs
"Cannot read property 'AttributionOptions' of undefined" error
2014-04-10 16:54:50 +02:00
Tim Schaub
12840aa49f Merge pull request #1976 from tschaub/pointerup-return
Required return from event handler.
2014-04-10 06:52:13 -06:00
Antoine Abt
050f0cede6 Merge pull request #1974 from tonio/selectfeature
Automatically skip features on select’s collection changes
2014-04-10 14:41:52 +02:00
Andreas Hocevar
b80c6d5c61 Replace typedefs with externs
Since the compiler leaves externs untouched and learns the used
properties from object literals, this replaces the otherwise
required typedefs just fine.
2014-04-10 14:40:51 +02:00
Tim Schaub
e72b383976 Required return from event handler 2014-04-10 06:32:27 -06:00
Antoine Abt
5147a0b060 Automatically skipFeatures on select’s collection changes 2014-04-10 14:24:39 +02:00
Frédéric Junod
c2bd829a5f Merge pull request #1975 from fredj/rotation-anchor
Rotate around arbitrary coordinate
2014-04-10 14:22:08 +02:00
Frédéric Junod
3946b92595 Merge pull request #1942 from elemoine/export-tileimage
Export ol.source.TileImage
2014-04-10 14:16:13 +02:00
Éric Lemoine
f9388749d4 undefined may be passed to ol.animation.rotate 2014-04-10 14:05:18 +02:00
Éric Lemoine
42adc23e86 Use ol.View2D#rotate in Interaction 2014-04-10 14:05:18 +02:00
Éric Lemoine
59c3857afd Add rotateAroundRome to animation example 2014-04-10 14:05:18 +02:00
Éric Lemoine
3c86dba3a8 ol.animate.rotate takes an optional anchor 2014-04-10 14:05:17 +02:00
Éric Lemoine
00917b7262 Export ol.View2D#rotate 2014-04-10 14:05:17 +02:00
Éric Lemoine
7e604d6ed3 Merge pull request #1972 from elemoine/modifyinteraction
Fix bug at modify interaction construction time
2014-04-10 13:55:48 +02:00
Éric Lemoine
e03054f17f Add ol.View2D#rotate 2014-04-10 12:40:47 +02:00
Éric Lemoine
00bc424098 Add ol.coordinate.sub 2014-04-10 12:40:47 +02:00
Frederic Junod
5248bb7a4b Export ol.source.TileImage 2014-04-10 12:27:53 +02:00
Éric Lemoine
baca25ed95 Fix bug at modify interaction construction time
This fixes a bug that occurs when the modify interaction is configured with a non-empty collection of features.
2014-04-10 11:00:00 +02:00
Éric Lemoine
ee1b4e08a1 Add ol.source.ImageWMS#getUrl 2014-04-10 09:16:24 +02:00
Éric Lemoine
e4c2cf0b63 Add ol.source.TileWMS#getUrls 2014-04-10 09:16:24 +02:00
Frédéric Junod
21d9aa2115 Merge pull request #1967 from fredj/tileUrlFunction-this
Don't use 'this' keyword in tileUrlFunction
2014-04-09 10:21:06 +02:00
Frederic Junod
6b1a4dc88b Use WMTS server from services.arcgisonline.com 2014-04-09 09:22:20 +02:00
Frederic Junod
bbb3527ac7 Don't use 'this' keyword in tileUrlFunction
See a31ad69ec4
Fixes #1965
2014-04-09 09:00:25 +02:00
Tim Schaub
98ec656981 Merge pull request #1954 from tschaub/olx
Use externs/olx.js instead of objectliterals.jsdoc.
2014-04-08 20:36:38 -06:00
Tim Schaub
3c92b693c5 Adding comment about using externs/olx.js as a source file
The externs/olx.js script includes @typedef annotations for objects that are used in the library.  When compiling the examples together with the library, we need these @typedef annotations.  In this same case, we don't need the object property names to be treated as externs (they can be safely renamed).
2014-04-08 20:11:49 -06:00
Andreas Hocevar
04a33220a8 Parse olx.js and convert types into typedef properties 2014-04-08 11:41:24 -06:00
Tim Schaub
9e33672503 Unused externs and typedef generating code 2014-04-08 11:41:24 -06:00
Tim Schaub
acb0fd8f06 Use externs/olx.js instead of objectliterals.jsdoc
The single externs/olx.js file describes all of the "options" objects we accept in our constructors.  The @typedef annotations are used by the compiler for type checking.  The @type annotations include documentation for individual options and serve as externs when compiling a profile of the library.  When compiling an application together with the library, the externs/olx.js file is included as one of the sources to provide the @typedef's without generating externs.

If we want to maintain multiple src/*.externs.js files instead of one large externs/olx.js file, we can.  But while we are still using Plovr, it makes for easier build configurations to have one file.

This removes the build tasks that generated the build/src/external/src/externs/types.js and build/src/internal/src/types.js files as those are both replaced by the single externs/olx.js file.
2014-04-08 11:41:24 -06:00
Frédéric Junod
03cc1c5a01 Merge pull request #1966 from fredj/coding-style
Fix coding style
2014-04-08 19:37:41 +02:00
Paul Spencer
b4031efc71 Merge pull request #1964 from pagameba/node-jsdoc
Upgrade to jsdoc 3.3.
2014-04-08 13:31:58 -04:00
Paul Spencer
6d3bbe61ce Upgrade to jsdoc 3.3. 2014-04-08 07:39:57 -04:00
Frederic Junod
17ed43d230 Fix coding style
Use `goog.isDef(x) ? x : {}` instead of `x || {}`
2014-04-08 11:40:04 +02:00
Frédéric Junod
aa6c188da6 Merge pull request #1962 from fredj/1961
Define ol.pointer.PointerEvent.createMouseEvent before using it
2014-04-07 18:18:21 +02:00
Frederic Junod
ffb61b49d0 Define ol.pointer.PointerEvent.createMouseEvent before using it
Fixes #1961
2014-04-07 17:48:14 +02:00
Éric Lemoine
4561e0b901 Merge pull request #1960 from elemoine/stopevent
Implement shouldStopEvent in DragBox interaction
2014-04-07 17:23:46 +02:00
Éric Lemoine
ce0b1d2a47 Use goog.functions.identity where it makes sense 2014-04-07 16:59:04 +02:00
Éric Lemoine
eac9b71b95 Set shouldStopEvent to identity in DragBox
This fixes a bug where the map is panned when boxes are drawn.
2014-04-07 16:57:02 +02:00
Frédéric Junod
de60b15e36 Merge pull request #1958 from fredj/renderer-order
Change renderer order in getRendererFromQueryString
2014-04-07 15:21:58 +02:00
Frederic Junod
1da40b6d02 Change renderer order in getRendererFromQueryString
To order should be the same as ol.DEFAULT_RENDERER_HINTS.
See #887
2014-04-07 14:56:56 +02:00
Andreas Hocevar
13e072cb63 Merge pull request #1955 from ahocevar/canvas-no-taint
Test canvas size with an untainted canvas
2014-04-07 13:52:09 +02:00
ahocevar
d685c79e02 Use ol.dom.createCanvasContext2D and remove canvas variable 2014-04-07 13:25:49 +02:00
Andreas Hocevar
5e7790d89c Merge pull request #1956 from ahocevar/shrink-comment
Make comment about shrinking the canvas more descriptive
2014-04-06 23:55:31 +02:00
ahocevar
3848e7f823 Make comment about shrinking the canvas more descriptive 2014-04-06 23:54:59 +02:00
ahocevar
09021dffd4 Do not shrink test canvas 2014-04-06 14:29:32 +02:00
ahocevar
95795ea301 Test canvas size with an untainted canvas 2014-04-06 11:38:51 +02:00
Tim Schaub
732ec7c2db Merge pull request #1952 from tschaub/shortdesc
No markup in shortdesc.
2014-04-04 13:14:48 -06:00
Tim Schaub
966317489e Merge pull request #1951 from tschaub/gjslint
Externs lint.
2014-04-04 10:11:34 -06:00
Tim Schaub
6fc915ba7b Strip tags from shortdesc (et al.) when parsing
This strips markup from elements with id attributes that we care about: title, shortdesc, tags.  This will only work for people who use `npm install && npm start` to browse examples.  The other example parser doesn't strip this markup, so it should still not be used in these elements.
2014-04-04 10:07:25 -06:00
Tim Schaub
2a4300085e No markup in shortdesc
The example parser and index template don't handle markup in the shortdesc element.  Use the docs element instead.
2014-04-04 10:07:02 -06:00
Tim Schaub
fe60d07ef0 Externs lint 2014-04-04 09:28:36 -06:00
Tim Schaub
f410a38c53 Merge pull request #1949 from tschaub/layer-state
Give layer state a reference to the layer.
2014-04-04 08:59:14 -06:00
Jachym Cepicky
280e3e4ebf Adding simple measure example 2014-04-04 16:13:20 +02:00
Tim Schaub
7826036307 Make getLayerStatesArray return an array of layer states 2014-04-04 07:39:54 -06:00
Tim Schaub
78324fb54b Remove layers array from frame state 2014-04-04 07:36:42 -06:00
Tim Schaub
aa3a20e911 Provide layer states array in frame state 2014-04-04 07:36:42 -06:00
Tim Schaub
9d5451b1d6 Provide a reference to the layer 2014-04-04 07:36:42 -06:00
Andreas Hocevar
6c84358619 Merge pull request #1914 from ahocevar/modify-event-propagation
Modify interaction breaks mouse wheel zoom
2014-04-04 14:18:31 +02:00
ahocevar
bf06129256 Initialize snappedToVertex_ 2014-04-04 14:11:02 +02:00
ahocevar
523b51d69a Add missing goog.requires; fix types and a typo 2014-04-04 14:05:19 +02:00
ahocevar
2cb045b0b3 Better documentation for the singleclick condition 2014-04-04 14:05:19 +02:00
ahocevar
f2acbd332c Use the pixelTolerance to determine whether to snap to a vertex 2014-04-04 14:05:19 +02:00
ahocevar
8fc9b23ab8 Do not return as handled unless a geometry was modified
With this change, it is more straightforward to determine
whether an event is considered as handled, which results in the
removal of the modifiable_ and lastVertexCoordinate_ states.
Instead, we only need to know whether we're on a real vertex or
a virtual one. For that a new snappedToVertex_ flag is
introduced.

To stop a click after vertex deletion from triggering a feature
selection, vertex deletion is now triggered by a configurable
event condition, which defaults to singleclick (same as in the
select interaction) with no modifier keys.
2014-04-04 14:05:18 +02:00
Éric Lemoine
266f573922 Merge pull request #1943 from elemoine/ht
Hit detection skips layers in invisible groups
2014-04-04 09:08:29 +02:00
Bart van den Eijnden
6a3d349409 Merge pull request #1863 from htulipe/ows-capabilities
Add basic reading support for OWS Capabilities documents.
2014-04-03 19:57:27 +02:00
Éric Lemoine
8b0ae9e4da Hit detection skips layers in invisible groups 2014-04-03 16:54:39 +02:00
Tom Payne
0de380c7d2 Merge pull request #1744 from twpayne/remote-vector
ol.source.RemoteVector
2014-04-03 16:12:16 +02:00
Tom Payne
c155b70281 Export ol.source.ServerVector#readFeatures 2014-04-03 15:57:44 +02:00
Andreas Hocevar
e49b395cc4 Merge pull request #1940 from ahocevar/select-setmap
Handle skipped features when setting the map
2014-04-03 15:31:40 +02:00
Tom Payne
3a462f7076 Add a polygon layer and tweak the style of the tile-vector example 2014-04-03 15:23:24 +02:00
Tom Payne
d3a13a254c Use TopoJSON in tile-vector example 2014-04-03 15:23:24 +02:00
Tom Payne
a68d9f2299 Use openstreetmap.us vector tiles in tile-vector example 2014-04-03 15:23:24 +02:00
Tom Payne
f13debbbc9 Load vector tiles for current resolution 2014-04-03 15:23:24 +02:00
Tom Payne
96b7700d63 Use forEachFeatureInExtentAtResolution in ol.source.ImageVector 2014-04-03 15:23:24 +02:00
Tom Payne
ed586bad39 Use forEachFeatureInExtentAtResolution in ol.renderer.canvas.VectorLayer 2014-04-03 15:23:24 +02:00
Tom Payne
3a8504b799 Add ol.source.Vector#forEachFeatureInExtentAtResolution 2014-04-03 15:12:23 +02:00
Frederic Junod
fe216e3da1 Better vector style in tile-vector example 2014-04-03 15:12:23 +02:00
Tom Payne
8986ea1ef9 Add tile-vector example 2014-04-03 15:12:23 +02:00
Tom Payne
683483f8a4 Add ol.source.TileVector 2014-04-03 15:12:22 +02:00
Tom Payne
4a484a7ad3 Separate out feature reading and feature adding 2014-04-03 15:12:22 +02:00
Tom Payne
a31ad69ec4 Make tile URL functions more general 2014-04-03 15:12:22 +02:00
Tim Schaub
86c5a582c7 Rename loadingStrategy to strategy 2014-04-03 15:12:22 +02:00
Tim Schaub
ce8d805201 Rename loadingFunction to loader 2014-04-03 15:12:22 +02:00
Tom Payne
db1a06ac31 Use a BBOX loading strategy by default 2014-04-03 15:12:22 +02:00
Tom Payne
9e75684823 Replace extentUrlFunction with generic loadingFunction 2014-04-03 15:12:22 +02:00
Tom Payne
b8869805a7 Rename ol.loading to ol.loadingstrategy 2014-04-03 15:12:22 +02:00
Tom Payne
de4a17b8e2 Rename ol.source.RemoteVector to ServerVector 2014-04-03 15:12:22 +02:00
Tom Payne
b24e122d4f Add projection argument when loading features 2014-04-03 15:12:22 +02:00
Tom Payne
cbbcab926e Export ol.format.OSMXML 2014-04-03 15:08:03 +02:00
Tom Payne
10bddeae59 Load features on demand in vector-osm example 2014-04-03 15:08:03 +02:00
Tom Payne
50c4961b9f Add ol.source.RemoteVector 2014-04-03 15:08:03 +02:00
Tom Payne
2842d1b254 Add ol.loading 2014-04-03 15:08:03 +02:00
Tom Payne
8c984cc8f7 Load features before rendering 2014-04-03 15:08:03 +02:00
Tom Payne
b008dd1805 Rename ol.source.FormatVector#loadFeatures to loadFeaturesFromURL 2014-04-03 15:05:55 +02:00
Tom Payne
073f83cd22 Factor out ol.source.FormatVector 2014-04-03 15:05:55 +02:00
Tom Payne
77933d0ab3 Rename ol.source.VectorFile to ol.source.StaticVector 2014-04-03 15:05:55 +02:00
ahocevar
8df95bc674 Handle skipped features when setting the map
When a Select interaction is removed from the map, it should
remove its selected features from the map's skippedFeatures
collection. When it is added to a map, it should add them.
2014-04-03 14:30:58 +02:00
Andreas Hocevar
e44e59311b Merge pull request #1896 from ahocevar/nodragclick
Add click event as responsive alternative to singleclick
2014-04-03 13:34:14 +02:00
Andreas Hocevar
7f2a628223 Merge pull request #1928 from ahocevar/recover-from-canvas-too-big
Recover from situations where the maximum canvas size is exceeded
2014-04-03 11:46:19 +02:00
ahocevar
ea58f38275 Make testCanvasSize a static function 2014-04-03 11:18:26 +02:00
ahocevar
54ba06ae3b Initialize canvasTooBig_ member 2014-04-03 11:18:12 +02:00
ahocevar
58b5fef3da Allow to make canvas smaller when it is too big
For performance reason, we only make the canvas bigger, but not
smaller. With this change, we also make it smaller, but only
when we know that its current size exceeds the maximum
dimensions.
2014-04-02 16:44:57 +02:00
ahocevar
4dce59fe95 Add method for testing whether the canvas size is valid
This is a way to detect whether a canvas exceeds the maximum
dimensions if these are limited on the target device. See
https://developer.apple.com/library/ios/documentation/AppleApplications/Reference/SafariWebContent/CreatingContentforSafarioniPhone/CreatingContentforSafarioniPhone.html
for limitations on iOS devices.
2014-04-02 16:44:39 +02:00
Frederic Junod
fa640cf094 Compute anchor value only once 2014-03-31 10:20:52 +02:00
ahocevar
02907b26ed Continue using singleclick for getfeatureinfo 2014-03-27 18:34:47 +01:00
ahocevar
30fc1a29fb Add unit tests for click event 2014-03-27 18:33:17 +01:00
ahocevar
7bfa15c0fd Add click event as responsive alternative to singleclick
The singleclick event makes the application feel slow because
of the 250 ms delay that is used to rule out a dblclick.
2014-03-27 18:33:17 +01:00
Hadrien Tulipe
f325cc3d7a More syntax fix for OWS format 2014-03-17 21:15:03 +01:00
Hadrien Tulipe
58e74229d2 Rename ol.format.OWSCapabilities to ol.format.OWS 2014-03-17 21:10:47 +01:00
Hadrien Tulipe
149e5c9068 Fix syntax and private functions return values for OWS format 2014-03-17 21:03:41 +01:00
Hadrien Tulipe
00da1405b6 Remove commented code 2014-03-16 20:18:14 +01:00
Hadrien Tulipe
fe2bee1577 Add basic reading support for OWS Capabilities document. 2014-03-16 19:47:13 +01:00
985 changed files with 56471 additions and 56114 deletions

3
.gitignore vendored
View File

@@ -1,6 +1,7 @@
*.pyc
/build
/build/
/examples/*.html.png
/examples/example-list.js
/examples/example-list.xml
/node_modules/
/dist/

View File

@@ -1,4 +1,5 @@
{
"-W030": true,
"-W083": true
"-W083": true,
"-W069": true
}

5
.npmignore Normal file
View File

@@ -0,0 +1,5 @@
*.pyc
/build/
/examples/*.html.png
/examples/example-list.js
/examples/example-list.xml

View File

@@ -1,16 +1,8 @@
before_install:
- "sudo pip install -r requirements.txt"
- "git clone --depth=50 https://github.com/jsdoc3/jsdoc build/jsdoc"
- "cd build/jsdoc"
- "git fetch origin refs/tags/v3.2.2:refs/tags/v3.2.2"
- "git checkout tags/v3.2.2"
- "cd ../.."
- "npm install"
- "npm install -g npm && npm install"
before_script:
- "./build.py plovr"
- "./build.py serve-integration-test &"
- "rm src/ol/renderer/webgl/*shader.js"
- "sleep 3"
script: "./build.py JSDOC=build/jsdoc/jsdoc integration-test"
script: "./build.py ci"

View File

@@ -1,58 +0,0 @@
OpenLayers contributors:
* Antoine Abt
* Mike Adair
* Jeff Adams
* Seb Benthall
* Bruno Binet
* Stéphane Brunner
* Howard Butler
* Bertil Chaupis
* John Cole
* Tim Coulter
* Robert Coup
* Jeff Dege
* Roald de Wit
* Schuyler Erle
* Christian López Espínola
* John Frank
* Sean Gilles
* Pierre Giraud
* Ivan Grcic
* Andreas Hocevar
* Marc Jansen
* Ian Johnson
* Frédéric Junod
* Eric Lemoine
* Philip Lindsay
* Martijn van Oosterhout
* David Overstrom
* Tom Payne
* Corey Puffault
* Peter William Robins
* Gregers Rygg
* Tim Schaub
* Christopher Schmidt
* Tobias Schwinger
* Cameron Shorter
* Pedro Simonetti
* Paul Spencer
* Paul Smith
* Glen Stampoultzis
* James Stembridge
* Erik Uzureau
* Bart van den Eijnden
* Ivan Willig
* Thomas Wood
* Bill Woodall
* Steve Woodbridge
* David Zwarg
Some portions of OpenLayers are used under the Apache 2.0 license, available
in doc/licenses/APACHE-2.0.txt.
Some portions of OpenLayers are used under the MIT license, availabie in
doc/licenses/MIT-LICENSE.txt.
Some portions of OpenLayers are Copyright 2001 Robert Penner, and are used
under the BSD license, available in doc/licenses/BSD-LICENSE.txt

View File

@@ -2,20 +2,323 @@
Thanks for your interest in contributing to OpenLayers 3.
## Asking Questions
Please ask questions about using the library on [stackoverflow using the tag 'openlayers-3'](http://stackoverflow.com/questions/tagged/openlayers-3).
When you want to get involved and discuss new features or changes, please use [the mailing list](https://groups.google.com/forum/#!forum/ol3-dev).
## Submitting Bug Reports
Please use the [GitHub issue tracker](https://github.com/openlayers/ol3/issues). Before creating a new issue, do a quick search to see if the problem has been reported already.
## Contributing Code
Our preferred means of receiving contributions is through [pull
requests](https://help.github.com/articles/using-pull-requests).
Our preferred means of receiving contributions is through [pull requests](https://help.github.com/articles/using-pull-requests). Make sure
that your pull request follows our pull request guidelines below before submitting it.
See the [Developer
Guide](https://github.com/openlayers/ol3/wiki/Developer-Guide) to get started
with OpenLayers 3 development. This guide provides information you should know
before creating pull requests.
This page describes what you need to know to contribute code to ol3 as a developer.
Note that, before accepting a contribution, we ask that you provide us
a Contributor License Agreement. If you are making your contribution as part of
work for your employer, please follow the guidelines on submitting a [Corporate
Contributor License Agreement](http://www.openlayers.org/ccla.txt). If you are
## Contributor License Agreement
Before accepting a contribution, we ask that you provide us a Contributor
License Agreement. If you are making your contribution as part of work for
your employer, please follow the guidelines on submitting a [Corporate
Contributor License Agreement](https://raw.github.com/openlayers/cla/master/ccla.txt). If you are
making your contribution as an individual, you can submit a digital [Individual
Contributor License
Agreement](https://docs.google.com/spreadsheet/viewform?formkey=dGNNVUJEMXF2dERTU0FXM3JjNVBQblE6MQ).
Contributor License Agreement](https://docs.google.com/spreadsheet/viewform?formkey=dGNNVUJEMXF2dERTU0FXM3JjNVBQblE6MQ).
## Setting up development environment
You will obviously start by
[forking](https://github.com/openlayers/ol3/fork_select) the ol3 repository.
### Travis CI
The Travis CI hook is enabled on the Github repository. This means every pull request
is run through a full test suite to ensure it compiles and passes the tests. Failing
pull requests will not be merged.
Although not mandatory, it is also recommended to set up Travis CI for your ol3 fork.
For that go to your ol3 fork's Service Hooks page and set up the Travis hook.
Then every time you push to your fork, the test suite will be run. This means
errors can be caught before creating a pull request. For those making
small or occasional contributions, this may be enough to check that your contributions
are ok; in this case, you do not need to install the build tools on your local environment
as described below.
### Development dependencies
The minimum requirements are:
* Git
* [Node.js](http://nodejs.org/) (0.10.x or higher)
* Python 2.6 or 2.7 with a couple of extra modules (see below)
* Java 7 (JRE and JDK)
The executables `git`, `java`, `jar`, and `python` should be in your `PATH`.
You can check your configuration by running:
$ ./build.py checkdeps
To install the Node.js dependencies run
$ npm install
To install the extra Python modules, run:
$ sudo pip install -r requirements.txt
or
$ cat requirements.txt | sudo xargs easy_install
depending on your OS and Python installation.
## Working with the build tool
As an ol3 developer you will need to use the `build.py` Python script. This is
the script to use to run the linter, the compiler, the tests, etc. Windows users
can use `build.cmd` which is a thin wrapper around `build.py`.
The `build.py` script is equivalent to a Makefile. It is actually based on
[pake](https://github.com/twpayne/pake/), which is a simple implementation of
`make` in Python.
The usage of the script is:
$ ./build.py <target>
where `<target>` is the name of the build target you want to execute. For
example:
$ ./build.py test
The main build targets are `serve`, `lint`, `build`, `test`, and `check`. The
latter is a meta-target that basically runs `lint`, `build`, and `test`.
The `serve` target starts a node-based web server, which we will refer to as the *dev server*. You'll need to start that server for running the examples and the tests in a browser. More information on that further down.
Other targets include `apidoc` and `ci`. The latter is the target used on Travis CI. See ol3's [Travis configuration file](https://github.com/openlayers/ol3/blob/master/.travis.yml).
## Running the `check` target
The `check` target is to be run before pushing code to GitHub and opening pull
requests. Branches that don't pass `check` won't pass the integration tests,
and have therefore no chance of being merged into `master`.
To run the `check` target:
$ ./build.py check
If you want to run the full suite of integration tests, see "Running the integration
tests" below.
## Running examples
To run the examples you first need to start the dev server:
$ ./build.py serve
Then, just point your browser <http://localhost:3000/examples> in your browser. For example <http://localhost:3000/examples/side-by-side.html>.
Run examples against the `ol.js` standalone build:
The examples can also be run against the `ol.js` standalone lib, just like the examples
[hosted](http://openlayers.github.com/ol3/master/examples/) on GitHub. Start by
executing the `host-examples` build target:
$ ./build.py host-examples
After running `host-examples` you can now open the examples index page in the browser, for example: <http://localhost/~elemoine/ol3/build/hosted/master/examples/>. (This assumes that the `hosted` directory is a web directory, served by Apache for example.)
Append `?mode=raw` to make the example work in full debug mode. In raw mode the OpenLayers and Closure Library scripts are loaded individually by the Closure Library's `base.js` script (which the example page loads and executes before any other script).
## Running tests
To run the tests in a browser start the dev server (`./build.py serve`) and open <http://localhost:3000/test/index.html> in the browser.
To run the tests on the console (headless testing with PhantomJS) use the `test` target:
$ ./build.py test
See also the test-specific [README](../master/test/README.md).
## Running the integration tests
When you submit a pull request the [Travis continuous integration
server](https://travis-ci.org/) will run a full suite of tests, including
building all versions of the library and checking that all of the examples
work. You will receive an email with the results, and the status will be
displayed in the pull request.
To run the full suite of integration tests use the `ci` target:
$ ./build.py ci
Running the full suite of integration tests currently takes 5-10 minutes.
This makes sure that your commit won't break the build. It also runs JSDoc3 to
make sure that there are no invalid API doc directives.
## Adding examples
Adding functionality often implies adding one or several examples. This
section provides explanations related to adding examples.
The examples are located in the `examples` directory. Adding a new example
implies creating two files in this directory, an `.html` file and a `.js` file.
See `examples/simple.html` and `examples/simple.js` for instance.
The `.html` file needs to include a script tag with
`loader.js?id=<example_name>` as its `src`. For example, if the two files for
the example are `myexample.js` and `myexample.html` then the script tag's `src`
should be set to `myexample`.
You can use `simple.js` and `simple.html` as templates for new examples.
### Use of the `goog` namespace in examples
Short story: the ol3 examples should not use the `goog` namespace, except
for `goog.require`.
Longer story: we want that the ol3 examples work in multiple modes, with the
standalone lib (which has implications of the symbols and properties we
export), and compiled together with the ol3 library.
Compiling the examples together with the library makes it mandatory to declare dependencies with `goog.require` statements.
## Pull request guidelines
Your pull request must:
* Follow OpenLayers 3's coding style.
* Pass the integration tests run automatically by the Travis Continuous
Integration system.
* Address a single issue or add a single item of functionality.
* Contain a clean history of small, incremental, logically separate commits,
with no merge commits.
* Use clear commit messages.
* Be possible to merge automatically.
### The `check` build target
It is strongly recommended that you run
$ ./build.py check
before every commit. This will catch many problems quickly, and it is much
faster than waiting for the Travis CI integration tests to run.
The `check` build target runs a number of quick tests on your code. These
include:
* Lint
* Compile
* Tests
### Follow OpenLayers 3's coding style
OpenLayers 3 follows [Google's JavaScript Style
Guide](http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml).
This is checked using the [Closure
Linter](https://developers.google.com/closure/utilities/) in strict mode. You
can run the linter locally on your machine before committing using the `lint`
target to `build.py`:
$ ./build.py lint
In addition to fixing problems identified by the linter, please also follow the
style of the existing OpenLayers 3 code, which includes:
* Always wrap the body of `for`, `if`, and `while` statements in braces.
* Class methods should be in alphabetical order.
* `var` declarations should not span multiple lines. If you cannot fit all
the declarations in a single line, then start a new `var` declaration on a
new line. Within a single line, variables should be declared in
alphabetical order.
* Do not use assignments inside expressions.
* Avoid the use of `goog.array.clone` with arrays (use slice instead).
* Use `array.length = 0` instead of `goog.array.clear`.
* Use bracket notation instead of `goog.object.set` and `goog.object.get` (with
two arguments).
* Use uppercase for `@const` variables.
### Pass the integration tests run automatically by the Travis CI system
The integration tests contain a number of automated checks to ensure that the
code follows the OpenLayers 3 style and does not break tests or examples. You
can run the integration tests locally using the `ci` target:
$ ./build.py ci
### Address a single issue or add a single item of functionality
Please submit separate pull requests for separate issues. This allows each to
be reviewed on its own merits.
### Contain a clean history of small, incremental, logically separate commits, with no merge commits
The commit history explains to the reviewer the series of modifications to the
code that you have made and breaks the overall contribution into a series of
easily-understandable chunks. Any individual commit should not add more than
one new class or one new function. Do not submit commits that change thousands
of lines or that contain more than one distinct logical change. Trivial
commits, e.g. to fix lint errors, should be merged into the commit that
introduced the error. See the [Atomic Commit Convention on Wikipedia](http://en.wikipedia.org/wiki/Atomic_commit#Atomic_Commit_Convention) for more detail.
`git apply --patch` and `git rebase` can help you create a clean commit
history.
[Reviewboard.org](http://www.reviewboard.org/docs/codebase/dev/git/clean-commits/)
and [Pro GIT](http://git-scm.com/book/en/Git-Tools-Rewriting-History) have
explain how to use them.
### Use clear commit messages
Commit messages should be short, begin with a verb in the imperative, and
contain no trailing punctuation. We follow
http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
for the formatting of commit messages.
Git commit message should look like:
Header line: explaining the commit in one line
Body of commit message is a few lines of text, explaining things
in more detail, possibly giving some background about the issue
being fixed, etc etc.
The body of the commit message can be several paragraphs, and
please do proper word-wrap and keep columns shorter than about
74 characters or so. That way "git log" will show things
nicely even when it's indented.
Further paragraphs come after blank lines.
Please keep the header line short, no more than 50 characters.
### Be possible to merge automatically
Occasionally other changes to `master` might mean that your pull request cannot
be merged automatically. In this case you may need to rebase your branch on a
more recent `master`, resolve any conflicts, and `git push --force` to update
your branch so that it can be merged automatically.

View File

@@ -1,5 +1,4 @@
Copyright 2005-2013 OpenLayers Contributors. All rights reserved. See
AUTHORS.md for full list.
Copyright 2005-2014 OpenLayers Contributors. All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

View File

@@ -1,11 +1,11 @@
# OpenLayers 3
[![Travis CI Status](https://secure.travis-ci.org/openlayers/ol3.png)](http://travis-ci.org/#!/openlayers/ol3)
[![Travis CI Status](https://secure.travis-ci.org/openlayers/ol3.svg)](http://travis-ci.org/#!/openlayers/ol3)
Welcome to [OpenLayers 3](http://ol3js.org/)!
Welcome to [OpenLayers 3](http://openlayers.org/)!
Check out the [hosted examples](http://ol3js.org/en/master/examples/), the [workshop](http://ol3js.org/ol3-workshop/) or poke around the evolving [API docs](http://ol3js.org/en/master/apidoc/).
Please don't ask questions in the github issue tracker but use [the mailing list](https://groups.google.com/forum/#!forum/ol3-dev) instead.
## Examples
Check out the [hosted examples](http://openlayers.org/en/master/examples/), the [workshop](http://openlayers.org/ol3-workshop/) or poke around the evolving [API docs](http://openlayers.org/en/master/apidoc/).
## Contributing
Please see our guide on [contributing](CONTRIBUTING.md) if you're interested in getting involved.

View File

@@ -1,41 +0,0 @@
{
"opts": {
"recurse": true,
"template": "apidoc/template"
},
"tags": {
"allowUnknownTags": true
},
"source": {
"includePattern": ".+\\.js(doc)?$",
"excludePattern": "(^|\\/|\\\\)_",
"exclude": [
"src/googx/dom/fullscreen.js"
],
"include": [
"src"
]
},
"plugins": [
"plugins/markdown",
"apidoc/plugins/inheritdoc",
"apidoc/plugins/exports",
"apidoc/plugins/todo",
"apidoc/plugins/observable",
"apidoc/plugins/stability"
],
"markdown": {
"parser": "gfm"
},
"stability": {
"levels": ["deprecated","experimental","unstable","stable","frozen","locked"]
},
"templates": {
"cleverLinks": false,
"monospaceLinks": false,
"default": {
"outputSourceFiles": true
}
},
"jsVersion": 180
}

View File

@@ -1,20 +0,0 @@
Finding your way around
-----------------------
See the class list to the right and especially take a look at {@link ol.Map} and {@link ol.layer.Layer} because those are the central objects.
In general every use of OpenLayers starts by initializing a map, then adding the required layers. Controls and interactions can be added to change the behavior of the map.
Projections
-----------
A {@link ol.proj.Projection} defines which point on earth is represented by a pair of coordinates.
Coordinates within OpenLayers can be used in various projections where some common projections are always supported,
others can be used via [Proj4js](http://trac.osgeo.org/proj4js/).
Maps and Layers
---------------
A map in OpenLayers is essentially a staple of layers that is viewed from the top. Layers are responsible for retrieving data and displaying it.
Contributing
------------
See [CONTRIBUTING.md](https://github.com/openlayers/ol3/blob/master/CONTRIBUTING.md) for instructions
on building and testing OpenLayers. The file does also describe how to commit your changes to OpenLayers.

View File

@@ -1,118 +0,0 @@
/*
* This plugin parses externs/oli.js as well as goog.exportSymbol and
* goog.exportProperty calls to build a list of API symbols and properties.
* Unexported modules linked from @param or @fires will be marked unexported,
* and the documentation will not contain the constructor. Everything else is
* marked undocumented, which will remove it from the docs.
*/
var api = [];
var unexported = [];
function collectExports(source) {
var i, ii, symbol, property;
var syms = source.match(/goog\.exportSymbol\([^\)]*\)/g);
if (syms) {
i = 0; ii = syms.length;
for (; i < ii; ++i) {
symbol = syms[i].match(/'([^']*)'/)[1];
api.push(symbol);
}
}
var props = source.match(/goog\.exportProperty\([^\)]*\)/g);
if (props) {
i = 0; ii = props.length;
for (; i < ii; ++i) {
property = props[i].match(/[^,]*,[^,]*,\r?\n? *([^\)]*)\)/)[1]
.replace('.prototype.', '#');
api.push(property);
}
}
}
function collectOliExports(source) {
var oli = source.match(/[^\{]oli\.([^;^ ]*);? ?/g);
if (oli) {
i = 0; ii = oli.length;
for (; i < ii; ++i) {
property = 'ol.' + oli[i].match(/oli.([^;]*)/)[1]
.replace('.prototype.', '#');
unexported.push(property);
}
}
}
var encoding = env.conf.encoding || 'utf8';
var fs = require('jsdoc/fs');
collectExports(fs.readFileSync('build/src/external/src/exports.js', encoding));
collectOliExports(fs.readFileSync('externs/oli.js', encoding));
exports.handlers = {
beforeParse: function(e) {
if (/\.js$/.test(e.filename)) {
collectExports(e.source);
}
},
newDoclet: function(e) {
var i, ii, j, jj;
if (e.doclet.meta.filename == "objectliterals.jsdoc" && e.doclet.properties) {
for (i = 0, ii = e.doclet.properties.length; i < ii; ++i) {
if (e.doclet.properties[i].type && e.doclet.properties[i].type.names) {
for (j = 0, jj = e.doclet.properties[i].type.names.length; j < jj; ++j) {
if (e.doclet.properties[i].type.names[j].indexOf('ol') == 0) {
if (api.indexOf(e.doclet.properties[i].type.names[j]) === -1) {
api.push(e.doclet.properties[i].type.names[j]);
}
}
}
}
}
}
if (api.indexOf(e.doclet.longname) > -1) {
var names, name;
var params = e.doclet.params;
if (params) {
for (i = 0, ii = params.length; i < ii; ++i) {
names = params[i].type.names;
if (names) {
for (j = 0, jj=names.length; j < jj; ++j) {
name = names[j];
if (unexported.indexOf(name) === -1) {
unexported.push(name);
}
}
}
}
}
var links = e.doclet.comment.match(/\{@link ([^\}]*)\}/g);
if (links) {
for (i=0, ii=links.length; i < ii; ++i) {
var link = links[i].match(/\{@link (.*)\}/)[1];
if (unexported.indexOf(link) === -1) {
unexported.push(link);
}
}
}
}
},
parseComplete: function(e) {
for (var j = e.doclets.length - 1; j >= 0; --j) {
var doclet = e.doclets[j];
if (doclet.kind == 'namespace' || doclet.kind == 'event' || doclet.fires) {
continue;
}
var fqn = doclet.longname;
if (fqn) {
doclet.unexported = (api.indexOf(fqn) === -1 && unexported.indexOf(fqn) !== -1);
if (api.indexOf(fqn) === -1 && unexported.indexOf(fqn) === -1) {
e.doclets.splice(j, 1);
}
}
}
}
};

View File

@@ -1,16 +0,0 @@
/*
* This is a hack to prevent inheritDoc tags from entirely removing
* documentation of the method that inherits the documentation.
*
* TODO: Remove this hack when https://github.com/jsdoc3/jsdoc/issues/53
* is addressed.
*/
exports.nodeVisitor = {
visitNode: function(node, e, parser, currentSourceName) {
if (/@(inheritDoc)(\n|\r)/.test(e.comment)) {
e.preventDefault = true;
}
}
};

View File

@@ -1,32 +0,0 @@
var util = require('util');
exports.defineTags = function(dictionary) {
dictionary.defineTag('observable', {
mustHaveValue: true,
canHaveType: true,
canHaveName: true,
onTagged: function(doclet, tag) {
if (!doclet.observables) {
doclet.observables = [];
}
var description = tag.value.description;
var readonly = description.split(' ').shift() === 'readonly';
if (readonly) {
description = description.split(' ').slice(1).join(' ');
}
doclet.observables.push({
name: tag.value.name,
type: {
names: tag.value.type.names
},
description: description,
readonly: readonly
});
if (!doclet.fires) {
doclet.fires = [];
}
if (doclet.fires.indexOf('{@link ol.ObjectEvent} ol.event:ObjectEvent') === -1) {
doclet.fires.push('{@link ol.ObjectEvent} ol.event:ObjectEvent');
}
}
});
};

View File

@@ -1,20 +0,0 @@
var conf = env.conf.stability;
var defaultLevels = ["deprecated","experimental","unstable","stable","frozen","locked"];
var levels = conf.levels || defaultLevels;
var util = require('util');
exports.defineTags = function(dictionary) {
dictionary.defineTag('stability', {
mustHaveValue: true,
canHaveType: false,
canHaveName: true,
onTagged: function(doclet, tag) {
var level = tag.text;
if (levels.indexOf(level) >=0) {
doclet.stability = level;
} else {
var errorText = util.format('Invalid stability level (%s) in %s line %s', tag.text, doclet.meta.filename, doclet.meta.lineno);
require('jsdoc/util/error').handle( new Error(errorText) );
}
}
})
};

View File

@@ -1,34 +0,0 @@
var util = require('util');
exports.defineTags = function(dictionary) {
dictionary.defineTag('todo', {
mustHaveValue: true,
canHaveType: true,
canHaveName: true,
onTagged: function(doclet, tag) {
var parts = tag.text.split(' ');
if (parts[0] === 'stability') {
doclet.stability = parts.slice(1).join(' ');
} else if (parts[0] === 'observable') {
if (!doclet.observables) {
doclet.observables = [];
}
var readonly = parts.length > 3 && parts[3] === 'readonly';
var description = (readonly ? parts.slice(4) : parts.slice(3)).join(' ');
doclet.observables.push({
name: parts[1],
type: {
names: tag.value.type.names
},
description: description,
readonly: readonly
});
if (!doclet.fires) {
doclet.fires = [];
}
if (doclet.fires.indexOf('{@link ol.ObjectEvent} ol.event:ObjectEvent') === -1) {
doclet.fires.push('{@link ol.ObjectEvent} ol.event:ObjectEvent');
}
}
}
});
};

View File

@@ -1 +0,0 @@
The default template for JSDoc 3 uses: [the Taffy Database library](http://taffydb.com/) and the [Underscore Template library](http://documentcloud.github.com/underscore/#template).

View File

@@ -1,392 +0,0 @@
/*global env: true */
var template = require('jsdoc/template'),
fs = require('fs'),
path = require('path'),
taffy = require('taffydb').taffy,
helper = require('jsdoc/util/templateHelper'),
scopeToPunc = helper.scopeToPunc,
hasOwnProp = Object.prototype.hasOwnProperty,
data,
view,
outdir = env.opts.destination;
function find(spec) {
return helper.find(data, spec);
}
function tutoriallink(tutorial) {
return helper.toTutorial(tutorial, null, { tag: 'em', classname: 'disabled', prefix: 'Tutorial: ' });
}
function getAncestorLinks(doclet) {
return helper.getAncestorLinks(data, doclet);
}
var linkto = helper.linkto;
var htmlsafe = helper.htmlsafe;
function hashToLink(doclet, hash) {
if ( !/^(#.+)/.test(hash) ) { return hash; }
var url = helper.createLink(doclet);
url = url.replace(/(#.+|$)/, hash);
return '<a href="' + url + '">' + hash + '</a>';
}
function addSignatureParams(f) {
var params = helper.getSignatureParams(f, 'optional');
f.signature = (f.signature || '') + '('+params.join(', ')+')';
}
function addSignatureReturns(f) {
var returnTypes = helper.getSignatureReturns(f);
f.signature = '<span class="signature">'+(f.signature || '') + '</span>' + '<span class="type-signature">'+(returnTypes.length? ' &rarr; {'+returnTypes.join('|')+'}' : '')+'</span>';
}
function addSignatureTypes(f) {
var types = helper.getSignatureTypes(f);
f.signature = (f.signature || '') + '<span class="type-signature">'+(types.length? ' :'+types.join('|') : '')+'</span>';
}
function addAttribs(f) {
var attribs = helper.getAttribs(f);
f.attribs = '<span class="type-signature">'+htmlsafe(attribs.length? '<'+attribs.join(', ')+'> ' : '')+'</span>';
}
function generate(title, docs, filename) {
var docData = {
title: title,
docs: docs
};
var outpath = path.join(outdir, filename),
html = view.render('container.tmpl', docData);
html = helper.resolveLinks(html); // turn {@link foo} into <a href="foodoc.html">foo</a>
fs.writeFileSync(outpath, html, 'utf8');
}
/**
* Create the navigation sidebar.
* @param {object} members The members that will be used to create the sidebar.
* @param {array<object>} members.classes
* @param {array<object>} members.externals
* @param {array<object>} members.globals
* @param {array<object>} members.mixins
* @param {array<object>} members.modules
* @param {array<object>} members.namespaces
* @param {array<object>} members.tutorials
* @return {string} The HTML for the navigation sidebar.
*/
function buildNav(members) {
var nav = '<h2><a href="index.html">Index</a></h2>',
seen = {};
/**
* Sorts elements by their qualified names (property longname).
* See https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/sort
* @param {object} a
* @param {object} b
* @return {number}
*/
function byLongName(a, b){
if(a.longname===b.longname){
return 0;
} else if(a.longname < b.longname){
return -1;
} else {
return 1;
}
}
if (members.modules.length) {
nav += '<h3>Modules</h3><ul>';
members.modules.sort(byLongName).forEach(function(m) {
if ( !hasOwnProp.call(seen, m.longname) ) {
nav += '<li>'+linkto(m.longname, m.longname)+'</li>';
}
seen[m.longname] = true;
});
nav += '</ul>';
}
if (members.externals.length) {
nav += '<h3>Externals</h3><ul>';
members.externals.sort(byLongName).forEach(function(e) {
if ( !hasOwnProp.call(seen, e.longname) ) {
nav += '<li>'+linkto( e.longname, e.name.replace(/(^"|"$)/g, '') )+'</li>';
}
seen[e.longname] = true;
});
nav += '</ul>';
}
if (members.classes.length) {
var moduleClasses = 0;
members.classes.sort(byLongName).forEach(function(c) {
var moduleSameName = find({kind: 'module', longname: c.longname});
if (moduleSameName.length) {
c.name = c.name.replace('module:', 'require("')+'")';
moduleClasses++;
moduleSameName[0].module = c;
}
if (moduleClasses !== -1 && moduleClasses < members.classes.length) {
nav += '<h3>Classes</h3><ul>';
moduleClasses = -1;
}
if ( !hasOwnProp.call(seen, c.longname) ) {
nav += '<li>'+linkto(c.longname, c.longname)+'</li>';
}
seen[c.longname] = true;
});
nav += '</ul>';
}
if (members.namespaces.length) {
nav += '<h3>Namespaces</h3><ul>';
members.namespaces.sort(byLongName).forEach(function(n) {
if ( !hasOwnProp.call(seen, n.longname) ) {
nav += '<li>'+linkto(n.longname, n.longname)+'</li>';
}
seen[n.longname] = true;
});
nav += '</ul>';
}
if (members.mixins.length) {
nav += '<h3>Mixins</h3><ul>';
members.mixins.sort(byLongName).forEach(function(m) {
if ( !hasOwnProp.call(seen, m.longname) ) {
nav += '<li>'+linkto(m.longname, m.longname)+'</li>';
}
seen[m.longname] = true;
});
nav += '</ul>';
}
if (members.tutorials.length) {
nav += '<h3>Tutorials</h3><ul>';
members.tutorials.sort(byLongName).forEach(function(t) {
nav += '<li>'+tutoriallink(t.name)+'</li>';
});
nav += '</ul>';
}
if (members.globals.length) {
nav += '<h3>Global</h3><ul>';
members.globals.sort(byLongName).forEach(function(g) {
if ( g.kind !== 'typedef' && !hasOwnProp.call(seen, g.longname) ) {
nav += '<li>'+linkto(g.longname, g.longname)+'</li>';
}
seen[g.longname] = true;
});
nav += '</ul>';
}
return nav;
}
/**
@param {TAFFY} taffyData See <http://taffydb.com/>.
@param {object} opts
@param {Tutorial} tutorials
*/
exports.publish = function(taffyData, opts, tutorials) {
data = taffyData;
var templatePath = opts.template;
view = new template.Template(templatePath + '/tmpl');
// set up templating
view.layout = 'layout.tmpl';
// set up tutorials for helper
helper.setTutorials(tutorials);
data = helper.prune(data);
data.sort('longname, version, since');
data().each(function(doclet) {
doclet.attribs = '';
if (doclet.examples) {
doclet.examples = doclet.examples.map(function(example) {
var caption, code;
if (example.match(/^\s*<caption>([\s\S]+?)<\/caption>(\s*[\n\r])([\s\S]+)$/i)) {
caption = RegExp.$1;
code = RegExp.$3;
}
return {
caption: caption || '',
code: code || example
};
});
}
if (doclet.see) {
doclet.see.forEach(function(seeItem, i) {
doclet.see[i] = hashToLink(doclet, seeItem);
});
}
});
// update outdir if necessary, then create outdir
var packageInfo = ( find({kind: 'package'}) || [] ) [0];
if (packageInfo && packageInfo.name) {
outdir = path.join(outdir, packageInfo.name, packageInfo.version);
}
fs.mkPath(outdir);
// copy static files to outdir
var fromDir = path.join(templatePath, 'static'),
staticFiles = fs.ls(fromDir, 3);
staticFiles.forEach(function(fileName) {
var toDir = fs.toDir( fileName.replace(fromDir, outdir) );
fs.mkPath(toDir);
fs.copyFileSync(fileName, toDir);
});
data().each(function(doclet) {
var url = helper.createLink(doclet);
helper.registerLink(doclet.longname, url);
});
data().each(function(doclet) {
var url = helper.longnameToUrl[doclet.longname];
if (url.indexOf('#') > -1) {
doclet.id = helper.longnameToUrl[doclet.longname].split(/#/).pop();
}
else {
doclet.id = doclet.name;
}
if (doclet.kind === 'function' || doclet.kind === 'class') {
addSignatureParams(doclet);
addSignatureReturns(doclet);
addAttribs(doclet);
}
});
// do this after the urls have all been generated
data().each(function(doclet) {
doclet.ancestors = getAncestorLinks(doclet);
doclet.signature = '';
if (doclet.kind === 'member') {
addSignatureTypes(doclet);
addAttribs(doclet);
}
if (doclet.kind === 'constant') {
addSignatureTypes(doclet);
addAttribs(doclet);
doclet.kind = 'member';
}
});
var members = helper.getMembers(data);
members.tutorials = tutorials.children;
// add template helpers
view.find = find;
view.linkto = linkto;
view.tutoriallink = tutoriallink;
view.htmlsafe = htmlsafe;
// once for all
view.nav = buildNav(members);
for (var longname in helper.longnameToUrl) {
if ( hasOwnProp.call(helper.longnameToUrl, longname) ) {
// reuse 'members', which speeds things up a bit
var classes = taffy(members.classes);
classes = helper.find(classes, {longname: longname});
if (classes.length) {
generate('Class: ' + classes[0].longname, classes, helper.longnameToUrl[longname]);
}
var modules = taffy(members.modules);
modules = helper.find(modules, {longname: longname});
if (modules.length) {
generate('Module: ' + modules[0].longname, modules, helper.longnameToUrl[longname]);
}
var namespaces = taffy(members.namespaces);
namespaces = helper.find(namespaces, {longname: longname});
if (namespaces.length) {
generate('Namespace: ' + namespaces[0].longname, namespaces, helper.longnameToUrl[longname]);
}
var mixins = taffy(members.mixins);
mixins = helper.find(mixins, {longname: longname});
if (mixins.length) {
generate('Mixin: ' + mixins[0].longname, mixins, helper.longnameToUrl[longname]);
}
var externals = taffy(members.externals);
externals = helper.find(externals, {longname: longname});
if (externals.length) {
generate('External: ' + externals[0].longname, externals, helper.longnameToUrl[longname]);
}
}
}
if (members.globals.length) { generate('Global', members.globals, 'global.html'); }
// index page displays information from package.json and lists files
var files = find({kind: 'file'}),
packages = find({kind: 'package'});
generate('Index',
packages.concat(
[{kind: 'mainpage', readme: opts.readme, longname: (opts.mainpagetitle) ? opts.mainpagetitle : 'Main Page'}]
).concat(files),
'index.html');
// TODO: move the tutorial functions to templateHelper.js
function generateTutorial(title, tutorial, filename) {
var tutorialData = {
title: title,
header: tutorial.title,
content: tutorial.parse(),
children: tutorial.children
};
var tutorialPath = path.join(outdir, filename),
html = view.render('tutorial.tmpl', tutorialData);
// yes, you can use {@link} in tutorials too!
html = helper.resolveLinks(html); // turn {@link foo} into <a href="foodoc.html">foo</a>
fs.writeFileSync(tutorialPath, html, 'utf8');
}
// tutorials can have only one parent so there is no risk for loops
function saveChildren(node) {
node.children.forEach(function(child) {
generateTutorial('Tutorial: ' + child.title, child, helper.tutorialToUrl(child.name));
saveChildren(child);
});
}
saveChildren(tutorials);
};

View File

@@ -1,285 +0,0 @@
html
{
overflow: auto;
background-color: #fff;
}
body
{
font: 14px "DejaVu Sans Condensed", "Liberation Sans", "Nimbus Sans L", Tahoma, Geneva, "Helvetica Neue", Helvetica, Arial, sans serif;
line-height: 130%;
color: #000;
background-color: #fff;
}
a {
color: #444;
}
a:visited {
color: #444;
}
a:active {
color: #444;
}
header
{
display: block;
padding: 6px 4px;
}
.class-description {
font-style: italic;
font-family: Palatino, 'Palatino Linotype', serif;
font-size: 130%;
line-height: 140%;
margin-bottom: 1em;
margin-top: 1em;
}
#main {
float: left;
width: 100%;
}
section
{
display: block;
background-color: #fff;
padding: 12px 24px;
border-bottom: 1px solid #ccc;
margin-right: 240px;
}
.variation {
display: none;
}
.optional:after {
content: "opt";
font-size: 60%;
color: #aaa;
font-style: italic;
font-weight: lighter;
}
nav
{
display: block;
float: left;
margin-left: -230px;
margin-top: 28px;
width: 220px;
border-left: 1px solid #ccc;
padding-left: 9px;
}
nav ul {
font-family: 'Lucida Grande', 'Lucida Sans Unicode', arial, sans-serif;
font-size: 100%;
line-height: 17px;
padding:0;
margin:0;
list-style-type:none;
}
nav h2 a, nav h2 a:visited {
color: #A35A00;
text-decoration: none;
}
nav h3 {
margin-top: 12px;
}
nav li {
margin-top: 6px;
}
nav a {
color: #5C5954;
}
nav a:visited {
color: #5C5954;
}
nav a:active {
color: #5C5954;
}
footer {
display: block;
padding: 6px;
margin-top: 12px;
font-style: italic;
font-size: 90%;
}
h1
{
font-size: 200%;
font-weight: bold;
letter-spacing: -0.01em;
margin: 6px 0 9px 0;
}
h2
{
font-size: 170%;
font-weight: bold;
letter-spacing: -0.01em;
margin: 6px 0 3px 0;
}
h3
{
font-size: 150%;
font-weight: bold;
letter-spacing: -0.01em;
margin-top: 16px;
margin: 6px 0 3px 0;
}
h4
{
font-size: 130%;
font-weight: bold;
letter-spacing: -0.01em;
margin-top: 16px;
margin: 18px 0 3px 0;
color: #A35A00;
}
h5, .container-overview .subsection-title
{
font-size: 120%;
font-weight: bold;
letter-spacing: -0.01em;
margin: 8px 0 3px -16px;
}
h6
{
font-size: 100%;
letter-spacing: -0.01em;
margin: 6px 0 3px 0;
font-style: italic;
}
.protected {
display: none;
}
dt.tag-source, dd.tag-source {
display: none;
}
.ancestors { color: #999; }
.ancestors a
{
color: #999 !important;
text-decoration: none;
}
.important
{
font-weight: bold;
color: #950B02;
}
.yes-def {
text-indent: -1000px;
}
.type-signature {
color: #aaa;
}
.name, .signature {
font-family: Consolas, "Lucida Console", Monaco, monospace;
}
.details { margin-top: 14px; }
.details dt { width:110px; float:left; border-left: 2px solid #DDD; padding-left: 10px; padding-top: 6px; }
.details dd { margin-left: 50px; }
.details ul { margin: 0; }
.details ul { list-style-type: none; }
.details li { margin-left: 30px; padding-top: 6px; }
.description {
margin-bottom: 1em;
margin-left: 0px;
margin-top: 1em;
}
.code-caption
{
font-style: italic;
font-family: Palatino, 'Palatino Linotype', serif;
font-size: 107%;
margin: 0;
}
.prettyprint
{
border: 1px solid #ddd;
width: 80%;
}
.prettyprint code
{
font-family: Consolas, 'Lucida Console', Monaco, monospace;
font-size: 100%;
line-height: 18px;
display: block;
padding: 4px 12px;
margin: 0;
background-color: #fff;
color: #000;
border-left: 3px #ddd solid;
}
.params, .props
{
border-spacing: 0;
border: 0;
border-collapse: collapse;
}
.params .name, .props .name, .name code {
color: #A35A00;
font-family: Consolas, 'Lucida Console', Monaco, monospace;
font-size: 100%;
}
.params td, .params th, .props td, .props th
{
border: 1px solid #ddd;
margin: 0px;
text-align: left;
vertical-align: top;
padding: 4px 6px;
display: table-cell;
}
.params thead tr, .props thead tr
{
background-color: #ddd;
font-weight: bold;
}
.params .params thead tr, .props .props thead tr
{
background-color: #fff;
font-weight: bold;
}
.params th, .props th { border-right: 1px solid #aaa; }
.params thead .last, .props thead .last { border-right: 1px solid #ddd; }
.disabled {
color: #454545;
}

View File

@@ -1,39 +0,0 @@
a:visited {
color: #08c;
}
.stability {
padding: 8px 35px 8px 14px;
margin-bottom: 20px;
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
color: #333;
background-color: #fcfcfc;
border: 1px solid #ccc;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.stability-deprecated {
color: #b94a48;
background-color: #f2dede;
border-color: #eed3d7;
}
.stability-experimental {
color: #c09853;
background-color: #fcf8e3;
border-color: #fbeed5;
}
.stability-unstable {
color: #3a87ad;
background-color: #d9edf7;
border-color: #bce8f1;
}
.stability-stable, .stability-locked {
color: #468847;
background-color: #dff0d8;
border-color: #d6e9c6;
}

View File

@@ -1,96 +0,0 @@
<?js
var data = obj;
var self = this;
?>
<dl class="details">
<?js
var properties = data.properties;
if (properties && properties.length && properties.forEach) {
?>
<h5 class="subsection-title">Properties:</h5>
<dl><?js= this.partial('properties.tmpl', properties) ?></dl>
<?js } ?>
<?js if (data.version) {?>
<dt class="tag-version">Version:</dt>
<dd class="tag-version"><ul class="dummy"><li><?js= version ?></li></ul></dd>
<?js } ?>
<?js if (data.since) {?>
<dt class="tag-since">Since:</dt>
<dd class="tag-since"><ul class="dummy"><li><?js= since ?></dd>
<?js } ?>
<?js if (data.inherited && data.inherits) { ?>
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<?js= this.linkto(data.inherits, this.htmlsafe(data.inherits)) ?>
</li></dd>
<?js } ?>
<?js if (data.deprecated) { ?>
<dt class="important tag-deprecated">Deprecated:</dt><?js
if (data.deprecated === true) { ?><dd class="yes-def tag-deprecated"><ul class="dummy"><li>Yes</li></ul></dd><?js }
else { ?><dd><ul class="dummy"><li><?js= data.deprecated ?></li><ul></dd><?js }
?>
<?js } ?>
<?js if (data.author && author.length) {?>
<dt class="tag-author">Author:</dt>
<dd class="tag-author">
<ul><?js author.forEach(function(a) { ?>
<li><?js= a ?></li>
<?js }); ?></ul>
</dd>
<?js } ?>
<?js if (data.copyright) {?>
<dt class="tag-copyright">Copyright:</dt>
<dd class="tag-copyright"><ul class="dummy"><li><?js= copyright ?></li></ul></dd>
<?js } ?>
<?js if (data.license) {?>
<dt class="tag-license">License:</dt>
<dd class="tag-license"><ul class="dummy"><li><?js= license ?></li></ul></dd>
<?js } ?>
<?js if (data.defaultvalue) {?>
<dt class="tag-default">Default Value:</dt>
<dd class="tag-default"><ul class="dummy"><li><?js= data.defaultvalue ?></li></ul></dd>
<?js } ?>
<?js if (data.meta) {?>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li><?js= meta.filename ?>, line <?js= meta.lineno ?></li></ul></dd>
<?js } ?>
<?js if (data.tutorials && tutorials.length) {?>
<dt class="tag-tutorial">Tutorials:</dt>
<dd class="tag-tutorial">
<ul><?js tutorials.forEach(function(t) { ?>
<li><?js= self.tutoriallink(t) ?></li>
<?js }); ?></ul>
</dd>
<?js } ?>
<?js if (data.see && see.length) {?>
<dt class="tag-see">See:</dt>
<dd class="tag-see">
<ul><?js see.forEach(function(s) { ?>
<li><?js= self.linkto(s) ?></li>
<?js }); ?></ul>
</dd>
<?js } ?>
<?js if (data.todo && todo.length) {?>
<dt class="tag-todo">To Do:</dt>
<dd class="tag-todo">
<ul><?js todo.forEach(function(t) { ?>
<li><?js= t ?></li>
<?js }); ?></ul>
</dd>
<?js } ?>
</dl>

View File

@@ -1,2 +0,0 @@
<?js var data = obj; ?>
<pre><code><?js= data ?></code></pre>

View File

@@ -1,19 +0,0 @@
<?js
var data = obj;
if (data.description) {
?>
<div class="param-desc">
<?js= description ?>
</div>
<?js } ?>
<?js if (data.type && data.type.names) {?>
<dl>
<dt>
Type
</dt>
<dd>
<?js= this.partial('type.tmpl', data.type.names) ?>
</dd>
</dl>
<?js } ?>

View File

@@ -1,4 +0,0 @@
<?js var data = obj; ?>
<li>
<?js= data ?>
</li>

View File

@@ -1,46 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>OpenLayers 3 API Documentation - <?js= title ?></title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-jsdoc.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap.min.css" type="text/css">
<link rel="stylesheet" href="../resources/layout.css" type="text/css">
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css">
<link type="text/css" rel="stylesheet" href="styles/ol.css">
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="brand" href="/"><img src="../resources/logo.png"> OpenLayers 3</a>
</div>
</div>
</div>
<div id="main">
<?js= content ?>
</div>
<nav>
<?js= this.nav ?>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3</a>
</footer>
<script> prettyPrint(); </script>
</body>
</html>

View File

@@ -1,24 +0,0 @@
<?js var data = obj; ?>
<dt class="<?js= data.access ?>">
<h4 class="name" id="<?js= id ?>"><?js= data.attribs + name + data.signature ?></h4>
<?js= this.partial('stability.tmpl', data) ?>
<?js if (data.summary) { ?>
<p class="summary"><?js= summary ?></p>
<?js } ?>
</dt>
<dd class="<?js= data.access ?>">
<?js if (data.description) { ?>
<div class="description">
<?js= data.description ?>
</div>
<?js } ?>
<?js= this.partial('details.tmpl', data) ?>
<?js if (data.examples && examples.length) { ?>
<h5>Example<?js= examples.length > 1? 's':'' ?></h5>
<?js= this.partial('examples.tmpl', examples) ?>
<?js } ?>
</dd>

View File

@@ -1,78 +0,0 @@
<?js
var data = obj;
var self = this;
?>
<dt>
<h4 class="name" id="<?js= id ?>"><?js= data.attribs + (kind == 'class'? 'new ':'') + name + data.signature ?></h4>
<?js= this.partial('stability.tmpl', data) ?>
<?js if (data.summary) { ?>
<p class="summary"><?js= summary ?></p>
<?js } ?>
</dt>
<dd>
<?js if (data.description) { ?>
<div class="description">
<?js= data.description ?>
</div>
<?js } ?>
<?js if (kind === 'event' && data.type && data.type.names) {?>
<h5>Type:</h5>
<ul>
<li>
<?js= self.partial('type.tmpl', data.type.names) ?>
</li>
</ul>
<?js } ?>
<?js if (data['this']) { ?>
<h5>This:</h5>
<ul><li><?js= this.linkto(data['this'], data['this']) ?></li></ul>
<?js } ?>
<?js if (data.params && params.length) { ?>
<h5>Parameters:</h5>
<?js= this.partial('params.tmpl', params) ?>
<?js } ?>
<?js= this.partial('details.tmpl', data) ?>
<?js if (data.fires && fires.length) { ?>
<h5>Fires:</h5>
<ul><?js fires.forEach(function(f) { ?>
<?js= self.partial('fires.tmpl', self.linkto(f) ) ?>
<?js }); ?></ul>
<?js } ?>
<?js if (data.exceptions && exceptions.length) { ?>
<h5>Throws:</h5>
<?js if (exceptions.length > 1) { ?><ul><?js
exceptions.forEach(function(r) { ?>
<li><?js= self.partial('exceptions.tmpl', r) ?></li>
<?js });
?></ul><?js } else {
exceptions.forEach(function(r) { ?>
<?js= self.partial('exceptions.tmpl', r) ?>
<?js });
} } ?>
<?js if (data.returns && returns.length) { ?>
<h5>Returns:</h5>
<?js if (returns.length > 1) { ?><ul><?js
returns.forEach(function(r) { ?>
<li><?js= self.partial('returns.tmpl', r) ?></li>
<?js });
?></ul><?js } else {
returns.forEach(function(r) { ?>
<?js= self.partial('returns.tmpl', r) ?>
<?js });
} } ?>
<?js if (data.examples && examples.length) { ?>
<h5>Example<?js= examples.length > 1? 's':'' ?></h5>
<?js= this.partial('examples.tmpl', examples) ?>
<?js } ?>
</dd>

View File

@@ -1,19 +0,0 @@
<?js
var data = obj;
if (data.description) {
?>
<div class="param-desc">
<?js= description ?>
</div>
<?js } ?>
<?js if (data.type && data.type.names) {?>
<dl>
<dt>
Type
</dt>
<dd>
<?js= this.partial('type.tmpl', data.type.names) ?>
</dd>
</dl>
<?js } ?>

View File

@@ -1,9 +0,0 @@
<?js
var data = obj;
var self = this;
if (data.stability) { ?>
<div class="stability stability-<?js= stability ?>">Stability: <?js= data.stability ?></div>
<?js } else { ?>
<div class="stability">Stability: not documented</div>
<?js } ?>

View File

@@ -1095,7 +1095,7 @@ class BeautifulStoneSoup(Tag, SGMLParser):
p = self.tagStack[i]
if (not p or p.name == name) and not isNestable:
#Non-nestable tags get popped to the top or to their
#last occurance.
#last occurrence.
popTo = name
break
if (nestingResetTriggers != None
@@ -1242,14 +1242,14 @@ class BeautifulSoup(BeautifulStoneSoup):
* Tag nesting rules:
Most tags can't be nested at all. For instance, the occurance of
Most tags can't be nested at all. For instance, the occurrence of
a <p> tag should implicitly close the previous <p> tag.
<p>Para1<p>Para2
should be transformed into:
<p>Para1</p><p>Para2
Some tags can be nested arbitrarily. For instance, the occurance
Some tags can be nested arbitrarily. For instance, the occurrence
of a <blockquote> tag should _not_ implicitly close the previous
<blockquote> tag.

View File

@@ -28,3 +28,6 @@ page.open(examplePath, function(s) {
}
phantom.exit(exitCode);
});
page.onConsoleMessage = function(msg) {
console.log('console:', msg);
};

View File

@@ -1,202 +0,0 @@
#!/usr/bin/env python
#
# Copyright 2009 The Closure Library Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS-IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Generates out a Closure deps.js file given a list of JavaScript sources.
Paths can be specified as arguments or (more commonly) specifying trees
with the flags (call with --help for descriptions).
Usage: depswriter.py [path/to/js1.js [path/to/js2.js] ...]
"""
import logging
import optparse
import os
import posixpath
import shlex
import sys
import source
import treescan
__author__ = 'nnaze@google.com (Nathan Naze)'
def MakeDepsFile(source_map):
"""Make a generated deps file.
Args:
source_map: A dict map of the source path to source.Source object.
Returns:
str, A generated deps file source.
"""
# Write in path alphabetical order
paths = sorted(source_map.keys())
lines = []
for path in paths:
js_source = source_map[path]
# We don't need to add entries that don't provide anything.
if js_source.provides:
lines.append(_GetDepsLine(path, js_source))
return ''.join(lines)
def _GetDepsLine(path, js_source):
"""Get a deps.js file string for a source."""
provides = sorted(js_source.provides)
requires = sorted(js_source.requires)
return 'goog.addDependency(\'%s\', %s, %s);\n' % (path, provides, requires)
def _GetOptionsParser():
"""Get the options parser."""
parser = optparse.OptionParser(__doc__)
parser.add_option('--output_file',
dest='output_file',
action='store',
help=('If specified, write output to this path instead of '
'writing to standard output.'))
parser.add_option('--root',
dest='roots',
default=[],
action='append',
help='A root directory to scan for JS source files. '
'Paths of JS files in generated deps file will be '
'relative to this path. This flag may be specified '
'multiple times.')
parser.add_option('--root_with_prefix',
dest='roots_with_prefix',
default=[],
action='append',
help='A root directory to scan for JS source files, plus '
'a prefix (if either contains a space, surround with '
'quotes). Paths in generated deps file will be relative '
'to the root, but preceded by the prefix. This flag '
'may be specified multiple times.')
parser.add_option('--path_with_depspath',
dest='paths_with_depspath',
default=[],
action='append',
help='A path to a source file and an alternate path to '
'the file in the generated deps file (if either contains '
'a space, surround with whitespace). This flag may be '
'specified multiple times.')
return parser
def _NormalizePathSeparators(path):
"""Replaces OS-specific path separators with POSIX-style slashes.
Args:
path: str, A file path.
Returns:
str, The path with any OS-specific path separators (such as backslash on
Windows) replaced with URL-compatible forward slashes. A no-op on systems
that use POSIX paths.
"""
return path.replace(os.sep, posixpath.sep)
def _GetRelativePathToSourceDict(root, prefix=''):
"""Scans a top root directory for .js sources.
Args:
root: str, Root directory.
prefix: str, Prefix for returned paths.
Returns:
dict, A map of relative paths (with prefix, if given), to source.Source
objects.
"""
# Remember and restore the cwd when we're done. We work from the root so
# that paths are relative from the root.
start_wd = os.getcwd()
os.chdir(root)
path_to_source = {}
for path in treescan.ScanTreeForJsFiles('.'):
prefixed_path = _NormalizePathSeparators(os.path.join(prefix, path))
path_to_source[prefixed_path] = source.Source(source.GetFileContents(path))
os.chdir(start_wd)
return path_to_source
def _GetPair(s):
"""Return a string as a shell-parsed tuple. Two values expected."""
try:
# shlex uses '\' as an escape character, so they must be escaped.
s = s.replace('\\', '\\\\')
first, second = shlex.split(s)
return (first, second)
except:
raise Exception('Unable to parse input line as a pair: %s' % s)
def main():
"""CLI frontend to MakeDepsFile."""
logging.basicConfig(format=(sys.argv[0] + ': %(message)s'),
level=logging.INFO)
options, args = _GetOptionsParser().parse_args()
path_to_source = {}
# Roots without prefixes
for root in options.roots:
path_to_source.update(_GetRelativePathToSourceDict(root))
# Roots with prefixes
for root_and_prefix in options.roots_with_prefix:
root, prefix = _GetPair(root_and_prefix)
path_to_source.update(_GetRelativePathToSourceDict(root, prefix=prefix))
# Source paths
for path in args:
path_to_source[path] = source.Source(source.GetFileContents(path))
# Source paths with alternate deps paths
for path_with_depspath in options.paths_with_depspath:
srcpath, depspath = _GetPair(path_with_depspath)
path_to_source[depspath] = source.Source(source.GetFileContents(srcpath))
# Make our output pipe.
if options.output_file:
out = open(options.output_file, 'w')
else:
out = sys.stdout
out.write('// This file was autogenerated by %s.\n' % sys.argv[0])
out.write('// Please do not edit.\n')
out.write(MakeDepsFile(path_to_source))
if __name__ == '__main__':
main()

View File

@@ -1,114 +0,0 @@
# Copyright 2009 The Closure Library Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS-IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Scans a source JS file for its provided and required namespaces.
Simple class to scan a JavaScript file and express its dependencies.
"""
__author__ = 'nnaze@google.com'
import re
_BASE_REGEX_STRING = '^\s*goog\.%s\(\s*[\'"](.+)[\'"]\s*\)'
_PROVIDE_REGEX = re.compile(_BASE_REGEX_STRING % 'provide')
_REQUIRES_REGEX = re.compile(_BASE_REGEX_STRING % 'require')
# This line identifies base.js and should match the line in that file.
_GOOG_BASE_LINE = (
'var goog = goog || {}; // Identifies this file as the Closure base.')
class Source(object):
"""Scans a JavaScript source for its provided and required namespaces."""
# Matches a "/* ... */" comment.
# Note: We can't definitively distinguish a "/*" in a string literal without a
# state machine tokenizer. We'll assume that a line starting with whitespace
# and "/*" is a comment.
_COMMENT_REGEX = re.compile(
r"""
^\s* # Start of a new line and whitespace
/\* # Opening "/*"
.*? # Non greedy match of any characters (including newlines)
\*/ # Closing "*/""",
re.MULTILINE | re.DOTALL | re.VERBOSE)
def __init__(self, source):
"""Initialize a source.
Args:
source: str, The JavaScript source.
"""
self.provides = set()
self.requires = set()
self._source = source
self._ScanSource()
def __str__(self):
return 'Source %s' % self._path
def GetSource(self):
"""Get the source as a string."""
return self._source
@classmethod
def _StripComments(cls, source):
return cls._COMMENT_REGEX.sub('', source)
def _ScanSource(self):
"""Fill in provides and requires by scanning the source."""
source = self._StripComments(self.GetSource())
source_lines = source.splitlines()
for line in source_lines:
match = _PROVIDE_REGEX.match(line)
if match:
self.provides.add(match.group(1))
match = _REQUIRES_REGEX.match(line)
if match:
self.requires.add(match.group(1))
# Closure's base file implicitly provides 'goog'.
for line in source_lines:
if line == _GOOG_BASE_LINE:
if len(self.provides) or len(self.requires):
raise Exception(
'Base files should not provide or require namespaces.')
self.provides.add('goog')
def GetFileContents(path):
"""Get a file's contents as a string.
Args:
path: str, Path to file.
Returns:
str, Contents of file.
Raises:
IOError: An error occurred opening or reading the file.
"""
fileobj = open(path)
try:
return fileobj.read()
finally:
fileobj.close()

View File

@@ -1,78 +0,0 @@
#!/usr/bin/env python
#
# Copyright 2010 The Closure Library Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS-IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Shared utility functions for scanning directory trees."""
import os
import re
__author__ = 'nnaze@google.com (Nathan Naze)'
# Matches a .js file path.
_JS_FILE_REGEX = re.compile(r'^.+\.js$')
def ScanTreeForJsFiles(root):
"""Scans a directory tree for JavaScript files.
Args:
root: str, Path to a root directory.
Returns:
An iterable of paths to JS files, relative to cwd.
"""
return ScanTree(root, path_filter=_JS_FILE_REGEX)
def ScanTree(root, path_filter=None, ignore_hidden=True):
"""Scans a directory tree for files.
Args:
root: str, Path to a root directory.
path_filter: A regular expression filter. If set, only paths matching
the path_filter are returned.
ignore_hidden: If True, do not follow or return hidden directories or files
(those starting with a '.' character).
Yields:
A string path to files, relative to cwd.
"""
def OnError(os_error):
raise os_error
for dirpath, dirnames, filenames in os.walk(root, onerror=OnError):
# os.walk allows us to modify dirnames to prevent decent into particular
# directories. Avoid hidden directories.
for dirname in dirnames:
if ignore_hidden and dirname.startswith('.'):
dirnames.remove(dirname)
for filename in filenames:
# nothing that starts with '.'
if ignore_hidden and filename.startswith('.'):
continue
fullpath = os.path.join(dirpath, filename)
if path_filter and not path_filter.match(fullpath):
continue
yield os.path.normpath(fullpath)

View File

@@ -140,7 +140,7 @@
console.log('Capturing ' + lenHtmlFiles + ' example screenshots.');
// The main interval function that is executed regularily and renders a
// The main interval function that is executed regularly and renders a
// page to a file
var interval = setInterval(function() {
if (!loadInProgress && pageindex < lenHtmlFiles) {

View File

@@ -1,219 +0,0 @@
#!/usr/bin/env python
from operator import attrgetter
from optparse import OptionParser
import re
import sys
def simplerepr(obj):
keys = sorted(key for key in obj.__dict__.keys() if not key.startswith('_'))
attrs = ''.join(' %s=%r' % (key, obj.__dict__[key]) for key in keys)
return '<%s%s>' % (obj.__class__.__name__, attrs)
class Exportable(object):
def __init__(self, name):
self.name = name
__repr__ = simplerepr
def export(self):
return ''
def extern(self):
return ''
def typedef(self):
return ''
class ObjectLiteral(Exportable):
def __init__(self, name, objects):
Exportable.__init__(self, name)
self.prop_types = {}
self.objects = objects
__repr__ = simplerepr
def extern(self):
lines = []
lines.append('\n\n\n')
lines.append('/**\n')
lines.append(' * @interface\n')
lines.append(' */\n')
lines.append('%s = function() {};\n' % (self.extern_name(),))
for prop in sorted(self.prop_types.keys()):
lines.append('\n\n')
lines.append('/**\n')
prop_types = self.prop_types[prop].split('|')
for i, t in enumerate(prop_types):
if t in self.objects and isinstance(self.objects[t], ObjectLiteral):
prop_types[i] = self.objects[t].extern_name()
prop_types = '|'.join(prop_types)
lines.append(' * @type {%s}\n' % (prop_types,))
lines.append(' */\n')
lines.append('%s.prototype.%s;\n' % (self.extern_name(), prop))
return ''.join(lines)
def extern_name(self):
return re.sub(r'(olx\.\S+)', r'\1Extern', self.name)
def extern_namespace(self):
return '.'.join(self.extern_name().split('.')[:-1]) or None
def provide(self):
return 'goog.provide(\'%s\');\n' % (self.name,)
def typedef(self):
lines = []
lines.append('\n\n')
lines.append('/**\n')
for i, prop in enumerate(sorted(self.prop_types.keys())):
prefix = ' * @typedef {{' if i == 0 else ' * '
suffix = '}}' if i == len(self.prop_types) - 1 else ','
type = self.prop_types[prop]
if '|' in type:
type = '(%s)' % (type,)
lines.append('%s%s: %s%s\n' % (prefix, prop, type, suffix))
lines.append(' */\n')
lines.append('%s;\n' % (self.name,))
return ''.join(lines)
class Symbol(Exportable):
def __init__(self, name, export_symbol):
Exportable.__init__(self, name)
self.export_symbol = export_symbol
self.props = set()
__repr__ = simplerepr
def export(self):
lines = []
if self.export_symbol:
lines.append('\n\ngoog.exportSymbol(\n \'%s\',\n %s);\n' % (self.name, self.name))
lines.extend('goog.exportProperty(\n %s,\n \'%s\',\n %s.%s);\n' % (self.name, prop, self.name, prop) for prop in sorted(self.props))
return ''.join(lines)
def main(argv):
option_parser = OptionParser()
option_parser.add_option('--exports', action='store_true')
option_parser.add_option('--externs', action='store_true')
option_parser.add_option('--typedef', action='store_true')
options, args = option_parser.parse_args(argv[1:])
objects = {}
requires = set()
for arg in args:
in_comment = False
object_literal = None
for line in open(arg, 'rU'):
line = line.strip()
if not line:
continue
if line == '/**':
assert not in_comment
in_comment = True
continue
if line == '*/':
assert in_comment
in_comment = False
object_literal = None
continue
if in_comment:
if not line.startswith('*'):
raise RuntimeError(line) # malformed comment
m = re.match(r'\*\s*@typedef\s*\{Object\}\s*(?P<name>\S+)', line)
if m:
assert object_literal is None
name = m.group('name')
if name in objects:
raise RuntimeError(line) # Name already defined
object_literal = ObjectLiteral(name, objects)
objects[name] = object_literal
continue
m = re.match(r'\*\s*@property\s*{(?P<type>.*?)}\s*(?P<prop>\S+)', line)
if m:
assert object_literal is not None
prop = m.group('prop')
if prop in object_literal.prop_types:
raise RuntimeError(line) # Duplicate property
type = m.group('type')
object_literal.prop_types[prop] = type
continue
continue
m = re.match(r'@exportProperty\s+(?P<prop>\S+)\Z', line)
if m:
components = m.group('prop').split('.')
if components[-2] == 'prototype':
requires.add('.'.join(components[:-2]))
else:
requires.add('.'.join(components[:-1]))
name = '.'.join(components[:-1])
prop = components[-1]
if name in objects:
symbol = objects[name]
else:
symbol = Symbol(name, False)
objects[name] = symbol
symbol.props.add(prop)
continue
m = re.match(r'@exportSymbol\s+(?P<name>\S+)\Z', line)
if m:
name = m.group('name')
if name in objects:
raise RuntimeError(line) # Name already defined
symbol = Symbol(name, True)
objects[name] = symbol
components = m.group('name').split('.')
if re.match(r'[A-Z]', components[-1]):
requires.add(name)
else:
requires.add('.'.join(components[:-1]))
continue
raise RuntimeError(line)
objects = sorted(objects.values(), key=attrgetter('name'))
if options.exports:
if requires:
for require in sorted(requires):
sys.stdout.write('goog.require(\'%s\');\n' % (require,))
for obj in objects:
sys.stdout.write(obj.export())
if options.externs:
object_literals = [obj for obj in objects if isinstance(obj, ObjectLiteral)]
sys.stdout.write('/**\n')
sys.stdout.write(' * @externs\n')
sys.stdout.write(' */\n')
namespaces = sorted(set(filter(None, (object_literal.extern_namespace() for object_literal in object_literals))))
for namespace in namespaces:
sys.stdout.write('\n\n')
sys.stdout.write('/**\n')
sys.stdout.write(' * @type {Object}\n')
sys.stdout.write(' */\n')
if '.' in namespace:
sys.stdout.write('%s = {};\n' % (namespace,))
else:
sys.stdout.write('var %s;\n' % (namespace,))
for object_literal in object_literals:
sys.stdout.write(object_literal.typedef())
sys.stdout.write(object_literal.extern())
if options.typedef:
object_literals = [obj for obj in objects if isinstance(obj, ObjectLiteral)]
for object_literal in object_literals:
sys.stdout.write(object_literal.provide())
for object_literal in object_literals:
sys.stdout.write(object_literal.typedef())
if __name__ == '__main__':
sys.exit(main(sys.argv))

View File

@@ -1,13 +1,13 @@
/**
* Loader to add ol.css, ol.js and the example-specific js file to the
* documents.
*
* This loader is used for the hosted examples. It is used in place of the
* development loader (examples/loader.js).
*
* ol.js, ol-simple.js, ol-whitespace.js, and ol-deps.js are built
* by OL3's build.py script. They are located in the ../build/ directory,
* relatively to this script.
* The loader loads ol.js and the example's script in "production" mode; it
* loads Closure Library's base.js, ol-deps.js, the example's "goog.require"
* script, and the example's script in "development" mode.
*
* The ol.js and ol-deps.js scripts are built by OL3's build.py script.
* They are located in the ../build/ directory, relative to this script.
*
* The script must be named loader.js.
*
@@ -54,20 +54,11 @@
}
}
var oljs = 'ol.js', mode;
if ('mode' in pageParams) {
mode = pageParams.mode.toLowerCase();
if (mode == 'debug') {
mode = 'raw';
}
if (mode != 'advanced' && mode != 'raw') {
oljs = 'ol-' + mode + '.js';
}
}
var raw = pageParams.mode && pageParams.mode.toLowerCase() === 'raw';
var scriptId = encodeURIComponent(scriptParams.id);
if (mode != 'raw') {
document.write('<scr' + 'ipt type="text/javascript" src="../build/' + oljs + '"></scr' + 'ipt>');
if (!raw) {
document.write('<scr' + 'ipt type="text/javascript" src="../build/ol.js"></scr' + 'ipt>');
} else {
window.CLOSURE_NO_DEPS = true; // we've got our own deps file
document.write('<scr' + 'ipt type="text/javascript" src="../closure-library/closure/goog/base.js"></scr' + 'ipt>');

503
build.py
View File

@@ -1,51 +1,74 @@
#!/usr/bin/env python
from cStringIO import StringIO
import glob
import gzip
import json
import multiprocessing
import os
import glob
import re
import shutil
import sys
from pake import Target
from pake import ifind, main, output, rule, target, variables, virtual, which
from Queue import Queue
from threading import Thread
class ThreadPool:
"""A basic pool of worker threads"""
class Worker(Thread):
def __init__(self, tasks):
Thread.__init__(self)
self.tasks = tasks
self.daemon = True # threads will be killed on exit
self.start()
def run(self):
while True:
# block until a task is ready to be done
function, args, kargs = self.tasks.get()
try:
function(*args, **kargs)
except:
print("ERROR")
for count, thing in enumerate(args):
print '{0}. {1}'.format(count, thing)
print(sys.exc_info()[0])
print("ERROR")
self.tasks.errors = True
self.tasks.task_done()
def __init__(self, num_threads = multiprocessing.cpu_count() + 1):
self.tasks = Queue(num_threads)
self.tasks.errors = False
# create num_threads Workers, by default the number of CPUs + 1
for _ in range(num_threads): self.Worker(self.tasks)
def add_task(self, function, *args, **kargs):
self.tasks.put((function, args, kargs))
def wait_completion(self):
# wait for the queue to be empty
self.tasks.join()
return self.tasks.errors
if sys.platform == 'win32':
win = {
'CLEANCSS': './node_modules/.bin/cleancss',
'GIT': 'git.exe',
'GJSLINT': 'gjslint.exe',
'JAVA': 'java.exe',
'JAR': 'jar.exe',
'JSDOC': 'jsdoc.cmd',
'JSDOC': './node_modules/.bin/jsdoc',
'JSHINT': './node_modules/.bin/jshint',
'PYTHON': 'python.exe',
'PHANTOMJS': 'phantomjs.cmd'
'PHANTOMJS': './node_modules/.bin/phantomjs'
}
sys_dir = os.environ.get('SYSTEMDRIVE')
program_files = os.environ.get('PROGRAMFILES')
java_home = os.environ.get('JAVA_HOME')
if not java_home:
# Following lines choose sensible defaults to guess JAVA_HOME in
# 32/64bit Program Files folder opting for the most current version.
search_term = os.path.join(sys_dir, os.sep, 'Program Files*', 'Java', 'jdk*')
found_jdks = sorted(glob.glob(search_term), key=lambda x: x[-8:])
if found_jdks:
java_home = found_jdks[-1]
if java_home:
if not which(win['JAVA']):
win['JAVA'] = os.path.join(java_home, 'bin', 'java.exe')
if not which(win['JAR']):
win['JAR'] = os.path.join(java_home, 'bin', 'jar.exe')
elif not which(win['JAVA']):
win['JAVA'] = os.path.join(program_files,
'Java', 'jre7', 'bin', 'java.exe')
if not which(win['GIT']):
win['GIT'] = os.path.join(program_files, 'Git', 'cmd', 'git.exe')
@@ -70,30 +93,21 @@ if sys.platform == 'win32':
setattr(variables, program, path)
else:
variables.CLEANCSS = './node_modules/.bin/cleancss'
variables.GIT = 'git'
variables.GJSLINT = 'gjslint'
variables.JSHINT = './node_modules/.bin/jshint'
variables.JAVA = 'java'
variables.JAR = 'jar'
variables.JSDOC = 'jsdoc'
variables.JSDOC = './node_modules/.bin/jsdoc'
variables.PYTHON = 'python'
variables.PHANTOMJS = 'phantomjs'
variables.PHANTOMJS = './node_modules/.bin/phantomjs'
variables.BRANCH = output(
'%(GIT)s', 'rev-parse', '--abbrev-ref', 'HEAD').strip()
EXECUTABLES = [variables.GIT, variables.GJSLINT, variables.JAVA, variables.JAR,
EXECUTABLES = [variables.CLEANCSS, variables.GIT, variables.GJSLINT,
variables.JSDOC, variables.JSHINT, variables.PYTHON,
variables.PHANTOMJS]
EXPORTS = [path
for path in ifind('src')
if path.endswith('.exports')]
EXTERNAL_SRC = [
'build/src/external/externs/types.js',
'build/src/external/src/exports.js']
EXAMPLES = [path
for path in ifind('examples')
if path.endswith('.html')
@@ -103,10 +117,7 @@ EXAMPLES_SRC = [path
for path in ifind('examples')
if path.endswith('.js')
if not path.endswith('.combined.js')
if not path.startswith('examples/bootstrap')
if path != 'examples/Jugl.js'
if path != 'examples/jquery.min.js'
if path != 'examples/loader.js'
if path != 'examples/example-list.js']
EXAMPLES_JSON = ['build/' + example.replace('.html', '.json')
@@ -115,10 +126,6 @@ EXAMPLES_JSON = ['build/' + example.replace('.html', '.json')
EXAMPLES_COMBINED = ['build/' + example.replace('.html', '.combined.js')
for example in EXAMPLES]
INTERNAL_SRC = [
'build/src/internal/src/requireall.js',
'build/src/internal/src/types.js']
GLSL_SRC = [path
for path in ifind('src')
if path.endswith('.glsl')]
@@ -134,22 +141,16 @@ SPEC = [path
for path in ifind('test/spec')
if path.endswith('.js')]
TASKS = [path
for path in ifind('tasks')
if path.endswith('.js')]
SRC = [path
for path in ifind('src/ol')
if path.endswith('.js')
if path not in SHADER_SRC]
LIBTESS_JS_SRC = [path
for path in ifind('src/libtess.js')
if path.endswith('.js')]
PLOVR_JAR = 'build/plovr-81ed862.jar'
PLOVR_JAR_MD5 = '1c752daaf11ad6220b298e7d2ee2b87d'
PROJ4JS = 'build/proj4js/lib/proj4js-combined.js'
PROJ4JS_ZIP = 'build/proj4js-1.1.0.zip'
PROJ4JS_ZIP_MD5 = '17caad64cf6ebc6e6fe62f292b134897'
NPM_INSTALL = 'build/npm-install-timestamp'
def report_sizes(t):
stringio = StringIO()
@@ -167,76 +168,53 @@ def report_sizes(t):
virtual('default', 'build')
virtual('integration-test', 'lint', 'jshint', 'build', 'build-all',
'test', 'build/examples/all.combined.js', 'check-examples', 'apidoc')
virtual('ci', 'lint', 'build', 'test',
'build/examples/all.combined.js', 'check-examples', 'apidoc')
virtual('build', 'build/ol.css', 'build/ol.js',
'build/ol-simple.js', 'build/ol-whitespace.js')
virtual('build', 'build/ol.css', 'build/ol.js', 'build/ol-debug.js',
'build/ol.js.map')
virtual('check', 'lint', 'jshint', 'build/ol-all.js', 'test')
virtual('check', 'lint', 'build/ol.js', 'test')
virtual('todo', 'fixme')
@target('build/ol.css', 'build/ol.js')
def build_ol_css(t):
@target(NPM_INSTALL, 'package.json')
def npm_install(t):
t.run('npm', 'install')
t.touch()
@target('build/ol.js', PLOVR_JAR, SRC, EXTERNAL_SRC, SHADER_SRC,
LIBTESS_JS_SRC, 'buildcfg/base.json', 'buildcfg/ol.json')
@target('build/ol.css', 'css/ol.css', NPM_INSTALL)
def build_ol_css(t):
t.output('%(CLEANCSS)s', 'css/ol.css')
def _build_js(t):
t.run('node', 'tasks/build.js', 'config/ol.json', 'build/ol.js')
@target('build/ol.js', SRC, SHADER_SRC, 'config/ol.json', NPM_INSTALL)
def build_ol_js(t):
t.output('%(JAVA)s', '-server', '-XX:+TieredCompilation', '-jar',
PLOVR_JAR, 'build', 'buildcfg/ol.json')
_build_js(t)
report_sizes(t)
@target('build/ol-simple.js', PLOVR_JAR, SRC, INTERNAL_SRC, SHADER_SRC,
LIBTESS_JS_SRC, 'buildcfg/base.json', 'buildcfg/ol.json',
'buildcfg/ol-simple.json')
def build_ol_simple_js(t):
t.output('%(JAVA)s', '-server', '-XX:+TieredCompilation', '-jar',
PLOVR_JAR, 'build', 'buildcfg/ol-simple.json')
@target('build/ol.js.map', SRC, SHADER_SRC, 'config/ol.json', NPM_INSTALL)
def build_ol_js_map(t):
_build_js(t)
@target('build/ol-debug.js', SRC, SHADER_SRC, 'config/ol-debug.json',
NPM_INSTALL)
def build_ol_debug_js(t):
t.run('node', 'tasks/build.js', 'config/ol-debug.json', 'build/ol-debug.js')
report_sizes(t)
@target('build/ol-whitespace.js', PLOVR_JAR, SRC, INTERNAL_SRC, SHADER_SRC,
LIBTESS_JS_SRC, 'buildcfg/base.json', 'buildcfg/ol.json',
'buildcfg/ol-whitespace.json')
def build_ol_whitespace_js(t):
t.output('%(JAVA)s', '-server', '-XX:+TieredCompilation', '-jar',
PLOVR_JAR, 'build', 'buildcfg/ol-whitespace.json')
report_sizes(t)
virtual('build-all', 'build/ol-all.js')
@target('build/ol-all.js', PLOVR_JAR, SRC, EXTERNAL_SRC, INTERNAL_SRC,
SHADER_SRC, LIBTESS_JS_SRC, 'buildcfg/base.json',
'buildcfg/ol-all.json')
def build_ol_all_js(t):
t.output('%(JAVA)s', '-server', '-XX:+TieredCompilation', '-jar',
PLOVR_JAR, 'build', 'buildcfg/ol-all.json')
@target('build/src/external/externs/types.js', 'bin/generate-exports.py',
'src/objectliterals.jsdoc')
def build_src_external_externs_types_js(t):
t.output('%(PYTHON)s', 'bin/generate-exports.py',
'--externs', 'src/objectliterals.jsdoc')
@target('build/src/external/src/exports.js', 'bin/generate-exports.py',
'src/objectliterals.jsdoc', EXPORTS)
def build_src_external_src_exports_js(t):
t.output('%(PYTHON)s', 'bin/generate-exports.py',
'--exports', 'src/objectliterals.jsdoc', EXPORTS)
for glsl_src in GLSL_SRC:
def shader_src_helper(glsl_src):
@target(glsl_src.replace('.glsl', 'shader.js'), glsl_src,
@@ -249,36 +227,19 @@ for glsl_src in GLSL_SRC:
shader_src_helper(glsl_src)
def _build_require_list(dependencies, output_file_name):
@target('build/test/requireall.js', SPEC)
def build_test_requireall_js(t):
requires = set()
for dependency in dependencies:
for dependency in t.dependencies:
for line in open(dependency, 'rU'):
match = re.match(r'goog\.provide\(\'(.*)\'\);', line)
if match:
requires.add(match.group(1))
with open(output_file_name, 'wb') as f:
with open(t.name, 'wb') as f:
for require in sorted(requires):
f.write('goog.require(\'%s\');\n' % (require,))
@target('build/src/internal/src/requireall.js', SRC, SHADER_SRC,
LIBTESS_JS_SRC)
def build_src_internal_src_requireall_js(t):
_build_require_list(t.dependencies, t.name)
@target('build/test/requireall.js', SPEC)
def build_test_requireall_js(t):
_build_require_list(t.dependencies, t.name)
@target('build/src/internal/src/types.js', 'bin/generate-exports.py',
'src/objectliterals.jsdoc')
def build_src_internal_types_js(t):
t.output('%(PYTHON)s', 'bin/generate-exports.py',
'--typedef', 'src/objectliterals.jsdoc')
virtual('build-examples', 'examples', 'build/examples/all.combined.js',
EXAMPLES_COMBINED)
@@ -296,12 +257,11 @@ def examples_examples_list_js(t):
t.run('%(PYTHON)s', 'bin/exampleparser.py', 'examples', 'examples')
@target('build/examples/all.combined.js', 'build/examples/all.js', PLOVR_JAR,
SRC, INTERNAL_SRC, SHADER_SRC, LIBTESS_JS_SRC,
'buildcfg/base.json', 'build/examples/all.json')
@target('build/examples/all.combined.js', 'build/examples/all.js',
SRC, SHADER_SRC, 'config/examples-all.json', NPM_INSTALL)
def build_examples_all_combined_js(t):
t.output('%(JAVA)s', '-server', '-XX:+TieredCompilation', '-jar',
PLOVR_JAR, 'build', 'buildcfg/examples-all.json')
t.run('node', 'tasks/build.js', 'config/examples-all.json',
'build/examples/all.combined.js')
report_sizes(t)
@@ -313,108 +273,140 @@ def build_examples_all_js(t):
@rule(r'\Abuild/examples/(?P<id>.*).json\Z')
def examples_star_json(name, match):
def action(t):
# When compiling the ol3 code and the application code together it is
# better to use oli.js and olx.js files as "input" files rather than
# "externs" files. Indeed, externs prevent renaming, which is neither
# necessary nor desirable in this case.
#
# oli.js and olx.js do not provide or require namespaces (using
# "goog.provide" or "goog.require"). For that reason, if they are
# specified as input files through the "src" property, then
# closure-util will exclude them when creating the dependencies graph.
# So the compile "js" property is used instead. With that property the
# oli.js and olx.js files are passed directly to the compiler. And by
# setting "manage_closure_dependencies" to "true" the compiler will not
# exclude them from its dependencies graph.
content = json.dumps({
'id': match.group('id'),
'inherits': '../../buildcfg/base.json',
'inputs': [
'../examples/%(id)s.js' % match.groupdict(),
'../build/src/internal/src/types.js',
"exports": [],
"src": [
"src/**/*.js",
"build/ol.ext/*.js",
"examples/%(id)s.js" % match.groupdict()],
"compile": {
"js": [
"externs/olx.js",
"externs/oli.js",
],
'externs': [
'//jquery-1.7.js',
'../externs/bingmaps.js',
'../externs/bootstrap.js',
'../externs/closure-compiler.js',
'../externs/example.js',
'../externs/geojson.js',
'../externs/oli.js',
'../externs/proj4js.js',
'../externs/tilejson.js',
'../externs/topojson.js',
'../externs/vbarray.js',
"externs": [
"externs/bingmaps.js",
"externs/bootstrap.js",
"externs/closure-compiler.js",
"externs/example.js",
"externs/fastclick.js",
"externs/geojson.js",
"externs/jquery-1.9.js",
"externs/proj4js.js",
"externs/tilejson.js",
"externs/topojson.js",
"externs/vbarray.js"
],
"define": [
"goog.array.ASSUME_NATIVE_FUNCTIONS=true",
"goog.dom.ASSUME_STANDARDS_MODE=true",
"goog.json.USE_NATIVE_JSON=true",
"goog.DEBUG=false"
],
"jscomp_error": [
"accessControls",
"ambiguousFunctionDecl",
"checkDebuggerStatement",
"checkEventfulObjectDisposal",
"checkProvides",
"checkRegExp",
"checkStructDictInheritance",
"checkTypes",
"checkVars",
"const",
"constantProperty",
"deprecated",
"duplicate",
"duplicateMessage",
"es3",
"es5Strict",
"externsValidation",
"fileoverviewTags",
"globalThis",
"internetExplorerChecks",
"invalidCasts",
"misplacedTypeAnnotation",
"missingProperties",
"nonStandardJsDocs",
"strictModuleDepCheck",
"suspiciousCode",
"typeInvalidation",
"tweakValidation",
"undefinedNames",
"undefinedVars",
"uselessCode",
"violatedModuleDep",
"visibility"
],
"jscomp_off": [
"unknownDefines"
],
"extra_annotation_name": [
"api", "observable"
],
"compilation_level": "ADVANCED",
"warning_level": "VERBOSE",
"output_wrapper": "(function(){%output%})();",
"use_types_for_optimization": True,
"manage_closure_dependencies": True
}
})
with open(t.name, 'wb') as f:
f.write(content)
dependencies = [__file__, 'buildcfg/base.json']
return Target(name, action=action, dependencies=dependencies)
return Target(name, action=action,
dependencies=[__file__, NPM_INSTALL])
@rule(r'\Abuild/examples/(?P<id>.*).combined.js\Z')
def examples_star_combined_js(name, match):
def action(t):
t.output('%(JAVA)s', '-server', '-XX:+TieredCompilation', '-jar',
PLOVR_JAR, 'build', 'build/examples/%(id)s.json' %
match.groupdict())
config = 'build/examples/%(id)s.json' % match.groupdict()
t.run('node', 'tasks/build.js', config, name)
report_sizes(t)
dependencies = [PLOVR_JAR, SRC, INTERNAL_SRC, SHADER_SRC, LIBTESS_JS_SRC,
'buildcfg/base.json',
dependencies = [SRC, SHADER_SRC,
'examples/%(id)s.js' % match.groupdict(),
'build/examples/%(id)s.json' % match.groupdict()]
'build/examples/%(id)s.json' % match.groupdict(),
NPM_INSTALL]
return Target(name, action=action, dependencies=dependencies)
@target('serve', PLOVR_JAR, 'test-deps', 'examples')
@target('serve', 'examples', NPM_INSTALL)
def serve(t):
t.run('%(JAVA)s', '-jar', PLOVR_JAR, 'serve', 'buildcfg/ol.json',
'buildcfg/ol-all.json', EXAMPLES_JSON, 'buildcfg/test.json')
t.run('node', 'tasks/serve.js')
@target('serve-integration-test', PLOVR_JAR, INTERNAL_SRC)
def serve_precommit(t):
t.run('%(JAVA)s', '-jar', PLOVR_JAR, 'serve',
'buildcfg/ol-all.json', 'buildcfg/test.json')
virtual('lint', 'build/lint-timestamp', 'build/lint-generated-timestamp',
'build/lint-libtess.js-timestamp', 'build/check-requires-timestamp',
'build/check-whitespace-timestamp')
virtual('lint', 'build/lint-timestamp', 'build/check-requires-timestamp',
'build/check-whitespace-timestamp', 'jshint')
@target('build/lint-timestamp', SRC, EXAMPLES_SRC, SPEC, precious=True)
def build_lint_src_timestamp(t):
t.run('%(GJSLINT)s',
'--jslint_error=all',
'--custom_jsdoc_tags=event,fires,todo,function',
'--custom_jsdoc_tags=event,fires,function,classdesc,api,observable',
'--strict',
t.newer(t.dependencies))
t.touch()
@target('build/lint-generated-timestamp', INTERNAL_SRC, EXTERNAL_SRC,
precious=True)
def build_lint_generated_timestamp(t):
limited_doc_files = [
path
for path in ifind('externs', 'build/src/external/externs')
if path.endswith('.js')]
t.run('%(GJSLINT)s',
'--jslint_error=all',
# ignore error for max line length (for these auto-generated sources)
'--disable=110',
'--custom_jsdoc_tags=todo',
# for a complete list of error codes to allow, see
# http://closure-linter.googlecode.com/svn/trunk/closure_linter/errors.py
'--limited_doc_files=%s' % (','.join(limited_doc_files),),
'--strict',
t.newer(t.dependencies))
t.touch()
@target('build/lint-libtess.js-timestamp', LIBTESS_JS_SRC, precious=True)
def build_lint_libtess_js_timestamp(t):
t.run('%(GJSLINT)s',
'--jslint_error=all',
'--disable=110',
'--strict',
t.newer(t.dependencies))
t.touch()
virtual('jshint', 'build/jshint-timestamp')
@target('build/jshint-timestamp', SRC, EXAMPLES_SRC, SPEC, precious=True)
@target('build/jshint-timestamp', SRC, EXAMPLES_SRC, SPEC, TASKS,
NPM_INSTALL, precious=True)
def build_jshint_timestamp(t):
t.run(variables.JSHINT, '--verbose', t.newer(t.dependencies))
t.touch()
@@ -443,28 +435,25 @@ def _strip_comments(lines):
yield lineno, line
@target('build/check-requires-timestamp', SRC, INTERNAL_SRC, EXTERNAL_SRC,
EXAMPLES_SRC, SHADER_SRC, LIBTESS_JS_SRC, SPEC)
@target('build/check-requires-timestamp', SRC, EXAMPLES_SRC, SHADER_SRC, SPEC)
def build_check_requires_timestamp(t):
from zipfile import ZipFile
unused_count = 0
all_provides = set()
zf = ZipFile(PLOVR_JAR)
for zi in zf.infolist():
if zi.filename.endswith('.js'):
if not zi.filename.startswith('closure/goog/'):
closure_lib_path = output('node', '-e',
'process.stdout.write(require("closure-util").getLibraryPath())')
for filename in ifind(closure_lib_path):
if filename.endswith('.js'):
if not re.match(r'.*/closure/goog/', filename):
continue
# Skip goog.i18n because it contains so many modules that it causes
# the generated regular expression to exceed Python's limits
if zi.filename.startswith('closure/goog/i18n/'):
if re.match(r'.*/closure/goog/i18n/', filename):
continue
for line in zf.open(zi, 'rU'):
for line in open(filename, 'rU'):
m = re.match(r'goog.provide\(\'(.*)\'\);', line)
if m:
all_provides.add(m.group(1))
for filename in sorted(t.dependencies):
if filename == 'build/src/internal/src/requireall.js':
continue
require_linenos = {}
uses = set()
lines = open(filename, 'rU').readlines()
@@ -544,8 +533,6 @@ def build_check_requires_timestamp(t):
for key, child in root.children.iteritems()]
missing_count = 0
for filename in sorted(t.dependencies):
if filename in INTERNAL_SRC or filename in EXTERNAL_SRC:
continue
provides = set()
requires = set()
uses = set()
@@ -588,9 +575,8 @@ def build_check_requires_timestamp(t):
t.touch()
@target('build/check-whitespace-timestamp', SRC, INTERNAL_SRC, EXTERNAL_SRC,
EXAMPLES_SRC, SPEC, EXPORTS, JSDOC_SRC, LIBTESS_JS_SRC,
precious=True)
@target('build/check-whitespace-timestamp', SRC, EXAMPLES_SRC,
SPEC, JSDOC_SRC, precious=True)
def build_check_whitespace_timestamp(t):
CR_RE = re.compile(r'\r')
LEADING_WHITESPACE_RE = re.compile(r'\s+')
@@ -622,25 +608,15 @@ def build_check_whitespace_timestamp(t):
t.touch()
virtual('plovr', PLOVR_JAR)
@target(PLOVR_JAR, clean=False)
def plovr_jar(t):
t.info('downloading %r', t.name)
t.download('https://plovr.googlecode.com/files/' +
os.path.basename(PLOVR_JAR), md5=PLOVR_JAR_MD5)
t.info('downloaded %r', t.name)
virtual('apidoc', 'build/jsdoc-%(BRANCH)s-timestamp' % vars(variables))
@target('build/jsdoc-%(BRANCH)s-timestamp' % vars(variables), 'host-resources',
'build/src/external/src/exports.js', SRC, SHADER_SRC,
ifind('apidoc/template'))
SRC, SHADER_SRC, ifind('config/jsdoc/api/template'),
NPM_INSTALL)
def jsdoc_BRANCH_timestamp(t):
t.run('%(JSDOC)s', 'apidoc/index.md', '-c', 'apidoc/conf.json',
t.run('%(JSDOC)s', 'config/jsdoc/api/index.md',
'-c', 'config/jsdoc/api/conf.json',
'-d', 'build/hosted/%(BRANCH)s/apidoc')
t.touch()
@@ -689,6 +665,8 @@ def host_examples(t):
examples_dir = 'build/hosted/%(BRANCH)s/examples'
build_dir = 'build/hosted/%(BRANCH)s/build'
css_dir = 'build/hosted/%(BRANCH)s/css'
closure_lib_path = output('node', '-e',
'process.stdout.write(require("closure-util").getLibraryPath())')
t.rm_rf(examples_dir)
t.makedirs(examples_dir)
t.rm_rf(build_dir)
@@ -700,22 +678,20 @@ def host_examples(t):
split_example_file(example, examples_dir % vars(variables))
t.cp_r('examples/data', examples_dir + '/data')
t.cp('bin/loader_hosted_examples.js', examples_dir + '/loader.js')
t.cp('build/ol.js', 'build/ol-simple.js', 'build/ol-whitespace.js',
build_dir)
t.cp('build/ol.js', 'build/ol-debug.js', build_dir)
t.cp('build/ol.css', css_dir)
t.cp('examples/index.html', 'examples/example-list.js',
'examples/example-list.xml', 'examples/Jugl.js',
'examples/jquery.min.js', examples_dir)
'examples/example-list.xml', 'examples/Jugl.js', examples_dir)
t.rm_rf('build/hosted/%(BRANCH)s/closure-library')
t.makedirs('build/hosted/%(BRANCH)s/closure-library')
with t.chdir('build/hosted/%(BRANCH)s/closure-library'):
t.run('%(JAR)s', 'xf', '../../../../' + PLOVR_JAR, 'closure')
t.run('%(JAR)s', 'xf', '../../../../' + PLOVR_JAR, 'third_party')
t.cp_r(closure_lib_path, 'build/hosted/%(BRANCH)s/closure-library')
t.rm_rf('build/hosted/%(BRANCH)s/ol')
t.makedirs('build/hosted/%(BRANCH)s/ol')
t.cp_r('src/ol', 'build/hosted/%(BRANCH)s/ol/ol')
t.run('%(PYTHON)s', 'bin/closure/depswriter.py',
t.rm_rf('build/hosted/%(BRANCH)s/ol.ext')
t.cp_r('build/ol.ext', 'build/hosted/%(BRANCH)s/ol.ext')
t.run('%(PYTHON)s', closure_lib_path + '/closure/bin/build/depswriter.py',
'--root_with_prefix', 'src ../../../ol',
'--root_with_prefix', 'build/ol.ext ../../../ol.ext',
'--root', 'build/hosted/%(BRANCH)s/closure-library/closure/goog',
'--root_with_prefix', 'build/hosted/%(BRANCH)s/closure-library/'
'third_party ../../third_party',
@@ -727,35 +703,19 @@ def check_examples(t):
examples = ['build/hosted/%(BRANCH)s/' + e
for e in EXAMPLES
if not open(e.replace('.html', '.js'), 'rU').readline().startswith('// NOCOMPILE')]
all_examples = \
[e + '?mode=advanced' for e in examples]
all_examples = [e + '?mode=advanced' for e in examples]
# Run the examples checks in a pool of threads
pool = ThreadPool()
for example in all_examples:
t.run('%(PHANTOMJS)s', 'bin/check-example.js', example)
pool.add_task(t.run, '%(PHANTOMJS)s', 'bin/check-example.js', example)
errors = pool.wait_completion()
if errors:
sys.exit(1)
@target(PROJ4JS, PROJ4JS_ZIP)
def proj4js(t):
from zipfile import ZipFile
zf = ZipFile(PROJ4JS_ZIP)
contents = zf.open('proj4js/lib/proj4js-combined.js').read()
with open(t.name, 'wb') as f:
f.write(contents)
@target(PROJ4JS_ZIP, clean=False)
def proj4js_zip(t):
t.info('downloading %r', t.name)
t.download('http://download.osgeo.org/proj4js/' +
os.path.basename(t.name), md5=PROJ4JS_ZIP_MD5)
t.info('downloaded %r', t.name)
virtual('test-deps', INTERNAL_SRC, PROJ4JS, 'build/test/requireall.js')
@target('test', 'test-deps', phony=True)
@target('test', NPM_INSTALL, phony=True)
def test(t):
t.run('%(PHANTOMJS)s', 'test/mocha-phantomjs.js', 'test/ol.html')
t.run('node', 'tasks/test.js')
@target('fixme', phony=True)
@@ -816,7 +776,7 @@ There is one option:
-c - Cleans up the repository from previous builds.
The most common targets are:
serve - Serves files through plovr, usually on port 9810.
serve - Serves files, on port 3000.
lint - Runs gjslint on all sourcefiles to enforce specific syntax.
build - Builds singlefile versions of OpenLayers JavaScript and
CSS. This is also the default build target which runs when
@@ -829,23 +789,22 @@ The most common targets are:
Other less frequently used targets are:
apidoc - Builds the API-Documentation using JSDoc3.
integration-test - Builds all examples in various modes and usually takes a
ci - Builds all examples in various modes and usually takes a
long time to finish. This target calls the following
targets: lint, build, build-all, test, build-examples,
check-examples and apidoc.
check-examples and apidoc. This is the target run on
Travis CI.
reallyclean - Remove untracked files from the repository.
checkdeps - Checks whether all required development software is
installed on your machine.
fixme - Will print a list of parts of the code that are marked
with either TODO or FIXME.
todo - This is an alias for the fixme-target (see above).
plovr - Fetches the required plovr.jar. Usually called by other
targets that depend on plovr.
If no target is given, the build-target will be executed.
The above list is not complete, please see the source code for not-mentioned
and only seldomly called targets.
and only seldom called targets.
'''
if __name__ == '__main__':

View File

@@ -1,115 +0,0 @@
{
"ambiguate-properties": true,
"checks": {
"accessControls": "ERROR",
"ambiguousFunctionDecl": "ERROR",
"checkDebuggerStatement": "WARNING",
"checkEventfulObjectDisposal": "ERROR",
"checkProvides": "ERROR",
"checkRegExp": "ERROR",
"checkStructDictInheritance": "ERROR",
"checkTypes": "ERROR",
"checkVars": "ERROR",
"const": "ERROR",
"constantProperty": "ERROR",
"deprecated": "ERROR",
"duplicate": "ERROR",
"duplicateMessage": "ERROR",
"es3": "ERROR",
"es5Strict": "ERROR",
"externsValidation": "ERROR",
"fileoverviewTags": "ERROR",
"globalThis": "ERROR",
"internetExplorerChecks": "ERROR",
"invalidCasts": "ERROR",
"misplacedTypeAnnotation": "ERROR",
"missingProperties": "ERROR",
"nonStandardJsDocs": "ERROR",
"strictModuleDepCheck": "ERROR",
"suspiciousCode": "ERROR",
"typeInvalidation": "ERROR",
"tweakValidation": "ERROR",
"undefinedNames": "ERROR",
"undefinedVars": "ERROR",
"unknownDefines": "ERROR",
"uselessCode": "ERROR",
"violatedModuleDep": "ERROR",
"visibility": "ERROR"
},
"define": {
"goog.dom.ASSUME_STANDARDS_MODE": true,
"goog.DEBUG": false
},
"disambiguate-properties": true,
"externs": [
"../externs/bingmaps.js",
"../externs/closure-compiler.js",
"../externs/geojson.js",
"../externs/oli.js",
"../externs/proj4js.js",
"../externs/tilejson.js",
"../externs/topojson.js",
"../externs/vbarray.js"
],
"level": "VERBOSE",
"mode": "ADVANCED",
"name-suffixes-to-strip": [
"logger",
"logger_"
],
"paths": [
"../build/src/internal/src",
"../src"
],
"treat-warnings-as-errors": false,
"type-prefixes-to-strip": [
"goog.asserts",
"goog.debug.Console",
"goog.debug.DebugWindow",
"goog.debug.DevCss",
"goog.debug.DivConsole",
"goog.debug.EntryPointMonitor",
"goog.debug.ErrorHandler",
"goog.debug.ErrorReporter",
"goog.debug.FancyWindow",
"goog.debug.Formatter",
"goog.debug.FpsDisplay",
"goog.debug.GcDiagnostics",
"goog.debug.HtmlFormatter",
"goog.debug.LogBuffer",
"goog.debug.LogManager",
"goog.debug.LogRecord",
"goog.debug.Logger",
"goog.debug.RelativeTimeProvider",
"goog.debug.TextFormatter",
"goog.debug.Trace",
"goog.debug.catchErrors",
"goog.debug.deepExpose",
"goog.debug.enhanceError",
"goog.debug.entryPointRegistry",
"goog.debug.errorHandlerWeakDep",
"goog.debug.expose",
"goog.debug.exposeArray",
"goog.debug.exposeException",
"goog.debug.getFunctionName",
"goog.debug.getStacktrace",
"goog.debug.getStacktraceSimple",
"goog.debug.logRecordSerializer",
"goog.debug.makeWhitespaceVisible",
"goog.debug.normalizeErrorObject",
"goog.debug.reflect",
"goog.log"
]
}

View File

@@ -1,21 +0,0 @@
{
"externs": [
"//jquery-1.7.js",
"../externs/bingmaps.js",
"../externs/bootstrap.js",
"../externs/closure-compiler.js",
"../externs/example.js",
"../externs/geojson.js",
"../externs/oli.js",
"../externs/proj4js.js",
"../externs/tilejson.js",
"../externs/topojson.js",
"../externs/vbarray.js"
],
"id": "simple",
"inherits": "base.json",
"inputs": [
"../build/examples/all.js",
"../build/src/internal/src/types.js"
]
}

View File

@@ -1,24 +0,0 @@
{
"id": "ol-all",
"externs": [
"../build/src/external/externs/types.js",
"../externs/bingmaps.js",
"../externs/closure-compiler.js",
"../externs/geojson.js",
"../externs/oli.js",
"../externs/proj4js.js",
"../externs/tilejson.js",
"../externs/topojson.js",
"../externs/vbarray.js"
],
"inherits": "base.json",
"inputs": [
"../build/src/internal/src/requireall.js",
"../build/src/external/src/exports.js"
]
}

View File

@@ -1,40 +0,0 @@
{
// If ambiguate-properties and disambiguate-properties are set to true
// we get function names like "ol_control_Control_prototype$setMap" in
// the compiled code when using the SIMPLE compilation. It looks like
// "ambiguate-properties" and "disambiguate-properties" are only
// appropriate for ADVANCED compilation.
"ambiguate-properties": false,
"disambiguate-properties": false,
"id": "ol-simple",
"externs": [
"../build/src/external/externs/types.js",
"../externs/bingmaps.js",
"../externs/closure-compiler.js",
"../externs/geojson.js",
"../externs/oli.js",
"../externs/proj4js.js",
"../externs/tilejson.js",
"../externs/topojson.js",
"../externs/vbarray.js"
],
"inherits": "ol.json",
"inputs": [
"../build/src/internal/src/requireall.js",
"../build/src/external/src/exports.js"
],
"mode": "SIMPLE",
// Note: we can't have a (function(){%output%})() output wrapper with
// WHITESPACE and SIMPLE modes. See this link for explanations:
// https://groups.google.com/forum/#!topic/plovr/gQyZEa2NpsU
"output-wrapper": "%output%"
}

View File

@@ -1,41 +0,0 @@
{
"id": "ol-whitespace",
// If ambiguate-properties and disambiguate-properties are set to true
// we get function names like "ol_control_Control_prototype$setMap" in
// the compiled code when using the SIMPLE compilation. It looks like
// "ambiguate-properties" and "disambiguate-properties" are only
// appropriate for ADVANCED compilation. To be sure we also don't
// set them for WHITESPACE.
"ambiguate-properties": false,
"disambiguate-properties": false,
"externs": [
"../externs/bingmaps.js",
"../externs/closure-compiler.js",
"../externs/geojson.js",
"../externs/oli.js",
"../externs/proj4js.js",
"../externs/tilejson.js",
"../externs/topojson.js",
"../externs/vbarray.js"
],
"inherits": "ol.json",
"inputs": [
"../build/src/internal/src/requireall.js"
],
"mode": "WHITESPACE",
"output-wrapper": [
"var CLOSURE_NO_DEPS = true;\n",
"%output%"
],
"pretty-print": true
}

View File

@@ -1,39 +0,0 @@
{
"id": "ol",
"css-allowed-unrecognized-properties": [
"user-select"
],
"css-inputs": [
"../css/ol.css"
],
"css-output-file": "../build/ol.css",
"externs": [
"../build/src/external/externs/types.js",
"../externs/bingmaps.js",
"../externs/closure-compiler.js",
"../externs/geojson.js",
"../externs/oli.js",
"../externs/proj4js.js",
"../externs/tilejson.js",
"../externs/topojson.js",
"../externs/vbarray.js"
],
"inherits": "base.json",
"inputs": [
"../build/src/external/src/exports.js"
],
"output-wrapper": "// OpenLayers 3. see http://ol3js.org/\n(function(){%output%})();",
"paths": [
"../src"
]
}

View File

@@ -1,16 +0,0 @@
{
"id": "test",
"inherits": "base.json",
"inputs": [
"../build/test/requireall.js"
],
"paths": [
"../src",
"../test"
]
}

View File

@@ -0,0 +1,12 @@
## Upgrade notes
### v3.3.0
* The `ol.events.condition.mouseMove` function was replaced by `ol.events.condition.pointerMove` (see [#3281](https://github.com/openlayers/ol3/pull/3281)). For example, if you use `ol.events.condition.mouseMove` as the condition in a `Select` interaction then you now need to use `ol.events.condition.pointerMove`:
```js
var selectInteraction = new ol.interaction.Select({
condition: ol.events.condition.pointerMove
// …
});
```

234
changelog/v3.1.0.md Normal file
View File

@@ -0,0 +1,234 @@
# 3.1.0
## Summary
The 3.1.0 release includes a whopping 214 merged pull requests since 3.0.0. Of note, the WebGL renderer [now supports point rendering](https://github.com/openlayers/ol3/pull/2967). You can use [UTFGrids for interaction](https://github.com/openlayers/ol3/pull/3015)! Styles can now specify [alternate geometries for rendering](https://github.com/openlayers/ol3/pull/3010). Library builds [can now be loaded](https://github.com/openlayers/ol3/pull/3039) with module loaders like Browserify or RequireJS. You can now symbolize point features with stars, squares, enneadecagons, or [any other regular(ish) polygon](https://github.com/openlayers/ol3/pull/2706). See the full list of [changes](#changes) below.
## Upgrade notes
The 3.1.0 release maintains a backwards-compatible API with the 3.0.0 release, so upgrades should be painless. Some special considerations below.
* If you are using a `ol.source.ImageStatic`, you no longer need to provide an `imageSize` option if you don't want any special scaling on your image (see [#2796](https://github.com/openlayers/ol3/pull/2796)).
* Instead of calling `obj.unByKey(key)` you can now call `ol.Observable.unByKey(key)` (see [#2794](https://github.com/openlayers/ol3/pull/2794)).
* If you were using `format.writeFeatures(features)`, note that this method returns a string for all feature formats. We considered the previous behavior a bug (see [#3003](https://github.com/openlayers/ol3/pull/3003)).
* The `obj.dispatchChangeEvent()` method is now spelled `obj.changed()`. This method is still unstable (see [#2684](https://github.com/openlayers/ol3/pull/2684)).
## Changes
* [#3076](https://github.com/openlayers/ol3/pull/3076) - Add script to standardize changelog creation. ([@tschaub](https://github.com/tschaub))
* [#3074](https://github.com/openlayers/ol3/pull/3074) - Remove misplaced function annotation. ([@fredj](https://github.com/fredj))
* [#3075](https://github.com/openlayers/ol3/pull/3075) - Remove unneeded undefined from ol.proj.ProjectionLike definitions (r=@tschaub) ([@bartvde](https://github.com/bartvde))
* [#3071](https://github.com/openlayers/ol3/pull/3071) - Add task for publishing to npm. ([@tschaub](https://github.com/tschaub))
* [#3070](https://github.com/openlayers/ol3/pull/3070) - Define goog and assign to global when generating UMD debug builds. ([@tschaub](https://github.com/tschaub))
* [#3068](https://github.com/openlayers/ol3/pull/3068) - Update pre-release version. ([@tschaub](https://github.com/tschaub))
* [#3039](https://github.com/openlayers/ol3/pull/3039) - Support for UMD builds. ([@tschaub](https://github.com/tschaub))
* [#3038](https://github.com/openlayers/ol3/pull/3038) - Update attribution CSS #2803 ([@acanimal](https://github.com/acanimal))
* [#3061](https://github.com/openlayers/ol3/pull/3061) - Add a renderBuffer option to ol.layer.Vector ([@elemoine](https://github.com/elemoine))
* [#3048](https://github.com/openlayers/ol3/pull/3048) - Add a drag-features example ([@elemoine](https://github.com/elemoine))
* [#3060](https://github.com/openlayers/ol3/pull/3060) - Update closure-library version ([@fredj](https://github.com/fredj))
* [#3058](https://github.com/openlayers/ol3/pull/3058) - Use an API function to extend the extent ([@ahocevar](https://github.com/ahocevar))
* [#3010](https://github.com/openlayers/ol3/pull/3010) - Allow styles to override feature geometries ([@ahocevar](https://github.com/ahocevar))
* [#3056](https://github.com/openlayers/ol3/pull/3056) - Reuse previousExtent_ local variable ([@fredj](https://github.com/fredj))
* [#3055](https://github.com/openlayers/ol3/pull/3055) - ol.tilecoord.createOrUpdate: add 'opt_' prefix to optional param ([@fredj](https://github.com/fredj))
* [#3044](https://github.com/openlayers/ol3/pull/3044) - Mark Image style constructor properties `@api` ([@gberaudo](https://github.com/gberaudo))
* [#3052](https://github.com/openlayers/ol3/pull/3052) - Add a testcase for parsing GML feature with only boundedBy ([@bartvde](https://github.com/bartvde))
* [#3051](https://github.com/openlayers/ol3/pull/3051) - Remove // NOCOMPILE from vector-wfs ([@elemoine](https://github.com/elemoine))
* [#2699](https://github.com/openlayers/ol3/pull/2699) - No need for featureNS and featureType to be quoted ([@bartvde](https://github.com/bartvde))
* [#3047](https://github.com/openlayers/ol3/pull/3047) - Move description above annotation to avoid JSDoc warnings. ([@tschaub](https://github.com/tschaub))
* [#2996](https://github.com/openlayers/ol3/pull/2996) - Add getter functions for points and angle in ol.style.RegularShape ([@bartvde](https://github.com/bartvde))
* [#3046](https://github.com/openlayers/ol3/pull/3046) - Need exportable constructor for constructor options in olx ([@ahocevar](https://github.com/ahocevar))
* [#3043](https://github.com/openlayers/ol3/pull/3043) - Use // NOCOMPILE for vector-wfs ([@elemoine](https://github.com/elemoine))
* [#3042](https://github.com/openlayers/ol3/pull/3042) - Print example name in check-examples exception ([@gberaudo](https://github.com/gberaudo))
* [#3032](https://github.com/openlayers/ol3/pull/3032) - Extension points for custom controls and interactions ([@elemoine](https://github.com/elemoine))
* [#3033](https://github.com/openlayers/ol3/pull/3033) - Allow custom mousemove conditions for Select interaction ([@ahocevar](https://github.com/ahocevar))
* [#3040](https://github.com/openlayers/ol3/pull/3040) - Transform the coordinates in place ([@fredj](https://github.com/fredj))
* [#3036](https://github.com/openlayers/ol3/pull/3036) - Respect geometry stride in modify interaction ([@tonio](https://github.com/tonio))
* [#3020](https://github.com/openlayers/ol3/pull/3020) - Correct error message from generate-info.js. ([@tschaub](https://github.com/tschaub))
* [#3037](https://github.com/openlayers/ol3/pull/3037) - Implement rotation for ol.style.RegularShape ([@bartvde](https://github.com/bartvde))
* [#3015](https://github.com/openlayers/ol3/pull/3015) - UTFGrid Support ([@klokantech](https://github.com/klokantech))
* [#3012](https://github.com/openlayers/ol3/pull/3012) - Failing tests in IE9 ([@bartvde](https://github.com/bartvde))
* [#3029](https://github.com/openlayers/ol3/pull/3029) - Update closure compiler and library ([@fredj](https://github.com/fredj))
* [#3031](https://github.com/openlayers/ol3/pull/3031) - Add missing maxZoom property in olx.view.FitGeometryOptions ([@fredj](https://github.com/fredj))
* [#3028](https://github.com/openlayers/ol3/pull/3028) - ol.format.WFS cleanup ([@fredj](https://github.com/fredj))
* [#3024](https://github.com/openlayers/ol3/pull/3024) - Add missing gmlFormat to olx.format.WFSOptions ([@fredj](https://github.com/fredj))
* [#3023](https://github.com/openlayers/ol3/pull/3023) - Change loader function return type ([@fredj](https://github.com/fredj))
* [#3021](https://github.com/openlayers/ol3/pull/3021) - Add missing properties in olx.control.AttributionOptions typedef ([@fredj](https://github.com/fredj))
* [#3013](https://github.com/openlayers/ol3/pull/3013) - Improve vector source clear() performance ([@gberaudo](https://github.com/gberaudo))
* [#3017](https://github.com/openlayers/ol3/pull/3017) - Use writeFeatures instead of writeFeaturesNode in GPX and KML example (r=@elemoine) ([@bartvde](https://github.com/bartvde))
* [#3014](https://github.com/openlayers/ol3/pull/3014) - Simplify hit detection code ([@elemoine](https://github.com/elemoine))
* [#3006](https://github.com/openlayers/ol3/pull/3006) - gml3.js and gml2.js don't follow file naming conventions ([@bartvde](https://github.com/bartvde))
* [#3003](https://github.com/openlayers/ol3/pull/3003) - The writeFeatures method should always return a string (r=@elemoine) ([@bartvde](https://github.com/bartvde))
* [#3011](https://github.com/openlayers/ol3/pull/3011) - opt_options may not be defined, use options ([@pagameba](https://github.com/pagameba))
* [#3009](https://github.com/openlayers/ol3/pull/3009) - Fix hit detection bug ([@elemoine](https://github.com/elemoine))
* [#3002](https://github.com/openlayers/ol3/pull/3002) - Passing options to RegularShape is mandatory ([@elemoine](https://github.com/elemoine))
* [#2967](https://github.com/openlayers/ol3/pull/2967) - Add support for drawing points with WebGL ([@camptocamp](https://github.com/camptocamp))
* [#2701](https://github.com/openlayers/ol3/pull/2701) - Writing GeoJSON does not respect the feature's geometryName ([@bartvde](https://github.com/bartvde))
* [#3000](https://github.com/openlayers/ol3/pull/3000) - Explain that return of ol.color.asArray should not be modified ([@bartvde](https://github.com/bartvde))
* [#2997](https://github.com/openlayers/ol3/pull/2997) - Use new demo GeoServer location ([@ahocevar](https://github.com/ahocevar))
* [#2976](https://github.com/openlayers/ol3/pull/2976) - Add an example to show off ol.style.RegularShape ([@bartvde](https://github.com/bartvde))
* [#2992](https://github.com/openlayers/ol3/pull/2992) - Add support for finding features at a given coordinates for vector tiles - fixes ([@pgiraud](https://github.com/pgiraud))
* [#2987](https://github.com/openlayers/ol3/pull/2987) - Image layer renderers use source projection if given and equivalent ([@kartverket](https://github.com/kartverket))
* [#2975](https://github.com/openlayers/ol3/pull/2975) - Use offsetX and offsetY if available ([@fredj](https://github.com/fredj))
* [#2973](https://github.com/openlayers/ol3/pull/2973) - Making GetTileCoordFor methods public avaible ([@s093294](https://github.com/s093294))
* [#2986](https://github.com/openlayers/ol3/pull/2986) - Add support for finding features at a given coordinates for vector tiles ([@pgiraud](https://github.com/pgiraud))
* [#2937](https://github.com/openlayers/ol3/pull/2937) - Clip layer rendering to limited extent. ([@tschaub](https://github.com/tschaub))
* [#2971](https://github.com/openlayers/ol3/pull/2971) - Two ol.source.TileVector fixes ([@elemoine](https://github.com/elemoine))
* [#2988](https://github.com/openlayers/ol3/pull/2988) - Correct olx.style.RegularShapeOptions definition (r=@elemoine) ([@bartvde](https://github.com/bartvde))
* [#2981](https://github.com/openlayers/ol3/pull/2981) - Use lineDash in ol.style.Circle's and ol.style.RegularShape's stroke (r=@fredj,@elemoine) ([@bartvde](https://github.com/bartvde))
* [#2982](https://github.com/openlayers/ol3/pull/2982) - Allow radius1 as an alias for radius in ol.style.RegularShape ([@bartvde](https://github.com/bartvde))
* [#2980](https://github.com/openlayers/ol3/pull/2980) - Export ol.source.TileVector#getFeatures in built mode ([@pgiraud](https://github.com/pgiraud))
* [#2979](https://github.com/openlayers/ol3/pull/2979) - Support OGC srs urns without an EPSG database version ([@bartvde](https://github.com/bartvde))
* [#2978](https://github.com/openlayers/ol3/pull/2978) - Fix zoom levels for the MapQuest Street layer ([@ahocevar](https://github.com/ahocevar))
* [#2889](https://github.com/openlayers/ol3/pull/2889) - Add GetFeatureInfo format ([@fgravin](https://github.com/fgravin))
* [#2965](https://github.com/openlayers/ol3/pull/2965) - Fix pan with select interaction in mousemove mode. ([@tonio](https://github.com/tonio))
* [#2960](https://github.com/openlayers/ol3/pull/2960) - LayerGroup extent should be used if extent not set on child layer ([@bartvde](https://github.com/bartvde))
* [#2956](https://github.com/openlayers/ol3/pull/2956) - Revert "Remove mousewheel event name workaround" ([@fredj](https://github.com/fredj))
* [#2959](https://github.com/openlayers/ol3/pull/2959) - Fix typo in selector ([@ahocevar](https://github.com/ahocevar))
* [#2895](https://github.com/openlayers/ol3/pull/2895) - Move font-family customization to layout.css ([@fredj](https://github.com/fredj))
* [#2896](https://github.com/openlayers/ol3/pull/2896) - Remove duplicated style parameter ([@kalinbas](https://github.com/kalinbas))
* [#2938](https://github.com/openlayers/ol3/pull/2938) - Additional image static docs. ([@tschaub](https://github.com/tschaub))
* [#2939](https://github.com/openlayers/ol3/pull/2939) - Make stability checkbox sticky. ([@tschaub](https://github.com/tschaub))
* [#2949](https://github.com/openlayers/ol3/pull/2949) - Add ol.ext to hosted dir ([@elemoine](https://github.com/elemoine))
* [#2943](https://github.com/openlayers/ol3/pull/2943) - Mark applyTransform api stable ([@fredj](https://github.com/fredj))
* [#2936](https://github.com/openlayers/ol3/pull/2936) - Fix unselection of selected features ([@ahocevar](https://github.com/ahocevar))
* [#2935](https://github.com/openlayers/ol3/pull/2935) - Fix jsdoc comment ([@geosense](https://github.com/geosense))
* [#2933](https://github.com/openlayers/ol3/pull/2933) - Fix compile warning ([@elemoine](https://github.com/elemoine))
* [#2931](https://github.com/openlayers/ol3/pull/2931) - Improvement to view docs ([@elemoine](https://github.com/elemoine))
* [#2906](https://github.com/openlayers/ol3/pull/2906) - Assume a latitude, longitude order for Polyline format ([@fredj](https://github.com/fredj))
* [#2927](https://github.com/openlayers/ol3/pull/2927) - Make it possible to programmatically finish drawing ([@elemoine](https://github.com/elemoine))
* [#2928](https://github.com/openlayers/ol3/pull/2928) - Do not rename handleMapBrowserEvent internally ([@elemoine](https://github.com/elemoine))
* [#2924](https://github.com/openlayers/ol3/pull/2924) - Readability rearangement in canvasmaprenderer.js ([@gberaudo](https://github.com/gberaudo))
* [#2911](https://github.com/openlayers/ol3/pull/2911) - List events fired in the navigation. ([@tschaub](https://github.com/tschaub))
* [#2921](https://github.com/openlayers/ol3/pull/2921) - Small feature overlay optimization ([@gberaudo](https://github.com/gberaudo))
* [#2897](https://github.com/openlayers/ol3/pull/2897) - Remove pointerup listener on controls ([@fredj](https://github.com/fredj))
* [#2912](https://github.com/openlayers/ol3/pull/2912) - jQuery externs update ([@fredj](https://github.com/fredj))
* [#2888](https://github.com/openlayers/ol3/pull/2888) - Element boundedBy must not be set as geometry field on GML reading ([@fgravin](https://github.com/fgravin))
* [#2903](https://github.com/openlayers/ol3/pull/2903) - Improved docs for icon options ([@elemoine](https://github.com/elemoine))
* [#2900](https://github.com/openlayers/ol3/pull/2900) - Allow build.js task to add header. ([@tschaub](https://github.com/tschaub))
* [#2893](https://github.com/openlayers/ol3/pull/2893) - Don't pass an object to goog.dom.createDom for the class name ([@fredj](https://github.com/fredj))
* [#2781](https://github.com/openlayers/ol3/pull/2781) - Use a standard title attribute for the control buttons ([@fredj](https://github.com/fredj))
* [#2852](https://github.com/openlayers/ol3/pull/2852) - Add missing space between class names ([@fredj](https://github.com/fredj))
* [#2891](https://github.com/openlayers/ol3/pull/2891) - Introduce a load function for image sources ([@ahocevar](https://github.com/ahocevar))
* [#2885](https://github.com/openlayers/ol3/pull/2885) - Add wrapX option to TileJSON source ([@elemoine](https://github.com/elemoine))
* [#2890](https://github.com/openlayers/ol3/pull/2890) - Use correct layer property names ([@elemoine](https://github.com/elemoine))
* [#2887](https://github.com/openlayers/ol3/pull/2887) - Explicitly pass coordinate dimension before transforming. ([@tschaub](https://github.com/tschaub))
* [#2886](https://github.com/openlayers/ol3/pull/2886) - Use ternary notation ([@elemoine](https://github.com/elemoine))
* [#2869](https://github.com/openlayers/ol3/pull/2869) - Export useful xml functions ([@tonio](https://github.com/tonio))
* [#2884](https://github.com/openlayers/ol3/pull/2884) - Make WKT methods throw errors instead of calling a method that throws. ([@tschaub](https://github.com/tschaub))
* [#2746](https://github.com/openlayers/ol3/pull/2746) - Add versioning for GML format ([@fgravin](https://github.com/fgravin))
* [#2882](https://github.com/openlayers/ol3/pull/2882) - Allow olx.source.WMTSOptions#requestEncoding to be a string ([@fredj](https://github.com/fredj))
* [#2881](https://github.com/openlayers/ol3/pull/2881) - Add default requestEncoding in documentation ([@fredj](https://github.com/fredj))
* [#2877](https://github.com/openlayers/ol3/pull/2877) - Remove FIXME in src/ol/structs/rbush.js ([@fredj](https://github.com/fredj))
* [#2870](https://github.com/openlayers/ol3/pull/2870) - Use bulk-insertion for addFeatures ([@tsauerwein](https://github.com/tsauerwein))
* [#2856](https://github.com/openlayers/ol3/pull/2856) - Allow layer source to be set. ([@tschaub](https://github.com/tschaub))
* [#2875](https://github.com/openlayers/ol3/pull/2875) - Avoid modifying `map.logos_` with each frame. ([@tschaub](https://github.com/tschaub))
* [#2874](https://github.com/openlayers/ol3/pull/2874) - Avoid shrinking logos. ([@tschaub](https://github.com/tschaub))
* [#2872](https://github.com/openlayers/ol3/pull/2872) - Remove the beforepropertychange event from ol.Object ([@fredj](https://github.com/fredj))
* [#2868](https://github.com/openlayers/ol3/pull/2868) - Remove doc about dispatching events. ([@tschaub](https://github.com/tschaub))
* [#2871](https://github.com/openlayers/ol3/pull/2871) - Make `npm install` a dependency of node based targets. ([@tschaub](https://github.com/tschaub))
* [#2867](https://github.com/openlayers/ol3/pull/2867) - Support for importing CommonJS style modules (like rbush). ([@openlayers](https://github.com/openlayers))
* [#2865](https://github.com/openlayers/ol3/pull/2865) - Add old value to property change events ([@elemoine](https://github.com/elemoine))
* [#2866](https://github.com/openlayers/ol3/pull/2866) - Cluster source calls loadFeatures on vector source ([@elemoine](https://github.com/elemoine))
* [#2864](https://github.com/openlayers/ol3/pull/2864) - Avoid mixed content in Bing Maps (r=@elemoine) ([@bartvde](https://github.com/bartvde))
* [#2855](https://github.com/openlayers/ol3/pull/2855) - Move touchstart preventDefault to ol.renderer.dom.Map ([@fredj](https://github.com/fredj))
* [#2690](https://github.com/openlayers/ol3/pull/2690) - Vector rendering with the DOM renderer ([@ahocevar](https://github.com/ahocevar))
* [#2859](https://github.com/openlayers/ol3/pull/2859) - Document exportable vector source symbols. ([@tschaub](https://github.com/tschaub))
* [#2857](https://github.com/openlayers/ol3/pull/2857) - Update the OSM attribution. ([@tschaub](https://github.com/tschaub))
* [#2847](https://github.com/openlayers/ol3/pull/2847) - Constrain center in zoomify example ([@elemoine](https://github.com/elemoine))
* [#2838](https://github.com/openlayers/ol3/pull/2838) - ol.source.WMTS now passes tileClass option to ol.source.TileImage ([@mike-mcgann](https://github.com/mike-mcgann))
* [#2821](https://github.com/openlayers/ol3/pull/2821) - Add ol.geom.Polygon.fromExtent ([@elemoine](https://github.com/elemoine))
* [#2835](https://github.com/openlayers/ol3/pull/2835) - Use correct Stamen URL for SSL. ([@j16sdiz](https://github.com/j16sdiz))
* [#2839](https://github.com/openlayers/ol3/pull/2839) - Dependency updates and new package name. ([@tschaub](https://github.com/tschaub))
* [#2840](https://github.com/openlayers/ol3/pull/2840) - Fewer point resolution tests. ([@tschaub](https://github.com/tschaub))
* [#2836](https://github.com/openlayers/ol3/pull/2836) - Give priority to feature's style instead of source's style ([@oterral](https://github.com/oterral))
* [#2834](https://github.com/openlayers/ol3/pull/2834) - Use ADVANCED instead of ADVANCED_OPTIMIZATIONS ([@fredj](https://github.com/fredj))
* [#2833](https://github.com/openlayers/ol3/pull/2833) - Avoid too many files open with graceful-fs@3.0.3. ([@tschaub](https://github.com/tschaub))
* [#2829](https://github.com/openlayers/ol3/pull/2829) - Zoom slider refactor. ([@tschaub](https://github.com/tschaub))
* [#2757](https://github.com/openlayers/ol3/pull/2757) - Clear the canvas on layer extent changes. ([@tschaub](https://github.com/tschaub))
* [#2796](https://github.com/openlayers/ol3/pull/2796) - Determine image size on load. ([@tschaub](https://github.com/tschaub))
* [#2825](https://github.com/openlayers/ol3/pull/2825) - Change comments for examples_star_json build target ([@elemoine](https://github.com/elemoine))
* [#2822](https://github.com/openlayers/ol3/pull/2822) - Remove obsolete comment ([@gingerik](https://github.com/gingerik))
* [#2769](https://github.com/openlayers/ol3/pull/2769) - OverviewMap control ([@adube](https://github.com/adube))
* [#2820](https://github.com/openlayers/ol3/pull/2820) - Add parsing of LabelStyle in KML format ([@oterral](https://github.com/oterral))
* [#2819](https://github.com/openlayers/ol3/pull/2819) - Improvements to the xyz-esri-4326-512 example ([@elemoine](https://github.com/elemoine))
* [#2743](https://github.com/openlayers/ol3/pull/2743) - Handle ol.interaction.Draw activation/deactivation ([@elemoine](https://github.com/elemoine))
* [#2816](https://github.com/openlayers/ol3/pull/2816) - Exit on check-examples failure ([@gberaudo](https://github.com/gberaudo))
* [#2794](https://github.com/openlayers/ol3/pull/2794) - Add ol.Observable.unByKey ([@elemoine](https://github.com/elemoine))
* [#2815](https://github.com/openlayers/ol3/pull/2815) - Fix jquery.min.js path in xyz-esri-4326-512 example ([@fredj](https://github.com/fredj))
* [#2756](https://github.com/openlayers/ol3/pull/2756) - Add an example for using an Esri 512x512 tile server in EPSG:4326 (r=@elemoine) ([@bartvde](https://github.com/bartvde))
* [#2814](https://github.com/openlayers/ol3/pull/2814) - Add missing whitespaces in CSS calc ([@fredj](https://github.com/fredj))
* [#2811](https://github.com/openlayers/ol3/pull/2811) - Remove defaultProjection and object from typedef ([@fredj](https://github.com/fredj))
* [#2779](https://github.com/openlayers/ol3/pull/2779) - Update jQuery to 1.9.1 ([@fredj](https://github.com/fredj))
* [#2810](https://github.com/openlayers/ol3/pull/2810) - Remove unused properties from olx.source.TileVectorOptions ([@pagameba](https://github.com/pagameba))
* [#2808](https://github.com/openlayers/ol3/pull/2808) - Remove reprojectTo option from olx.source.OSMXMLOptions ([@fredj](https://github.com/fredj))
* [#2809](https://github.com/openlayers/ol3/pull/2809) - Miscellaneous controls cleanups ([@fredj](https://github.com/fredj))
* [#2805](https://github.com/openlayers/ol3/pull/2805) - Enable subclassing Interaction in public API ([@sweco-sebhar](https://github.com/sweco-sebhar))
* [#2798](https://github.com/openlayers/ol3/pull/2798) - Update closure-util to version 1.0.0 ([@fredj](https://github.com/fredj))
* [#2785](https://github.com/openlayers/ol3/pull/2785) - Use goog.* types in externs ([@ahocevar](https://github.com/ahocevar))
* [#2795](https://github.com/openlayers/ol3/pull/2795) - Externs ([@gingerik](https://github.com/gingerik))
* [#2792](https://github.com/openlayers/ol3/pull/2792) - Use valid mediatype for GPX export. ([@pgiraud](https://github.com/pgiraud))
* [#2784](https://github.com/openlayers/ol3/pull/2784) - Add 'tooltip'-tag to KML example. ([@marcjansen](https://github.com/marcjansen))
* [#2782](https://github.com/openlayers/ol3/pull/2782) - Hide the rotate control when the rotation is 0 ([@fredj](https://github.com/fredj))
* [#2774](https://github.com/openlayers/ol3/pull/2774) - Remove unused distinctFeatures object in ol.interaction.Modify#handlePointerDown ([@fredj](https://github.com/fredj))
* [#2771](https://github.com/openlayers/ol3/pull/2771) - Allow package to be published in npm registry. ([@tschaub](https://github.com/tschaub))
* [#2773](https://github.com/openlayers/ol3/pull/2773) - Type-related changes to ol.style.Image ([@elemoine](https://github.com/elemoine))
* [#2751](https://github.com/openlayers/ol3/pull/2751) - Export constructors and options of ol.source.Source children ([@gberaudo](https://github.com/gberaudo))
* [#2772](https://github.com/openlayers/ol3/pull/2772) - Rename updatefeature event to changefeature ([@fredj](https://github.com/fredj))
* [#2766](https://github.com/openlayers/ol3/pull/2766) - Make interaction "active" an ol.Object property ([@elemoine](https://github.com/elemoine))
* [#2765](https://github.com/openlayers/ol3/pull/2765) - Treat unknown opt types as Object in ol externs ([@elemoine](https://github.com/elemoine))
* [#2759](https://github.com/openlayers/ol3/pull/2759) - Fix test failures. ([@tschaub](https://github.com/tschaub))
* [#2762](https://github.com/openlayers/ol3/pull/2762) - Report test failures to the console. ([@tschaub](https://github.com/tschaub))
* [#2768](https://github.com/openlayers/ol3/pull/2768) - Write the function name correctly in the doc. ([@xamgreen](https://github.com/xamgreen))
* [#2764](https://github.com/openlayers/ol3/pull/2764) - Remove rtree example ([@fredj](https://github.com/fredj))
* [#2763](https://github.com/openlayers/ol3/pull/2763) - Miscellaneous coding style and typo fixes ([@fredj](https://github.com/fredj))
* [#2758](https://github.com/openlayers/ol3/pull/2758) - Correctly generate child tile ranges for XYZ tiles. ([@tschaub](https://github.com/tschaub))
* [#2734](https://github.com/openlayers/ol3/pull/2734) - Add maxZoom option to BingMaps ([@elemoine](https://github.com/elemoine))
* [#2752](https://github.com/openlayers/ol3/pull/2752) - Call loadFeatures from ol.source.ImageVector ([@elemoine](https://github.com/elemoine))
* [#2658](https://github.com/openlayers/ol3/pull/2658) - Set inherited values when parsing a GetCapabilities ([@oterral](https://github.com/oterral))
* [#2750](https://github.com/openlayers/ol3/pull/2750) - Export ol.layer.Base ([@fredj](https://github.com/fredj))
* [#2749](https://github.com/openlayers/ol3/pull/2749) - Export ol.source.Source ([@fredj](https://github.com/fredj))
* [#2742](https://github.com/openlayers/ol3/pull/2742) - Dispatch an 'updatefeature' from the vector source ([@fredj](https://github.com/fredj))
* [#2747](https://github.com/openlayers/ol3/pull/2747) - Fix incorrect web address. ([@lazaruslarue](https://github.com/lazaruslarue))
* [#2745](https://github.com/openlayers/ol3/pull/2745) - DragBox Interaction: getGeometry return type can be ol.geom.Polygon (r=@fredj) ([@bartvde](https://github.com/bartvde))
* [#2744](https://github.com/openlayers/ol3/pull/2744) - Fix ol.Feature 'change' event documentation ([@fredj](https://github.com/fredj))
* [#2741](https://github.com/openlayers/ol3/pull/2741) - issue with reading scientific notation coordinates in ol.format.GML (r=@fredj) ([@bartvde](https://github.com/bartvde))
* [#2739](https://github.com/openlayers/ol3/pull/2739) - Revert "Function circular renamed to createCircularOnSphere" ([@elemoine](https://github.com/elemoine))
* [#2616](https://github.com/openlayers/ol3/pull/2616) - Target for attribution links differs between maps ([@fredj](https://github.com/fredj))
* [#2740](https://github.com/openlayers/ol3/pull/2740) - Make interactions activable and deactivable ([@elemoine](https://github.com/elemoine))
* [#2727](https://github.com/openlayers/ol3/pull/2727) - Rename ol.geom.Polygon#circular to createCircularOnSphere ([@elemoine](https://github.com/elemoine))
* [#2730](https://github.com/openlayers/ol3/pull/2730) - Do not call toLowerCase when forming a change:property event ([@elemoine](https://github.com/elemoine))
* [#2728](https://github.com/openlayers/ol3/pull/2728) - Mark `ol.extent.getIntersection` as stable. ([@tschaub](https://github.com/tschaub))
* [#2726](https://github.com/openlayers/ol3/pull/2726) - Make ol.Feature#setStyle accept null ([@elemoine](https://github.com/elemoine))
* [#2724](https://github.com/openlayers/ol3/pull/2724) - Error when compiling individual example ([@fredj](https://github.com/fredj))
* [#1959](https://github.com/openlayers/ol3/pull/1959) - Add a feature box selection example ([@elemoine](https://github.com/elemoine))
* [#2722](https://github.com/openlayers/ol3/pull/2722) - Make ol.Map#setView do not accept undefined ([@elemoine](https://github.com/elemoine))
* [#2696](https://github.com/openlayers/ol3/pull/2696) - Consistent circle transform. ([@gberaudo](https://github.com/gberaudo))
* [#2717](https://github.com/openlayers/ol3/pull/2717) - Change the control visibility by using css class ([@fredj](https://github.com/fredj))
* [#2715](https://github.com/openlayers/ol3/pull/2715) - Add an EPSG:3857 map to Tissot example ([@elemoine](https://github.com/elemoine))
* [#2714](https://github.com/openlayers/ol3/pull/2714) - Set the opacity directly to element.style.opacity ([@fredj](https://github.com/fredj))
* [#2647](https://github.com/openlayers/ol3/pull/2647) - Upgrade closure library version ([@fredj](https://github.com/fredj))
* [#2549](https://github.com/openlayers/ol3/pull/2549) - Use goog.array.ASSUME_NATIVE_FUNCTIONS define ([@fredj](https://github.com/fredj))
* [#2711](https://github.com/openlayers/ol3/pull/2711) - Remove Google Maps example ([@elemoine](https://github.com/elemoine))
* [#2684](https://github.com/openlayers/ol3/pull/2684) - Rename ol.Observable#dispatchChangeEvent() to #changed() ([@ahocevar](https://github.com/ahocevar))
* [#2678](https://github.com/openlayers/ol3/pull/2678) - Mutable symbolizer properties for styles ([@ahocevar](https://github.com/ahocevar))
* [#2568](https://github.com/openlayers/ol3/pull/2568) - re-implement auto-configure code for ol.format.GML (r=@ahocevar) ([@bartvde](https://github.com/bartvde))
* [#2704](https://github.com/openlayers/ol3/pull/2704) - Use pool thread for calling bin/check-example.js. ([@gberaudo](https://github.com/gberaudo))
* [#2698](https://github.com/openlayers/ol3/pull/2698) - StaticVector is not an abstract base class ([@ahocevar](https://github.com/ahocevar))
* [#2702](https://github.com/openlayers/ol3/pull/2702) - Add vector layer in export-map example ([@fredj](https://github.com/fredj))
* [#2687](https://github.com/openlayers/ol3/pull/2687) - Use ol.LEGACY_IE_SUPPORT and ol.IS_LEGACY_IE define ([@fredj](https://github.com/fredj))
* [#2675](https://github.com/openlayers/ol3/pull/2675) - Remove undefined from ol.Map#getLayers return type ([@fredj](https://github.com/fredj))
* [#2692](https://github.com/openlayers/ol3/pull/2692) - Unset z-index in overlay example ([@fredj](https://github.com/fredj))
* [#2681](https://github.com/openlayers/ol3/pull/2681) - Make tileSize a config option for ol.source.XYZ ([@ahocevar](https://github.com/ahocevar))
* [#2534](https://github.com/openlayers/ol3/pull/2534) - Document ol.geom.Polygon#getLinearRing function ([@fredj](https://github.com/fredj))
* [#2677](https://github.com/openlayers/ol3/pull/2677) - Add TextStyle offsets getters to API. ([@gberaudo](https://github.com/gberaudo))
* [#2676](https://github.com/openlayers/ol3/pull/2676) - ol.FeatureOverlay: use the feature style if defined ([@fredj](https://github.com/fredj))
* [#2656](https://github.com/openlayers/ol3/pull/2656) - Set ol.layer.Image#getSource return type to ol.source.Image ([@fredj](https://github.com/fredj))
* [#2651](https://github.com/openlayers/ol3/pull/2651) - ol.layer.Vector.getSource return type specialisation. ([@gberaudo](https://github.com/gberaudo))
* [#2669](https://github.com/openlayers/ol3/pull/2669) - Revert "snapshot" ([@fredj](https://github.com/fredj))
* [#2663](https://github.com/openlayers/ol3/pull/2663) - Set tracking property to false on geolocation error ([@fredj](https://github.com/fredj))
* [#2662](https://github.com/openlayers/ol3/pull/2662) - Delegate transformation in ol.source.FormatVector#readFeatures to `ol.format.*` ([@gingerik](https://github.com/gingerik))
* [#2447](https://github.com/openlayers/ol3/pull/2447) - Correct documentation typo. ([@lazaruslarue](https://github.com/lazaruslarue))
* [#2660](https://github.com/openlayers/ol3/pull/2660) - New domain in the build header ([@elemoine](https://github.com/elemoine))

9
changelog/v3.1.1.md Normal file
View File

@@ -0,0 +1,9 @@
# 3.1.0
## Summary
This is a patch release to fix an issue with the select interaction in the 3.1.0 release.
## Changes
* [#3082](https://github.com/openlayers/ol3/pull/3082) - Correct arguments for forEachGeometryAtPixel. ([@tschaub](https://github.com/tschaub))

86
changelog/v3.2.0.md Normal file
View File

@@ -0,0 +1,86 @@
# 3.2.0
## Summary
The 3.1.0 release includes 70 merged pull requests since 3.1.0. Of note, the KML format [now parses `NetworkingLink` tags](https://github.com/openlayers/ol3/pull/3171). The [measure example](http://openlayers.org/en/v3.2.0/examples/measure.html) was [reworked](https://github.com/openlayers/ol3/pull/3206) to display measurements and help messages while drawing. A WMTS GetCapabilities format was [added](https://github.com/openlayers/ol3/pull/3026). The WebGL renderer [now supports feature hit detection](https://github.com/openlayers/ol3/pull/3065) (on point features). And you can now [detect](https://github.com/openlayers/ol3/pull/3172) features/colored pixels on image and tile layers! See the full list of [changes](#changes) below.
## Upgrade notes
The 3.2.0 release maintains a backwards-compatible API with the 3.1.0 release, so upgrades should be painless. Some special considerations below.
* You should not call `view.setRotation` with `undefined`, to reset the view rotation to `0` then use `view.setRotation(0)` (see [#3176](https://github.com/openlayers/ol3/pull/3176)).
* If you use `$(map.getViewport()).on('mousemove')` to detect features when the mouse is hovered on the map, you should now rely on the `pointermove` map event type and check in the `pointermove` listener that the `dragging` event property is `false` (see [#3190](https://github.com/openlayers/ol3/pull/3190)).
## Changes
* [#3171](https://github.com/openlayers/ol3/pull/3171) - KML: Parsing of NetworkLink tag ([@oterral](https://github.com/oterral))
* [#3209](https://github.com/openlayers/ol3/pull/3209) - Coding style fixes ([@fredj](https://github.com/fredj))
* [#3208](https://github.com/openlayers/ol3/pull/3208) - Add setters and getters for imageLoadFunction ([@bartvde](https://github.com/bartvde))
* [#3019](https://github.com/openlayers/ol3/pull/3019) - Add option to allow Select interaction logic to select overlapping features ([@bjornharrtell](https://github.com/bjornharrtell))
* [#3206](https://github.com/openlayers/ol3/pull/3206) - Add tooltip to show measure + help message while drawing ([@pgiraud](https://github.com/pgiraud))
* [#3205](https://github.com/openlayers/ol3/pull/3205) - Use ol.extent.createOrUpdateFromCoordinate ([@fredj](https://github.com/fredj))
* [#3026](https://github.com/openlayers/ol3/pull/3026) - Add support of reading WMTS Get Cap document ([@htulipe](https://github.com/htulipe))
* [#3201](https://github.com/openlayers/ol3/pull/3201) - Pass on opt_fast to parent clear function in ol.source.ServerVector (r=@elemoine,@gberaudo) ([@bartvde](https://github.com/bartvde))
* [#3199](https://github.com/openlayers/ol3/pull/3199) - Minor jsdoc fixes ([@fredj](https://github.com/fredj))
* [#3059](https://github.com/openlayers/ol3/pull/3059) - Cache the buffered extent value ([@fredj](https://github.com/fredj))
* [#3196](https://github.com/openlayers/ol3/pull/3196) - Remove unnecessary newlines ([@fredj](https://github.com/fredj))
* [#3099](https://github.com/openlayers/ol3/pull/3099) - Fix up parsing of OGR GML with ol.format.GML ([@bartvde](https://github.com/bartvde))
* [#3195](https://github.com/openlayers/ol3/pull/3195) - Coding style ([@fredj](https://github.com/fredj))
* [#3192](https://github.com/openlayers/ol3/pull/3192) - Add "url" option to ol.source.MapQuest ([@elemoine](https://github.com/elemoine))
* [#3172](https://github.com/openlayers/ol3/pull/3172) - Introduce forEachLayerAtPixel ([@tsauerwein](https://github.com/tsauerwein))
* [#3178](https://github.com/openlayers/ol3/pull/3178) - GeoJSON externs fixes ([@fredj](https://github.com/fredj))
* [#3179](https://github.com/openlayers/ol3/pull/3179) - Disallow undefined values for ol.layer.Base ([@fredj](https://github.com/fredj))
* [#3161](https://github.com/openlayers/ol3/pull/3161) - Doc fix. writeFeaturesNode receives an array of Feature ([@3x0dv5](https://github.com/3x0dv5))
* [#3169](https://github.com/openlayers/ol3/pull/3169) - Fix default icon style in kml format ([@oterral](https://github.com/oterral))
* [#3190](https://github.com/openlayers/ol3/pull/3190) - Introduce `dragging` flag for MapBrowserEvent ([@tsauerwein](https://github.com/tsauerwein))
* [#3135](https://github.com/openlayers/ol3/pull/3135) - Make changing the label of ZoomToExtent/FullScreen control consistent ([@tsauerwein](https://github.com/tsauerwein))
* [#3186](https://github.com/openlayers/ol3/pull/3186) - Take the pixel ratio into account when clipping the layer ([@fredj](https://github.com/fredj))
* [#3183](https://github.com/openlayers/ol3/pull/3183) - Allow other params than 'mode' in example page query string. ([@htulipe](https://github.com/htulipe))
* [#2791](https://github.com/openlayers/ol3/pull/2791) - Re enable rotation button transition ([@fredj](https://github.com/fredj))
* [#3180](https://github.com/openlayers/ol3/pull/3180) - Add a getMap function to ol.FeatureOverlay (r=@ahocevar) ([@bartvde](https://github.com/bartvde))
* [#3176](https://github.com/openlayers/ol3/pull/3176) - Disallowed undefined rotation value ([@fredj](https://github.com/fredj))
* [#3177](https://github.com/openlayers/ol3/pull/3177) - Add example showing how to style polygon vertices ([@tsauerwein](https://github.com/tsauerwein))
* [#3174](https://github.com/openlayers/ol3/pull/3174) - Use view.getRotation or view.getResolution instead of view.getState ([@fredj](https://github.com/fredj))
* [#3170](https://github.com/openlayers/ol3/pull/3170) - Coding style ([@fredj](https://github.com/fredj))
* [#3108](https://github.com/openlayers/ol3/pull/3108) - Support skipping features in the WebGL renderer ([@tsauerwein](https://github.com/tsauerwein))
* [#3163](https://github.com/openlayers/ol3/pull/3163) - Use the layerStatesArray property from the frameState ([@fredj](https://github.com/fredj))
* [#3159](https://github.com/openlayers/ol3/pull/3159) - Don't pass specific options to the parent constructor ([@fredj](https://github.com/fredj))
* [#3066](https://github.com/openlayers/ol3/pull/3066) - Introduce hasFeatureAtPixel ([@tsauerwein](https://github.com/tsauerwein))
* [#3065](https://github.com/openlayers/ol3/pull/3065) - Add hit-detection support for WebGL ([@tsauerwein](https://github.com/tsauerwein))
* [#3128](https://github.com/openlayers/ol3/pull/3128) - Allow rendering of feature when download of icon failed ([@oterral](https://github.com/oterral))
* [#3156](https://github.com/openlayers/ol3/pull/3156) - Move readProjectionFrom* functions to the base classes ([@fredj](https://github.com/fredj))
* [#3107](https://github.com/openlayers/ol3/pull/3107) - Also listen on loading images ([@elemoine](https://github.com/elemoine))
* [#3153](https://github.com/openlayers/ol3/pull/3153) - Add missing GeoJSONFeature#bbox property ([@fredj](https://github.com/fredj))
* [#3154](https://github.com/openlayers/ol3/pull/3154) - Remove unnecessary newlines ([@fredj](https://github.com/fredj))
* [#3146](https://github.com/openlayers/ol3/pull/3146) - Enable tests for ol.geom.flat.reverse ([@icholy](https://github.com/icholy))
* [#3152](https://github.com/openlayers/ol3/pull/3152) - Update closure-library and closure-util version ([@fredj](https://github.com/fredj))
* [#3145](https://github.com/openlayers/ol3/pull/3145) - Add wrapX option to source.OSM and source.BingMaps ([@elemoine](https://github.com/elemoine))
* [#3139](https://github.com/openlayers/ol3/pull/3139) - Add ol.control.Control#setTarget ([@elemoine](https://github.com/elemoine))
* [#3144](https://github.com/openlayers/ol3/pull/3144) - Update CONTRIBUTING style guide with recent guidelines ([@bartvde](https://github.com/bartvde))
* [#3136](https://github.com/openlayers/ol3/pull/3136) - Use array.length = 0 instead of goog.array.clear ([@fredj](https://github.com/fredj))
* [#3140](https://github.com/openlayers/ol3/pull/3140) - Avoid use of goog.array.clone with arrays. ([@tschaub](https://github.com/tschaub))
* [#3122](https://github.com/openlayers/ol3/pull/3122) - Revert "Use offsetX and offsetY if available" ([@fredj](https://github.com/fredj))
* [#2385](https://github.com/openlayers/ol3/pull/2385) - Option to update vector layers while animating ([@ahocevar](https://github.com/ahocevar))
* [#3129](https://github.com/openlayers/ol3/pull/3129) - Only update the rbush item if the extent has changed ([@fredj](https://github.com/fredj))
* [#3117](https://github.com/openlayers/ol3/pull/3117) - Add pixelRatio support for DOM vector renderer ([@ahocevar](https://github.com/ahocevar))
* [#3124](https://github.com/openlayers/ol3/pull/3124) - Add a space between scale -value and -unit ([@sirtet](https://github.com/sirtet))
* [#3130](https://github.com/openlayers/ol3/pull/3130) - Document default value ([@fredj](https://github.com/fredj))
* [#3105](https://github.com/openlayers/ol3/pull/3105) - ol.geom.Geometry#getExtent re-factoring ([@fredj](https://github.com/fredj))
* [#3118](https://github.com/openlayers/ol3/pull/3118) - Bugfix: "Cannot read property 'firstElementChild' of null" (WFS) ([@naturalatlas](https://github.com/naturalatlas))
* [#3114](https://github.com/openlayers/ol3/pull/3114) - Specify node version in CONTRIBUTING.md ([@elemoine](https://github.com/elemoine))
* [#3106](https://github.com/openlayers/ol3/pull/3106) - Don't pass specific options to the parent constructor ([@fredj](https://github.com/fredj))
* [#3110](https://github.com/openlayers/ol3/pull/3110) - Use svg instead of png to get better image quality ([@PeterDaveHello](https://github.com/PeterDaveHello))
* [#2707](https://github.com/openlayers/ol3/pull/2707) - Generate source map of minified ol.js ([@gberaudo](https://github.com/gberaudo))
* [#3104](https://github.com/openlayers/ol3/pull/3104) - Don't pass renderBuffer option to the parent constructor ([@fredj](https://github.com/fredj))
* [#3096](https://github.com/openlayers/ol3/pull/3096) - popup example cleanup / simplification ([@fredj](https://github.com/fredj))
* [#3072](https://github.com/openlayers/ol3/pull/3072) - Optimize canvas hit detection by rendering features in a limited extent. ([@tschaub](https://github.com/tschaub))
* [#3101](https://github.com/openlayers/ol3/pull/3101) - Use bracket notation instead of goog.object functions. ([@tschaub](https://github.com/tschaub))
* [#3079](https://github.com/openlayers/ol3/pull/3079) - Exclude source files from docs. ([@tschaub](https://github.com/tschaub))
* [#3100](https://github.com/openlayers/ol3/pull/3100) - Assert that ol.layer.Tile#getPreload is always set ([@fredj](https://github.com/fredj))
* [#3084](https://github.com/openlayers/ol3/pull/3084) - Changes from the v3.1.x branch. ([@openlayers](https://github.com/openlayers))
* [#3094](https://github.com/openlayers/ol3/pull/3094) - Remove AUTHORS.md. ([@tschaub](https://github.com/tschaub))
* [#3089](https://github.com/openlayers/ol3/pull/3089) - Fixed URL link for test README ([@mike-mcgann](https://github.com/mike-mcgann))
* [#2894](https://github.com/openlayers/ol3/pull/2894) - Simplify CSS code in custom-controls example ([@fredj](https://github.com/fredj))
* [#3085](https://github.com/openlayers/ol3/pull/3085) - Fixed documentation typo for return value of ol.proj.Projection.isGlobal(). ([@mike-mcgann](https://github.com/mike-mcgann))
* [#3073](https://github.com/openlayers/ol3/pull/3073) - Make map's deviceOptions map options ([@ahocevar](https://github.com/ahocevar))

9
changelog/v3.2.1.md Normal file
View File

@@ -0,0 +1,9 @@
# 3.2.1
## Summary
This is a patch release that fixes a regression with the select interaction in the [3.2.0 release](https://github.com/openlayers/ol3/releases/tag/v3.2.0).
## Changes
* [#3236](https://github.com/openlayers/ol3/pull/3236) - Select the uppermost feature. ([@tschaub](https://github.com/tschaub))

51
changelog/v3.3.0.md Normal file
View File

@@ -0,0 +1,51 @@
## Upgrade notes
* The `ol.events.condition.mouseMove` function was replaced by `ol.events.condition.pointerMove` (see [#3281](https://github.com/openlayers/ol3/pull/3281)). For example, if you use `ol.events.condition.mouseMove` as the condition in a `Select` interaction then you now need to use `ol.events.condition.pointerMove`:
```js
var selectInteraction = new ol.interaction.Select({
condition: ol.events.condition.pointerMove
// …
});
```
## Overview of all changes
* [#3263](https://github.com/openlayers/ol3/pull/3263) - Support ArcGIS Rest Services ([@cwgrant](https://github.com/cwgrant))
* [#3295](https://github.com/openlayers/ol3/pull/3295) - Add RESTful to WMTS GetCapabilities optionsFromCapabilities ([@sarametz](https://github.com/sarametz))
* [#3304](https://github.com/openlayers/ol3/pull/3304) - Remove scale line inner padding ([@fredj](https://github.com/fredj))
* [#3296](https://github.com/openlayers/ol3/pull/3296) - Add upgrade-notes.md file ([@elemoine](https://github.com/elemoine))
* [#3303](https://github.com/openlayers/ol3/pull/3303) - Add constant for us-ft units ([@ahocevar](https://github.com/ahocevar))
* [#3018](https://github.com/openlayers/ol3/pull/3018) - Add SelectEvent to interaction ([@bjornharrtell](https://github.com/bjornharrtell))
* [#3301](https://github.com/openlayers/ol3/pull/3301) - Select interaction unit tests ([@bjornharrtell](https://github.com/bjornharrtell))
* [#3298](https://github.com/openlayers/ol3/pull/3298) - Make ol.source.Source inherit from ol.Object ([@fredj](https://github.com/fredj))
* [#3297](https://github.com/openlayers/ol3/pull/3297) - Add getters to ol.source.WMTS ([@fredj](https://github.com/fredj))
* [#3281](https://github.com/openlayers/ol3/pull/3281) - Fix mouseMove event type comparison for IE10-11, pointermove ([@adube](https://github.com/adube))
* [#3293](https://github.com/openlayers/ol3/pull/3293) - Add missing opacity option for ol.style.IconOptions ([@ahocevar](https://github.com/ahocevar))
* [#3284](https://github.com/openlayers/ol3/pull/3284) - Fix jsdoc type for arrays of listening keys ([@fredj](https://github.com/fredj))
* [#3278](https://github.com/openlayers/ol3/pull/3278) - Add goog.provide for ol.DrawEventType ([@elemoine](https://github.com/elemoine))
* [#3272](https://github.com/openlayers/ol3/pull/3272) - Added getter function to return the wrapped source within the cluster ([@acanimal](https://github.com/acanimal))
* [#3275](https://github.com/openlayers/ol3/pull/3275) - Add ol.layer.Heatmap#blur getter and setter ([@fredj](https://github.com/fredj))
* [#3142](https://github.com/openlayers/ol3/pull/3142) - WMTS Get Cap document with updated WMTS.optionsFromCapabilities function ([@sarametz](https://github.com/sarametz))
* [#3271](https://github.com/openlayers/ol3/pull/3271) - [wip] Fix misplaced comment blocks ([@fredj](https://github.com/fredj))
* [#3273](https://github.com/openlayers/ol3/pull/3273) - Remove unused createGetTileIfLoadedFunction function. ([@tschaub](https://github.com/tschaub))
* [#3270](https://github.com/openlayers/ol3/pull/3270) - Make ol.Overlay autoPan default to false ([@elemoine](https://github.com/elemoine))
* [#3268](https://github.com/openlayers/ol3/pull/3268) - Fix autoPan in examples with ol.Overlay on hover ([@tsauerwein](https://github.com/tsauerwein))
* [#3256](https://github.com/openlayers/ol3/pull/3256) - Add autoPan option to ol.Overlay ([@tsauerwein](https://github.com/tsauerwein))
* [#3261](https://github.com/openlayers/ol3/pull/3261) - Fix forEachCorner extent, add TopLeft ([@adube](https://github.com/adube))
* [#3260](https://github.com/openlayers/ol3/pull/3260) - Remove unused goog.require ([@fredj](https://github.com/fredj))
* [#3246](https://github.com/openlayers/ol3/pull/3246) - Avoid creating unnecessary images in tile layers. ([@tschaub](https://github.com/tschaub))
* [#3254](https://github.com/openlayers/ol3/pull/3254) - Use lineCap, lineJoin and miterLimit stroke properties in RegularShape ([@fredj](https://github.com/fredj))
* [#3252](https://github.com/openlayers/ol3/pull/3252) - Avoid leaking global listenerSpy. ([@tschaub](https://github.com/tschaub))
* [#3248](https://github.com/openlayers/ol3/pull/3248) - Add tile loading events to image tile sources. ([@tschaub](https://github.com/tschaub))
* [#3240](https://github.com/openlayers/ol3/pull/3240) - Changes from the v3.2.x branch. ([@openlayers](https://github.com/openlayers))
* [#3233](https://github.com/openlayers/ol3/pull/3233) - Four small fixes. ([@stweil](https://github.com/stweil))
* [#3232](https://github.com/openlayers/ol3/pull/3232) - Fix typos found by codespell. ([@stweil](https://github.com/stweil))
* [#3231](https://github.com/openlayers/ol3/pull/3231) - Make ol.layer.Heatmap#radius configurable ([@fredj](https://github.com/fredj))
* [#3225](https://github.com/openlayers/ol3/pull/3225) - Respect attributions passed to TileJSON source. ([@tschaub](https://github.com/tschaub))
* [#3223](https://github.com/openlayers/ol3/pull/3223) - Resize the canvas when the tile size changes. ([@tschaub](https://github.com/tschaub))
* [#3224](https://github.com/openlayers/ol3/pull/3224) - Provide the ability to get the layer name from a MapQuest source ([@bartvde](https://github.com/bartvde))
* [#3222](https://github.com/openlayers/ol3/pull/3222) - Add geodesic option for measure ([@bartvde](https://github.com/bartvde))
* [#3221](https://github.com/openlayers/ol3/pull/3221) - Select the uppermost feature ([@fredj](https://github.com/fredj))
* [#3211](https://github.com/openlayers/ol3/pull/3211) - Bing https logo fix. ([@photostu](https://github.com/photostu))
* [#3215](https://github.com/openlayers/ol3/pull/3215) - Allow reuse of layer rendering code without creating a map. ([@tschaub](https://github.com/tschaub))

43
changelog/v3.4.0.md Normal file
View File

@@ -0,0 +1,43 @@
## Overview of all changes
* [#3383](https://github.com/openlayers/ol3/pull/3383) - GML3 tests time out in unit tests ([@bartvde](https://github.com/bartvde))
* [#3401](https://github.com/openlayers/ol3/pull/3401) - Allow GeoJSON to be serialized according to the right-hand rule. ([@tschaub](https://github.com/tschaub))
* [#3403](https://github.com/openlayers/ol3/pull/3403) - Remove unused goog.require ([@fredj](https://github.com/fredj))
* [#3362](https://github.com/openlayers/ol3/pull/3362) - Configure proj4 options and transforms upon construction ([@ahocevar](https://github.com/ahocevar))
* [#3394](https://github.com/openlayers/ol3/pull/3394) - Fix fullscreen pseudo CSS class name ([@fredj](https://github.com/fredj))
* [#3399](https://github.com/openlayers/ol3/pull/3399) - Clarify when widths need to be configured on a tile grid ([@ahocevar](https://github.com/ahocevar))
* [#3398](https://github.com/openlayers/ol3/pull/3398) - Make sure that the return value of wrapX() is stable ([@ahocevar](https://github.com/ahocevar))
* [#3396](https://github.com/openlayers/ol3/pull/3396) - Move the compare function out of ol.interaction.Modify.handleDownEvent_ ([@fredj](https://github.com/fredj))
* [#3395](https://github.com/openlayers/ol3/pull/3395) - ol.Interaction.Modify fixes ([@fperucic](https://github.com/fperucic))
* [#3387](https://github.com/openlayers/ol3/pull/3387) - Add wrapX option for ol.source.WMTS ([@ahocevar](https://github.com/ahocevar))
* [#3393](https://github.com/openlayers/ol3/pull/3393) - Remove unused define ([@fredj](https://github.com/fredj))
* [#3392](https://github.com/openlayers/ol3/pull/3392) - Fix switching class name of full-screen control ([@tsauerwein](https://github.com/tsauerwein))
* [#3391](https://github.com/openlayers/ol3/pull/3391) - Minor code cleanup ([@fredj](https://github.com/fredj))
* [#3388](https://github.com/openlayers/ol3/pull/3388) - Add new geometry layout option for polyline format ([@fredj](https://github.com/fredj))
* [#3385](https://github.com/openlayers/ol3/pull/3385) - Fix ol.tilegrid.TileGrid#getZForResolution ([@elemoine](https://github.com/elemoine))
* [#3377](https://github.com/openlayers/ol3/pull/3377) - Support wrapX for attributions ([@ahocevar](https://github.com/ahocevar))
* [#3382](https://github.com/openlayers/ol3/pull/3382) - Create github source links ([@ahocevar](https://github.com/ahocevar))
* [#3376](https://github.com/openlayers/ol3/pull/3376) - Add ol.source.Tile support for wrapping around the x-axis ([@ahocevar](https://github.com/ahocevar))
* [#3378](https://github.com/openlayers/ol3/pull/3378) - Clarify where to ask questions ([@ahocevar](https://github.com/ahocevar))
* [#3380](https://github.com/openlayers/ol3/pull/3380) - Test the GeoJSON layout ([@fredj](https://github.com/fredj))
* [#3360](https://github.com/openlayers/ol3/pull/3360) - Don't unlisten image twice when disposing an ol.ImageTile ([@fredj](https://github.com/fredj))
* [#3361](https://github.com/openlayers/ol3/pull/3361) - Listen on localhost to avoid phantomjs browsing 0.0.0.0 ([@ahocevar](https://github.com/ahocevar))
* [#3365](https://github.com/openlayers/ol3/pull/3365) - Better docs for #getPointResolution ([@ahocevar](https://github.com/ahocevar))
* [#3363](https://github.com/openlayers/ol3/pull/3363) - New ol.proj features ([@bill-chadwick](https://github.com/bill-chadwick))
* [#3305](https://github.com/openlayers/ol3/pull/3305) - Add image loading events to image sources (r=@ahocevar,@elemoine) ([@bartvde](https://github.com/bartvde))
* [#3343](https://github.com/openlayers/ol3/pull/3343) - Line arrows example ([@fredj](https://github.com/fredj))
* [#3354](https://github.com/openlayers/ol3/pull/3354) - Mark ol.format.GeoJSON#writeFeature(s) option param optional ([@fredj](https://github.com/fredj))
* [#3346](https://github.com/openlayers/ol3/pull/3346) - Set the 'properties' member to null if the feature has not properties ([@fredj](https://github.com/fredj))
* [#3344](https://github.com/openlayers/ol3/pull/3344) - Minor code cleanup ([@fredj](https://github.com/fredj))
* [#3237](https://github.com/openlayers/ol3/pull/3237) - Add circles to Draw interaction. ([@Morgul](https://github.com/Morgul))
* [#2691](https://github.com/openlayers/ol3/pull/2691) - Add will-change CSS properties ([@fredj](https://github.com/fredj))
* [#3336](https://github.com/openlayers/ol3/pull/3336) - Use ol.Map#getTargetElement function ([@fredj](https://github.com/fredj))
* [#3335](https://github.com/openlayers/ol3/pull/3335) - Update rbush to version 1.3.5 ([@fredj](https://github.com/fredj))
* [#3322](https://github.com/openlayers/ol3/pull/3322) - Remove unneeded map.isDef call ([@fredj](https://github.com/fredj))
* [#3327](https://github.com/openlayers/ol3/pull/3327) - Add css to dist directory ([@ahocevar](https://github.com/ahocevar))
* [#3324](https://github.com/openlayers/ol3/pull/3324) - Add interface definition for ol.SelectEvent ([@ahocevar](https://github.com/ahocevar))
* [#3315](https://github.com/openlayers/ol3/pull/3315) - Fix Tissot indicatrix example description ([@fredj](https://github.com/fredj))
* [#3312](https://github.com/openlayers/ol3/pull/3312) - Fix HiDPI support for ArcGIS REST ([@ahocevar](https://github.com/ahocevar))
* [#2910](https://github.com/openlayers/ol3/pull/2910) - Support multiple featureTpes in GML parser ([@bartvde](https://github.com/bartvde))
* [#3309](https://github.com/openlayers/ol3/pull/3309) - Fix select event always reporting as multi select ([@bjornharrtell](https://github.com/bjornharrtell))
* [#3307](https://github.com/openlayers/ol3/pull/3307) - Handle all non-degree units in ol.control.ScaleLine ([@ahocevar](https://github.com/ahocevar))

3
closure-util.json Normal file
View File

@@ -0,0 +1,3 @@
{
"library_url": "https://github.com/google/closure-library/archive/0011afd534469ba111786fe68300a634e08a4d80.zip"
}

78
config/examples-all.json Normal file
View File

@@ -0,0 +1,78 @@
{
"exports": [],
"src": [
"src/**/*.js",
"build/ol.ext/*.js",
"build/examples/all.js"
],
"compile": {
"js": [
"externs/olx.js",
"externs/oli.js"
],
"externs": [
"externs/bingmaps.js",
"externs/bootstrap.js",
"externs/closure-compiler.js",
"externs/example.js",
"externs/fastclick.js",
"externs/geojson.js",
"externs/jquery-1.9.js",
"externs/proj4js.js",
"externs/tilejson.js",
"externs/topojson.js",
"externs/vbarray.js"
],
"define": [
"goog.array.ASSUME_NATIVE_FUNCTIONS=true",
"goog.dom.ASSUME_STANDARDS_MODE=true",
"goog.json.USE_NATIVE_JSON=true",
"goog.DEBUG=false"
],
"jscomp_error": [
"accessControls",
"ambiguousFunctionDecl",
"checkEventfulObjectDisposal",
"checkRegExp",
"checkStructDictInheritance",
"checkTypes",
"checkVars",
"const",
"constantProperty",
"deprecated",
"duplicateMessage",
"es3",
"es5Strict",
"externsValidation",
"fileoverviewTags",
"globalThis",
"internetExplorerChecks",
"invalidCasts",
"misplacedTypeAnnotation",
"missingGetCssName",
"missingProperties",
"missingProvide",
"missingRequire",
"missingReturn",
"newCheckTypes",
"nonStandardJsDocs",
"suspiciousCode",
"strictModuleDepCheck",
"typeInvalidation",
"undefinedNames",
"undefinedVars",
"unknownDefines",
"uselessCode",
"visibility"
],
"extra_annotation_name": [
"api", "observable"
],
"compilation_level": "ADVANCED",
"warning_level": "VERBOSE",
"output_wrapper": "(function(){%output%})();",
"use_types_for_optimization": true,
"manage_closure_dependencies": true
}
}

View File

@@ -0,0 +1,42 @@
{
"opts": {
"recurse": true,
"template": "config/jsdoc/api/template"
},
"tags": {
"allowUnknownTags": true
},
"source": {
"includePattern": ".+\\.js(doc)?$",
"excludePattern": "(^|\\/|\\\\)_",
"include": [
"src",
"externs/oli.js",
"externs/olx.js"
]
},
"plugins": [
"node_modules/jsdoc/plugins/markdown",
"config/jsdoc/api/plugins/inheritdoc",
"config/jsdoc/api/plugins/interface",
"config/jsdoc/api/plugins/typedefs",
"config/jsdoc/api/plugins/events",
"config/jsdoc/api/plugins/observable",
"config/jsdoc/api/plugins/api"
],
"markdown": {
"parser": "gfm"
},
"stability": {
"levels": ["deprecated","experimental","unstable","stable","frozen","locked"]
},
"templates": {
"cleverLinks": true,
"monospaceLinks": true,
"default": {
"outputSourceFiles": false
},
"applicationName": "OpenLayers 3"
},
"jsVersion": 180
}

41
config/jsdoc/api/index.md Normal file
View File

@@ -0,0 +1,41 @@
<table><tr>
<th width="33.3%">Map</th><th width="33.3%">View</th><th width="33.3%">Layers</th>
</tr><tr>
<td><p>A [map](ol.Map.html) is made of [layers](ol.layer.html), a [view](ol.View.html) to visualize them, [interactions](ol.interaction.html) to modify map content and [controls](ol.control.html) with UI components.</p>
[Overview](ol.Map.html)<br>
[Creation](ol.Map.html#Map)<br>
[Events](ol.MapBrowserEvent.html)</td>
<td><p>The view manages the visual parameters of the map view, like resolution or rotation.</p>
[ol.View](ol.View.html) with center, projection, resolution and rotation</td>
<td><p>Layers are lightweight containers that get their data from [sources](ol.source.html).</p>
[ol.layer.Tile](ol.layer.Tile.html)<br>
[ol.layer.Image](ol.layer.Image.html)<br>
[ol.layer.Vector](ol.layer.Vector.html)</td>
</tr><tr>
<th>Controls</th><th>Interactions</th><th>Sources and formats</th>
</tr><tr>
<td>[Map default controls](ol.control.html#defaults)<br>
[All controls](ol.control.html)
</td>
<td>
[Map default interactions](ol.interaction.html#defaults)<br>
Interactions for [vector features](ol.Feature.html)
<ul><li>[ol.interaction.Select](ol.interaction.Select.html)</li>
<li>[ol.interaction.Draw](ol.interaction.Draw.html)</li>
<li>[ol.interaction.Modify](ol.interaction.Modify.html)</li></ul>
[All interactions](ol.interaction.html)</td>
<td>[Tile sources](ol.source.Tile.html) for [ol.layer.Tile](ol.layer.Tile.html)
<br>[Image sources](ol.source.Image.html) for [ol.layer.Image](ol.layer.Image.html)
<br>[Vector sources](ol.source.Vector.html) for [ol.layer.Vector](ol.layer.Vector.html)
<br>[Formats](ol.format.Feature.html) for reading/writing vector data
<br>[ol.format.WMSCapabilities](ol.format.WMSCapabilities.html)</td></tr>
<tr><th>Projections</th><th>2-way bindings</th><th>Other components</th></tr>
<tr><td><p>All coordinates and extents need to be provided in view projection (default: EPSG:3857). To transform, use [ol.proj.transform()](ol.proj.html#transform) and [ol.proj.transformExtent()](ol.proj.html#transformExtent).</p>
[ol.proj](ol.proj.html)</td>
<td><p>[Objects](ol.Object.html) can be kept in sync using the [bindTo()](ol.Object.html#bindTo) method.</p>
<p>A [DOM Input](ol.dom.Input.html) class is available to bind Object properties to HTML Input elements.</p></td>
<td>[ol.DeviceOrientation](ol.DeviceOrientation.html)<br>
[ol.Geolocation](ol.Geolocation.html)<br>
[ol.Overlay](ol.Overlay.html)<br>
[ol.FeatureOverlay](ol.FeatureOverlay.html)<br></td>
</tr></table>

View File

@@ -0,0 +1,130 @@
/**
* Define an @api tag
*/
var conf = env.conf.stability;
var defaultLevels = ["deprecated","experimental","unstable","stable","frozen","locked"];
var levels = conf.levels || defaultLevels;
var util = require('util');
exports.defineTags = function(dictionary) {
dictionary.defineTag('api', {
mustHaveValue: false,
canHaveType: false,
canHaveName: false,
onTagged: function(doclet, tag) {
var level = tag.text || "experimental";
if (levels.indexOf(level) >= 0) {
doclet.stability = level;
} else {
var errorText = util.format('Invalid stability level (%s) in %s line %s', tag.text, doclet.meta.filename, doclet.meta.lineno);
require('jsdoc/util/error').handle( new Error(errorText) );
}
}
});
};
/*
* Based on @stability annotations, and assuming that items with no @stability
* annotation should not be documented, this plugin removes undocumented symbols
* from the documentation.
*/
function hasApiMembers(doclet) {
return doclet.longname.split('#')[0] == this.longname;
}
function includeAugments(doclet) {
var augments = doclet.augments;
if (augments) {
var cls;
for (var i = augments.length - 1; i >= 0; --i) {
cls = classes[augments[i]];
if (cls) {
includeAugments(cls);
if (cls.fires) {
if (!doclet.fires) {
doclet.fires = [];
}
cls.fires.forEach(function(f) {
if (doclet.fires.indexOf(f) == -1) {
doclet.fires.push(f);
}
});
}
if (cls.observables) {
if (!doclet.observables) {
doclet.observables = [];
}
cls.observables.forEach(function(f) {
if (doclet.observables.indexOf(f) == -1) {
doclet.observables.push(f);
}
});
}
if (cls.longname.indexOf('oli.') !== 0) {
cls._hideConstructor = true;
delete cls.undocumented;
}
}
}
}
}
var api = [];
var classes = {};
exports.handlers = {
newDoclet: function(e) {
var doclet = e.doclet;
// Keep track of api items - needed in parseComplete to determine classes
// with api members.
if (doclet.stability) {
api.push(doclet);
}
// Mark explicity defined namespaces - needed in parseComplete to keep
// namespaces that we need as containers for api items.
if (/.*\.jsdoc$/.test(doclet.meta.filename) && doclet.kind == 'namespace') {
doclet.namespace_ = true;
}
if (doclet.kind == 'class') {
classes[doclet.longname] = doclet;
}
},
parseComplete: function(e) {
var doclets = e.doclets;
for (var i = doclets.length - 1; i >= 0; --i) {
var doclet = doclets[i];
if (doclet.stability || doclet.namespace_) {
if (doclet.kind == 'class') {
includeAugments(doclet);
}
if (doclet.fires) {
doclet.fires.sort(function(a, b) {
return a.split(/#?event:/)[1] < b.split(/#?event:/)[1] ? -1 : 1;
});
}
if (doclet.observables) {
doclet.observables.sort(function(a, b) {
return a.name < b.name ? -1 : 1;
});
}
// Always document namespaces and items with stability annotation
continue;
}
if (doclet.kind == 'class' && api.some(hasApiMembers, doclet)) {
// Mark undocumented classes with documented members as unexported.
// This is used in ../template/tmpl/container.tmpl to hide the
// constructor from the docs.
doclet._hideConstructor = true;
includeAugments(doclet);
} else if (!doclet._hideConstructor) {
// Remove all other undocumented symbols
doclet.undocumented = true;
}
}
}
};

View File

@@ -0,0 +1,43 @@
var events = {};
var classes = {};
exports.handlers = {
newDoclet: function(e) {
var doclet = e.doclet;
var cls;
if (doclet.kind == 'event') {
cls = doclet.longname.split('#')[0];
if (!(cls in events)) {
events[cls] = [];
}
events[cls].push(doclet.longname);
} else if (doclet.kind == 'class') {
classes[doclet.longname] = doclet;
}
},
parseComplete: function(e) {
var doclets = e.doclets;
var doclet, i, ii, j, jj, event, fires;
for (i = 0, ii = doclets.length - 1; i < ii; ++i) {
doclet = doclets[i];
if (doclet.fires) {
if (doclet.kind == 'class') {
fires = [];
for (j = 0, jj = doclet.fires.length; j < jj; ++j) {
event = doclet.fires[j].replace('event:', '');
if (events[event]) {
fires.push.apply(fires, events[event]);
} else {
fires.push(doclet.fires[j]);
}
}
doclet.fires = fires;
}
}
}
}
};

View File

@@ -0,0 +1,109 @@
/*
* This is a hack to prevent inheritDoc tags from entirely removing
* documentation of the method that inherits the documentation.
*
* TODO: Remove this hack when https://github.com/jsdoc3/jsdoc/issues/53
* is addressed.
*/
exports.defineTags = function(dictionary) {
dictionary.defineTag('inheritDoc', {
mustHaveValue: false,
canHaveType: false,
canHaveName: false,
onTagged: function(doclet, tag) {
doclet.inheritdoc = true;
}
});
};
var lookup = {};
var incompleteByClass = {};
var keepKeys = ['comment', 'meta', 'name', 'memberof', 'longname', 'augment',
'stability'];
exports.handlers = {
newDoclet: function(e) {
var doclet = e.doclet;
var incompletes;
if (!(doclet.longname in lookup)) {
lookup[doclet.longname] = [];
}
lookup[doclet.longname].push(doclet);
if (doclet.inheritdoc) {
if (!(doclet.memberof in incompleteByClass)) {
incompleteByClass[doclet.memberof] = [];
}
incompletes = incompleteByClass[doclet.memberof];
if (incompletes.indexOf(doclet.name) == -1) {
incompletes.push(doclet.name);
}
}
},
parseComplete: function(e) {
var ancestors, candidate, candidates, doclet, i, j, k, l, key;
var incompleteDoclet, stability, incomplete, incompletes;
var doclets = e.doclets;
for (i = doclets.length - 1; i >= 0; --i) {
doclet = doclets[i];
if (doclet.augments) {
ancestors = [].concat(doclet.augments);
}
incompletes = incompleteByClass[doclet.longname];
if (ancestors && incompletes) {
// collect ancestors from the whole hierarchy
for (j = 0; j < ancestors.length; ++j) {
candidates = lookup[ancestors[j]];
if (candidates) {
for (k = candidates.length - 1; k >= 0; --k) {
candidate = candidates[k];
if (candidate.augments) {
ancestors = ancestors.concat(candidate.augments);
}
}
}
}
// walk through all inheritDoc members
for (j = incompletes.length - 1; j >= 0; --j) {
incomplete = incompletes[j];
candidates = lookup[doclet.longname + '#' + incomplete];
if (candidates) {
// get the incomplete doclet that needs to be augmented
for (k = candidates.length - 1; k >= 0; --k) {
incompleteDoclet = candidates[k];
if (incompleteDoclet.inheritdoc) {
break;
}
}
}
// find the documented ancestor
for (k = ancestors.length - 1; k >= 0; --k) {
candidates = lookup[ancestors[k] + '#' + incomplete];
if (candidates) {
for (l = candidates.length - 1; l >= 0; --l) {
candidate = candidates[l];
if (candidate && !candidate.inheritdoc) {
stability = candidate.stability || incompleteDoclet.stability;
if (stability) {
incompleteDoclet.stability = stability;
for (key in candidate) {
if (candidate.hasOwnProperty(key) &&
keepKeys.indexOf(key) == -1) {
incompleteDoclet[key] = candidate[key];
}
}
}
}
}
}
}
}
}
}
}
};

View File

@@ -0,0 +1,25 @@
exports.defineTags = function(dictionary) {
var classTag = dictionary.lookUp('class');
dictionary.defineTag('interface', {
mustHaveValue: false,
onTagged: function(doclet, tag) {
classTag.onTagged.apply(this, arguments);
doclet.interface = true;
}
});
var augmentsTag = dictionary.lookUp('augments');
dictionary.defineTag('implements', {
mustHaveValue: true,
onTagged: function(doclet, tag) {
tag.value = tag.value.match(/^\{?([^\}]*)\}?$/)[1];
augmentsTag.onTagged.apply(this, arguments);
if (!doclet.implements) {
doclet.implements = [];
}
doclet.implements.push(tag.value);
}
});
};

View File

@@ -0,0 +1,69 @@
var classes = {};
var observables = {};
exports.handlers = {
newDoclet: function(e) {
var doclet = e.doclet;
if (doclet.kind == 'class') {
classes[doclet.longname] = doclet;
}
},
parseComplete: function(e) {
var doclets = e.doclets;
var cls, doclet, event, i, ii, observable;
for (i = 0, ii = doclets.length - 1; i < ii; ++i) {
doclet = doclets[i];
cls = classes[doclet.longname.split('#')[0]];
if (typeof doclet.observable == 'string' && cls) {
var name = doclet.name.replace(/^[sg]et/, '');
name = name.substr(0, 1).toLowerCase() + name.substr(1);
var key = doclet.longname.split('#')[0] + '#' + name;
doclet.observable = key;
if (!observables[key]) {
observables[key] = {};
}
observable = observables[key];
observable.name = name;
observable.readonly = typeof observable.readonly == 'boolean' ?
observable.readonly : true;
if (doclet.name.indexOf('get') === 0) {
observable.type = doclet.returns[0].type;
observable.description = doclet.returns[0].description;
} else if (doclet.name.indexOf('set') === 0) {
observable.readonly = false;
}
if (doclet.stability) {
observable.stability = doclet.stability;
}
if (!cls.observables) {
cls.observables = [];
}
observable = observables[doclet.observable];
if (cls.observables.indexOf(observable) == -1) {
cls.observables.push(observable);
}
if (!cls.fires) {
cls.fires = [];
}
event = 'ol.ObjectEvent#event:change:' + name;
if (cls.fires.indexOf(event) == -1) {
cls.fires.push(event);
}
}
}
}
};
exports.defineTags = function(dictionary) {
dictionary.defineTag('observable', {
mustNotHaveValue: true,
canHaveType: false,
canHaveName: false,
onTagged: function(doclet, tag) {
doclet.observable = '';
}
});
};

View File

@@ -0,0 +1,63 @@
/*
* Converts olx.js @type annotations into properties of the previous @typedef.
* Changes @enum annotations into @typedef.
*/
var lastOlxTypedef = null;
var olxTypes = {};
function addSubparams(params) {
for (var j = 0, jj = params.length; j < jj; ++j) {
var param = params[j];
var types = param.type.names;
for (var k = 0, kk = types.length; k < kk; ++k) {
var name = types[k];
if (name in olxTypes) {
param.subparams = olxTypes[name];
// TODO addSubparams(param.subparams);
// TODO Do we need to support multiple object literal types per
// param?
break;
}
}
}
}
exports.handlers = {
newDoclet: function(e) {
var doclet = e.doclet;
if (doclet.meta.filename == 'olx.js') {
// do nothing if not marked @api
if (!doclet.stability) {
return;
}
if (doclet.kind == 'typedef') {
lastOlxTypedef = doclet;
olxTypes[doclet.longname] = [];
doclet.properties = [];
} else if (lastOlxTypedef && doclet.memberof == lastOlxTypedef.longname) {
lastOlxTypedef.properties.push(doclet);
olxTypes[lastOlxTypedef.longname].push(doclet);
} else {
lastOlxTypedef = null;
}
} else if (doclet.isEnum) {
// We never export enums, so we document them like typedefs
doclet.kind = 'typedef';
delete doclet.isEnum;
}
},
parseComplete: function(e) {
var doclets = e.doclets;
for (var i = doclets.length - 1; i >= 0; --i) {
var doclet = doclets[i];
var params = doclet.params;
if (params) {
addSubparams(params);
}
}
}
};

View File

@@ -0,0 +1,78 @@
# API Documentation
This directory contains configuration (`conf.json`), static content (`index.md`), template (`template/`) and plugins (`plugins/`) for the [JSDoc3](http://usejsdoc.org/) API generator.
## Documenting the source code
JSDoc annotations are used for metadata used by the compiler, for defining the user facing API, and for user documentation.
In the simplest case, a JSDoc block can look like this:
```js
/**
* Add the given control to the map.
* @param {ol.control.Control} control Control.
* @api
*/
ol.Map.prototype.addControl = function(control) {
// ...
};
```
The first line is text for the user documentation. This can be long, and it can
contain Markdown.
The second line tells the Closure compiler the type of the argument.
The third line (`@api`) marks the method as part of the api and thus exportable. The stability can be added as value, e.g. `@api stable`. Without such an api annotation, the method will not be documented in the generated API documentation. Symbols without an api annotation will also not be exportable (unless they are explicitly exported with a `goog.exportProperty` call).
### Events
Events are documented using `@fires` and `@event` annotations:
```js
/**
* Constants for event names.
* @enum {string}
*/
ol.MapBrowserEvent.EventType = {
/**
* A true single click with no dragging and no double click. Note that this
* event is delayed by 250 ms to ensure that it is not a double click.
* @event ol.MapBrowserEvent#singleclick
* @api
*/
SINGLECLICK: 'singleclick',
// ...
};
```
Note the value of the `@event` annotation. The text before the hash refers to the event class that the event belongs to, and the text after the hash is the type of the event.
To export event properties, they need to be defined in `externs/oli.js` (also see `readme.md` in `externs/`) and marked with an @api annotation:
```js
/** @interface */
oli.MapBrowserEvent;
/**
* @type {ol.Coordinate}
* @api
*/
oli.MapBrowserEvent.prototype.coordinate;
// ...
};
```
To document which events are fired by a class or method, the `@fires` annotation is used:
```js
/**
* @fires ol.MapBrowserEvent
* @fires ol.MapEvent
* @fires ol.render.Event
* ...
*/
ol.Map = function(options) {
// ...
};
```
### Observable Properties
Observable properties are documented using the `@observable` annotation. This annotation is added to the getter of an observable property. If an observable property is also settable, the setter is annotated with `@observable` as well.

View File

@@ -0,0 +1,3 @@
This template is based on the [Jaguar](https://github.com/davidshimjs/jaguarjs/tree/master/docs/templates/jaguar) template. [JaguarJS](https://github.com/davidshimjs/jaguarjs) is licensed under the [LGPL license](https://github.com/davidshimjs/jaguarjs/tree/master/LICENSE).
The default template for JSDoc 3 uses: [the Taffy Database library](http://taffydb.com/) and the [Underscore Template library](http://documentcloud.github.com/underscore/#template).

View File

@@ -0,0 +1,9 @@
@navWidth: 250px;
@colorSubtitle: rgb(119, 156, 52);
@colorRed: rgb(238, 125, 125);
@colorLink: #2a6496;
@colorBgNavi: #2a2a2a;
.font-description () {
font-family: "freight-text-pro",Georgia,Cambria,"Times New Roman",Times,serif
}

View File

@@ -0,0 +1,10 @@
@import "common.less";
footer {
margin: 15px 0;
padding-top: 15px;
border-top: 1px solid #e1e1e1;
.font-description();
font-size: 0.8em;
color: gray;
}

View File

@@ -0,0 +1,22 @@
@import "common.less";
// normalize
html, body {
font: 1em "jaf-bernino-sans","Lucida Grande","Lucida Sans Unicode","Lucida Sans",Geneva,Verdana,sans-serif;
background-color: #fff;
}
ul, ol {
margin: 0;
padding: 0;
}
li {
list-style-type: none;
}
#wrap {
position: relative;
}
@import "navigation.less";
@import "main.less";
@import "footer.less";

View File

@@ -0,0 +1,288 @@
@import "common.less";
.main {
padding: 20px 20px;
margin-left: @navWidth;
.page-title {
display: none;
}
h1 {
font-weight: bold;
font-size: 1.6em;
margin: 0;
}
h2 {
font-weight: bold;
font-size: 1.5em;
margin: 0;
}
h3 {
font-weight: bold;
font-size: 12px;
margin: 5px 0;
}
h4 {
font-weight: bold;
font-size: 1em;
}
h5 {
font-weight: bold;
font-size: 12px;
}
dd {
font-size: 12px;
}
h4.name {
span.type-signature {
display: inline-block;
border-radius: 3px;
background-color: gray;
color: #fff;
font-size: 0.7em;
padding: 2px 4px;
}
span.type {
margin-left: 5px;
}
span.glyphicon {
display: inline-block;
vertical-align: middle;
color: #e1e1e1;
margin-left: 7px;
}
span.returnType {
margin-left: 3px;
background-color: transparent!important;
color: gray!important;
}
}
span.static {
display: inline-block;
border-radius: 3px;
background-color: @colorSubtitle!important;
color: #fff;
font-size: 0.7em;
padding: 2px 4px;
margin-right: 8px;
}
span.number {
background-color: #ccc!important;
color: #2fa2b1!important;
}
span.string {
background-color: #ccc!important;
color: #2fa2b1!important;
}
span.object {
background-color: #ccc!important;
color: #2fa2b1!important;
}
span.array {
background-color: #ccc!important;
color: #2fa2b1!important;
}
span.boolean {
background-color: #ccc!important;
color: #2fa2b1!important;
}
.subsection-title {
font-size: 14px;
margin-top: 30px;
color: @colorSubtitle;
}
.description {
margin-top: 10px;
// .font-description();
font-size: 13px;
p {
font-size: 13px;
}
}
.tag-source {
font-size: 12px;
}
dt.tag-source {
margin-top: 5px;
}
dt.tag-todo {
font-size: 10px;
display: inline-block;
background-color: @colorLink;
color: #fff;
padding: 2px 4px;
border-radius: 5px;
}
.type-signature {
font-size: 12px;
}
.tag-deprecated {
display: inline-block;
font-size: 10px;
}
.important {
background-color: @colorRed;
color: #fff;
padding: 2px 4px;
border-radius: 5px;
}
.nameContainer {
position: relative;
margin-top: 20px;
padding-top: 5px;
border-top: 1px solid #e1e1e1;
.inherited {
display: inline-block;
border-radius: 3px;
background-color: #888!important;
font-size: 0.7em;
padding: 2px 4px;
margin-right: 5px;
a {
color: #fff;
}
}
.tag-source {
position: absolute;
top: 17px;
right: 0;
font-size: 10px;
a {
color: gray;
}
}
&.inherited {
color: gray;
}
h4 {
margin-right: 150px;
line-height: 1.3;
.signature {
font-size: 13px;
font-weight: normal;
font-family: Menlo,Monaco,Consolas,"Courier New",monospace;
}
}
}
pre {
font-size: 11px;
}
table {
width: 100%;
margin-bottom: 15px;
th {
padding: 3px 3px;
}
td {
vertical-align: top;
padding: 5px 3px;
}
.name {
width: 110px;
}
.type {
width: 60px;
color: #aaa;
font-size: 11px;
}
.attributes {
width: 80px;
color: #aaa;
font-size: 11px;
}
.description {
font-size: 12px;
p {
margin: 0;
}
}
.optional {
float: left;
border-radius: 3px;
background-color: #ddd!important;
font-size: 0.7em;
padding: 2px 4px;
margin-right: 5px;
color: gray;
}
}
.readme {
p {
margin-top: 15px;
line-height: 1.2;
font-size: 0.85em;
}
h1 {
font-size: 1.7em;
}
h2 {
margin-top: 30px;
margin-bottom: 10px;
padding-bottom: 10px;
border-bottom: 1px solid #e1e1e1;
}
li {
font-size: 0.9em;
margin-bottom: 10px;
}
}
article {
ol, ul {
margin-left: 25px;
}
ol > li {
list-style-type: decimal;
margin-bottom: 5px;
}
ul > li {
margin-bottom: 5px;
list-style-type: disc;
}
}
}

View File

@@ -0,0 +1,103 @@
@import "common.less";
::-webkit-scrollbar {
width: 8px;
background-color: transparent;
}
::-webkit-scrollbar-thumb {
background-color: gray;
border-radius: 4px;
}
.navigation {
position: fixed;
float: left;
width: @navWidth;
height: 100%;
background-color: @colorBgNavi;
.applicationName {
margin: 0;
margin-top: 15px;
padding: 10px 15px;
font: bold 1.25em Helvetica;
color: #fff;
a {
color: #fff;
}
}
.search {
padding: 10px 15px;
input {
background-color: #333;
color: #fff;
border-color: #555;
}
}
.list {
padding: 10px 15px 0 15px;
position: relative;
overflow: auto;
width: 100%;
}
li.item {
margin-bottom: 8px;
padding-bottom: 8px;
border-bottom: 1px solid #333;
a {
color: #bbb;
&:hover {
color: #fff;
}
}
.title {
cursor: pointer;
position: relative;
a {
color: #e1e1e1;
&:hover {
color: #fff;
}
}
display: block;
font-size: 0.8em;
.static {
display: block;
border-radius: 3px;
background-color: @colorSubtitle;
color: #000;
font-size: 0.7em;
padding: 2px 4px;
float: right;
}
}
.subtitle {
margin-top: 10px;
font: bold 0.65em Helvetica;
color: @colorSubtitle;
display: block;
}
ul {
& > li {
font-size: 0.7em;
padding-left: 8px;
margin-top: 2px;
}
}
.itemMembers {
display: none;
}
}
}

View File

@@ -0,0 +1,513 @@
/*global env: true */
var template = require('jsdoc/template'),
fs = require('jsdoc/fs'),
path = require('jsdoc/path'),
taffy = require('taffydb').taffy,
handle = require('jsdoc/util/error').handle,
helper = require('jsdoc/util/templateHelper'),
_ = require('underscore'),
htmlsafe = helper.htmlsafe,
linkto = helper.linkto,
resolveAuthorLinks = helper.resolveAuthorLinks,
scopeToPunc = helper.scopeToPunc,
hasOwnProp = Object.prototype.hasOwnProperty,
data,
view,
outdir = env.opts.destination;
function find(spec) {
return helper.find(data, spec);
}
function tutoriallink(tutorial) {
return helper.toTutorial(tutorial, null, { tag: 'em', classname: 'disabled', prefix: 'Tutorial: ' });
}
function getAncestorLinks(doclet) {
return helper.getAncestorLinks(data, doclet);
}
function hashToLink(doclet, hash) {
if ( !/^(#.+)/.test(hash) ) { return hash; }
var url = helper.createLink(doclet);
url = url.replace(/(#.+|$)/, hash);
return '<a href="' + url + '">' + hash + '</a>';
}
function needsSignature(doclet) {
var needsSig = false;
// function and class definitions always get a signature
if (doclet.kind === 'function' || doclet.kind === 'class') {
needsSig = true;
}
// typedefs that contain functions get a signature, too
else if (doclet.kind === 'typedef' && doclet.type && doclet.type.names &&
doclet.type.names.length) {
for (var i = 0, l = doclet.type.names.length; i < l; i++) {
if (doclet.type.names[i].toLowerCase() === 'function') {
needsSig = true;
break;
}
}
}
return needsSig;
}
function addSignatureParams(f) {
var params = helper.getSignatureParams(f, 'optional');
f.signature = (f.signature || '') + '('+params.join(', ')+')';
}
function addSignatureReturns(f) {
var returnTypes = helper.getSignatureReturns(f);
f.signature = '<span class="signature">'+(f.signature || '') + '</span>';
if (returnTypes.length) {
f.signature += '<span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">'+(returnTypes.length ? '{'+returnTypes.join('|')+'}' : '')+'</span>';
}
}
function addSignatureTypes(f) {
var types = helper.getSignatureTypes(f);
f.signature = (f.signature || '') + '<span class="type-signature">'+(types.length? ' :'+types.join('|') : '')+' </span>';
}
function shortenPaths(files, commonPrefix) {
// always use forward slashes
var regexp = new RegExp('\\\\', 'g');
Object.keys(files).forEach(function(file) {
files[file].shortened = files[file].resolved.replace(commonPrefix, '')
.replace(regexp, '/');
});
return files;
}
function resolveSourcePath(filepath) {
return path.resolve(process.cwd(), filepath);
}
function getPathFromDoclet(doclet) {
if (!doclet.meta) {
return;
}
var filepath = doclet.meta.path && doclet.meta.path !== 'null' ?
doclet.meta.path + '/' + doclet.meta.filename.split(/[\/\\]/).pop() :
doclet.meta.filename;
return filepath;
}
function generate(title, docs, filename, resolveLinks) {
resolveLinks = resolveLinks === false ? false : true;
var docData = {
filename: filename,
title: title,
docs: docs
};
var outpath = path.join(outdir, filename),
html = view.render('container.tmpl', docData);
if (resolveLinks) {
html = helper.resolveLinks(html); // turn {@link foo} into <a href="foodoc.html">foo</a>
}
fs.writeFileSync(outpath, html, 'utf8');
}
function generateSourceFiles(sourceFiles) {
Object.keys(sourceFiles).forEach(function(file) {
var source;
// links are keyed to the shortened path in each doclet's `meta.filename` property
var sourceOutfile = helper.getUniqueFilename(sourceFiles[file].shortened);
helper.registerLink(sourceFiles[file].shortened, sourceOutfile);
try {
source = {
kind: 'source',
code: helper.htmlsafe( fs.readFileSync(sourceFiles[file].resolved, 'utf8') )
};
}
catch(e) {
handle(e);
}
generate('Source: ' + sourceFiles[file].shortened, [source], sourceOutfile,
false);
});
}
/**
* Look for classes or functions with the same name as modules (which indicates that the module
* exports only that class or function), then attach the classes or functions to the `module`
* property of the appropriate module doclets. The name of each class or function is also updated
* for display purposes. This function mutates the original arrays.
*
* @private
* @param {Array.<module:jsdoc/doclet.Doclet>} doclets - The array of classes and functions to
* check.
* @param {Array.<module:jsdoc/doclet.Doclet>} modules - The array of module doclets to search.
*/
function attachModuleSymbols(doclets, modules) {
var symbols = {};
// build a lookup table
doclets.forEach(function(symbol) {
symbols[symbol.longname] = symbol;
});
return modules.map(function(module) {
if (symbols[module.longname]) {
module.module = symbols[module.longname];
module.module.name = module.module.name.replace('module:', 'require("') + '")';
}
});
}
/**
* Create the navigation sidebar.
* @param {object} members The members that will be used to create the sidebar.
* @param {array<object>} members.classes
* @param {array<object>} members.externals
* @param {array<object>} members.globals
* @param {array<object>} members.mixins
* @param {array<object>} members.modules
* @param {array<object>} members.namespaces
* @param {array<object>} members.tutorials
* @param {array<object>} members.events
* @return {string} The HTML for the navigation sidebar.
*/
function buildNav(members) {
var nav = [];
// merge namespaces and classes, then sort
var merged = members.namespaces.concat(members.classes);
merged.sort(function (a, b) {
if (a.longname > b.longname)
return 1;
if (a.longname < b.longname)
return -1;
return 0;
});
_.each(merged, function (v) {
// exclude 'olx' and interfaces from sidebar
if (v.longname.indexOf('olx') !== 0 && v.interface !== true) {
if (v.kind == 'namespace') {
nav.push({
type: 'namespace',
longname: v.longname,
name: v.name,
members: find({
kind: 'member',
memberof: v.longname
}),
methods: find({
kind: 'function',
memberof: v.longname
}),
typedefs: find({
kind: 'typedef',
memberof: v.longname
}),
events: find({
kind: 'event',
memberof: v.longname
})
});
}
if (v.kind == 'class') {
nav.push({
type: 'class',
longname: v.longname,
name: v.name,
members: find({
kind: 'member',
memberof: v.longname
}),
methods: find({
kind: 'function',
memberof: v.longname
}),
typedefs: find({
kind: 'typedef',
memberof: v.longname
}),
fires: v.fires,
events: find({
kind: 'event',
memberof: v.longname
})
});
}
}
});
return nav;
}
/**
@param {TAFFY} taffyData See <http://taffydb.com/>.
@param {object} opts
@param {Tutorial} tutorials
*/
exports.publish = function(taffyData, opts, tutorials) {
data = taffyData;
var conf = env.conf.templates || {};
conf['default'] = conf['default'] || {};
var templatePath = opts.template;
view = new template.Template(templatePath + '/tmpl');
// claim some special filenames in advance, so the All-Powerful Overseer of Filename Uniqueness
// doesn't try to hand them out later
var indexUrl = helper.getUniqueFilename('index');
// don't call registerLink() on this one! 'index' is also a valid longname
var globalUrl = helper.getUniqueFilename('global');
helper.registerLink('global', globalUrl);
// set up templating
view.layout = 'layout.tmpl';
// set up tutorials for helper
helper.setTutorials(tutorials);
data = helper.prune(data);
data.sort('longname, version, since');
helper.addEventListeners(data);
var sourceFiles = {};
var sourceFilePaths = [];
data().each(function(doclet) {
doclet.attribs = '';
if (doclet.examples) {
doclet.examples = doclet.examples.map(function(example) {
var caption, code;
if (example.match(/^\s*<caption>([\s\S]+?)<\/caption>(\s*[\n\r])([\s\S]+)$/i)) {
caption = RegExp.$1;
code = RegExp.$3;
}
return {
caption: caption || '',
code: code || example
};
});
}
if (doclet.see) {
doclet.see.forEach(function(seeItem, i) {
doclet.see[i] = hashToLink(doclet, seeItem);
});
}
// build a list of source files
var sourcePath;
var resolvedSourcePath;
if (doclet.meta) {
sourcePath = getPathFromDoclet(doclet);
resolvedSourcePath = resolveSourcePath(sourcePath);
sourceFiles[sourcePath] = {
resolved: resolvedSourcePath,
shortened: null
};
sourceFilePaths.push(resolvedSourcePath);
}
});
// update outdir if necessary, then create outdir
var packageInfo = ( find({kind: 'package'}) || [] ) [0];
if (packageInfo && packageInfo.name) {
outdir = path.join(outdir, packageInfo.name, packageInfo.version);
}
fs.mkPath(outdir);
// copy the template's static files to outdir
var fromDir = path.join(templatePath, 'static');
var staticFiles = fs.ls(fromDir, 3);
staticFiles.forEach(function(fileName) {
var toDir = fs.toDir( fileName.replace(fromDir, outdir) );
fs.mkPath(toDir);
fs.copyFileSync(fileName, toDir);
});
// copy user-specified static files to outdir
var staticFilePaths;
var staticFileFilter;
var staticFileScanner;
if (conf['default'].staticFiles) {
staticFilePaths = conf['default'].staticFiles.paths || [];
staticFileFilter = new (require('jsdoc/src/filter')).Filter(conf['default'].staticFiles);
staticFileScanner = new (require('jsdoc/src/scanner')).Scanner();
staticFilePaths.forEach(function(filePath) {
var extraStaticFiles = staticFileScanner.scan([filePath], 10, staticFileFilter);
extraStaticFiles.forEach(function(fileName) {
var sourcePath = fs.statSync(filePath).isDirectory() ? filePath :
path.dirname(filePath);
var toDir = fs.toDir( fileName.replace(sourcePath, outdir) );
fs.mkPath(toDir);
fs.copyFileSync(fileName, toDir);
});
});
}
if (sourceFilePaths.length) {
sourceFiles = shortenPaths( sourceFiles, path.commonPrefix(sourceFilePaths) );
}
data().each(function(doclet) {
var url = helper.createLink(doclet);
helper.registerLink(doclet.longname, url);
// replace the filename with a shortened version of the full path
var docletPath;
if (doclet.meta) {
docletPath = getPathFromDoclet(doclet);
docletPath = sourceFiles[docletPath].shortened;
if (docletPath) {
doclet.meta.filename = docletPath;
}
}
});
data().each(function(doclet) {
var url = helper.longnameToUrl[doclet.longname];
if (url.indexOf('#') > -1) {
doclet.id = helper.longnameToUrl[doclet.longname].split(/#/).pop();
}
else {
doclet.id = doclet.name;
}
if ( needsSignature(doclet) ) {
addSignatureParams(doclet);
addSignatureReturns(doclet);
}
});
// do this after the urls have all been generated
data().each(function(doclet) {
doclet.ancestors = getAncestorLinks(doclet);
if (doclet.kind === 'member') {
addSignatureTypes(doclet);
}
if (doclet.kind === 'constant') {
addSignatureTypes(doclet);
doclet.kind = 'member';
}
});
var members = helper.getMembers(data);
members.tutorials = tutorials.children;
// add template helpers
view.find = find;
view.linkto = linkto;
view.resolveAuthorLinks = resolveAuthorLinks;
view.tutoriallink = tutoriallink;
view.htmlsafe = htmlsafe;
view.members = members; //@davidshimjs: To make navigation for customizing
// once for all
view.nav = buildNav(members);
attachModuleSymbols( find({ kind: ['class', 'function'], longname: {left: 'module:'} }),
members.modules );
// only output pretty-printed source files if requested; do this before generating any other
// pages, so the other pages can link to the source files
if (conf['default'].outputSourceFiles) {
generateSourceFiles(sourceFiles);
}
if (members.globals.length) { generate('Global', [{kind: 'globalobj'}], globalUrl); }
// index page displays information from package.json and lists files
var files = find({kind: 'file'}),
packages = find({kind: 'package'});
generate('Index',
packages.concat(
[{kind: 'mainpage', readme: opts.readme, longname: (opts.mainpagetitle) ? opts.mainpagetitle : 'Main Page'}]
).concat(files),
indexUrl);
// set up the lists that we'll use to generate pages
var classes = taffy(members.classes);
var modules = taffy(members.modules);
var namespaces = taffy(members.namespaces);
var mixins = taffy(members.mixins);
var externals = taffy(members.externals);
for (var longname in helper.longnameToUrl) {
if ( hasOwnProp.call(helper.longnameToUrl, longname) ) {
var myClasses = helper.find(classes, {longname: longname});
if (myClasses.length) {
generate('Class: ' + myClasses[0].name, myClasses, helper.longnameToUrl[longname]);
}
var myModules = helper.find(modules, {longname: longname});
if (myModules.length) {
generate('Module: ' + myModules[0].name, myModules, helper.longnameToUrl[longname]);
}
var myNamespaces = helper.find(namespaces, {longname: longname});
if (myNamespaces.length) {
generate('Namespace: ' + myNamespaces[0].name, myNamespaces, helper.longnameToUrl[longname]);
}
var myMixins = helper.find(mixins, {longname: longname});
if (myMixins.length) {
generate('Mixin: ' + myMixins[0].name, myMixins, helper.longnameToUrl[longname]);
}
var myExternals = helper.find(externals, {longname: longname});
if (myExternals.length) {
generate('External: ' + myExternals[0].name, myExternals, helper.longnameToUrl[longname]);
}
}
}
// TODO: move the tutorial functions to templateHelper.js
function generateTutorial(title, tutorial, filename) {
var tutorialData = {
title: title,
header: tutorial.title,
content: tutorial.parse(),
children: tutorial.children
};
var tutorialPath = path.join(outdir, filename),
html = view.render('tutorial.tmpl', tutorialData);
// yes, you can use {@link} in tutorials too!
html = helper.resolveLinks(html); // turn {@link foo} into <a href="foodoc.html">foo</a>
fs.writeFileSync(tutorialPath, html, 'utf8');
}
// tutorials can have only one parent so there is no risk for loops
function saveChildren(node) {
node.children.forEach(function(child) {
generateTutorial('Tutorial: ' + child.title, child, helper.tutorialToUrl(child.name));
saveChildren(child);
});
}
saveChildren(tutorials);
};

View File

@@ -0,0 +1,229 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata></metadata>
<defs>
<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
<font-face units-per-em="1200" ascent="960" descent="-240" />
<missing-glyph horiz-adv-x="500" />
<glyph />
<glyph />
<glyph unicode="&#xd;" />
<glyph unicode=" " />
<glyph unicode="*" d="M100 500v200h259l-183 183l141 141l183 -183v259h200v-259l183 183l141 -141l-183 -183h259v-200h-259l183 -183l-141 -141l-183 183v-259h-200v259l-183 -183l-141 141l183 183h-259z" />
<glyph unicode="+" d="M0 400v300h400v400h300v-400h400v-300h-400v-400h-300v400h-400z" />
<glyph unicode="&#xa0;" />
<glyph unicode="&#x2000;" horiz-adv-x="652" />
<glyph unicode="&#x2001;" horiz-adv-x="1304" />
<glyph unicode="&#x2002;" horiz-adv-x="652" />
<glyph unicode="&#x2003;" horiz-adv-x="1304" />
<glyph unicode="&#x2004;" horiz-adv-x="434" />
<glyph unicode="&#x2005;" horiz-adv-x="326" />
<glyph unicode="&#x2006;" horiz-adv-x="217" />
<glyph unicode="&#x2007;" horiz-adv-x="217" />
<glyph unicode="&#x2008;" horiz-adv-x="163" />
<glyph unicode="&#x2009;" horiz-adv-x="260" />
<glyph unicode="&#x200a;" horiz-adv-x="72" />
<glyph unicode="&#x202f;" horiz-adv-x="260" />
<glyph unicode="&#x205f;" horiz-adv-x="326" />
<glyph unicode="&#x20ac;" d="M100 500l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-62.5 -32t-65.5 -67t-50.5 -107h379l-100 -100h-300q-6 -46 -6 -100h406l-100 -100 h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-205 0 -324 158q-36 46 -69 131.5t-45 205.5h-217z" />
<glyph unicode="&#x2212;" d="M200 400h900v300h-900v-300z" />
<glyph unicode="&#x2601;" d="M-14 494q0 -80 56.5 -137t135.5 -57h750q120 0 205 86t85 208q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5z" />
<glyph unicode="&#x2709;" d="M0 100l400 400l200 -200l200 200l400 -400h-1200zM0 300v600l300 -300zM0 1100l600 -603l600 603h-1200zM900 600l300 300v-600z" />
<glyph unicode="&#x270f;" d="M-13 -13l333 112l-223 223zM187 403l214 -214l614 614l-214 214zM887 1103l214 -214l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13z" />
<glyph unicode="&#xe000;" horiz-adv-x="500" d="M0 0z" />
<glyph unicode="&#xe001;" d="M0 1200h1200l-500 -550v-550h300v-100h-800v100h300v550z" />
<glyph unicode="&#xe002;" d="M14 84q18 -55 86 -75.5t147 5.5q65 21 109 69t44 90v606l600 155v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -111q17 -55 85.5 -75.5t147.5 4.5q70 23 111.5 63.5t41.5 95.5v881q0 10 -7 15.5t-17 2.5l-752 -193q-10 -3 -17 -12.5t-7 -19.5v-689q-64 17 -138 -7 q-79 -25 -122.5 -82t-25.5 -112z" />
<glyph unicode="&#xe003;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" />
<glyph unicode="&#xe005;" d="M100 784q0 64 28 123t73 100.5t104.5 64t119 20.5t120 -38.5t104.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5 t-94 124.5t-33.5 117.5z" />
<glyph unicode="&#xe006;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1z" />
<glyph unicode="&#xe007;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1zM237 700l196 -142l-73 -226l192 140l195 -141l-74 229l193 140h-235l-77 211l-78 -211h-239z" />
<glyph unicode="&#xe008;" d="M0 0v143l400 257v100q-37 0 -68.5 74.5t-31.5 125.5v200q0 124 88 212t212 88t212 -88t88 -212v-200q0 -51 -31.5 -125.5t-68.5 -74.5v-100l400 -257v-143h-1200z" />
<glyph unicode="&#xe009;" d="M0 0v1100h1200v-1100h-1200zM100 100h100v100h-100v-100zM100 300h100v100h-100v-100zM100 500h100v100h-100v-100zM100 700h100v100h-100v-100zM100 900h100v100h-100v-100zM300 100h600v400h-600v-400zM300 600h600v400h-600v-400zM1000 100h100v100h-100v-100z M1000 300h100v100h-100v-100zM1000 500h100v100h-100v-100zM1000 700h100v100h-100v-100zM1000 900h100v100h-100v-100z" />
<glyph unicode="&#xe010;" d="M0 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM0 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5zM600 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM600 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe011;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 450v200q0 21 14.5 35.5t35.5 14.5h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe012;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v200q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5 t-14.5 -35.5v-200zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe013;" d="M29 454l419 -420l818 820l-212 212l-607 -607l-206 207z" />
<glyph unicode="&#xe014;" d="M106 318l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282l-212 -212l-282 282l-282 -282z" />
<glyph unicode="&#xe015;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233zM300 600v200h100v100h200v-100h100v-200h-100v-100h-200v100h-100z" />
<glyph unicode="&#xe016;" d="M23 694q0 200 142 342t342 142t342 -142t142 -342q0 -141 -78 -262l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300 299q-120 -77 -261 -77q-200 0 -342 142t-142 342zM176 694q0 -136 97 -233t234 -97t233.5 97t96.5 233t-96.5 233t-233.5 97t-234 -97 t-97 -233zM300 601h400v200h-400v-200z" />
<glyph unicode="&#xe017;" d="M23 600q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5 zM500 750q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400z" />
<glyph unicode="&#xe018;" d="M100 1h200v300h-200v-300zM400 1v500h200v-500h-200zM700 1v800h200v-800h-200zM1000 1v1200h200v-1200h-200z" />
<glyph unicode="&#xe019;" d="M26 601q0 -33 6 -74l151 -38l2 -6q14 -49 38 -93l3 -5l-80 -134q45 -59 105 -105l133 81l5 -3q45 -26 94 -39l5 -2l38 -151q40 -5 74 -5q27 0 74 5l38 151l6 2q46 13 93 39l5 3l134 -81q56 44 104 105l-80 134l3 5q24 44 39 93l1 6l152 38q5 40 5 74q0 28 -5 73l-152 38 l-1 6q-16 51 -39 93l-3 5l80 134q-44 58 -104 105l-134 -81l-5 3q-45 25 -93 39l-6 1l-38 152q-40 5 -74 5q-27 0 -74 -5l-38 -152l-5 -1q-50 -14 -94 -39l-5 -3l-133 81q-59 -47 -105 -105l80 -134l-3 -5q-25 -47 -38 -93l-2 -6l-151 -38q-6 -48 -6 -73zM385 601 q0 88 63 151t152 63t152 -63t63 -151q0 -89 -63 -152t-152 -63t-152 63t-63 152z" />
<glyph unicode="&#xe020;" d="M100 1025v50q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-50q0 -11 -7 -18t-18 -7h-1050q-11 0 -18 7t-7 18zM200 100v800h900v-800q0 -41 -29.5 -71t-70.5 -30h-700q-41 0 -70.5 30 t-29.5 71zM300 100h100v700h-100v-700zM500 100h100v700h-100v-700zM500 1100h300v100h-300v-100zM700 100h100v700h-100v-700zM900 100h100v700h-100v-700z" />
<glyph unicode="&#xe021;" d="M1 601l656 644l644 -644h-200v-600h-300v400h-300v-400h-300v600h-200z" />
<glyph unicode="&#xe022;" d="M100 25v1150q0 11 7 18t18 7h475v-500h400v-675q0 -11 -7 -18t-18 -7h-850q-11 0 -18 7t-7 18zM700 800v300l300 -300h-300z" />
<glyph unicode="&#xe023;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 500v400h100 v-300h200v-100h-300z" />
<glyph unicode="&#xe024;" d="M-100 0l431 1200h209l-21 -300h162l-20 300h208l431 -1200h-538l-41 400h-242l-40 -400h-539zM488 500h224l-27 300h-170z" />
<glyph unicode="&#xe025;" d="M0 0v400h490l-290 300h200v500h300v-500h200l-290 -300h490v-400h-1100zM813 200h175v100h-175v-100z" />
<glyph unicode="&#xe026;" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM188 600q0 -170 121 -291t291 -121t291 121t121 291t-121 291t-291 121 t-291 -121t-121 -291zM350 600h150v300h200v-300h150l-250 -300z" />
<glyph unicode="&#xe027;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM350 600l250 300 l250 -300h-150v-300h-200v300h-150z" />
<glyph unicode="&#xe028;" d="M0 25v475l200 700h800q199 -700 200 -700v-475q0 -11 -7 -18t-18 -7h-1150q-11 0 -18 7t-7 18zM200 500h200l50 -200h300l50 200h200l-97 500h-606z" />
<glyph unicode="&#xe029;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 397v401 l297 -200z" />
<glyph unicode="&#xe030;" d="M23 600q0 -118 45.5 -224.5t123 -184t184 -123t224.5 -45.5t224.5 45.5t184 123t123 184t45.5 224.5h-150q0 -177 -125 -302t-302 -125t-302 125t-125 302t125 302t302 125q136 0 246 -81l-146 -146h400v400l-145 -145q-157 122 -355 122q-118 0 -224.5 -45.5t-184 -123 t-123 -184t-45.5 -224.5z" />
<glyph unicode="&#xe031;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5q198 0 355 -122l145 145v-400h-400l147 147q-112 80 -247 80q-177 0 -302 -125t-125 -302h-150zM100 0v400h400l-147 -147q112 -80 247 -80q177 0 302 125t125 302h150q0 -118 -45.5 -224.5t-123 -184t-184 -123 t-224.5 -45.5q-198 0 -355 122z" />
<glyph unicode="&#xe032;" d="M100 0h1100v1200h-1100v-1200zM200 100v900h900v-900h-900zM300 200v100h100v-100h-100zM300 400v100h100v-100h-100zM300 600v100h100v-100h-100zM300 800v100h100v-100h-100zM500 200h500v100h-500v-100zM500 400v100h500v-100h-500zM500 600v100h500v-100h-500z M500 800v100h500v-100h-500z" />
<glyph unicode="&#xe033;" d="M0 100v600q0 41 29.5 70.5t70.5 29.5h100v200q0 82 59 141t141 59h300q82 0 141 -59t59 -141v-200h100q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-900q-41 0 -70.5 29.5t-29.5 70.5zM400 800h300v150q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-150z" />
<glyph unicode="&#xe034;" d="M100 0v1100h100v-1100h-100zM300 400q60 60 127.5 84t127.5 17.5t122 -23t119 -30t110 -11t103 42t91 120.5v500q-40 -81 -101.5 -115.5t-127.5 -29.5t-138 25t-139.5 40t-125.5 25t-103 -29.5t-65 -115.5v-500z" />
<glyph unicode="&#xe035;" d="M0 275q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 127 70.5 231.5t184.5 161.5t245 57t245 -57t184.5 -161.5t70.5 -231.5v-300q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 116 -49.5 227t-131 192.5t-192.5 131t-227 49.5t-227 -49.5t-192.5 -131t-131 -192.5 t-49.5 -227v-300zM200 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14zM800 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14z" />
<glyph unicode="&#xe036;" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM688 459l141 141l-141 141l71 71l141 -141l141 141l71 -71l-141 -141l141 -141l-71 -71l-141 141l-141 -141z" />
<glyph unicode="&#xe037;" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM700 857l69 53q111 -135 111 -310q0 -169 -106 -302l-67 54q86 110 86 248q0 146 -93 257z" />
<glyph unicode="&#xe038;" d="M0 401v400h300l300 200v-800l-300 200h-300zM702 858l69 53q111 -135 111 -310q0 -170 -106 -303l-67 55q86 110 86 248q0 145 -93 257zM889 951l7 -8q123 -151 123 -344q0 -189 -119 -339l-7 -8l81 -66l6 8q142 178 142 405q0 230 -144 408l-6 8z" />
<glyph unicode="&#xe039;" d="M0 0h500v500h-200v100h-100v-100h-200v-500zM0 600h100v100h400v100h100v100h-100v300h-500v-600zM100 100v300h300v-300h-300zM100 800v300h300v-300h-300zM200 200v100h100v-100h-100zM200 900h100v100h-100v-100zM500 500v100h300v-300h200v-100h-100v-100h-200v100 h-100v100h100v200h-200zM600 0v100h100v-100h-100zM600 1000h100v-300h200v-300h300v200h-200v100h200v500h-600v-200zM800 800v300h300v-300h-300zM900 0v100h300v-100h-300zM900 900v100h100v-100h-100zM1100 200v100h100v-100h-100z" />
<glyph unicode="&#xe040;" d="M0 200h100v1000h-100v-1000zM100 0v100h300v-100h-300zM200 200v1000h100v-1000h-100zM500 0v91h100v-91h-100zM500 200v1000h200v-1000h-200zM700 0v91h100v-91h-100zM800 200v1000h100v-1000h-100zM900 0v91h200v-91h-200zM1000 200v1000h200v-1000h-200z" />
<glyph unicode="&#xe041;" d="M1 700v475q0 10 7.5 17.5t17.5 7.5h474l700 -700l-500 -500zM148 953q0 -42 29 -71q30 -30 71.5 -30t71.5 30q29 29 29 71t-29 71q-30 30 -71.5 30t-71.5 -30q-29 -29 -29 -71z" />
<glyph unicode="&#xe042;" d="M2 700v475q0 11 7 18t18 7h474l700 -700l-500 -500zM148 953q0 -42 30 -71q29 -30 71 -30t71 30q30 29 30 71t-30 71q-29 30 -71 30t-71 -30q-30 -29 -30 -71zM701 1200h100l700 -700l-500 -500l-50 50l450 450z" />
<glyph unicode="&#xe043;" d="M100 0v1025l175 175h925v-1000l-100 -100v1000h-750l-100 -100h750v-1000h-900z" />
<glyph unicode="&#xe044;" d="M200 0l450 444l450 -443v1150q0 20 -14.5 35t-35.5 15h-800q-21 0 -35.5 -15t-14.5 -35v-1151z" />
<glyph unicode="&#xe045;" d="M0 100v700h200l100 -200h600l100 200h200v-700h-200v200h-800v-200h-200zM253 829l40 -124h592l62 124l-94 346q-2 11 -10 18t-18 7h-450q-10 0 -18 -7t-10 -18zM281 24l38 152q2 10 11.5 17t19.5 7h500q10 0 19.5 -7t11.5 -17l38 -152q2 -10 -3.5 -17t-15.5 -7h-600 q-10 0 -15.5 7t-3.5 17z" />
<glyph unicode="&#xe046;" d="M0 200q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-150q-4 8 -11.5 21.5t-33 48t-53 61t-69 48t-83.5 21.5h-200q-41 0 -82 -20.5t-70 -50t-52 -59t-34 -50.5l-12 -20h-150q-41 0 -70.5 -29.5t-29.5 -70.5v-600z M356 500q0 100 72 172t172 72t172 -72t72 -172t-72 -172t-172 -72t-172 72t-72 172zM494 500q0 -44 31 -75t75 -31t75 31t31 75t-31 75t-75 31t-75 -31t-31 -75zM900 700v100h100v-100h-100z" />
<glyph unicode="&#xe047;" d="M53 0h365v66q-41 0 -72 11t-49 38t1 71l92 234h391l82 -222q16 -45 -5.5 -88.5t-74.5 -43.5v-66h417v66q-34 1 -74 43q-18 19 -33 42t-21 37l-6 13l-385 998h-93l-399 -1006q-24 -48 -52 -75q-12 -12 -33 -25t-36 -20l-15 -7v-66zM416 521l178 457l46 -140l116 -317h-340 z" />
<glyph unicode="&#xe048;" d="M100 0v89q41 7 70.5 32.5t29.5 65.5v827q0 28 -1 39.5t-5.5 26t-15.5 21t-29 14t-49 14.5v70h471q120 0 213 -88t93 -228q0 -55 -11.5 -101.5t-28 -74t-33.5 -47.5t-28 -28l-12 -7q8 -3 21.5 -9t48 -31.5t60.5 -58t47.5 -91.5t21.5 -129q0 -84 -59 -156.5t-142 -111 t-162 -38.5h-500zM400 200h161q89 0 153 48.5t64 132.5q0 90 -62.5 154.5t-156.5 64.5h-159v-400zM400 700h139q76 0 130 61.5t54 138.5q0 82 -84 130.5t-239 48.5v-379z" />
<glyph unicode="&#xe049;" d="M200 0v57q77 7 134.5 40.5t65.5 80.5l173 849q10 56 -10 74t-91 37q-6 1 -10.5 2.5t-9.5 2.5v57h425l2 -57q-33 -8 -62 -25.5t-46 -37t-29.5 -38t-17.5 -30.5l-5 -12l-128 -825q-10 -52 14 -82t95 -36v-57h-500z" />
<glyph unicode="&#xe050;" d="M-75 200h75v800h-75l125 167l125 -167h-75v-800h75l-125 -167zM300 900v300h150h700h150v-300h-50q0 29 -8 48.5t-18.5 30t-33.5 15t-39.5 5.5t-50.5 1h-200v-850l100 -50v-100h-400v100l100 50v850h-200q-34 0 -50.5 -1t-40 -5.5t-33.5 -15t-18.5 -30t-8.5 -48.5h-49z " />
<glyph unicode="&#xe051;" d="M33 51l167 125v-75h800v75l167 -125l-167 -125v75h-800v-75zM100 901v300h150h700h150v-300h-50q0 29 -8 48.5t-18 30t-33.5 15t-40 5.5t-50.5 1h-200v-650l100 -50v-100h-400v100l100 50v650h-200q-34 0 -50.5 -1t-39.5 -5.5t-33.5 -15t-18.5 -30t-8 -48.5h-50z" />
<glyph unicode="&#xe052;" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 350q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM0 650q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1000q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 950q0 -20 14.5 -35t35.5 -15h600q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-600q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
<glyph unicode="&#xe053;" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 650q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM200 350q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM200 950q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
<glyph unicode="&#xe054;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1000q-21 0 -35.5 15 t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-600 q-21 0 -35.5 15t-14.5 35z" />
<glyph unicode="&#xe055;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100 q-21 0 -35.5 15t-14.5 35z" />
<glyph unicode="&#xe056;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM300 50v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800 q-21 0 -35.5 15t-14.5 35zM300 650v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 950v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15 h-800q-21 0 -35.5 15t-14.5 35z" />
<glyph unicode="&#xe057;" d="M-101 500v100h201v75l166 -125l-166 -125v75h-201zM300 0h100v1100h-100v-1100zM500 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35 v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 650q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100 q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100z" />
<glyph unicode="&#xe058;" d="M1 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 650 q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM801 0v1100h100v-1100 h-100zM934 550l167 -125v75h200v100h-200v75z" />
<glyph unicode="&#xe059;" d="M0 275v650q0 31 22 53t53 22h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53zM900 600l300 300v-600z" />
<glyph unicode="&#xe060;" d="M0 44v1012q0 18 13 31t31 13h1112q19 0 31.5 -13t12.5 -31v-1012q0 -18 -12.5 -31t-31.5 -13h-1112q-18 0 -31 13t-13 31zM100 263l247 182l298 -131l-74 156l293 318l236 -288v500h-1000v-737zM208 750q0 56 39 95t95 39t95 -39t39 -95t-39 -95t-95 -39t-95 39t-39 95z " />
<glyph unicode="&#xe062;" d="M148 745q0 124 60.5 231.5t165 172t226.5 64.5q123 0 227 -63t164.5 -169.5t60.5 -229.5t-73 -272q-73 -114 -166.5 -237t-150.5 -189l-57 -66q-10 9 -27 26t-66.5 70.5t-96 109t-104 135.5t-100.5 155q-63 139 -63 262zM342 772q0 -107 75.5 -182.5t181.5 -75.5 q107 0 182.5 75.5t75.5 182.5t-75.5 182t-182.5 75t-182 -75.5t-75 -181.5z" />
<glyph unicode="&#xe063;" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM173 600q0 -177 125.5 -302t301.5 -125v854q-176 0 -301.5 -125 t-125.5 -302z" />
<glyph unicode="&#xe064;" d="M117 406q0 94 34 186t88.5 172.5t112 159t115 177t87.5 194.5q21 -71 57.5 -142.5t76 -130.5t83 -118.5t82 -117t70 -116t50 -125.5t18.5 -136q0 -89 -39 -165.5t-102 -126.5t-140 -79.5t-156 -33.5q-114 6 -211.5 53t-161.5 138.5t-64 210.5zM243 414q14 -82 59.5 -136 t136.5 -80l16 98q-7 6 -18 17t-34 48t-33 77q-15 73 -14 143.5t10 122.5l9 51q-92 -110 -119.5 -185t-12.5 -156z" />
<glyph unicode="&#xe065;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5q366 -6 397 -14l-186 -186h-311q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v125l200 200v-225q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM436 341l161 50l412 412l-114 113l-405 -405zM995 1015l113 -113l113 113l-21 85l-92 28z" />
<glyph unicode="&#xe066;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h261l2 -80q-133 -32 -218 -120h-145q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-53q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5 zM423 524q30 38 81.5 64t103 35.5t99 14t77.5 3.5l29 -1v-209l360 324l-359 318v-216q-7 0 -19 -1t-48 -8t-69.5 -18.5t-76.5 -37t-76.5 -59t-62 -88t-39.5 -121.5z" />
<glyph unicode="&#xe067;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-169q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM342 632l283 -284l566 567l-136 137l-430 -431l-147 147z" />
<glyph unicode="&#xe068;" d="M0 603l300 296v-198h200v200h-200l300 300l295 -300h-195v-200h200v198l300 -296l-300 -300v198h-200v-200h195l-295 -300l-300 300h200v200h-200v-198z" />
<glyph unicode="&#xe069;" d="M200 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-1100l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe070;" d="M0 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-487l500 487v-1100l-500 488v-488l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe071;" d="M136 550l564 550v-487l500 487v-1100l-500 488v-488z" />
<glyph unicode="&#xe072;" d="M200 0l900 550l-900 550v-1100z" />
<glyph unicode="&#xe073;" d="M200 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5t-14.5 -35.5v-800zM600 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
<glyph unicode="&#xe074;" d="M200 150q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v800q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
<glyph unicode="&#xe075;" d="M0 0v1100l500 -487v487l564 -550l-564 -550v488z" />
<glyph unicode="&#xe076;" d="M0 0v1100l500 -487v487l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-500 -488v488z" />
<glyph unicode="&#xe077;" d="M300 0v1100l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438z" />
<glyph unicode="&#xe078;" d="M100 250v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5zM100 500h1100l-550 564z" />
<glyph unicode="&#xe079;" d="M185 599l592 -592l240 240l-353 353l353 353l-240 240z" />
<glyph unicode="&#xe080;" d="M272 194l353 353l-353 353l241 240l572 -571l21 -22l-1 -1v-1l-592 -591z" />
<glyph unicode="&#xe081;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -300t-217.5 -218t-299.5 -80t-299.5 80t-217.5 218t-80 300zM300 500h200v-200h200v200h200v200h-200v200h-200v-200h-200v-200z" />
<glyph unicode="&#xe082;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -300t-217.5 -218t-299.5 -80t-299.5 80t-217.5 218t-80 300zM300 500h600v200h-600v-200z" />
<glyph unicode="&#xe083;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -300t-217.5 -218t-299.5 -80t-299.5 80t-217.5 218t-80 300zM246 459l213 -213l141 142l141 -142l213 213l-142 141l142 141l-213 212l-141 -141l-141 142l-212 -213l141 -141z" />
<glyph unicode="&#xe084;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM270 551l276 -277l411 411l-175 174l-236 -236l-102 102z" />
<glyph unicode="&#xe085;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -300t-217.5 -218t-299.5 -80t-299.5 80t-217.5 218t-80 300zM363 700h144q4 0 11.5 -1t11 -1t6.5 3t3 9t1 11t3.5 8.5t3.5 6t5.5 4t6.5 2.5t9 1.5t9 0.5h11.5h12.5q19 0 30 -10t11 -26 q0 -22 -4 -28t-27 -22q-5 -1 -12.5 -3t-27 -13.5t-34 -27t-26.5 -46t-11 -68.5h200q5 3 14 8t31.5 25.5t39.5 45.5t31 69t14 94q0 51 -17.5 89t-42 58t-58.5 32t-58.5 15t-51.5 3q-105 0 -172 -56t-67 -183zM500 300h200v100h-200v-100z" />
<glyph unicode="&#xe086;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -300t-217.5 -218t-299.5 -80t-299.5 80t-217.5 218t-80 300zM400 300h400v100h-100v300h-300v-100h100v-200h-100v-100zM500 800h200v100h-200v-100z" />
<glyph unicode="&#xe087;" d="M0 500v200h194q15 60 36 104.5t55.5 86t88 69t126.5 40.5v200h200v-200q54 -20 113 -60t112.5 -105.5t71.5 -134.5h203v-200h-203q-25 -102 -116.5 -186t-180.5 -117v-197h-200v197q-140 27 -208 102.5t-98 200.5h-194zM290 500q24 -73 79.5 -127.5t130.5 -78.5v206h200 v-206q149 48 201 206h-201v200h200q-25 74 -76 127.5t-124 76.5v-204h-200v203q-75 -24 -130 -77.5t-79 -125.5h209v-200h-210z" />
<glyph unicode="&#xe088;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM356 465l135 135 l-135 135l109 109l135 -135l135 135l109 -109l-135 -135l135 -135l-109 -109l-135 135l-135 -135z" />
<glyph unicode="&#xe089;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM322 537l141 141 l87 -87l204 205l142 -142l-346 -345z" />
<glyph unicode="&#xe090;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -115 62 -215l568 567q-100 62 -216 62q-171 0 -292.5 -121.5t-121.5 -292.5zM391 245q97 -59 209 -59q171 0 292.5 121.5t121.5 292.5 q0 112 -59 209z" />
<glyph unicode="&#xe091;" d="M0 547l600 453v-300h600v-300h-600v-301z" />
<glyph unicode="&#xe092;" d="M0 400v300h600v300l600 -453l-600 -448v301h-600z" />
<glyph unicode="&#xe093;" d="M204 600l450 600l444 -600h-298v-600h-300v600h-296z" />
<glyph unicode="&#xe094;" d="M104 600h296v600h300v-600h298l-449 -600z" />
<glyph unicode="&#xe095;" d="M0 200q6 132 41 238.5t103.5 193t184 138t271.5 59.5v271l600 -453l-600 -448v301q-95 -2 -183 -20t-170 -52t-147 -92.5t-100 -135.5z" />
<glyph unicode="&#xe096;" d="M0 0v400l129 -129l294 294l142 -142l-294 -294l129 -129h-400zM635 777l142 -142l294 294l129 -129v400h-400l129 -129z" />
<glyph unicode="&#xe097;" d="M34 176l295 295l-129 129h400v-400l-129 130l-295 -295zM600 600v400l129 -129l295 295l142 -141l-295 -295l129 -130h-400z" />
<glyph unicode="&#xe101;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM456 851l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5 t21.5 34.5l58 302q4 20 -8 34.5t-33 14.5h-207q-20 0 -32 -14.5t-8 -34.5zM500 300h200v100h-200v-100z" />
<glyph unicode="&#xe102;" d="M0 800h100v-200h400v300h200v-300h400v200h100v100h-111v6t-1 15t-3 18l-34 172q-11 39 -41.5 63t-69.5 24q-32 0 -61 -17l-239 -144q-22 -13 -40 -35q-19 24 -40 36l-238 144q-33 18 -62 18q-39 0 -69.5 -23t-40.5 -61l-35 -177q-2 -8 -3 -18t-1 -15v-6h-111v-100z M100 0h400v400h-400v-400zM200 900q-3 0 14 48t35 96l18 47l214 -191h-281zM700 0v400h400v-400h-400zM731 900l202 197q5 -12 12 -32.5t23 -64t25 -72t7 -28.5h-269z" />
<glyph unicode="&#xe103;" d="M0 -22v143l216 193q-9 53 -13 83t-5.5 94t9 113t38.5 114t74 124q47 60 99.5 102.5t103 68t127.5 48t145.5 37.5t184.5 43.5t220 58.5q0 -189 -22 -343t-59 -258t-89 -181.5t-108.5 -120t-122 -68t-125.5 -30t-121.5 -1.5t-107.5 12.5t-87.5 17t-56.5 7.5l-99 -55z M238.5 300.5q19.5 -6.5 86.5 76.5q55 66 367 234q70 38 118.5 69.5t102 79t99 111.5t86.5 148q22 50 24 60t-6 19q-7 5 -17 5t-26.5 -14.5t-33.5 -39.5q-35 -51 -113.5 -108.5t-139.5 -89.5l-61 -32q-369 -197 -458 -401q-48 -111 -28.5 -117.5z" />
<glyph unicode="&#xe104;" d="M111 408q0 -33 5 -63q9 -56 44 -119.5t105 -108.5q31 -21 64 -16t62 23.5t57 49.5t48 61.5t35 60.5q32 66 39 184.5t-13 157.5q79 -80 122 -164t26 -184q-5 -33 -20.5 -69.5t-37.5 -80.5q-10 -19 -14.5 -29t-12 -26t-9 -23.5t-3 -19t2.5 -15.5t11 -9.5t19.5 -5t30.5 2.5 t42 8q57 20 91 34t87.5 44.5t87 64t65.5 88.5t47 122q38 172 -44.5 341.5t-246.5 278.5q22 -44 43 -129q39 -159 -32 -154q-15 2 -33 9q-79 33 -120.5 100t-44 175.5t48.5 257.5q-13 -8 -34 -23.5t-72.5 -66.5t-88.5 -105.5t-60 -138t-8 -166.5q2 -12 8 -41.5t8 -43t6 -39.5 t3.5 -39.5t-1 -33.5t-6 -31.5t-13.5 -24t-21 -20.5t-31 -12q-38 -10 -67 13t-40.5 61.5t-15 81.5t10.5 75q-52 -46 -83.5 -101t-39 -107t-7.5 -85z" />
<glyph unicode="&#xe105;" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5t145.5 -23.5t132.5 -59t116.5 -83.5t97 -90t74.5 -85.5t49 -63.5t20 -30l26 -40l-26 -40q-6 -10 -20 -30t-49 -63.5t-74.5 -85.5t-97 -90t-116.5 -83.5t-132.5 -59t-145.5 -23.5 t-145.5 23.5t-132.5 59t-116.5 83.5t-97 90t-74.5 85.5t-49 63.5t-20 30zM120 600q7 -10 40.5 -58t56 -78.5t68 -77.5t87.5 -75t103 -49.5t125 -21.5t123.5 20t100.5 45.5t85.5 71.5t66.5 75.5t58 81.5t47 66q-1 1 -28.5 37.5t-42 55t-43.5 53t-57.5 63.5t-58.5 54 q49 -74 49 -163q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l105 105q-37 24 -75 72t-57 84l-20 36z" />
<glyph unicode="&#xe106;" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5q61 0 121 -17l37 142h148l-314 -1200h-148l37 143q-82 21 -165 71.5t-140 102t-109.5 112t-72 88.5t-29.5 43zM120 600q210 -282 393 -336l37 141q-107 18 -178.5 101.5t-71.5 193.5 q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l47 47l23 87q-30 28 -59 69t-44 68l-14 26zM780 161l38 145q22 15 44.5 34t46 44t40.5 44t41 50.5t33.5 43.5t33 44t24.5 34q-97 127 -140 175l39 146q67 -54 131.5 -125.5t87.5 -103.5t36 -52l26 -40l-26 -40 q-7 -12 -25.5 -38t-63.5 -79.5t-95.5 -102.5t-124 -100t-146.5 -79z" />
<glyph unicode="&#xe107;" d="M-97.5 34q13.5 -34 50.5 -34h1294q37 0 50.5 35.5t-7.5 67.5l-642 1056q-20 33 -48 36t-48 -29l-642 -1066q-21 -32 -7.5 -66zM155 200l445 723l445 -723h-345v100h-200v-100h-345zM500 600l100 -300l100 300v100h-200v-100z" />
<glyph unicode="&#xe108;" d="M100 262v41q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44t106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -91 100 -113v-64q0 -21 -13 -29t-32 1l-94 78h-222l-94 -78q-19 -9 -32 -1t-13 29v64 q0 22 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5z" />
<glyph unicode="&#xe109;" d="M0 50q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v750h-1100v-750zM0 900h1100v150q0 21 -14.5 35.5t-35.5 14.5h-150v100h-100v-100h-500v100h-100v-100h-150q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 100v100h100v-100h-100zM100 300v100h100v-100h-100z M100 500v100h100v-100h-100zM300 100v100h100v-100h-100zM300 300v100h100v-100h-100zM300 500v100h100v-100h-100zM500 100v100h100v-100h-100zM500 300v100h100v-100h-100zM500 500v100h100v-100h-100zM700 100v100h100v-100h-100zM700 300v100h100v-100h-100zM700 500 v100h100v-100h-100zM900 100v100h100v-100h-100zM900 300v100h100v-100h-100zM900 500v100h100v-100h-100z" />
<glyph unicode="&#xe110;" d="M0 200v200h259l600 600h241v198l300 -295l-300 -300v197h-159l-600 -600h-341zM0 800h259l122 -122l141 142l-181 180h-341v-200zM678 381l141 142l122 -123h159v198l300 -295l-300 -300v197h-241z" />
<glyph unicode="&#xe111;" d="M0 400v600q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5z" />
<glyph unicode="&#xe112;" d="M100 600v200h300v-250q0 -113 6 -145q17 -92 102 -117q39 -11 92 -11q37 0 66.5 5.5t50 15.5t36 24t24 31.5t14 37.5t7 42t2.5 45t0 47v25v250h300v-200q0 -42 -3 -83t-15 -104t-31.5 -116t-58 -109.5t-89 -96.5t-129 -65.5t-174.5 -25.5t-174.5 25.5t-129 65.5t-89 96.5 t-58 109.5t-31.5 116t-15 104t-3 83zM100 900v300h300v-300h-300zM800 900v300h300v-300h-300z" />
<glyph unicode="&#xe113;" d="M-30 411l227 -227l352 353l353 -353l226 227l-578 579z" />
<glyph unicode="&#xe114;" d="M70 797l580 -579l578 579l-226 227l-353 -353l-352 353z" />
<glyph unicode="&#xe115;" d="M-198 700l299 283l300 -283h-203v-400h385l215 -200h-800v600h-196zM402 1000l215 -200h381v-400h-198l299 -283l299 283h-200v600h-796z" />
<glyph unicode="&#xe116;" d="M18 939q-5 24 10 42q14 19 39 19h896l38 162q5 17 18.5 27.5t30.5 10.5h94q20 0 35 -14.5t15 -35.5t-15 -35.5t-35 -14.5h-54l-201 -961q-2 -4 -6 -10.5t-19 -17.5t-33 -11h-31v-50q0 -20 -14.5 -35t-35.5 -15t-35.5 15t-14.5 35v50h-300v-50q0 -20 -14.5 -35t-35.5 -15 t-35.5 15t-14.5 35v50h-50q-21 0 -35.5 15t-14.5 35q0 21 14.5 35.5t35.5 14.5h535l48 200h-633q-32 0 -54.5 21t-27.5 43z" />
<glyph unicode="&#xe117;" d="M0 0v800h1200v-800h-1200zM0 900v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-100h-1200z" />
<glyph unicode="&#xe118;" d="M1 0l300 700h1200l-300 -700h-1200zM1 400v600h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-200h-1000z" />
<glyph unicode="&#xe119;" d="M302 300h198v600h-198l298 300l298 -300h-198v-600h198l-298 -300z" />
<glyph unicode="&#xe120;" d="M0 600l300 298v-198h600v198l300 -298l-300 -297v197h-600v-197z" />
<glyph unicode="&#xe121;" d="M0 100v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM31 400l172 739q5 22 23 41.5t38 19.5h672q19 0 37.5 -22.5t23.5 -45.5l172 -732h-1138zM800 100h100v100h-100v-100z M1000 100h100v100h-100v-100z" />
<glyph unicode="&#xe122;" d="M-101 600v50q0 24 25 49t50 38l25 13v-250l-11 5.5t-24 14t-30 21.5t-24 27.5t-11 31.5zM99 500v250v5q0 13 0.5 18.5t2.5 13t8 10.5t15 3h200l675 250v-850l-675 200h-38l47 -276q2 -12 -3 -17.5t-11 -6t-21 -0.5h-8h-83q-20 0 -34.5 14t-18.5 35q-56 337 -56 351z M1100 200v850q0 21 14.5 35.5t35.5 14.5q20 0 35 -14.5t15 -35.5v-850q0 -20 -15 -35t-35 -15q-21 0 -35.5 15t-14.5 35z" />
<glyph unicode="&#xe123;" d="M74 350q0 21 13.5 35.5t33.5 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3 32t29 13h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q20 0 33.5 -14.5t13.5 -35.5q0 -20 -13 -40t-31 -27q-22 -9 -63 -23t-167.5 -37 t-251.5 -23t-245.5 20.5t-178.5 41.5l-58 20q-18 7 -31 27.5t-13 40.5zM497 110q12 -49 40 -79.5t63 -30.5t63 30.5t39 79.5q-48 -6 -102 -6t-103 6z" />
<glyph unicode="&#xe124;" d="M21 445l233 -45l-78 -224l224 78l45 -233l155 179l155 -179l45 233l224 -78l-78 224l234 45l-180 155l180 156l-234 44l78 225l-224 -78l-45 233l-155 -180l-155 180l-45 -233l-224 78l78 -225l-233 -44l179 -156z" />
<glyph unicode="&#xe125;" d="M0 200h200v600h-200v-600zM300 275q0 -75 100 -75h61q123 -100 139 -100h250q46 0 83 57l238 344q29 31 29 74v100q0 44 -30.5 84.5t-69.5 40.5h-328q28 118 28 125v150q0 44 -30.5 84.5t-69.5 40.5h-50q-27 0 -51 -20t-38 -48l-96 -198l-145 -196q-20 -26 -20 -63v-400z M400 300v375l150 212l100 213h50v-175l-50 -225h450v-125l-250 -375h-214l-136 100h-100z" />
<glyph unicode="&#xe126;" d="M0 400v600h200v-600h-200zM300 525v400q0 75 100 75h61q123 100 139 100h250q46 0 83 -57l238 -344q29 -31 29 -74v-100q0 -44 -30.5 -84.5t-69.5 -40.5h-328q28 -118 28 -125v-150q0 -44 -30.5 -84.5t-69.5 -40.5h-50q-27 0 -51 20t-38 48l-96 198l-145 196 q-20 26 -20 63zM400 525l150 -212l100 -213h50v175l-50 225h450v125l-250 375h-214l-136 -100h-100v-375z" />
<glyph unicode="&#xe127;" d="M8 200v600h200v-600h-200zM308 275v525q0 17 14 35.5t28 28.5l14 9l362 230q14 6 25 6q17 0 29 -12l109 -112q14 -14 14 -34q0 -18 -11 -32l-85 -121h302q85 0 138.5 -38t53.5 -110t-54.5 -111t-138.5 -39h-107l-130 -339q-7 -22 -20.5 -41.5t-28.5 -19.5h-341 q-7 0 -90 81t-83 94zM408 289l100 -89h293l131 339q6 21 19.5 41t28.5 20h203q16 0 25 15t9 36q0 20 -9 34.5t-25 14.5h-457h-6.5h-7.5t-6.5 0.5t-6 1t-5 1.5t-5.5 2.5t-4 4t-4 5.5q-5 12 -5 20q0 14 10 27l147 183l-86 83l-339 -236v-503z" />
<glyph unicode="&#xe128;" d="M-101 651q0 72 54 110t139 37h302l-85 121q-11 16 -11 32q0 21 14 34l109 113q13 12 29 12q11 0 25 -6l365 -230q7 -4 16.5 -10.5t26 -26t16.5 -36.5v-526q0 -13 -85.5 -93.5t-93.5 -80.5h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-84 0 -139 39t-55 111zM-1 601h222 q15 0 28.5 -20.5t19.5 -40.5l131 -339h293l106 89v502l-342 237l-87 -83l145 -184q10 -11 10 -26q0 -11 -5 -20q-1 -3 -3.5 -5.5l-4 -4t-5 -2.5t-5.5 -1.5t-6.5 -1t-6.5 -0.5h-7.5h-6.5h-476v-100zM999 201v600h200v-600h-200z" />
<glyph unicode="&#xe129;" d="M97 719l230 -363q4 -6 10.5 -15.5t26 -25t36.5 -15.5h525q13 0 94 83t81 90v342q0 15 -20 28.5t-41 19.5l-339 131v106q0 84 -39 139t-111 55t-110 -53.5t-38 -138.5v-302l-121 84q-15 12 -33.5 11.5t-32.5 -13.5l-112 -110q-22 -22 -6 -53zM172 739l83 86l183 -146 q22 -18 47 -5q3 1 5.5 3.5l4 4t2.5 5t1.5 5.5t1 6.5t0.5 6v7.5v7v456q0 22 25 31t50 -0.5t25 -30.5v-202q0 -16 20 -29.5t41 -19.5l339 -130v-294l-89 -100h-503zM400 0v200h600v-200h-600z" />
<glyph unicode="&#xe130;" d="M1 585q-15 -31 7 -53l112 -110q13 -13 32 -13.5t34 10.5l121 85l-1 -302q0 -84 38.5 -138t110.5 -54t111 55t39 139v106l339 131q20 6 40.5 19.5t20.5 28.5v342q0 7 -81 90t-94 83h-525q-17 0 -35.5 -14t-28.5 -28l-10 -15zM76 565l237 339h503l89 -100v-294l-340 -130 q-20 -6 -40 -20t-20 -29v-202q0 -22 -25 -31t-50 0t-25 31v456v14.5t-1.5 11.5t-5 12t-9.5 7q-24 13 -46 -5l-184 -146zM305 1104v200h600v-200h-600z" />
<glyph unicode="&#xe131;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 500h300l-2 -194l402 294l-402 298v-197h-298v-201z" />
<glyph unicode="&#xe132;" d="M0 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t231.5 47.5q122 0 232.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-218 -217.5t-300 -80t-299.5 80t-217.5 217.5t-80 299.5zM200 600l400 -294v194h302v201h-300v197z" />
<glyph unicode="&#xe133;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600h200v-300h200v300h200l-300 400z" />
<glyph unicode="&#xe134;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600l300 -400l300 400h-200v300h-200v-300h-200z" />
<glyph unicode="&#xe135;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM254 780q-8 -34 5.5 -93t7.5 -87q0 -9 17 -44t16 -60q12 0 23 -5.5 t23 -15t20 -13.5q20 -10 108 -42q22 -8 53 -31.5t59.5 -38.5t57.5 -11q8 -18 -15 -55.5t-20 -57.5q12 -21 22.5 -34.5t28 -27t36.5 -17.5q0 -6 -3 -15.5t-3.5 -14.5t4.5 -17q101 -2 221 111q31 30 47 48t34 49t21 62q-14 9 -37.5 9.5t-35.5 7.5q-14 7 -49 15t-52 19 q-9 0 -39.5 -0.5t-46.5 -1.5t-39 -6.5t-39 -16.5q-50 -35 -66 -12q-4 2 -3.5 25.5t0.5 25.5q-6 13 -26.5 17t-24.5 7q2 22 -2 41t-16.5 28t-38.5 -20q-23 -25 -42 4q-19 28 -8 58q8 16 22 22q6 -1 26 -1.5t33.5 -4.5t19.5 -13q12 -19 32 -37.5t34 -27.5l14 -8q0 3 9.5 39.5 t5.5 57.5q-4 23 14.5 44.5t22.5 31.5q5 14 10 35t8.5 31t15.5 22.5t34 21.5q-6 18 10 37q8 0 23.5 -1.5t24.5 -1.5t20.5 4.5t20.5 15.5q-10 23 -30.5 42.5t-38 30t-49 26.5t-43.5 23q11 41 1 44q31 -13 58.5 -14.5t39.5 3.5l11 4q6 36 -17 53.5t-64 28.5t-56 23 q-19 -3 -37 0q-15 -12 -36.5 -21t-34.5 -12t-44 -8t-39 -6q-15 -3 -46 0t-45 -3q-20 -6 -51.5 -25.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79zM518 915q3 12 16 30.5t16 25.5q10 -10 18.5 -10t14 6t14.5 14.5t16 12.5q0 -18 8 -42.5t16.5 -44 t9.5 -23.5q-6 1 -39 5t-53.5 10t-36.5 16z" />
<glyph unicode="&#xe136;" d="M0 164.5q0 21.5 15 37.5l600 599q-33 101 6 201.5t135 154.5q164 92 306 -9l-259 -138l145 -232l251 126q13 -175 -151 -267q-123 -70 -253 -23l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5z" />
<glyph unicode="&#xe137;" horiz-adv-x="1220" d="M0 196v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 596v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5zM0 996v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM600 596h500v100h-500v-100zM800 196h300v100h-300v-100zM900 996h200v100h-200v-100z" />
<glyph unicode="&#xe138;" d="M100 1100v100h1000v-100h-1000zM150 1000h900l-350 -500v-300l-200 -200v500z" />
<glyph unicode="&#xe139;" d="M0 200v200h1200v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500z M500 1000h200v100h-200v-100z" />
<glyph unicode="&#xe140;" d="M0 0v400l129 -129l200 200l142 -142l-200 -200l129 -129h-400zM0 800l129 129l200 -200l142 142l-200 200l129 129h-400v-400zM729 329l142 142l200 -200l129 129v-400h-400l129 129zM729 871l200 200l-129 129h400v-400l-129 129l-200 -200z" />
<glyph unicode="&#xe141;" d="M0 596q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 596q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM291 655 q0 23 15.5 38.5t38.5 15.5t39 -16t16 -38q0 -23 -16 -39t-39 -16q-22 0 -38 16t-16 39zM400 850q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16.5t-16 38.5zM513 609q0 32 21 56.5t52 29.5l122 126l1 1q-9 14 -9 28q0 22 16 38.5t39 16.5 q22 0 38 -16t16 -39t-16 -39t-38 -16q-16 0 -29 10l-55 -145q17 -22 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5q-37 0 -62.5 25.5t-25.5 61.5zM800 655q0 22 16 38t39 16t38.5 -15.5t15.5 -38.5t-16 -39t-38 -16q-23 0 -39 16t-16 39z" />
<glyph unicode="&#xe142;" d="M-40 375q-13 -95 35 -173q35 -57 94 -89t129 -32q63 0 119 28q33 16 65 40.5t52.5 45.5t59.5 64q40 44 57 61l394 394q35 35 47 84t-3 96q-27 87 -117 104q-20 2 -29 2q-46 0 -79.5 -17t-67.5 -51l-388 -396l-7 -7l69 -67l377 373q20 22 39 38q23 23 50 23q38 0 53 -36 q16 -39 -20 -75l-547 -547q-52 -52 -125 -52q-55 0 -100 33t-54 96q-5 35 2.5 66t31.5 63t42 50t56 54q24 21 44 41l348 348q52 52 82.5 79.5t84 54t107.5 26.5q25 0 48 -4q95 -17 154 -94.5t51 -175.5q-7 -101 -98 -192l-252 -249l-253 -256l7 -7l69 -60l517 511 q67 67 95 157t11 183q-16 87 -67 154t-130 103q-69 33 -152 33q-107 0 -197 -55q-40 -24 -111 -95l-512 -512q-68 -68 -81 -163z" />
<glyph unicode="&#xe143;" d="M79 784q0 131 99 229.5t230 98.5q144 0 242 -129q103 129 245 129q130 0 227 -98.5t97 -229.5q0 -46 -17.5 -91t-61 -99t-77 -89.5t-104.5 -105.5q-197 -191 -293 -322l-17 -23l-16 23q-43 58 -100 122.5t-92 99.5t-101 100l-84.5 84.5t-68 74t-60 78t-33.5 70.5t-15 78z M250 784q0 -27 30.5 -70t61.5 -75.5t95 -94.5l22 -22q93 -90 190 -201q82 92 195 203l12 12q64 62 97.5 97t64.5 79t31 72q0 71 -48 119.5t-106 48.5q-73 0 -131 -83l-118 -171l-114 174q-51 80 -124 80q-59 0 -108.5 -49.5t-49.5 -118.5z" />
<glyph unicode="&#xe144;" d="M57 353q0 -94 66 -160l141 -141q66 -66 159 -66q95 0 159 66l283 283q66 66 66 159t-66 159l-141 141q-12 12 -19 17l-105 -105l212 -212l-389 -389l-247 248l95 95l-18 18q-46 45 -75 101l-55 -55q-66 -66 -66 -159zM269 706q0 -93 66 -159l141 -141l19 -17l105 105 l-212 212l389 389l247 -247l-95 -96l18 -18q46 -46 77 -99l29 29q35 35 62.5 88t27.5 96q0 93 -66 159l-141 141q-66 66 -159 66q-95 0 -159 -66l-283 -283q-66 -64 -66 -159z" />
<glyph unicode="&#xe145;" d="M200 100v953q0 21 30 46t81 48t129 38t163 15t162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5zM300 300h600v700h-600v-700zM496 150q0 -43 30.5 -73.5t73.5 -30.5t73.5 30.5t30.5 73.5t-30.5 73.5t-73.5 30.5 t-73.5 -30.5t-30.5 -73.5z" />
<glyph unicode="&#xe146;" d="M0 0l303 380l207 208l-210 212h300l267 279l-35 36q-15 14 -15 35t15 35q14 15 35 15t35 -15l283 -282q15 -15 15 -36t-15 -35q-14 -15 -35 -15t-35 15l-36 35l-279 -267v-300l-212 210l-208 -207z" />
<glyph unicode="&#xe148;" d="M295 433h139q5 -77 48.5 -126.5t117.5 -64.5v335l-27 7q-46 14 -79 26.5t-72 36t-62.5 52t-40 72.5t-16.5 99q0 92 44 159.5t109 101t144 40.5v78h100v-79q38 -4 72.5 -13.5t75.5 -31.5t71 -53.5t51.5 -84t24.5 -118.5h-159q-8 72 -35 109.5t-101 50.5v-307l64 -14 q34 -7 64 -16.5t70 -31.5t67.5 -52t47.5 -80.5t20 -112.5q0 -139 -89 -224t-244 -96v-77h-100v78q-152 17 -237 104q-40 40 -52.5 93.5t-15.5 139.5zM466 889q0 -29 8 -51t16.5 -34t29.5 -22.5t31 -13.5t38 -10q7 -2 11 -3v274q-61 -8 -97.5 -37.5t-36.5 -102.5zM700 237 q170 18 170 151q0 64 -44 99.5t-126 60.5v-311z" />
<glyph unicode="&#xe149;" d="M100 600v100h166q-24 49 -44 104q-10 26 -14.5 55.5t-3 72.5t25 90t68.5 87q97 88 263 88q129 0 230 -89t101 -208h-153q0 52 -34 89.5t-74 51.5t-76 14q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -11 2.5 -24.5t5.5 -24t9.5 -26.5t10.5 -25t14 -27.5t14 -25.5 t15.5 -27t13.5 -24h242v-100h-197q8 -50 -2.5 -115t-31.5 -94q-41 -59 -99 -113q35 11 84 18t70 7q32 1 102 -16t104 -17q76 0 136 30l50 -147q-41 -25 -80.5 -36.5t-59 -13t-61.5 -1.5q-23 0 -128 33t-155 29q-39 -4 -82 -17t-66 -25l-24 -11l-55 145l16.5 11t15.5 10 t13.5 9.5t14.5 12t14.5 14t17.5 18.5q48 55 54 126.5t-30 142.5h-221z" />
<glyph unicode="&#xe150;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM602 900l298 300l298 -300h-198v-900h-200v900h-198z" />
<glyph unicode="&#xe151;" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v200h100v-100h200v-100h-300zM700 400v100h300v-200h-99v-100h-100v100h99v100h-200zM700 700v500h300v-500h-100v100h-100v-100h-100zM801 900h100v200h-100v-200z" />
<glyph unicode="&#xe152;" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v500h300v-500h-100v100h-100v-100h-100zM700 700v200h100v-100h200v-100h-300zM700 1100v100h300v-200h-99v-100h-100v100h99v100h-200zM801 200h100v200h-100v-200z" />
<glyph unicode="&#xe153;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 100v400h300v-500h-100v100h-200zM800 1100v100h200v-500h-100v400h-100zM901 200h100v200h-100v-200z" />
<glyph unicode="&#xe154;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 400v100h200v-500h-100v400h-100zM800 800v400h300v-500h-100v100h-200zM901 900h100v200h-100v-200z" />
<glyph unicode="&#xe155;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h500v-200h-500zM700 400v200h400v-200h-400zM700 700v200h300v-200h-300zM700 1000v200h200v-200h-200z" />
<glyph unicode="&#xe156;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h200v-200h-200zM700 400v200h300v-200h-300zM700 700v200h400v-200h-400zM700 1000v200h500v-200h-500z" />
<glyph unicode="&#xe157;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q162 0 281 -118.5t119 -281.5v-300q0 -165 -118.5 -282.5t-281.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500z" />
<glyph unicode="&#xe158;" d="M0 400v300q0 163 119 281.5t281 118.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-163 0 -281.5 117.5t-118.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM400 300l333 250l-333 250v-500z" />
<glyph unicode="&#xe159;" d="M0 400v300q0 163 117.5 281.5t282.5 118.5h300q163 0 281.5 -119t118.5 -281v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 700l250 -333l250 333h-500z" />
<glyph unicode="&#xe160;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -162 -118.5 -281t-281.5 -119h-300q-165 0 -282.5 118.5t-117.5 281.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 400h500l-250 333z" />
<glyph unicode="&#xe161;" d="M0 400v300h300v200l400 -350l-400 -350v200h-300zM500 0v200h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-500v200h400q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-400z" />
<glyph unicode="&#xe162;" d="M216 519q10 -19 32 -19h302q-155 -438 -160 -458q-5 -21 4 -32l9 -8l9 -1q13 0 26 16l538 630q15 19 6 36q-8 18 -32 16h-300q1 4 78 219.5t79 227.5q2 17 -6 27l-8 8h-9q-16 0 -25 -15q-4 -5 -98.5 -111.5t-228 -257t-209.5 -238.5q-17 -19 -7 -40z" />
<glyph unicode="&#xe163;" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q47 0 100 15v185h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h500v185q-14 4 -114 7.5t-193 5.5l-93 2q-165 0 -282.5 -117.5t-117.5 -282.5v-300zM600 400v300h300v200l400 -350l-400 -350v200h-300z " />
<glyph unicode="&#xe164;" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q163 0 281.5 117.5t118.5 282.5v98l-78 73l-122 -123v-148q0 -41 -29.5 -70.5t-70.5 -29.5h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h156l118 122l-74 78h-100q-165 0 -282.5 -117.5t-117.5 -282.5 v-300zM496 709l353 342l-149 149h500v-500l-149 149l-342 -353z" />
<glyph unicode="&#xe165;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM406 600 q0 80 57 137t137 57t137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137z" />
<glyph unicode="&#xe166;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 800l445 -500l450 500h-295v400h-300v-400h-300zM900 150h100v50h-100v-50z" />
<glyph unicode="&#xe167;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 700h300v-300h300v300h295l-445 500zM900 150h100v50h-100v-50z" />
<glyph unicode="&#xe168;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 705l305 -305l596 596l-154 155l-442 -442l-150 151zM900 150h100v50h-100v-50z" />
<glyph unicode="&#xe169;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 988l97 -98l212 213l-97 97zM200 401h700v699l-250 -239l-149 149l-212 -212l149 -149zM900 150h100v50h-100v-50z" />
<glyph unicode="&#xe170;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM200 612l212 -212l98 97l-213 212zM300 1200l239 -250l-149 -149l212 -212l149 148l248 -237v700h-699zM900 150h100v50h-100v-50z" />
<glyph unicode="&#xe171;" d="M23 415l1177 784v-1079l-475 272l-310 -393v416h-392zM494 210l672 938l-672 -712v-226z" />
<glyph unicode="&#xe172;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-850q0 -21 -15 -35.5t-35 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200z" />
<glyph unicode="&#xe173;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-218l-276 -275l-120 120l-126 -127h-378v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM581 306l123 123l120 -120l353 352l123 -123l-475 -476zM600 1000h100v200h-100v-200z" />
<glyph unicode="&#xe174;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-269l-103 -103l-170 170l-298 -298h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200zM700 133l170 170l-170 170l127 127l170 -170l170 170l127 -128l-170 -169l170 -170 l-127 -127l-170 170l-170 -170z" />
<glyph unicode="&#xe175;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-300h-400v-200h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300l300 -300l300 300h-200v300h-200v-300h-200zM600 1000v200h100v-200h-100z" />
<glyph unicode="&#xe176;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-402l-200 200l-298 -298h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300h200v-300h200v300h200l-300 300zM600 1000v200h100v-200h-100z" />
<glyph unicode="&#xe177;" d="M0 250q0 -21 14.5 -35.5t35.5 -14.5h1100q21 0 35.5 14.5t14.5 35.5v550h-1200v-550zM0 900h1200v150q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 300v200h400v-200h-400z" />
<glyph unicode="&#xe178;" d="M0 400l300 298v-198h400v-200h-400v-198zM100 800v200h100v-200h-100zM300 800v200h100v-200h-100zM500 800v200h400v198l300 -298l-300 -298v198h-400zM800 300v200h100v-200h-100zM1000 300h100v200h-100v-200z" />
<glyph unicode="&#xe179;" d="M100 700v400l50 100l50 -100v-300h100v300l50 100l50 -100v-300h100v300l50 100l50 -100v-400l-100 -203v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447zM800 597q0 -29 10.5 -55.5t25 -43t29 -28.5t25.5 -18l10 -5v-397q0 -21 14.5 -35.5 t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v1106q0 31 -18 40.5t-44 -7.5l-276 -117q-25 -16 -43.5 -50.5t-18.5 -65.5v-359z" />
<glyph unicode="&#xe180;" d="M100 0h400v56q-75 0 -87.5 6t-12.5 44v394h500v-394q0 -38 -12.5 -44t-87.5 -6v-56h400v56q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v888q0 22 25 34.5t50 13.5l25 2v56h-400v-56q75 0 87.5 -6t12.5 -44v-394h-500v394q0 38 12.5 44t87.5 6v56h-400v-56q4 0 11 -0.5 t24 -3t30 -7t24 -15t11 -24.5v-888q0 -22 -25 -34.5t-50 -13.5l-25 -2v-56z" />
<glyph unicode="&#xe181;" d="M0 300q0 -41 29.5 -70.5t70.5 -29.5h300q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-300q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM100 100h400l200 200h105l295 98v-298h-425l-100 -100h-375zM100 300v200h300v-200h-300zM100 600v200h300v-200h-300z M100 1000h400l200 -200v-98l295 98h105v200h-425l-100 100h-375zM700 402v163l400 133v-163z" />
<glyph unicode="&#xe182;" d="M16.5 974.5q0.5 -21.5 16 -90t46.5 -140t104 -177.5t175 -208q103 -103 207.5 -176t180 -103.5t137 -47t92.5 -16.5l31 1l163 162q16 17 13 40.5t-22 37.5l-192 136q-19 14 -45 12t-42 -19l-119 -118q-143 103 -267 227q-126 126 -227 268l118 118q17 17 20 41.5 t-11 44.5l-139 194q-14 19 -36.5 22t-40.5 -14l-162 -162q-1 -11 -0.5 -32.5z" />
<glyph unicode="&#xe183;" d="M0 50v212q0 20 10.5 45.5t24.5 39.5l365 303v50q0 4 1 10.5t12 22.5t30 28.5t60 23t97 10.5t97 -10t60 -23.5t30 -27.5t12 -24l1 -10v-50l365 -303q14 -14 24.5 -39.5t10.5 -45.5v-212q0 -21 -15 -35.5t-35 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5zM0 712 q0 -21 14.5 -33.5t34.5 -8.5l202 33q20 4 34.5 21t14.5 38v146q141 24 300 24t300 -24v-146q0 -21 14.5 -38t34.5 -21l202 -33q20 -4 34.5 8.5t14.5 33.5v200q-6 8 -19 20.5t-63 45t-112 57t-171 45t-235 20.5q-92 0 -175 -10.5t-141.5 -27t-108.5 -36.5t-81.5 -40 t-53.5 -36.5t-31 -27.5l-9 -10v-200z" />
<glyph unicode="&#xe184;" d="M100 0v100h1100v-100h-1100zM175 200h950l-125 150v250l100 100v400h-100v-200h-100v200h-200v-200h-100v200h-200v-200h-100v200h-100v-400l100 -100v-250z" />
<glyph unicode="&#xe185;" d="M100 0h300v400q0 41 -29.5 70.5t-70.5 29.5h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-400zM500 0v1000q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-1000h-300zM900 0v700q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-700h-300z" />
<glyph unicode="&#xe186;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
<glyph unicode="&#xe187;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h100v200h100v-200h100v500h-100v-200h-100v200h-100v-500zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
<glyph unicode="&#xe188;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v100h-200v300h200v100h-300v-500zM600 300h300v100h-200v300h200v100h-300v-500z" />
<glyph unicode="&#xe189;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 550l300 -150v300zM600 400l300 150l-300 150v-300z" />
<glyph unicode="&#xe190;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300v500h700v-500h-700zM300 400h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130v-300zM575 549 q0 -65 27 -107t68 -42h130v300h-130q-38 0 -66.5 -43t-28.5 -108z" />
<glyph unicode="&#xe191;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
<glyph unicode="&#xe192;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v400h-200v100h-100v-500zM301 400v200h100v-200h-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
<glyph unicode="&#xe193;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 700v100h300v-300h-99v-100h-100v100h99v200h-200zM201 300v100h100v-100h-100zM601 300v100h100v-100h-100z M700 700v100h200v-500h-100v400h-100z" />
<glyph unicode="&#xe194;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 500v200 l100 100h300v-100h-300v-200h300v-100h-300z" />
<glyph unicode="&#xe195;" d="M0 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 400v400h300 l100 -100v-100h-100v100h-200v-100h200v-100h-200v-100h-100zM700 400v100h100v-100h-100z" />
<glyph unicode="&#xe197;" d="M-14 494q0 -80 56.5 -137t135.5 -57h222v300h400v-300h128q120 0 205 86t85 208q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200h200v300h200v-300 h200l-300 -300z" />
<glyph unicode="&#xe198;" d="M-14 494q0 -80 56.5 -137t135.5 -57h8l414 414l403 -403q94 26 154.5 104t60.5 178q0 121 -85 207.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200l300 300 l300 -300h-200v-300h-200v300h-200z" />
<glyph unicode="&#xe199;" d="M100 200h400v-155l-75 -45h350l-75 45v155h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170z" />
<glyph unicode="&#xe200;" d="M121 700q0 -53 28.5 -97t75.5 -65q-4 -16 -4 -38q0 -74 52.5 -126.5t126.5 -52.5q56 0 100 30v-306l-75 -45h350l-75 45v306q46 -30 100 -30q74 0 126.5 52.5t52.5 126.5q0 24 -9 55q50 32 79.5 83t29.5 112q0 90 -61.5 155.5t-150.5 71.5q-26 89 -99.5 145.5 t-167.5 56.5q-116 0 -197.5 -81.5t-81.5 -197.5q0 -4 1 -12t1 -11q-14 2 -23 2q-74 0 -126.5 -52.5t-52.5 -126.5z" />
</font>
</defs></svg>

After

Width:  |  Height:  |  Size: 61 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,17 @@
(function() {
var counter = 0;
var numbered;
var source = document.getElementsByClassName('prettyprint source');
if (source && source[0]) {
source = source[0].getElementsByTagName('code')[0];
numbered = source.innerHTML.split('\n');
numbered = numbered.map(function(item) {
counter++;
return '<span id="line' + counter + '"></span>' + item;
});
source.innerHTML = numbered.join('\n');
}
})();

View File

@@ -0,0 +1,93 @@
$(function () {
// Search Items
$('#search').on('keyup', function (e) {
var value = $(this).val();
var $el = $('.navigation');
if (value) {
var regexp = new RegExp(value, 'i');
$el.find('li, .itemMembers').hide();
$el.find('li').each(function (i, v) {
var $item = $(v);
if ($item.data('name') && regexp.test($item.data('name'))) {
$item.show();
$item.closest('.itemMembers').show();
$item.closest('.item').show();
}
});
} else {
$el.find('.item, .itemMembers').show();
}
$el.find('.list').scrollTop(0);
});
// Toggle when click an item element
$('.navigation').on('click', '.title', function (e) {
$(this).parent().find('.itemMembers').toggle();
});
// Show an item related a current documentation automatically
var filename = $('.page-title').data('filename').replace(/\.[a-z]+$/, '');
var $currentItem = $('.navigation .item[data-name*="' + filename + '"]:eq(0)');
if ($currentItem.length) {
$currentItem
.remove()
.prependTo('.navigation .list')
.show()
.find('.itemMembers')
.show();
}
// Auto resizing on navigation
var _onResize = function () {
var height = $(window).height();
var $el = $('.navigation');
$el.height(height).find('.list').height(height - 133);
};
$(window).on('resize', _onResize);
_onResize();
// create source code links to github
var srcLinks = $('div.tag-source');
var masterSearch = window.location.href.match(/\/([^\/]*\/)apidoc\//);
if (masterSearch && masterSearch.length) {
var branch = masterSearch[1];
srcLinks.each(function(i, el) {
var textParts = el.innerHTML.trim().split(', ');
var link = 'https://github.com/openlayers/ol3/blob/' + branch +
textParts[0];
el.innerHTML = '<a href="' + link + '">' + textParts[0] + '</a>, ' +
'<a href="' + link + textParts[1].replace('line ', '#l') + '">' +
textParts[1] + '</a>';
});
}
// show/hide unstable items
var links = $('a[href^="ol."]');
var unstable = $('.unstable');
var stabilityToggle = $('#stability-toggle');
stabilityToggle.change(function() {
unstable.toggleClass('hidden', this.checked);
var search = this.checked ? '' : '?unstable=true';
links.each(function(i, el) {
this.href = this.pathname + search + this.hash;
});
if (history.replaceState) {
var url = window.location.pathname + search + window.location.hash;
history.replaceState({}, '', url);
}
return false;
});
var search = window.location.search;
links.each(function(i, el) {
this.href = this.pathname + search + this.hash;
});
stabilityToggle.prop('checked', search !== '?unstable=true');
unstable.toggleClass('hidden', stabilityToggle[0].checked);
});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,383 @@
@import url(http://fonts.googleapis.com/css?family=Quattrocento+Sans:400,400italic,700);
.navbar-inverse .navbar-inner {
background: #1F6B75;
height: 50px;
}
.navbar-inverse .brand {
color: white;
font-size: 20px;
}
.navbar-inverse .container {
padding: 5px 0 5px 0;
}
body {
padding-top: 50px;
}
.nameContainer .name, .prettyprint.source .pln {
padding-top: 50px;
margin-top: -50px;
}
a {
position: relative;
z-index: 1;
}
.navigation li {
color: #888;
}
html,
body {
font-family: "Quattrocento Sans", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif;
font-size: 1.0em;
background-color: #fff;
}
ul,
ol {
margin: 0;
padding: 0;
}
li {
list-style-type: none;
}
#wrap {
position: relative;
}
::-webkit-scrollbar {
width: 8px;
background-color: transparent;
}
::-webkit-scrollbar-thumb {
background-color: gray;
border-radius: 4px;
}
.navigation {
position: fixed;
float: left;
width: 250px;
height: 100%;
background-color: #2a2a2a;
}
.navigation .applicationName {
margin: 0;
margin-top: 15px;
padding: 10px 15px;
font: bold 1.25em Helvetica;
color: #fff;
}
.navigation .applicationName a {
color: #fff;
}
.navigation .search {
padding: 10px 15px;
}
.navigation .search input {
background-color: #333;
color: #fff;
border-color: #555;
}
.navigation .list {
padding: 10px 15px 0 15px;
position: relative;
overflow: auto;
width: 100%;
}
.navigation li.item {
margin-bottom: 8px;
padding-bottom: 8px;
border-bottom: 1px solid #333;
}
.navigation li.item a {
color: #bbb;
}
.navigation li.item a:hover {
color: #fff;
}
.navigation li.item .title {
cursor: pointer;
position: relative;
display: block;
font-size: 0.85em;
}
.navigation li.item .title a {
color: #e1e1e1;
}
.navigation li.item .title a:hover {
color: #fff;
}
.navigation li.item .title .static {
display: block;
border-radius: 3px;
background-color: #1F6B75;
color: #FFF;
font-size: 0.7em;
padding: 2px 4px;
float: right;
}
.navigation li.item .subtitle {
margin-top: 10px;
font: bold 0.7em Helvetica;
color: #1F6B75;
display: block;
}
.navigation li.item ul > li {
font-size: 0.75em;
padding-left: 8px;
margin-top: 2px;
}
.navigation li.item .itemMembers {
display: none;
}
.main {
padding: 20px 20px;
margin-left: 250px;
}
.main .page-title {
display: none;
}
.main h1 {
font-weight: bold;
font-size: 1.6em;
margin: 0;
}
.main h2 {
font-weight: bold;
font-size: 1.5em;
margin: 0;
}
.main h3 {
font-weight: bold;
font-size: 13px;
margin: 5px 0;
}
.main h4 {
font-weight: bold;
font-size: 1em;
}
.main h5 {
font-weight: bold;
font-size: 13px;
}
.main dd, .main .props {
font-size: 13px;
}
.main h4.name span.type {
margin-left: 10px;
}
.main h4.name span.glyphicon {
display: inline-block;
vertical-align: middle;
color: #c1c1c1;
margin-left: 7px;
}
.main h4.name span.returnType, .main h4.name span.type {
margin-left: 3px;
background-color: transparent!important;
color: gray!important;
}
.main span.static, .main span.stability {
display: inline-block;
border-radius: 3px;
background-color: #1F6B75 !important;
color: #fff;
vertical-align: top;
font-size: 0.8em;
padding: 2px 4px;
}
td.description span.stability {
float: left;
margin-right: 0.5em;
}
span.type-signature.static {
margin-right: 3px;
}
.main .subsection-title {
font-size: 15px;
margin-top: 30px;
color: #1F6B75;
}
.main .description {
margin-top: 10px;
font-size: 14px;
}
.main .description p {
font-size: 14px;
}
.main .tag-source {
font-size: 13px;
}
.main dt.tag-source {
margin-top: 5px;
}
.main dt.tag-todo {
font-size: 11px;
display: inline-block;
background-color: #2a6496;
color: #fff;
padding: 2px 4px;
border-radius: 5px;
}
.main .type-signature {
font-size: 13px;
}
.main .tag-deprecated {
display: inline-block;
font-size: 11px;
}
.main .important {
background-color: #ee7d7d;
color: #fff;
padding: 2px 4px;
border-radius: 5px;
}
.main .nameContainer {
position: relative;
margin-top: 20px;
padding-top: 5px;
border-top: 1px solid #e1e1e1;
}
.main .nameContainer .inherited {
display: inline-block;
border-radius: 3px;
background-color: #888!important;
vertical-align: top;
font-size: 0.8em;
padding: 2px 4px;
margin-right: 5px;
}
.main .nameContainer .inherited a {
color: #fff;
}
.main .nameContainer .tag-source {
position: absolute;
top: 17px;
right: 0;
font-size: 11px;
}
.main .nameContainer .tag-source a {
color: gray;
}
.main .nameContainer.inherited {
color: gray;
}
.main .nameContainer h4 {
margin-right: 150px;
line-height: 1.3;
}
.main .nameContainer h4 .signature {
font-size: 14px;
font-weight: normal;
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
}
.main pre {
font-size: 12px;
}
.main table {
width: 100%;
margin-bottom: 15px;
}
.main table th {
padding: 3px 3px;
}
.main table td {
vertical-align: top;
padding: 5px 3px;
}
.main table .name {
width: 110px;
}
.main table .type {
color: #aaa;
font-size: 12px;
}
.main table .attributes {
width: 80px;
color: #aaa;
font-size: 12px;
}
.main table .description {
font-size: 13px;
}
.main table .description p {
margin: 0;
}
.main table .optional, .main table .repeatable {
float: left;
border-radius: 3px;
background-color: #ddd!important;
font-size: 0.7em;
padding: 2px 4px;
margin-right: 5px;
color: gray;
}
.main .readme p {
margin-top: 15px;
line-height: 1.2;
font-size: 0.9em;
}
.main .readme h1 {
font-size: 1.7em;
}
.main .readme h2 {
margin-top: 30px;
margin-bottom: 10px;
padding-bottom: 10px;
border-bottom: 1px solid #e1e1e1;
}
.main .readme li {
font-size: 0.95em;
margin-bottom: 10px;
}
.main article ol,
.main article ul {
margin-left: 25px;
}
.main article ol > li {
list-style-type: decimal;
margin-bottom: 5px;
}
.main article ul > li {
margin-bottom: 5px;
list-style-type: disc;
}
footer {
margin: 15px 0;
padding-top: 15px;
border-top: 1px solid #e1e1e1;
font-family: "freight-text-pro", Georgia, Cambria, "Times New Roman", Times, serif;
font-size: 0.8em;
color: gray;
}
.main span.stability.deprecated {
background-color: #b94a48 !important;
color: #f2dede;
}
.main span.stability.experimental {
background-color: #F2CC79 !important;
color: #800F07;
}
.main span.stability.unstable {
background-color: #3a87ad !important;
color: #d9edf7;
}
.main span.stability.locked {
background-color: #468847 !important;
color: #dff0d8;
}
.main .readme table p {
margin-top: 0;
}
.main .readme table p, .main .readme table td {
font-size: 14px;
}
.main .readme table ul li {
margin-bottom: 0;
}
.hidden {
display: none;
}
#stability {
color: white;
position: absolute;
top: 1em;
right: 8em;
}

View File

@@ -5,15 +5,15 @@
<?js if (doc.kind === 'mainpage' || (doc.kind === 'package')) { ?>
<?js= self.partial('mainpage.tmpl', doc) ?>
<?js } else if (doc.kind === 'source') { ?>
<?js= self.partial('source.tmpl', doc) ?>
<?js } else { ?>
<section>
<header>
<h2><?js if (doc.ancestors && doc.ancestors.length) { ?>
<span class="ancestors"><?js= doc.ancestors.join('') ?></span>
<?js } ?>
<?js= doc.longname ?>
<span class="ancestors"><?js= doc.ancestors.join('') ?></span><?js } ?><?js= doc.name ?>
<?js if (doc.variation) { ?>
<sup class="variation"><?js= doc.variation ?></sup>
<?js } ?></h2>
@@ -27,7 +27,8 @@
<?js if (doc.kind === 'module' && doc.module) { ?>
<?js= self.partial('method.tmpl', doc.module) ?>
<?js } ?>
<?js if (!doc.unexported && doc.kind === 'class') { ?>
<?js if (doc.kind === 'class') { ?>
<?js= self.partial('method.tmpl', doc) ?>
<?js } else { ?>
<?js if (doc.description) { ?>
@@ -43,6 +44,20 @@
<?js } ?>
</div>
<?js if (doc.kind == 'class') {
var subclasses = self.find(function() {
return this.augments && this.augments.indexOf(doc.longname) > -1;
})
if (subclasses.length) {
?>
<h3 class="subsection-title">Subclasses</h3>
<ul><?js subclasses.forEach(function(s) { ?>
<li><?js= self.linkto(s.longname, s.longname) ?>
<?js= (s.interface ? '(Interface)' : '') ?>
</li>
<?js }); ?></ul>
<?js } } ?>
<?js if (doc.augments && doc.augments.length) { ?>
<h3 class="subsection-title">Extends</h3>
@@ -74,7 +89,7 @@
<h3 class="subsection-title">Classes</h3>
<dl><?js classes.forEach(function(c) { ?>
<dt><?js= self.linkto(c.longname, c.longname) ?></dt>
<dt><?js= self.linkto(c.longname, c.name) ?></dt>
<dd><?js if (c.summary) { ?><?js= c.summary ?><?js } ?></dd>
<?js }); ?></dl>
<?js } ?>
@@ -86,34 +101,21 @@
<h3 class="subsection-title">Namespaces</h3>
<dl><?js namespaces.forEach(function(n) { ?>
<dt><a href="namespaces.html#<?js= n.longname ?>"><?js= self.linkto(n.longname, n.longname) ?></a></dt>
<dt><a href="namespaces.html#<?js= n.longname ?>"><?js= self.linkto(n.longname, n.name) ?></a></dt>
<dd><?js if (n.summary) { ?><?js= n.summary ?><?js } ?></dd>
<?js }); ?></dl>
<?js } ?>
<?js
var observables = doc.observables;
if (observables && observables.length && observables.forEach) {
if (doc.observables && doc.observables.length) {
?>
<h3 class="subsection-title">Observable Properties</h3>
<dl><?js= self.partial('observables.tmpl', observables) ?></dl>
<dl><?js= self.partial('observables.tmpl', doc.observables) ?></dl>
<?js } ?>
<?js
var events = doc.events;
if (events && events.length && events.forEach) {
?>
<h3 class="subsection-title">Events</h3>
<?js if (observables && observables.length) { ?>
<p>These events are available in addition to the <b>Observable Properties</b> events listed above.</p>
<?js } ?>
<dl><?js= self.partial('events.tmpl', events) ?></dl>
<?js } ?>
<?js
var members = self.find({kind: 'member', memberof: title === 'Globals'? {isUndefined: true} : doc.longname});
var members = self.find({kind: 'member', memberof: title === 'Global' ? {isUndefined: true} : doc.longname});
if (members && members.length && members.forEach) {
?>
<h3 class="subsection-title">Members</h3>
@@ -124,7 +126,7 @@
<?js } ?>
<?js
var methods = self.find({kind: 'function', memberof: title === 'Globals'? {isUndefined: true} : doc.longname});
var methods = self.find({kind: 'function', memberof: title === 'Global' ? {isUndefined: true} : doc.longname});
if (methods && methods.length && methods.forEach) {
?>
<h3 class="subsection-title">Methods</h3>
@@ -135,18 +137,27 @@
<?js } ?>
<?js
var typedefs = self.find({kind: 'typedef', memberof: doc.longname});
var typedefs = self.find({kind: 'typedef', memberof: title === 'Global' ? {isUndefined: true} : doc.longname});
if (typedefs && typedefs.length && typedefs.forEach) {
?>
<h3 class="subsection-title">TypeDefs</h3>
<h3 class="subsection-title">Type Definitions</h3>
<dl><?js typedefs.forEach(function(e) { ?>
<dl><?js typedefs.forEach(function(e) {
if (e.signature) {
?>
<?js= self.partial('method.tmpl', e) ?>
<?js
}
else {
?>
<?js= self.partial('members.tmpl', e) ?>
<?js }); ?></dl>
<?js
}
}); ?></dl>
<?js } ?>
<?js
var events = self.find({kind: 'event', memberof: doc.longname});
var events = self.find({kind: 'event', memberof: title === 'Global' ? {isUndefined: true} : doc.longname});
if (events && events.length && events.forEach) {
?>
<h3 class="subsection-title">Events</h3>

View File

@@ -0,0 +1,84 @@
<?js
var data = obj;
var self = this;
?>
<dl class="details">
<?js
var properties = data.properties;
if (properties && properties.length && properties.forEach) {
?>
<h5 class="subsection-title">Properties:</h5>
<dl><?js= this.partial('properties.tmpl', properties) ?></dl>
<?js } ?>
<?js if (data.version) {?>
<dt class="tag-version">Version:</dt>
<dd class="tag-version"><ul class="dummy"><li><?js= version ?></li></ul></dd>
<?js } ?>
<?js if (data.since) {?>
<dt class="tag-since">Since:</dt>
<dd class="tag-since"><ul class="dummy"><li><?js= since ?></dd>
<?js } ?>
<?js if (data.deprecated) { ?>
<dt class="important tag-deprecated">Deprecated</dt><?js
if (data.deprecated === true) { ?><dd class="yes-def tag-deprecated"><ul class="dummy"><li>Yes</li></ul></dd><?js }
else { ?><dd><ul class="dummy"><li><?js= data.deprecated ?></li><ul></dd><?js }
?>
<?js } ?>
<?js if (data.author && author.length) {?>
<dt class="tag-author">Author:</dt>
<dd class="tag-author">
<ul><?js author.forEach(function(a) { ?>
<li><?js= self.resolveAuthorLinks(a) ?></li>
<?js }); ?></ul>
</dd>
<?js } ?>
<?js if (data.copyright) {?>
<dt class="tag-copyright">Copyright:</dt>
<dd class="tag-copyright"><ul class="dummy"><li><?js= copyright ?></li></ul></dd>
<?js } ?>
<?js if (data.license) {?>
<dt class="tag-license">License:</dt>
<dd class="tag-license"><ul class="dummy"><li><?js= license ?></li></ul></dd>
<?js } ?>
<?js if (data.defaultvalue) {?>
<dt class="tag-default">Default Value:</dt>
<dd class="tag-default"><ul class="dummy"><li><?js= data.defaultvalue ?></li></ul></dd>
<?js } ?>
<?js if (data.tutorials && tutorials.length) {?>
<dt class="tag-tutorial">Tutorials:</dt>
<dd class="tag-tutorial">
<ul><?js tutorials.forEach(function(t) { ?>
<li><?js= self.tutoriallink(t) ?></li>
<?js }); ?></ul>
</dd>
<?js } ?>
<?js if (data.see && see.length) {?>
<dt class="tag-see">See:</dt>
<dd class="tag-see">
<ul><?js see.forEach(function(s) { ?>
<li><?js= self.linkto(s) ?></li>
<?js }); ?></ul>
</dd>
<?js } ?>
<?js if (data.todo && todo.length) {?>
<dt class="tag-todo">TODO</dt>
<dd class="tag-todo">
<ul><?js todo.forEach(function(t) { ?>
<li><?js= t ?></li>
<?js }); ?></ul>
</dd>
<?js } ?>
</dl>

View File

@@ -0,0 +1,2 @@
<?js var data = obj; ?>
<pre class="prettyprint"><code><?js= data ?></code></pre>

View File

@@ -5,7 +5,12 @@
?>
<p class="code-caption"><?js= example.caption ?></p>
<?js } ?>
<?js if (example.code.toString().indexOf('<pre>') === -1) { ?>
<pre class="prettyprint"><code><?js= example.code ?></code></pre>
<?js } else { ?>
<?js= example.code.replace(/<pre>/g, '<pre class="prettyprint">') ?>
<?js } ?>
<?js
});
?>

View File

@@ -0,0 +1,30 @@
<?js
var data = obj;
?>
<?js if (data.description && data.type && data.type.names) { ?>
<dl>
<dt>
<div class="param-desc">
<?js= data.description ?>
</div>
</dt>
<dt>
<dl>
<dt>
Type
</dt>
<dd>
<?js= this.partial('type.tmpl', data.type.names) ?>
</dd>
</dl>
</dt>
</dl>
<?js } else { ?>
<div class="param-desc">
<?js if (data.description) { ?>
<?js= data.description ?>
<?js } else if (data.type && data.type.names) { ?>
<?js= this.partial('type.tmpl', data.type.names) ?>
<?js } ?>
</div>
<?js } ?>

View File

@@ -0,0 +1,45 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>OpenLayers 3 API Documentation - <?js= title ?></title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<script src="scripts/jquery.min.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
<link type="text/css" rel="stylesheet" href="styles/jaguar.css">
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="brand" href="/"><img src="../resources/logo.png" width="40"> OpenLayers 3</a>
<a class="brand" href="index.html">API Documentation</a>
<label id="stability">
<input type="checkbox" id="stability-toggle" checked> Stable Only
</label>
</div>
</div>
</div>
<div id="wrap" class="clearfix">
<?js= this.partial('navigation.tmpl', this) ?>
<div class="main">
<h1 class="page-title" data-filename="<?js= filename ?>"><?js= title ?></h1>
<?js= content ?>
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc <?js= env.version.number ?></a> on <?js= (new Date()) ?>
</footer>
</div>
</div>
<script>prettyPrint();</script>
<script src="scripts/linenumber.js"></script>
<script src="scripts/main.js"></script>
</body>
</html>

View File

@@ -9,6 +9,6 @@ var self = this;
<?js if (data.readme) { ?>
<section>
<article><?js= data.readme ?></article>
<article class="readme"><?js= data.readme ?></article>
</section>
<?js } ?>

View File

@@ -0,0 +1,36 @@
<?js
var data = obj;
var self = this;
var typeSignature = '';
if (data.type && data.type.names) {
data.type.names.forEach(function (name) {
typeSignature += '<span class="type-signature type ' + name.toLowerCase() + '">{' + self.linkto(name, self.htmlsafe(name)) + '}</span> ';
});
}
?>
<dt class="<?js= (data.stability && data.stability !== 'stable') ? 'unstable' : '' ?>">
<div class="nameContainer">
<h4 class="name" id="<?js= id ?>">
<?js= data.attribs + (data.scope === 'static' ? longname : name) + typeSignature ?>
<?js= this.partial('stability.tmpl', data) ?>
</h4>
</div>
<?js if (data.summary) { ?>
<p class="summary"><?js= summary ?></p>
<?js } ?>
</dt>
<dd class="<?js= (data.stability && data.stability !== 'stable') ? 'unstable' : '' ?>">
<?js if (data.description) { ?>
<div class="description">
<?js= data.description ?>
</div>
<?js } ?>
<?js= this.partial('details.tmpl', data) ?>
<?js if (data.examples && examples.length) { ?>
<h5>Example<?js= examples.length > 1? 's':'' ?></h5>
<?js= this.partial('examples.tmpl', examples) ?>
<?js } ?>
</dd>

View File

@@ -0,0 +1,121 @@
<?js
var data = obj;
var self = this;
?>
<dt class="<?js= (data.stability && data.stability !== 'stable') ? 'unstable' : '' ?>">
<div class="nameContainer<?js if (data.inherited) { ?> inherited<?js } ?>">
<?js if (data.stability || kind !== 'class') { ?>
<h4 class="name" id="<?js= id ?>">
<?js= data.attribs + (kind === 'class' ? 'new ' : '') + (data.scope === 'static' ? longname : name) + (kind !== 'event' ? data.signature : '') ?>
<?js if (data.inherited || data.inherits) { ?>
<span class="inherited"><?js= this.linkto(data.inherits, 'inherited') ?></span>
<?js } ?>
<?js= this.partial('stability.tmpl', data) ?>
</h4>
<?js if (data.meta) {?>
<div class="tag-source">
<?js= self.linkto(meta.filename) ?>, <?js= self.linkto(meta.filename, 'line ' + meta.lineno, null, 'line' + meta.lineno) ?>
</div>
<?js } ?>
<?js } ?>
</div>
<?js if (data.summary) { ?>
<p class="summary"><?js= summary ?></p>
<?js } ?>
</dt>
<dd class="<?js= (data.stability && data.stability !== 'stable') ? 'unstable' : '' ?>">
<?js if (data.description) { ?>
<div class="description">
<?js= data.description ?>
</div>
<?js } ?>
<?js if (kind === 'event' && data.type && data.type.names) {?>
<h5>Type:</h5>
<ul>
<li>
<?js= self.partial('type.tmpl', data.type.names) ?>
</li>
</ul>
<?js } ?>
<?js if (data['this']) { ?>
<h5>This:</h5>
<ul><li><?js= this.linkto(data['this'], data['this']) ?></li></ul>
<?js } ?>
<?js if (data.stability || kind !== 'class') { ?>
<?js if (data.params && params.length) { ?>
<?js= this.partial('params.tmpl', params) ?>
<?js } ?>
<?js } ?>
<?js= this.partial('details.tmpl', data) ?>
<?js if (data.fires && fires.length) { ?>
<h5>Fires:</h5>
<ul><?js fires.forEach(function(f) {
var parts = f.split(/#?event:/);
var type = parts.pop();
var eventClassName = parts[0];
parts = type.split(' ');
type = parts.shift();
var description = parts.length ? parts.join(' ') : '';
var eventDoclet = self.find({longname: f})[0];
if (eventDoclet && !description && eventDoclet.description) {
description = eventDoclet.description.replace(/<[^>]*>/g, '');
}
?>
<li class="<?js= (eventDoclet || data).stability !== 'stable' ? 'unstable' : '' ?>">
<code><?js= self.linkto(f, type) ?></code>
<?js if (eventClassName) {
var eventClass = self.find({longname: eventClassName})[0];
if (eventClass) { ?>
(<?js= self.linkto(eventClass.longname) ?>)
<?js } ?>
<?js } ?>
<?js= self.partial('stability.tmpl', eventDoclet || (data.stability ? data : {stability: 'experimental'})) ?>
<?js if (description) { ?> -
<?js= description ?>
<?js } ?>
</li>
<?js }); ?></ul>
<?js } ?>
<?js if (data.listens && listens.length) { ?>
<h5>Listens to Events:</h5>
<ul><?js listens.forEach(function(f) { ?>
<li><?js= self.linkto(f) ?></li>
<?js }); ?></ul>
<?js } ?>
<?js if (data.listeners && listeners.length) { ?>
<h5>Listeners of This Event:</h5>
<ul><?js listeners.forEach(function(f) { ?>
<li><?js= self.linkto(f) ?></li>
<?js }); ?></ul>
<?js } ?>
<?js if (data.exceptions && exceptions.length) { ?>
<h5>Throws:</h5>
<?js if (exceptions.length > 1) { ?><ul><?js
exceptions.forEach(function(r) { ?>
<li><?js= self.partial('exceptions.tmpl', r) ?></li>
<?js });
?></ul><?js } else {
exceptions.forEach(function(r) { ?>
<?js= self.partial('exceptions.tmpl', r) ?>
<?js });
} } ?>
<?js if (data.returns && returns.length) { ?>
<?js if (returns.length > 1) { ?><h5>Returns:</h5><?js } ?>
<?js= self.partial('returns.tmpl', data.returns) ?>
<?js } ?>
<?js if (data.examples && examples.length) { ?>
<h5>Example<?js= examples.length > 1? 's':'' ?></h5>
<?js= this.partial('examples.tmpl', examples) ?>
<?js } ?>
</dd>

View File

@@ -0,0 +1,87 @@
<?js
var self = this;
?>
<div class="navigation">
<div class="search">
<input id="search" type="text" class="form-control input-sm" placeholder="Search Documentation">
</div>
<ul class="list">
<?js
this.nav.forEach(function (item) {
?>
<li class="item" data-name="<?js= item.longname ?>">
<span class="title">
<?js= self.linkto(item.longname, item.longname) ?>
<?js if (item.type === 'namespace' &&
(item.members.length + item.typedefs.length + item.methods.length +
item.events.length > 0)) { ?>
<?js } ?>
</span>
<ul class="members itemMembers">
<?js
if (item.members.length) {
?>
<span class="subtitle">Members</span>
<?js
item.members.forEach(function (v) {
?>
<li data-name="<?js= v.longname ?>"><?js= self.linkto(v.longname, v.name) ?></li>
<?js
});
}
?>
</ul>
<ul class="typedefs itemMembers">
<?js
if (item.typedefs.length) {
?>
<span class="subtitle">Typedefs</span>
<?js
item.typedefs.forEach(function (v) {
?>
<li data-name="<?js= v.longname ?>" class="<?js= v.stability !== 'stable' ? 'unstable' : ''?>">
<?js= self.linkto(v.longname, v.name) ?>
</li>
<?js
});
}
?>
</ul>
<ul class="methods itemMembers">
<?js
if (item.methods.length) {
?>
<span class="subtitle">Methods</span>
<?js
item.methods.forEach(function (v) {
?>
<li data-name="<?js= v.longname ?>" class="<?js= v.stability !== 'stable' ? 'unstable' : ''?>">
<?js= self.linkto(v.longname, v.name) ?>
</li>
<?js
});
}
?>
</ul>
<ul class="fires itemMembers">
<?js
if (item.fires && item.fires.length) {
?>
<span class="subtitle">Fires</span>
<?js
item.fires.forEach(function (v) {
v = self.find({longname: v})[0] || {longname: v, name: v.split(/#?event:/)[1]};
?>
<li data-name="<?js= v.longname ?>" class="<?js= (v.stability != 'stable' ? 'unstable' : '') ?>">
<?js= self.linkto(v.longname, v.name) ?>
</li>
<?js
});
}
?>
</ul>
</li>
<?js }); ?>
</ul>
</div>

View File

@@ -21,7 +21,7 @@
var setter = prop.readonly ? 'no' : 'yes';
?>
<tr>
<tr class="<?js= prop.stability !== 'stable' ? 'unstable' : '' ?>">
<td class="name"><code><?js= prop.name ?></code></td>
<td class="type">
<?js if (prop.type && prop.type.names) {?>

View File

@@ -21,8 +21,16 @@
params.hasDefault = false;
params.hasName = false;
var colspan = 2;
params.forEach(function(param) {
if (!param) { return; }
if (param.type && param.type.names && param.type.names.indexOf('undefined') !== -1) {
param.optional = true;
}
if (param.name.indexOf('var_') == 0) {
params.hasAttributes = true;
param.variable = true;
}
if (param.optional || param.nullable) {
params.hasAttributes = true;
@@ -33,6 +41,7 @@
}
if (typeof param.defaultvalue !== 'undefined') {
++colspan;
params.hasDefault = true;
}
});
@@ -47,10 +56,6 @@
<th>Type</th>
<?js if (params.hasAttributes) {?>
<th>Argument</th>
<?js } ?>
<?js if (params.hasDefault) {?>
<th>Default</th>
<?js } ?>
@@ -66,29 +71,18 @@
if (!param) { return; }
?>
<tr>
<tr class="<?js= (param.stability && param.stability !== 'stable') ? 'unstable' : '' ?>">
<?js if (params.hasName) {?>
<td class="name"><code><?js= param.name.replace(/^opt_/, "") ?></code></td>
<?js } ?>
<?js if (!param.subparams) {?>
<td class="type">
<?js if (param.type && param.type.names) {?>
<?js= self.partial('type.tmpl', param.type.names) ?>
<?js } ?>
</td>
<?js if (params.hasAttributes) {?>
<td class="attributes">
<?js if (param.optional) { ?>
&lt;optional><br>
<?js } ?>
<?js if (param.nullable) { ?>
&lt;nullable><br>
<?js } ?>
</td>
<?js } ?>
<?js if (params.hasDefault) {?>
<td class="default">
<?js if (typeof param.defaultvalue !== 'undefined') { ?>
@@ -96,9 +90,13 @@
<?js } ?>
</td>
<?js } ?>
<?js } ?>
<td class="description last"><?js= param.description ?><?js if (param.subparams) { ?>
<h6>Properties</h6>
<td<?js= (param.subparams ? ' colspan=' + colspan : ' ') ?> class="description last">
<?js if (param.stability) { ?>
<?js= self.partial('stability.tmpl', param) ?>
<?js } ?>
<?js= param.description ?><?js if (param.subparams) { ?>
<?js= self.partial('params.tmpl', param.subparams) ?>
<?js } ?></td>
</tr>

View File

@@ -5,7 +5,7 @@
var parentProp = null;
props.forEach(function(prop, i) {
if (!prop) { return; }
if ( parentProp && prop.name.indexOf(parentProp.name + '.') === 0 ) {
if ( parentProp && prop.name && prop.name.indexOf(parentProp.name + '.') === 0 ) {
prop.name = prop.name.substr(parentProp.name.length+1);
parentProp.subprops = parentProp.subprops || [];
parentProp.subprops.push(prop);

Some files were not shown because too many files have changed in this diff Show More