Compare commits

..

2074 Commits

Author SHA1 Message Date
Andreas Hocevar
badc350746 Merge pull request #8554 from openlayers/release-v5.2.0
Release v5.2.0
2018-08-28 21:39:23 +02:00
Andreas Hocevar
50293200d7 Merge pull request #8504 from ahocevar/browserify-readme
Link to Browserify example project
2018-08-28 21:35:18 +02:00
ahocevar
b2b3d6b05c Update package version to 5.2.0 2018-08-28 21:32:36 +02:00
ahocevar
34fefe3103 Changelog for v5.2.0 2018-08-28 21:32:36 +02:00
Pierre GIRAUD
27dadef8ef Merge pull request #8511 from openlayers/pgiraud-patch-1
Update IGN API key
2018-08-27 10:36:35 +02:00
Pierre GIRAUD
f456c56ddd Merge pull request #8547 from pgiraud/serve-examples
Fix port number in developing doc
2018-08-27 09:32:44 +02:00
Pierre GIRAUD
bdb80d3368 Fix port number in developing doc 2018-08-27 09:14:23 +02:00
Pierre GIRAUD
b039e17015 Update IGN API key
Fixes #8509
2018-08-27 09:11:26 +02:00
Andreas Hocevar
bd9635f6ef Merge pull request #8546 from ahocevar/proj-faq
Update projection FAQ for v5
2018-08-27 08:14:28 +02:00
ahocevar
a0e72c7d42 Update projection FAQ for v5 2018-08-26 21:41:16 +02:00
Andreas Hocevar
bb77fbe703 Merge pull request #8543 from openlayers/greenkeeper/rollup-0.65.0
Update rollup to the latest version 🚀
2018-08-26 07:21:28 +02:00
greenkeeper[bot]
0c47890bdd chore(package): update rollup to version 0.65.0 2018-08-25 14:41:44 +00:00
Andreas Hocevar
2d974c6f1f Merge pull request #8541 from openlayers/greenkeeper/proj4-2.5.0
Update proj4 to the latest version 🚀
2018-08-25 00:37:38 +02:00
Andreas Hocevar
d95b2bc2ae Merge pull request #8542 from openlayers/greenkeeper/rollup-plugin-commonjs-9.1.6
Update rollup-plugin-commonjs to the latest version 🚀
2018-08-25 00:36:35 +02:00
greenkeeper[bot]
0ada02f12a chore(package): update rollup-plugin-commonjs to version 9.1.6 2018-08-24 22:10:50 +00:00
greenkeeper[bot]
786bb608b9 chore(package): update proj4 to version 2.5.0 2018-08-24 21:25:55 +00:00
Frédéric Junod
2342ec90aa Merge pull request #8481 from gberaudo/expose_some_internal_functions
Expose some internal functions
2018-08-23 10:42:19 +02:00
Andreas Hocevar
7a05b671d8 Merge pull request #8533 from openlayers/greenkeeper/webpack-4.17.1
Update webpack to the latest version 🚀
2018-08-22 13:32:22 +02:00
Andreas Hocevar
ea9517ffd5 Merge pull request #8510 from gberaudo/fix_WMTS_dimensions_handling
Fix WMTS URLs with dimensions
2018-08-22 13:31:53 +02:00
Frédéric Junod
d84c64b3e7 Merge pull request #8524 from NeoRaider/xhtml-fixes
Fix compatiblity with XHTML content type
2018-08-22 13:13:22 +02:00
greenkeeper[bot]
017d2e4802 chore(package): update webpack to version 4.17.1 2018-08-22 10:49:35 +00:00
Andreas Hocevar
3b36477fc3 Merge pull request #8532 from ahocevar/rendercomplete
Add 'rendercomplete' event
2018-08-22 11:01:00 +02:00
ahocevar
1baa8be269 Add 'rendercomplete' event 2018-08-22 09:53:24 +02:00
Andreas Hocevar
158b54156a Merge pull request #8530 from openlayers/greenkeeper/webpack-4.17.0
Update webpack to the latest version 🚀
2018-08-21 19:34:45 +02:00
greenkeeper[bot]
5752bd0028 chore(package): update webpack to version 4.17.0 2018-08-21 09:50:38 +00:00
Andreas Hocevar
3f98094d9d Merge pull request #8529 from TDesjardins/patch-1
Update link to base class in docs
2018-08-20 17:56:50 +02:00
Tino Desjardins
b56a7c0fa3 Update link to base class in docs 2018-08-20 17:03:59 +02:00
Tim Schaub
b7aa6c6513 Merge pull request #8528 from TDesjardins/patch-1
Update link to base class in docs
2018-08-20 05:36:47 -06:00
Tino Desjardins
1605741a92 Update link to base class in docs 2018-08-20 10:23:22 +02:00
Tim Schaub
a18da7d55a Merge pull request #8525 from tschaub/re-export-projection
Re-export Projection from ol/proj for convenience
2018-08-19 19:52:17 -06:00
Tim Schaub
68cf960028 Re-export Projection from ol/proj for convenience 2018-08-18 14:14:10 -06:00
Matthias Schiffer
94c6afd65d Avoid HTML entities like   and ©
Use numerical entities instead for XHTML compatiblity.
2018-08-18 13:13:27 +02:00
Matthias Schiffer
321166849b Consistently use lowercase HTML tag names
Unlike HTML, XHTML is case-sensitive.
2018-08-18 12:48:14 +02:00
Andreas Hocevar
26cc0a3ded Merge pull request #8522 from openlayers/greenkeeper/marked-0.5.0
Update marked to the latest version 🚀
2018-08-17 11:30:38 +02:00
greenkeeper[bot]
fffcf4415c chore(package): update marked to version 0.5.0 2018-08-17 09:00:28 +00:00
Andreas Hocevar
07cb678271 Merge pull request #8499 from ahocevar/focus
Round center in viewState to pixels
2018-08-16 16:41:15 +02:00
Guillaume Beraudo
315cfa1033 Fix WMTS layers URLs with dimensions 2018-08-16 15:34:56 +02:00
Andreas Hocevar
38349d8c37 Merge pull request #8520 from openlayers/redundant-if
Remove redundant if block
2018-08-16 08:31:29 +02:00
Andreas Hocevar
adce78e19e Remove redundant if block 2018-08-16 07:04:53 +02:00
Andreas Hocevar
eb0fcdb588 Merge pull request #8515 from ahocevar/getoverlay
More convenient select and sketch layer management
2018-08-15 13:21:48 +02:00
ahocevar
161c5b0105 Better documentation of the zIndex default 2018-08-15 11:24:29 +02:00
ahocevar
8ab1589f9a Add getOverlay method to access sketch and selection layers 2018-08-15 10:59:38 +02:00
ahocevar
95533e2425 Use configured zIndex for unmanaged layers 2018-08-15 10:58:52 +02:00
Andreas Hocevar
a94dff2c06 Merge pull request #8505 from openlayers/greenkeeper/karma-3.0.0
Update karma to the latest version 🚀
2018-08-10 11:34:21 +02:00
greenkeeper[bot]
fc75fc691b chore(package): update karma to version 3.0.0 2018-08-09 21:20:04 +00:00
ahocevar
b9aceb23ac Let renderer decide whether to snapToPixel or not, also for text 2018-08-09 18:16:58 +02:00
ahocevar
f382ddf230 Remove snapToPixel option and deprecate getters/setters 2018-08-09 18:16:58 +02:00
ahocevar
dbdaa73cf2 Only change interacting flag when dragging 2018-08-09 18:16:58 +02:00
ahocevar
f3cd1d8dfd Round center in viewState 2018-08-09 18:16:58 +02:00
Andreas Hocevar
e5944682df Merge pull request #8503 from ahocevar/callback-closure
Avoid block scope issues in transpiled code
2018-08-09 13:55:17 +02:00
Andreas Hocevar
147a86c867 Merge pull request #8501 from openlayers/greenkeeper/rollup-plugin-commonjs-9.1.5
Update rollup-plugin-commonjs to the latest version 🚀
2018-08-09 10:57:34 +02:00
ahocevar
2d08811485 Link to Browserify example project 2018-08-09 10:34:31 +02:00
ahocevar
fc19e3e12e Avoid block scope issues in transpiled code 2018-08-09 10:22:42 +02:00
greenkeeper[bot]
a5fc8bdd25 chore(package): update rollup-plugin-commonjs to version 9.1.5 2018-08-09 05:49:21 +00:00
Andreas Hocevar
7f8b2d2e1f Merge pull request #8495 from openlayers/greenkeeper/rollup-0.64.1
Update rollup to the latest version 🚀
2018-08-07 21:43:35 +02:00
greenkeeper[bot]
80a00fce47 chore(package): update rollup to version 0.64.1 2018-08-07 19:20:14 +00:00
Andreas Hocevar
ee8ed5193c Merge pull request #8493 from openlayers/greenkeeper/clean-css-cli-4.2.1
Update clean-css-cli to the latest version 🚀
2018-08-07 11:26:54 +02:00
greenkeeper[bot]
cc7d825a13 chore(package): update clean-css-cli to version 4.2.1 2018-08-07 09:02:18 +00:00
Andreas Hocevar
fd4e0f14cc Merge pull request #8490 from MarquesDeAzevedo/patch-1
WMTS getCapabilities readCoodinates more than one whitespace delimiter
2018-08-07 10:46:28 +02:00
MarquesDeAzevedo
85e1f11adb WMTS getCapabilities readCoodinates more than one whitespace delimiter
remove not required regexp modifier
2018-08-07 10:40:08 +02:00
MarquesDeAzevedo
47c4e1a165 WMTS getCapabilities readCoodinates more than one whitespace delimiter
combine split and replace
2018-08-07 09:56:17 +02:00
Andreas Hocevar
0bff75a067 Merge pull request #8491 from openlayers/greenkeeper/rollup-0.64.0
Update rollup to the latest version 🚀
2018-08-07 09:21:42 +02:00
greenkeeper[bot]
ab81deb242 chore(package): update rollup to version 0.64.0 2018-08-07 07:12:54 +00:00
MarquesDeAzevedo
654073cd3d WMTS getCapabilities readCoodinates more than one whitespace delimiter
Some WMTS getCapabilities return <MatrixSet><TopLeftCorner> with more than one whitespace as delimiter between the coordinates. This leads to the layer not being displayed, because the origin_ property of ol.tilegrid.TileGrid is not set.
Error in ol.tilegrid.TileGrid.prototype.getTileCoordForXYAndZ_: JavaScript runtime error: Unable to get property '0' of undefined or null reference
2018-08-07 08:40:42 +02:00
Andreas Hocevar
a354e842ab Merge pull request #8489 from ahocevar/prototype
Use .prototype. only where necessary
2018-08-06 15:44:06 +02:00
ahocevar
1eeea2aa4d Use class method syntax instead of .prototype.method = function 2018-08-06 15:30:17 +02:00
ahocevar
2f92e48e93 Use super.method instead of prototype.method.call 2018-08-06 15:30:17 +02:00
ahocevar
c5b42c49d5 Fix Disposable's prototype handling 2018-08-06 15:30:17 +02:00
Andreas Hocevar
03d47e49ed Merge pull request #8486 from openlayers/greenkeeper/webpack-4.16.5
Update webpack to the latest version 🚀
2018-08-06 11:40:44 +02:00
Guillaume Beraudo
abbfb5c653 Document the stableSort function 2018-08-06 10:50:18 +02:00
greenkeeper[bot]
a78c163a4f chore(package): update webpack to version 4.16.5 2018-08-06 08:14:58 +00:00
Guillaume Beraudo
a4178d05ef Expose the stableSort function
This is a low level function, essential to OpenLayers so it is always
shipped with OpenLayers.
2018-08-06 09:18:56 +02:00
Guillaume Beraudo
dbf9048d8f Expose the getUid function
It is often useful in application code to have a way to uniquely identify
and object.

Exposing the OpenLayers mechanism allows for best performance and avoid
unneccessary dirt.
2018-08-06 09:18:56 +02:00
Andreas Hocevar
824ad48488 Merge pull request #8478 from ahocevar/available-font-weights
Check font availability with multiple font weights
2018-08-06 06:52:53 +02:00
Frédéric Junod
8cd9eabe68 Merge pull request #8483 from fredj/draw-shapes-null-coordinates
Don't create Polygon with null coordinates
2018-08-05 19:30:34 +02:00
Frederic Junod
a50a4efeca Don't create Polygon with null coordinates 2018-08-04 07:35:19 +02:00
Frédéric Junod
d49be1393e Merge pull request #8471 from samuel-girard/imagestatic_properties
Add getUrl and getImageExtent to ImageStatic API
2018-08-03 09:22:53 +02:00
Andreas Hocevar
a991bb21d6 Merge pull request #8470 from scroach/tile-api-doc
Update Tile loading API docs
2018-08-03 09:13:48 +02:00
Andreas Hocevar
df848d6673 Add basic tileLoadFunction example and refine advanced example 2018-08-03 09:04:24 +02:00
scroach
68ce6de0ca Updated Tile loading API docs 2018-08-03 09:01:47 +02:00
Tim Schaub
141fe5fe49 Merge pull request #8477 from gberaudo/expose_gutter
Expose original getGutter
2018-08-02 22:33:23 -06:00
Andreas Hocevar
57baa15cc3 Merge pull request #8476 from openlayers/greenkeeper/webpack-4.16.4
Update webpack to the latest version 🚀
2018-08-02 22:46:57 +02:00
Andreas Hocevar
64138bb94f Merge pull request #8475 from openlayers/greenkeeper/clean-css-cli-4.2.0
Update clean-css-cli to the latest version 🚀
2018-08-02 22:41:09 +02:00
ahocevar
62188502e9 Check font availability in 3 different weight ranges 2018-08-02 18:57:26 +02:00
Guillaume Beraudo
fe86d2e7f7 Expose original getGutter
TileWMS objects take a gutter option but do not have a public getter
for it. This makes it convoluted for user code to recreate the object
(ex: in the case of serialization/deserialization).

- the getGutterInternal() method is renamed to getGutter;
- the getGutter(projection) method is renamed to getGutterForProjection,
  which is also more explicit.

The getGutter method was not API and is only used by the renderer.
2018-08-02 17:12:41 +02:00
greenkeeper[bot]
69ae9d7180 chore(package): update webpack to version 4.16.4 2018-08-02 14:55:46 +00:00
greenkeeper[bot]
adc83ba484 chore(package): update clean-css-cli to version 4.2.0 2018-08-02 13:08:28 +00:00
Samuel Girard
4012280ad4 Use class property for url 2018-08-02 09:02:04 +02:00
Samuel Girard
e48c85a689 Add getUrl and getImageExtent to ImageStatic API 2018-08-01 12:23:38 +02:00
Andreas Hocevar
c74faaa7ca Merge pull request #8469 from openlayers/greenkeeper/rollup-0.63.5
Update rollup to the latest version 🚀
2018-08-01 10:52:23 +02:00
greenkeeper[bot]
236b6832fb chore(package): update rollup to version 0.63.5 2018-08-01 07:39:36 +00:00
Andreas Hocevar
93b92d3990 Merge pull request #8466 from ahocevar/on-focus-only
Add onFocusOnly option to interaction defaults
2018-07-31 13:27:14 +02:00
Andreas Hocevar
a36ab978e7 Merge pull request #8465 from ahocevar/no-prevent-default-on-pointermove
Do not prevent default on pointermove
2018-07-31 13:26:46 +02:00
ahocevar
55fb62c551 Add onFocusOnly option to interaction defaults 2018-07-31 09:01:42 +02:00
ahocevar
c74b9c1d55 Do not prevent default on pointermove
Instead, only prevent default on handled pointerdown events. This makes 
the `focus` condition work with interactions that involve dragging on 
touch devices.
2018-07-31 08:33:15 +02:00
Andreas Hocevar
a56ca57ac6 Merge pull request #8461 from lionralfs/lionralfs-patch-1
Fix double backtick typo
2018-07-28 14:40:33 +02:00
Lion Ralfs
1aadd51c57 Fix double backtick typo 2018-07-28 12:58:37 +02:00
Tim Schaub
a1391a2083 Merge pull request #8453 from openlayers/greenkeeper/webpack-4.16.3
Update webpack to the latest version 🚀
2018-07-27 17:55:28 -06:00
Frédéric Junod
5adf0be4a3 Merge pull request #8452 from fredj/f_8409
Remove extra translate function in Geometry, add missing api tag
2018-07-27 15:53:53 +02:00
Frédéric Junod
4c71ddb3c7 Merge pull request #8451 from fredj/rm_f
Remove unimplemented functions
2018-07-27 13:22:35 +02:00
greenkeeper[bot]
efe15402cc chore(package): update webpack to version 4.16.3 2018-07-27 11:19:38 +00:00
Frederic Junod
b3586bed8d Remove extra translate function in Geometry, add missing api tag 2018-07-27 13:19:12 +02:00
Frederic Junod
1e332f52d6 Remove unimplemented functions
The TypeScript checker complain about it.
It was a workaround for closure-compiler, it's not needed anymore.
2018-07-27 13:10:45 +02:00
Frédéric Junod
c0f44f6d9d Merge pull request #8450 from fredj/types
Mark properties of ReadOptions and WriteOptions as optional
2018-07-27 11:45:25 +02:00
Andreas Hocevar
efe0dd7fbf Merge pull request #8447 from openlayers/greenkeeper/rollup-plugin-commonjs-9.1.4
Update rollup-plugin-commonjs to the latest version 🚀
2018-07-27 11:39:47 +02:00
Frederic Junod
219629458b Mark properties of ReadOptions and WriteOptions as optional 2018-07-27 11:25:52 +02:00
greenkeeper[bot]
b13feb0046 chore(package): update rollup-plugin-commonjs to version 9.1.4 2018-07-27 06:27:33 +00:00
Tim Schaub
df293d8a2e Merge pull request #8443 from tschaub/void
Explicit void
2018-07-26 17:28:26 -06:00
Tim Schaub
6cfa2b22a7 Explicit void 2018-07-26 10:46:39 -06:00
Tim Schaub
8346bb7454 Merge pull request #8437 from tschaub/target
Avoid shadowing EventTarget
2018-07-26 09:21:57 -07:00
Tim Schaub
40486a0ecc Avoid shadowing EventTarget 2018-07-26 10:14:58 -06:00
Tim Schaub
d8efa569d9 Merge pull request #8439 from tschaub/dotless
Fewer dots in types
2018-07-26 06:16:33 -07:00
Frédéric Junod
adfb3dd229 Merge pull request #8441 from fredj/f_8440
Fix loaded script for the example-verbatim examples
2018-07-26 14:02:33 +02:00
Frederic Junod
3c0be4e611 Fix loaded script for the example-verbatim examples 2018-07-26 13:46:17 +02:00
Tim Schaub
2eb07aa081 Use Template<Foo> instead of Template.<Foo> 2018-07-25 18:37:08 -07:00
Tim Schaub
affbf59b77 Use Object<Foo, Bar> instead of Object.<Foo, Bar> 2018-07-25 18:33:49 -07:00
Tim Schaub
d12ef20b12 Use Array<Foo> instead of Array.<Foo> 2018-07-25 18:32:43 -07:00
Frédéric Junod
5a6502572f Merge pull request #8435 from fredj/f_8434
Call setCoordinates on the point instance
2018-07-25 16:55:05 +02:00
Frederic Junod
d7adf0b4f3 Call setCoordinates on the point instance 2018-07-25 16:10:56 +02:00
Tim Schaub
f7551623e7 Merge pull request #8428 from tschaub/ts-fixes
Type name on same line as type
2018-07-24 07:24:13 -07:00
Tim Schaub
6f22f1b7ac Param name on same line as type 2018-07-23 16:28:22 -07:00
Tim Schaub
6cdfbe3116 Merge pull request #8422 from jkoelewijn/improveJsDocForAngularCli
Improve JSDoc such that `ng build --prod` with angular/cli 6.0.8 succeeds again
2018-07-23 14:40:50 -07:00
Jaap Koelewijn
704845e37a Use alternative JSDoc annotation for optional parameter which passes the tests. 2018-07-23 21:29:52 +02:00
Jaap Koelewijn
fd9219f035 Incorporate review comments of ahocevar and tschaub. 2018-07-23 21:12:43 +02:00
Tim Schaub
f3786f9cff Merge pull request #8426 from openlayers/greenkeeper/webpack-4.16.2
Update webpack to the latest version 🚀
2018-07-23 07:23:19 -07:00
greenkeeper[bot]
436633b990 chore(package): update webpack to version 4.16.2 2018-07-23 12:03:50 +00:00
Andreas Hocevar
a89ae25134 Merge pull request #8396 from iamplex/fix-createRegularPolygon
Fix ol.interaction.Draw~createRegularPolygon
2018-07-23 10:51:32 +02:00
Jaap Koelewijn
2769953204 Fix JSDoc such that ng build --prod with angular/cli 6.0.8 succeeds again. 2018-07-23 01:05:26 +02:00
Andreas Hocevar
14ead39440 Merge pull request #8420 from ahocevar/raster-lib-fn-names
Keep function names when building examples
2018-07-22 22:55:05 +02:00
ahocevar
39261af940 Keep function names when building examples 2018-07-22 17:39:20 +02:00
Tim Schaub
9ec623380a Merge pull request #8419 from tschaub/release-v5.1.3
Release v5.1.3
2018-07-21 08:45:16 -07:00
Tim Schaub
28104527b0 Updates for v5.1.3 2018-07-21 09:44:10 -06:00
Tim Schaub
b50bc1febf Merge pull request #8417 from tschaub/bad-info
Minor doc updates
2018-07-21 08:34:01 -07:00
Andreas Hocevar
c046c2a1ba Merge pull request #8418 from ahocevar/classdesc-constructor-api
Set api annotation on classdesc, not constructor
2018-07-21 17:33:30 +02:00
ahocevar
bbe0a66d07 Set api annotation on classdesc, not constructor 2018-07-21 17:25:22 +02:00
Tim Schaub
d8b290966b Tracking 2018-07-21 09:11:30 -06:00
Tim Schaub
0edb39c8ab Single quote instead of backtick 2018-07-21 08:40:03 -06:00
Tim Schaub
f0ffb48633 Update concepts 2018-07-21 08:37:38 -06:00
Tim Schaub
171195a836 Remove broken link to sources 2018-07-21 08:24:44 -06:00
ahocevar
45cf296ed4 Simplify calculation and add tests 2018-07-21 10:22:42 +02:00
plex
b377bbac59 fix: change the start angle of the regular polygon to match the sketch 2018-07-21 09:44:00 +02:00
Tim Schaub
2767ddfdc7 Merge pull request #8414 from tschaub/release-v5.1.2
Updates for 5.1.2
2018-07-20 19:04:08 -07:00
Tim Schaub
cd85e30d08 Updates for 5.1.2 2018-07-20 20:03:15 -06:00
Tim Schaub
139fcd7bae Merge pull request #8413 from tschaub/jsdoc-fix
Remove extra curly in type
2018-07-20 19:00:34 -07:00
Tim Schaub
2a04415264 Remove extra curly in type 2018-07-20 19:57:49 -06:00
Tim Schaub
515eca797f Correct link to release notes 2018-07-20 19:44:04 -06:00
Tim Schaub
0b0d5c63da Merge pull request #8412 from tschaub/release-v5.1.1
Changes for 5.1.1.
2018-07-20 18:38:59 -07:00
Tim Schaub
1ad3e8fe37 Changes for 5.1.1. 2018-07-20 19:33:45 -06:00
Tim Schaub
e5d7b30c31 Merge pull request #8411 from tschaub/release-v5.1.0
Release v5.1.0
2018-07-20 17:40:21 -07:00
Tim Schaub
1b745dc7b7 Update the publish.sh script 2018-07-20 18:31:25 -06:00
Tim Schaub
f8c5a79242 Collapsed dependency updates 2018-07-20 18:22:28 -06:00
Tim Schaub
9061e93c59 Update package version to 5.1.0 2018-07-20 18:20:17 -06:00
Tim Schaub
b04728d907 Changelog for v5.1.0 2018-07-20 18:20:11 -06:00
Tim Schaub
154827c5d5 Merge pull request #8409 from pjeweb/patch-2
Add abstract translate to ol/geom/Geometry
2018-07-20 09:57:06 -07:00
Andreas Hocevar
f1d03702b2 Merge pull request #8410 from openlayers/greenkeeper/rollup-0.63.4
Update rollup to the latest version 🚀
2018-07-20 18:24:18 +02:00
greenkeeper[bot]
23f9110f1f chore(package): update rollup to version 0.63.4 2018-07-20 16:02:19 +00:00
Tim Schaub
d3e221bd10 Merge pull request #8408 from openlayers/greenkeeper/rollup-0.63.3
Update rollup to the latest version 🚀
2018-07-20 07:56:15 -07:00
Paul Golmann
e3e6a28e18 Add abstract translate to ol/geom/Geometry 2018-07-20 15:40:53 +02:00
greenkeeper[bot]
f3089efd19 chore(package): update rollup to version 0.63.3 2018-07-20 12:53:36 +00:00
Tim Schaub
2cfc2fd369 Merge pull request #8405 from tschaub/ts-fixes
Minor type fixes
2018-07-19 15:55:25 -07:00
Tim Schaub
c860aed960 Import inherits, getUid, and VERSION from ol/util 2018-07-19 10:26:17 -06:00
Tim Schaub
83972b00a5 Use single quote instead of backtick 2018-07-19 10:22:10 -06:00
Tim Schaub
cf58ee9bf1 Only use getUid from ol/util 2018-07-19 10:19:41 -06:00
Tim Schaub
e5493d1288 Add ol/pixel module for Pixel type 2018-07-19 10:17:00 -06:00
Andreas Hocevar
f77b6be8e9 Merge pull request #8401 from ahocevar/css-side-effects
Make webpack's css loader work
2018-07-19 17:27:49 +02:00
Tim Schaub
1c5cc6ea7f Merge pull request #8386 from openlayers/greenkeeper/fs-extra-7.0.0
Update fs-extra to the latest version 🚀
2018-07-19 08:12:16 -07:00
Tim Schaub
b7c49e1007 Merge pull request #8403 from tschaub/md-links
Markdown links
2018-07-19 08:06:43 -07:00
Tim Schaub
e1e34e5636 Replace @see with See. 2018-07-19 08:37:32 -06:00
Tim Schaub
d46471d763 Replace {@link https://www.example.com/} with https://www.example.com/ 2018-07-19 08:34:35 -06:00
Frédéric Junod
dae843a98d Merge pull request #8402 from fredj/fixes_from_ts
Type fixes from the typescript checks
2018-07-19 16:28:18 +02:00
Frederic Junod
85d836d909 Remove 'Geolocation' prefix from types
So they are recognized by the TypeScript type checker.
2018-07-19 16:02:58 +02:00
Frederic Junod
323eb3f251 Fix reprojectionErrorThreshold property type 2018-07-19 16:02:58 +02:00
Frederic Junod
5d2cf66380 Add missing 'targetRotation' property in Animation typedef 2018-07-19 16:02:58 +02:00
Frederic Junod
2e60961700 Use 'HTMLElement' type instead of 'Element' in controls 2018-07-19 16:02:58 +02:00
Frederic Junod
c1ffb0a2a9 Move template type at the class level
This removes the TS1092 error from TypeScript: Type parameters cannot appear on a constructor declaration.
2018-07-19 15:53:52 +02:00
Tim Schaub
8f7b52f266 Merge pull request #8400 from tschaub/eslint-config-update
ESLint config update
2018-07-18 10:48:09 -07:00
ahocevar
bcefb07cf2 Make webpack's css loader work 2018-07-18 19:02:59 +02:00
Andreas Hocevar
52c75e32ee Merge pull request #8399 from ahocevar/copy-css
Copy ol.css to build dir when building package
2018-07-18 19:01:27 +02:00
ahocevar
60c8360330 Copy ol.css to build dir when building package 2018-07-18 18:37:05 +02:00
Tim Schaub
b8c9125602 Remove lint 2018-07-18 10:35:54 -06:00
Tim Schaub
71555002a8 Latest linter config 2018-07-18 10:33:31 -06:00
Tim Schaub
5d029f4256 Merge pull request #8397 from tschaub/rollupdate
Update rollup
2018-07-18 09:32:01 -07:00
Tim Schaub
6fa4fa59d6 Update rollup 2018-07-18 10:25:24 -06:00
Tim Schaub
b4ce8e4b3d Merge pull request #8385 from openlayers/class
Use class syntax
2018-07-18 09:16:27 -07:00
ahocevar
4cdab30201 Replace VERSION correctly in transpiled code 2018-07-18 18:05:02 +02:00
ahocevar
47c58d8a34 Transpile sources for testing 2018-07-18 17:54:29 +02:00
ahocevar
5124c98fb5 Default VERSION to 'latest' 2018-07-18 17:41:22 +02:00
ahocevar
aecb7e1789 Remove unused inherits 2018-07-18 16:33:35 +02:00
ahocevar
0a126b620c Use class keyword in tests 2018-07-18 16:30:09 +02:00
ahocevar
9ed3540edf Fix this access in WMTS source 2018-07-18 16:29:53 +02:00
ahocevar
4589345fac Remove leftover this in super call 2018-07-18 15:41:35 +02:00
ahocevar
e52cabcb31 Fix DragZoom tests 2018-07-18 15:41:13 +02:00
ahocevar
6f32d1a15b Deprecate ol/inherits 2018-07-18 15:40:53 +02:00
ahocevar
95533bef66 Fix WKT geometry type lookup and tests 2018-07-18 15:40:39 +02:00
ahocevar
4adab51768 stopPropagation and preventDefault are now separate functions 2018-07-18 12:21:42 +02:00
ahocevar
b813937991 Access the correct element 2018-07-18 12:19:33 +02:00
ahocevar
87a3510c83 Clean up super calls 2018-07-18 12:19:15 +02:00
ahocevar
d6190a0cd7 Remove accidently added .only() 2018-07-18 12:15:02 +02:00
ahocevar
8991dc9718 Do not use this before super() 2018-07-18 12:09:04 +02:00
Frederic Junod
65b306891b Remove 'struct' jsdoc tags, code indentation 2018-07-18 09:07:27 +02:00
Tim Schaub
b4e0d4c188 Super before this in TileJSON source 2018-07-18 01:00:19 -06:00
Tim Schaub
1309cf9b69 Call super before accessing this in Carto source 2018-07-18 00:53:57 -06:00
Tim Schaub
023bb638b2 Call super before accessing this in raster source 2018-07-18 00:53:17 -06:00
Tim Schaub
d885771d8d Call super before accessing this in BingMaps source 2018-07-18 00:52:23 -06:00
Tim Schaub
7713015b26 Call super before accessing this in icon 2018-07-18 00:49:00 -06:00
Tim Schaub
fe8fcfbc7e Call super in WebGL context 2018-07-18 00:45:19 -06:00
Tim Schaub
3f4ba0af5f Call super in regular shape 2018-07-18 00:44:24 -06:00
Tim Schaub
1e4ab17513 Assign to this after super in WMTS tile grid 2018-07-18 00:43:29 -06:00
Tim Schaub
5f058e877f Call super and fix up comments in render box 2018-07-18 00:39:51 -06:00
Tim Schaub
9ce36da349 Remove @extends and @constructor annotations 2018-07-18 00:36:29 -06:00
Tim Schaub
b7b15eb7f0 Remove unused inherits 2018-07-18 00:13:43 -06:00
Tim Schaub
1a5cf52b61 Remove remaining use of inherits in src 2018-07-17 23:43:10 -06:00
Tim Schaub
f6046c023c Clean up remaining ol/format/filter class 2018-07-17 18:30:15 -06:00
Tim Schaub
c4e5a7467e Clean up ol/renderer classes 2018-07-17 18:26:51 -06:00
Tim Schaub
9ee5edf19c Clean up ol/renderer/webgl classes 2018-07-17 18:23:52 -06:00
Tim Schaub
792e7e54f1 Clean up ol/renderer/canvas classes 2018-07-17 18:15:47 -06:00
Tim Schaub
45e0926896 Cleaned up ol/proj 2018-07-17 17:54:24 -06:00
Tim Schaub
069187859d Cleaned up ol/pointer classes 2018-07-17 17:48:27 -06:00
Tim Schaub
d855f5ba0a Call super instead of BaseObject 2018-07-17 14:57:57 -06:00
Tim Schaub
2f4aa5aa05 No inherits in ZoomToExtent 2018-07-17 14:56:19 -06:00
Tim Schaub
bd7328675a Construct error with message 2018-07-17 14:55:10 -06:00
Tim Schaub
7c6755d3ec Scripts for generating the package and legacy build 2018-07-17 14:48:17 -06:00
Tim Schaub
524b4c99d5 Bad @const annotation 2018-07-17 14:48:17 -06:00
ahocevar
e79add2e77 Use extends, super and proper constructor jsdoc for ol/interaction 2018-07-17 21:09:06 +02:00
ahocevar
fd962caa1c Use extends, super and proper constructor comments for format/filter/ 2018-07-17 18:36:26 +02:00
ahocevar
414d1556a7 Use extends and super for format/XMLFeature 2018-07-17 18:03:21 +02:00
ahocevar
a02c1713a4 Use extends and super for format/WMTSCapabilities 2018-07-17 18:02:01 +02:00
ahocevar
ba431421a1 Use extends and super for format/WMSGetFeatureInfo 2018-07-17 18:01:07 +02:00
ahocevar
a4abd990df Use extends and super for format/WMSCapabilities 2018-07-17 17:59:53 +02:00
ahocevar
df89b0718a Use extends and super for format/WKT 2018-07-17 17:56:30 +02:00
ahocevar
942a219c30 Use extends and super for format/WFS 2018-07-17 17:49:08 +02:00
ahocevar
788f932550 Use extends and super for format/TopoJSON 2018-07-17 17:15:41 +02:00
ahocevar
c969afcddc Use extends and super for format/TextFeature 2018-07-17 17:14:14 +02:00
ahocevar
9b2b921f7b Use extends and super for format/Polyline 2018-07-17 17:13:13 +02:00
ahocevar
092441017d Use extends and super for format/OWS 2018-07-17 17:04:02 +02:00
ahocevar
5e71e6ce80 Use extends and super for format/OSMXML 2018-07-17 17:02:55 +02:00
ahocevar
cf15af43e3 Use extends and super for format/MVT 2018-07-17 17:00:43 +02:00
ahocevar
a8bd0c5dd7 Use extends and super for format/KML 2018-07-17 16:59:13 +02:00
ahocevar
ad4e192ee9 Use extends and super for format/JSONFeature 2018-07-17 16:54:17 +02:00
ahocevar
6a39b9f412 Use extends and super for format/IGC 2018-07-17 16:49:38 +02:00
Frederic Junod
f140ff368d Move jsdoc constructor comments for controls 2018-07-17 16:44:53 +02:00
ahocevar
e1e5e54d74 Use extends and super for format/GPX 2018-07-17 16:43:54 +02:00
ahocevar
9a28af76ca Use extends and super for GMLBase 2018-07-17 16:43:54 +02:00
ahocevar
7f05bf1d7e Use extends and super for format/GML3 2018-07-17 16:43:54 +02:00
ahocevar
84e9d7c72e Use extends and super for format/GML2 2018-07-17 16:43:54 +02:00
ahocevar
672a462b1e Use extends and super for format/GeoJSON 2018-07-17 16:43:53 +02:00
Frederic Junod
c707b4c746 Use extends and super for geom 2018-07-17 16:21:54 +02:00
ahocevar
44bea898b8 Use extends and super for format/JSONFeature 2018-07-17 16:10:11 +02:00
ahocevar
a235dc906f Use extends and super for events/EventTarget 2018-07-17 16:01:04 +02:00
ahocevar
f5272bb391 Use extends and super for control/ZoomToExtent 2018-07-17 15:02:38 +02:00
ahocevar
6530119918 Use extends and super for control/ZoomSlider 2018-07-17 14:58:37 +02:00
ahocevar
11f1f5b25c Use new eslint config to enforce no-this-before-super 2018-07-17 14:58:12 +02:00
ahocevar
600205f4d9 Use extends and super for control/Zoom 2018-07-17 14:44:27 +02:00
ahocevar
1da14a6d97 Use extends and super for control/ScaleLine 2018-07-17 14:41:27 +02:00
ahocevar
7d5efd0348 Use extends and super for control/Rotate 2018-07-17 14:41:27 +02:00
ahocevar
6ffda39b14 Use extends and super for control/OverviewMap 2018-07-17 14:41:27 +02:00
ahocevar
353a00af89 Use extends and super for control/MousePosition 2018-07-17 14:41:26 +02:00
ahocevar
b9f08c6a2a Use extends and super for control/FullScreen 2018-07-17 14:41:26 +02:00
ahocevar
322a51d822 Use extends and super for control/Control 2018-07-17 14:41:25 +02:00
ahocevar
49c4a75777 Use extends and super for control/Attribution 2018-07-17 14:41:25 +02:00
ahocevar
778e867c79 Use extends and super for WebGLMap 2018-07-17 14:21:50 +02:00
ahocevar
4f26f145ae Use extends and super for View 2018-07-17 14:20:48 +02:00
ahocevar
9c994138ad Use extends and super for VectorTile 2018-07-17 14:19:43 +02:00
ahocevar
603f489708 Use extends and super for VectorImageTile 2018-07-17 14:18:40 +02:00
ahocevar
2e5054d11c Use extends and super for TileQueue 2018-07-17 14:15:34 +02:00
ahocevar
64190b7109 Use extends and super for TileCache 2018-07-17 14:15:34 +02:00
ahocevar
9e259c471d Use extends and super for Tile 2018-07-17 14:15:34 +02:00
ahocevar
505f88031b Use extends and super for PluggableMap 2018-07-17 14:15:33 +02:00
ahocevar
0f6ee28c19 Use extends and super for Overlay 2018-07-17 14:15:33 +02:00
ahocevar
2fd022d215 Use extends and super for Observable 2018-07-17 14:15:32 +02:00
ahocevar
2792ba701a Use extends and super for Object 2018-07-17 14:15:32 +02:00
ahocevar
e1fedca22e Use extends and super for MapEvent 2018-07-17 14:15:32 +02:00
ahocevar
5a90203aa0 Use extends and super for MapBrowserPointerEvent 2018-07-17 13:54:30 +02:00
ahocevar
edd23dbf6a Use extends and super for MapBrowserEventHandler 2018-07-17 13:53:05 +02:00
ahocevar
16849a3611 Use extends and super for MapBrowserEvent 2018-07-17 13:51:32 +02:00
ahocevar
de104d6e22 Use extends and super for Map 2018-07-17 13:49:53 +02:00
ahocevar
5f40b5b66b Use extends and super for ImageTile 2018-07-17 13:47:13 +02:00
ahocevar
6ca865375e Use extends and super for ImageCanvas 2018-07-17 13:45:54 +02:00
ahocevar
61c48ce09f Use extends and super for ImageBase 2018-07-17 13:40:49 +02:00
ahocevar
fb59d7a65b Use extends and super for Image 2018-07-17 13:28:27 +02:00
ahocevar
ec495bfcec Use extends and super for Geolocation 2018-07-17 11:56:21 +02:00
ahocevar
6f4d2e34a9 Use extends and super for Feature 2018-07-17 11:49:37 +02:00
ahocevar
aa7b6350ec Use extends and super for Collection 2018-07-17 11:46:19 +02:00
ahocevar
0224e2b3c5 Use extends and super for AssertionError 2018-07-17 11:45:50 +02:00
Frederic Junod
540b1793e7 Move jsdoc constructor comments 2018-07-17 10:20:26 +02:00
Frederic Junod
f2d0b11d24 Move jsdoc constructor comments 2018-07-17 09:59:00 +02:00
Frederic Junod
384920734f Fix webgl.js path import in webgl shaders 2018-07-17 09:19:04 +02:00
Frederic Junod
7e3e0e54ca Fix comments indentation 2018-07-17 09:15:16 +02:00
greenkeeper[bot]
c49d2e0115 chore(package): update fs-extra to version 7.0.0 2018-07-17 02:22:58 +00:00
Tim Schaub
d0ab8dce38 Lint removal 2018-07-16 17:57:57 -06:00
Tim Schaub
f78d0d4cfa Manual class transform 2018-07-16 17:09:50 -06:00
Tim Schaub
7b4a73f3b9 Automated class transform
npx lebab --replace src --transform class
2018-07-16 16:18:16 -06:00
Tim Schaub
60e85e7d89 Merge pull request #8383 from Turbo87/set-anchor
style/Icon: Add `setAnchor()` method
2018-07-16 04:56:03 -07:00
Tobias Bieniek
2096a1d0db style/Icon: Add setAnchor() method
This allows users to adjust the anchor after the `Icon` is defined. This can be useful if the anchor should depend on the rotation of the icon.
2018-07-16 12:48:52 +02:00
Andreas Hocevar
41fd1d4222 Merge pull request #8382 from openlayers/greenkeeper/webpack-4.16.1
Update webpack to the latest version 🚀
2018-07-16 12:26:31 +02:00
greenkeeper[bot]
b1f80a5998 chore(package): update webpack to version 4.16.1 2018-07-16 09:31:10 +00:00
Andreas Hocevar
19ca2c25c6 Merge pull request #8368 from ahocevar/imagemode-render-listeners
Make render listeners work with image render mode
2018-07-14 11:52:40 +02:00
Andreas Hocevar
84d2c3a42e Merge pull request #8376 from virtualcitySYSTEMS/feature-polygonMakeRegularXYZ
copy ZM values to polygon in makeRegular
2018-07-12 18:00:54 +02:00
Ben Kuster
88fbd6e35d moved copying of ZM values to Polygon.fromCircle 2018-07-12 17:25:31 +02:00
Ben Kuster
33ef64c912 copy ZM values to polygon in makeRegular 2018-07-12 12:52:05 +02:00
Andreas Hocevar
ed7788ca37 Merge pull request #8373 from openlayers/greenkeeper/webpack-4.16.0
Update webpack to the latest version 🚀
2018-07-11 20:54:07 +02:00
greenkeeper[bot]
623c887579 chore(package): update webpack to version 4.16.0 2018-07-11 09:53:51 +00:00
Andreas Hocevar
f2b7dfc26c Merge pull request #8372 from openlayers/release-v5.0.3
Release v5.0.3
2018-07-11 11:11:07 +02:00
ahocevar
349e602ee5 Update package version to 5.0.3 2018-07-11 11:01:34 +02:00
ahocevar
9cb10efe4b Changelog for v5.0.3 2018-07-11 10:56:05 +02:00
Andreas Hocevar
871a283601 Merge pull request #8364 from ahocevar/ie-examples
Make examples work in IE11
2018-07-11 10:51:08 +02:00
Andreas Hocevar
d1a609e0a3 Merge pull request #8363 from ahocevar/package-json-autogenerate
Autogenerate src/ol/package.json
2018-07-11 10:49:43 +02:00
Andreas Hocevar
e0c5529878 Merge pull request #8371 from ahocevar/empty-replay-groups
Skip rendering when there is no replay group
2018-07-11 10:47:42 +02:00
Andreas Hocevar
186d5466f4 Merge pull request #8364 from ahocevar/ie-examples
Make examples work in IE11
2018-07-11 10:16:45 +02:00
Andreas Hocevar
dc9e0a6bc4 Merge pull request #8363 from ahocevar/package-json-autogenerate
Autogenerate src/ol/package.json
2018-07-11 09:35:42 +02:00
Andreas Hocevar
b74dd515d5 Merge pull request #8371 from ahocevar/empty-replay-groups
Skip rendering when there is no replay group
2018-07-10 22:21:48 +02:00
ahocevar
1ee1ea6a1a Skip rendering when there is no replay group 2018-07-10 22:03:14 +02:00
ahocevar
fe0f91cb29 Add renderMode property to Heatmap layer 2018-07-10 14:10:35 +02:00
ahocevar
5d6721192d Make render listeners work with image render mode 2018-07-10 11:22:16 +02:00
Andreas Hocevar
d0a8043edc Merge pull request #8362 from ahocevar/smart-flat-coordinates
Smart flat coordinates
2018-07-09 10:27:11 +02:00
ahocevar
f3f0403cec Transpile examples for use with IE 11 2018-07-08 23:31:04 +02:00
ahocevar
84a88616a8 Match filename only when seraching source 2018-07-08 23:31:04 +02:00
ahocevar
4055a08043 Remove unused fields from package.json 2018-07-08 22:52:24 +02:00
ahocevar
afec93ae62 Autogenerate src/ol/package.json from package.json 2018-07-08 22:51:51 +02:00
ahocevar
e7d6bc055a Describe change in upgrade notes 2018-07-07 18:09:51 +02:00
ahocevar
97f6171b4c Rename setFlatCoordinatesInternal to setFlatCoordinates 2018-07-07 18:04:13 +02:00
ahocevar
e2f8d96763 Accept flat coordinates in Circle constructor 2018-07-07 18:02:38 +02:00
ahocevar
ce97cee6a6 Accept polygons and flat coordinates in MultiPolygon constructor 2018-07-07 17:31:35 +02:00
ahocevar
0ec0491ef6 Accept flat coordinates in LinearRing constructor 2018-07-07 17:12:12 +02:00
ahocevar
a09b6c91c9 Accept linestrings and flat coordinates in MultiLineString constructor 2018-07-07 17:01:39 +02:00
ahocevar
3871f7785a Accept flat coordinates for MultiPoint constructor 2018-07-07 16:26:24 +02:00
ahocevar
160f1bc286 Accept flat coordinates in LineString constructor 2018-07-07 16:04:43 +02:00
ahocevar
c0d04ea077 Do not accept null coordinates in Point constructor 2018-07-07 14:48:46 +02:00
ahocevar
da0838dde2 Treat WKT EMPTY geometries properly
Empty points have NaN as each coordinate, other geometry types have
empty arrays.
2018-07-07 14:48:06 +02:00
ahocevar
1da43d90af Allow flat coordinates for Polygon constructor 2018-07-07 14:16:39 +02:00
Andreas Hocevar
9ddd7e4751 Merge pull request #8355 from openlayers/greenkeeper/recast-0.15.2
Update recast to the latest version 🚀
2018-07-06 09:50:30 +02:00
Andreas Hocevar
538315f682 Merge pull request #8354 from openlayers/greenkeeper/webpack-4.15.1
Update webpack to the latest version 🚀
2018-07-06 09:33:56 +02:00
Tim Schaub
b8db6bf087 Merge pull request #8352 from tschaub/false
Set `sideEffects` to `false` instead of `"false"`
2018-07-05 12:51:13 -06:00
greenkeeper[bot]
42228ed87d chore(package): update recast to version 0.15.2 2018-07-05 17:32:58 +00:00
greenkeeper[bot]
707afeab06 chore(package): update webpack to version 4.15.1 2018-07-05 14:36:50 +00:00
Andreas Hocevar
7a7414447f Merge pull request #8348 from openlayers/greenkeeper/webpack-4.15.0
Update webpack to the latest version 🚀
2018-07-05 11:03:03 +02:00
Tim Schaub
fb28071dd1 Use false instead of "false" 2018-07-04 17:01:55 -06:00
Andreas Hocevar
6b39353ccb Merge pull request #8351 from ahocevar/post-release-fix
Fix typo in release notes
2018-07-05 00:19:28 +02:00
ahocevar
6f6e9a2af1 Fix typo in release notes 2018-07-05 00:18:53 +02:00
Andreas Hocevar
bc3e348b0d Merge pull request #8350 from ahocevar/release-v5.0.2
Updates for v5.0.2
2018-07-05 00:05:33 +02:00
ahocevar
59c3eedbab Updates for v5.0.2 2018-07-05 00:04:32 +02:00
Andreas Hocevar
60600d3108 Merge pull request #8349 from ahocevar/release-v5.0.1
Release v5.0.1
2018-07-04 23:57:53 +02:00
Andreas Hocevar
49050063d5 Merge pull request #8343 from tschaub/starter-project
Starter projects
2018-07-04 23:53:48 +02:00
Andreas Hocevar
1b9cad6b8d Merge pull request #8343 from tschaub/starter-project
Starter projects
2018-07-04 23:52:14 +02:00
greenkeeper[bot]
9c16cc4200 chore(package): update webpack to version 4.15.0 2018-07-04 20:45:17 +00:00
Andreas Hocevar
c9b638f5fd Merge pull request #8347 from ahocevar/post-release-notes-fixes
Fix typos in release notes
2018-07-04 22:17:50 +02:00
ahocevar
f3b79c57f7 Fix typos in release notes 2018-07-04 22:17:18 +02:00
Andreas Hocevar
769a14d0dc Merge pull request #8346 from openlayers/release-v5.0.1
Release v5.0.1
2018-07-04 22:07:56 +02:00
ahocevar
11024ad294 Update package version to 5.0.1 2018-07-04 22:02:38 +02:00
ahocevar
73f1428701 Changelog for v5.0.1 2018-07-04 21:52:27 +02:00
Andreas Hocevar
a579b168f7 Merge pull request #8341 from ahocevar/side-effects
Set sideEffects: false flag
2018-07-04 21:46:51 +02:00
Andreas Hocevar
537a21fd48 Merge pull request #8342 from ahocevar/quickstart-links
Fix links and description in quickstart tutorial
2018-07-04 21:46:29 +02:00
Andreas Hocevar
e18d485d01 Merge pull request #8342 from ahocevar/quickstart-links
Fix links and description in quickstart tutorial
2018-07-04 19:20:33 +02:00
Tim Schaub
853fc77f2a Merge pull request #8344 from tschaub/issue-templates
Updated issue and pr templates
2018-07-04 10:43:50 -06:00
Tim Schaub
c678354aec Remove Rollup/Closure gist 2018-07-04 09:05:04 -06:00
Tim Schaub
1f06f7c2ac Updated issue and pr templates 2018-07-04 08:58:29 -06:00
Tim Schaub
9c085e37de Starter project with Parcel 2018-07-04 08:45:39 -06:00
Tim Schaub
a6896ed531 New starter projects 2018-07-04 08:32:15 -06:00
ahocevar
9304ee25af Fix links and description in quickstart tutorial 2018-07-04 14:52:14 +02:00
Andreas Hocevar
f0f21d583a Merge pull request #8338 from openlayers/greenkeeper/recast-0.15.1
Update recast to the latest version 🚀
2018-07-04 13:46:23 +02:00
Andreas Hocevar
54d50af2c3 Merge pull request #8341 from ahocevar/side-effects
Set sideEffects: false flag
2018-07-04 13:44:37 +02:00
ahocevar
9f84494b02 Set sideEffects: false flag 2018-07-04 13:10:20 +02:00
greenkeeper[bot]
e18a23c877 chore(package): update recast to version 0.15.1 2018-07-04 02:57:20 +00:00
Andreas Hocevar
cb78019825 Merge pull request #8332 from openlayers/greenkeeper/webpack-4.14.0
Update webpack to the latest version 🚀
2018-07-02 07:17:08 +02:00
Frédéric Junod
352d77e2ec Merge pull request #8333 from openlayers/cleanup
Fix wrong return type for readHref function
2018-07-01 07:31:56 +02:00
greenkeeper[bot]
a978467726 chore(package): update webpack to version 4.14.0 2018-06-29 13:18:58 +00:00
Frederic Junod
ddeb091871 Fix wrong return type for readHref function 2018-06-29 14:15:07 +02:00
Frédéric Junod
bc60c8ec32 Merge pull request #8329 from fredj/better_typing
Better jsdoc typing
2018-06-29 13:12:09 +02:00
Frederic Junod
6da2e4cef4 More precise Event typing 2018-06-29 12:53:20 +02:00
Andreas Hocevar
001add5a28 Merge pull request #8326 from openlayers/greenkeeper/webpack-4.13.0
Update webpack to the latest version 🚀
2018-06-29 11:05:46 +02:00
Frederic Junod
8c4c70e9f0 Change 'Element' type to 'HTMLElement' 2018-06-29 09:31:59 +02:00
Frederic Junod
0c300d651f Change 'Image' type to 'HTMLImageElement' 2018-06-29 09:31:32 +02:00
greenkeeper[bot]
b072dc5968 chore(package): update webpack to version 4.13.0 2018-06-28 16:39:52 +00:00
Frédéric Junod
52e286b03c Merge pull request #8319 from fredj/cleanup
Remove reference to setProj4 function in documentation
2018-06-27 11:20:15 +02:00
Andreas Hocevar
7dcc720029 Improve readability 2018-06-27 11:15:49 +02:00
Frederic Junod
770407f1ba Remove reference to setProj4 function in documentation
The function was removed in #7598
2018-06-27 10:35:03 +02:00
Andreas Hocevar
53cb47cab9 Merge pull request #8321 from openlayers/greenkeeper/rollup-0.62.0
Update rollup to the latest version 🚀
2018-06-27 10:26:02 +02:00
greenkeeper[bot]
5ba08b7291 chore(package): update rollup to version 0.62.0 2018-06-27 08:11:02 +00:00
Andreas Hocevar
43e67b73c2 Merge pull request #8318 from openlayers/greenkeeper/webpack-4.12.2
Update webpack to the latest version 🚀
2018-06-27 09:39:54 +02:00
greenkeeper[bot]
4ed9f27cd1 chore(package): update webpack to version 4.12.2 2018-06-27 06:41:38 +00:00
Andreas Hocevar
bde6caf082 Merge pull request #8317 from openlayers/release-v5.0.0
Release v5.0.0
2018-06-26 22:08:29 +02:00
Tim Schaub
062b743f89 Collapsible details 2018-06-26 13:47:28 -06:00
Tim Schaub
79b959da66 Update version 2018-06-26 13:39:03 -06:00
Tim Schaub
234b05a48a Changelog wording 2018-06-26 13:27:27 -06:00
Tim Schaub
1627e1fe79 Update package versions 2018-06-26 13:21:36 -06:00
Tim Schaub
37bb4ea056 Changelog for v5.0.0 2018-06-26 13:19:12 -06:00
Andreas Hocevar
fd44f0d4cb Merge pull request #8315 from openlayers/greenkeeper/eslint-5.0.1
Update eslint to the latest version 🚀
2018-06-26 11:36:36 +02:00
greenkeeper[bot]
0994712602 chore(package): update eslint to version 5.0.1 2018-06-26 08:47:12 +00:00
Tim Schaub
2d5bc174dd Merge pull request #8314 from tschaub/hit-tolerance
Accept hitTolerance in map.forEachLayerAtPixel()
2018-06-25 10:41:43 -06:00
simonseyock
a4f29890f7 Upgrade notes about map.forEachLayerAtPixel() 2018-06-25 09:09:15 -06:00
simonseyock
fcc7d87b06 Support hitTolerance in forEachLayerAtPixel 2018-06-25 09:09:02 -06:00
Tim Schaub
3b64641e5a Merge pull request #7750 from schmidtk/canvas-polygon-replay
Don't assume fill for canvas polygon hit detection.
2018-06-25 08:36:30 -06:00
Tim Schaub
dfe3b8ac3d Merge pull request #8309 from openlayers/greenkeeper/eslint-5.0.0
Update eslint to the latest version 🚀
2018-06-24 10:58:24 -06:00
Tim Schaub
81f864bb4c Add doc for return 2018-06-24 10:08:16 -06:00
greenkeeper[bot]
6f481e0b6a chore(package): update eslint to version 5.0.0 2018-06-24 09:45:04 -06:00
Tim Schaub
2c6b3f3ae6 Merge pull request #8311 from openlayers/greenkeeper/webpack-4.12.1
Update webpack to the latest version 🚀
2018-06-24 09:44:03 -06:00
Tim Schaub
5c5dd8852c Merge pull request #8310 from openlayers/greenkeeper/rollup-0.61.2
Update rollup to the latest version 🚀
2018-06-24 09:41:23 -06:00
greenkeeper[bot]
c13d6cf7bb chore(package): update webpack to version 4.12.1 2018-06-24 09:48:04 +00:00
greenkeeper[bot]
8ab81942d2 chore(package): update rollup to version 0.61.2 2018-06-23 15:09:16 +00:00
Andreas Hocevar
c81ee8b92e Merge pull request #8305 from ahocevar/v5-tutorial
Update quickstart and tutorials for v5
2018-06-22 18:38:27 +02:00
ahocevar
eef39d3d1d Update quickstart and tutorials for v5 2018-06-22 17:27:50 +02:00
Andreas Hocevar
5b105c5601 Merge pull request #8301 from ahocevar/imagemode-shortcut
Do not render vectors in image mode
2018-06-22 14:19:24 +02:00
Andreas Hocevar
d85b7ffed7 Merge pull request #8302 from ahocevar/ignore-ol-nodemodules
Ignore node_modules everywhere
2018-06-22 14:18:19 +02:00
Andreas Hocevar
75bd4ed391 Merge pull request #8297 from openlayers/greenkeeper/rollup-0.61.1
Update rollup to the latest version 🚀
2018-06-22 13:52:02 +02:00
ahocevar
cd35c6731f Ignore node_modules everywhere
This allows users to use npm link directly from src/ol, without risiking
to commit the src/ol/node_modules directory.
2018-06-22 13:43:50 +02:00
ahocevar
130c0eb436 Do not render vectors in image mode 2018-06-22 13:40:53 +02:00
Andreas Hocevar
93eca62cf2 Merge pull request #8299 from ahocevar/ol-named-exports
Make classes in ol/ available as named exports from ol
2018-06-22 13:09:12 +02:00
ahocevar
785bef7640 Also re-export non-API classes 2018-06-21 18:29:20 +02:00
ahocevar
28409486a5 Make classes in ol/ available as named exports from ol 2018-06-21 18:08:17 +02:00
Andreas Hocevar
cc3dc1d681 Merge pull request #8298 from ahocevar/ol-readme
Add README for ol package
2018-06-21 14:59:04 +02:00
ahocevar
2e863b095e Add README for ol package
The links in the readme should be updated at some point.
2018-06-21 14:50:07 +02:00
greenkeeper[bot]
7ba58e011c chore(package): update rollup to version 0.61.1 2018-06-21 12:23:38 +00:00
Andreas Hocevar
15d116b3c1 Merge pull request #8295 from ahocevar/build-5
Prepare for building/publishing v5
2018-06-21 13:59:19 +02:00
Frédéric Junod
9034f721b5 Merge pull request #8296 from fredj/cleanup
Fix style documentation
2018-06-21 13:50:01 +02:00
Frederic Junod
3f55c0a985 Remove extra property in Vector and VectorTile typedef 2018-06-21 11:39:39 +02:00
Frederic Junod
bb3bd7380f Fix style documentation 2018-06-21 11:32:58 +02:00
ahocevar
dc514d14e9 Serve examples with webpack-dev-server 2018-06-21 11:19:18 +02:00
ahocevar
5582914ffa Add set-version task to set version from package.json 2018-06-21 11:18:52 +02:00
ahocevar
6cddd2d44a Add ol package.json 2018-06-21 11:17:26 +02:00
ahocevar
57110058fd Move css to src/ol 2018-06-21 11:16:57 +02:00
Andreas Hocevar
d74c8813e1 Merge pull request #8294 from ahocevar/no-typecheck
Remove non-functional type checks from testing
2018-06-21 08:20:30 +02:00
Frédéric Junod
0a8fa8f0ed Merge pull request #8292 from fredj/cleanup
Remove now unneeded single quotes in examples
2018-06-21 08:19:53 +02:00
Frédéric Junod
2af63ad0fa Merge pull request #8291 from fredj/graticule_cleanup
Graticule code cleanup
2018-06-21 08:19:29 +02:00
ahocevar
2de37be014 Remove non-functional type checks from testing 2018-06-21 07:55:10 +02:00
Andreas Hocevar
67f06deeff Merge pull request #8293 from openlayers/greenkeeper/rollup-0.61.0
Update rollup to the latest version 🚀
2018-06-21 07:50:05 +02:00
greenkeeper[bot]
b1c300629d chore(package): update rollup to version 0.61.0 2018-06-20 20:05:58 +00:00
Frederic Junod
a8fa6e53ff Remove now unneeded single quotes in examples 2018-06-20 17:11:59 +02:00
Frederic Junod
e91fde00c9 Better variables scoping 2018-06-20 15:51:11 +02:00
Frederic Junod
40236fbd8b Remove local variables in ol/Graticule 2018-06-20 15:51:07 +02:00
Frédéric Junod
ff34bb75cd Merge pull request #8287 from fredj/rename_TileUTFGrid
Rename ol/source/TileUTFGrid to ol/source/UTFGrid
2018-06-19 15:36:06 +02:00
Frédéric Junod
ea7536ea67 Merge pull request #8286 from fredj/f_4872
Fix class name property in Overlay documentation
2018-06-19 14:02:47 +02:00
Frederic Junod
f257a8938f Rename ol/source/TileUTFGrid to ol/source/UTFGrid 2018-06-19 14:02:15 +02:00
Frederic Junod
26b47b7e3c Fix class name property in Overlay documentation
Fixes #4872
2018-06-19 08:55:09 +02:00
Frédéric Junod
dbaf3d25fe Merge pull request #8285 from openlayers/greenkeeper/google-closure-compiler-20180610.0.2
Update google-closure-compiler to the latest version 🚀
2018-06-19 08:32:03 +02:00
greenkeeper[bot]
d53e518df0 chore(package): update google-closure-compiler to version 20180610.0.2 2018-06-18 21:35:07 +00:00
Tim Schaub
64282a3531 Merge pull request #8281 from gberaudo/rename_default_data_projection
Rename default data projection
2018-06-18 12:50:17 -07:00
Frédéric Junod
bf213f613c Merge pull request #8283 from fredj/rm_custom-builds_ref
Remove references to tutorials/custom-builds.html
2018-06-18 15:19:05 +02:00
Frederic Junod
39037caaf2 Remove references to tutorials/custom-builds.html 2018-06-18 15:04:06 +02:00
Guillaume Beraudo
e131fe3728 Update upgrade notes 2018-06-18 14:08:56 +02:00
ThomasG77
cbaa9a7567 Rename defaultDataProjection to dataProjection #8152 2018-06-18 14:08:50 +02:00
Frédéric Junod
6c538c12f6 Merge pull request #8280 from fredj/cleanup
Add missing property in VectorTile options, remove params from createRenderer
2018-06-18 13:41:02 +02:00
Andreas Hocevar
17bfc71048 Merge pull request #8277 from ahocevar/fix-tilesource-docs
Fix code block in comment
2018-06-18 12:38:53 +02:00
Frederic Junod
1c897c33ea Remove extra parameters passed to createRenderer 2018-06-18 11:45:09 +02:00
Frederic Junod
eb902974f3 Add missing properties in option typedef 2018-06-18 11:44:57 +02:00
ahocevar
4127c26ecc Fix code block in comment 2018-06-18 11:19:15 +02:00
Andreas Hocevar
6903c1a88a Merge pull request #8273 from ahocevar/rm-externs
Remove the externs/ directory
2018-06-16 00:30:08 +02:00
Andreas Hocevar
8458be2bba Merge pull request #8275 from openlayers/greenkeeper/serve-9.0.0
Update serve to the latest version 🚀
2018-06-15 21:29:26 +02:00
greenkeeper[bot]
0d5eb14529 chore(package): update serve to version 9.0.0 2018-06-15 19:18:06 +00:00
ahocevar
a7c6df4d80 Remove the externs/ directory 2018-06-15 19:43:10 +02:00
Andreas Hocevar
25c3b55d8e Merge pull request #8271 from openlayers/greenkeeper/google-closure-compiler-20180610.0.1
chore(package): update google-closure-compiler to version 20180610.0.1
2018-06-14 16:39:03 +02:00
greenkeeper[bot]
7934f66c0b chore(package): update google-closure-compiler to version 20180610.0.1
Closes #8268
2018-06-14 13:44:04 +00:00
Andreas Hocevar
8980ab7b11 Merge pull request #8246 from ahocevar/movetolerance-dragging
Don't go back to not moving when dragging
2018-06-14 13:28:48 +02:00
Andreas Hocevar
9de086b561 Merge pull request #8270 from openlayers/greenkeeper/rollup-0.60.7
chore(package): update rollup to version 0.60.7
2018-06-14 13:22:57 +02:00
greenkeeper[bot]
5772504e3e chore(package): update rollup to version 0.60.7
Closes #8269
2018-06-14 07:17:50 +00:00
Tim Schaub
7c7cca4702 Merge pull request #8266 from openlayers/greenkeeper/rollup-0.60.4
chore(package): update rollup to version 0.60.4
2018-06-13 17:13:12 -06:00
greenkeeper[bot]
bbd12cf897 chore(package): update rollup to version 0.60.4
Closes #8264
2018-06-13 07:39:03 +00:00
Andreas Hocevar
affc59e2c5 Merge pull request #8261 from openlayers/greenkeeper/rollup-0.60.2
Update rollup to the latest version 🚀
2018-06-11 14:00:46 +02:00
greenkeeper[bot]
a67ca1f46c chore(package): update rollup to version 0.60.2 2018-06-11 09:51:32 +00:00
Andreas Hocevar
653e273214 Merge pull request #8260 from openlayers/greenkeeper/sinon-6.0.0
Update sinon to the latest version 🚀
2018-06-11 11:02:39 +02:00
greenkeeper[bot]
2c893d19a4 chore(package): update sinon to version 6.0.0 2018-06-11 07:23:59 +00:00
Andreas Hocevar
288ac0acdd Merge pull request #8258 from ahocevar/webpack-4
Use Webpack 4 for tests (and examples)
2018-06-08 14:56:52 +02:00
ahocevar
b2fef55ae9 Move uglifyjs-webpack-plugin to devDependencies 2018-06-08 13:55:42 +02:00
ahocevar
da755d9e84 Make tests (and sourcemap) work with webpack4 2018-06-08 13:00:10 +02:00
ahocevar
2837272590 Make webpack4 module structure work 2018-06-08 12:58:16 +02:00
ahocevar
649b7be4c2 Make common chunk (and sourcemap) work 2018-06-08 12:57:38 +02:00
ahocevar
f8abb5def1 Update dependencies 2018-06-08 12:56:32 +02:00
Tim Schaub
48cbca1f6e Upgrade to Webpack 4 2018-06-07 11:24:39 +02:00
Andreas Hocevar
79a5bd6538 Merge pull request #8252 from openlayers/greenkeeper/rollup-0.60.1
Update rollup to the latest version 🚀
2018-06-07 10:48:02 +02:00
greenkeeper[bot]
a3a092624e chore(package): update rollup to version 0.60.1 2018-06-07 06:23:01 +00:00
Frédéric Junod
7f71137147 Merge pull request #8250 from fredj/cleanup
Fix various jsdoc types
2018-06-06 16:47:14 +02:00
Andreas Hocevar
3683e1ef6e Merge pull request #8248 from openlayers/greenkeeper/serve-8.0.0
Update serve to the latest version 🚀
2018-06-06 16:15:56 +02:00
Frederic Junod
6444e6989d Add missing properties in option typedef 2018-06-06 16:14:22 +02:00
Frederic Junod
abc9d14dca Convert projection like to Projection in transform function 2018-06-06 16:14:22 +02:00
Frederic Junod
972781ea9d Better array typing 2018-06-06 16:14:22 +02:00
Frederic Junod
104a9a56e9 Simplify opt param test for undefined value
To make the closure compiler happy
2018-06-06 16:14:22 +02:00
greenkeeper[bot]
52a76ded63 chore(package): update serve to version 8.0.0 2018-06-06 10:37:52 +00:00
Andreas Hocevar
a2070362f9 Merge pull request #8247 from openlayers/greenkeeper/rollup-0.60.0
Update rollup to the latest version 🚀
2018-06-06 09:56:37 +02:00
greenkeeper[bot]
9b8883a871 chore(package): update rollup to version 0.60.0 2018-06-06 06:12:52 +00:00
ahocevar
5080a6d401 Don't go back to not moving when dragging 2018-06-05 21:09:38 +02:00
Andreas Hocevar
448a33eb4b Merge pull request #8245 from ahocevar/fix-vectortile-docs
Fix vector tile docs and types
2018-06-05 17:03:40 +02:00
ahocevar
08e0a0dfea Fix vector tile docs and types 2018-06-05 16:38:15 +02:00
Andreas Hocevar
7e2814d110 Merge pull request #8241 from openlayers/greenkeeper/recast-0.15.0
Update recast to the latest version 🚀
2018-06-04 08:47:15 +02:00
greenkeeper[bot]
c21d39840c chore(package): update recast to version 0.15.0 2018-06-02 04:22:24 +00:00
Andreas Hocevar
94b7641f90 Merge pull request #8233 from ahocevar/rollup
Use rollup instead of webpack for the full build
2018-05-30 18:21:16 +02:00
Andreas Hocevar
95b38a1744 Merge pull request #8231 from bjornharrtell/fix-jsts2
Fix JSTS usage with OL classes injected
2018-05-30 14:00:54 +02:00
ahocevar
04e825e49a Use rollup instead of webpack for the full build 2018-05-29 15:24:51 +02:00
Tim Schaub
ab72edd698 Merge pull request #8230 from openlayers/greenkeeper/serve-7.0.0
Update serve to the latest version 🚀
2018-05-28 21:43:17 -06:00
Andreas Hocevar
25034ffd95 Merge pull request #8229 from ahocevar/raster-from-vectorlayer
Support layers instead of renderers for ol/source/Raster
2018-05-28 22:15:02 +02:00
Björn Harrtell
6e27a89fef Fix and simplify import/inject 2018-05-28 21:09:27 +02:00
Björn Harrtell
8369da365f Fix JSTS usage with OL classes injected 2018-05-28 21:09:21 +02:00
greenkeeper[bot]
f02d0afdcf chore(package): update serve to version 7.0.0 2018-05-28 17:11:33 +00:00
ahocevar
f5399de58d Improve API docs 2018-05-28 10:39:29 +02:00
ahocevar
93287cb9fe Remove redundant check 2018-05-28 10:37:22 +02:00
ahocevar
81c0c80a2b Support tile, image and vector layers 2018-05-28 10:28:27 +02:00
ahocevar
137c875df7 Support vector layers instead of renderers for ol/source/Raster 2018-05-28 10:23:47 +02:00
Andreas Hocevar
97dedc7d07 Merge pull request #8227 from ahocevar/better-vectortile-experience
Better vectortile experience
2018-05-28 09:49:26 +02:00
ahocevar
8e42f0601a Add a note about the disabled transition option 2018-05-27 13:48:48 +02:00
ahocevar
da570c3a74 Update tests 2018-05-27 13:48:48 +02:00
Andreas Hocevar
a59dd8ea65 Merge pull request #8225 from ahocevar/image-vector-fixes
renderMode: 'image' fixes for ol/layer/Vector
2018-05-25 14:46:53 +02:00
Andreas Hocevar
eca6918471 Merge pull request #8226 from ahocevar/rastersource-renderer
Accept renderers as sources for the Raster source
2018-05-25 14:45:42 +02:00
ahocevar
3e07eef17e Remove extra param annotation 2018-05-25 12:27:21 +02:00
ahocevar
f53a1e7507 Accept renderers as sources for the raster source 2018-05-25 12:18:02 +02:00
ahocevar
c7207c5a07 Allow using the image renderer vor vector layers 2018-05-25 12:18:02 +02:00
ahocevar
e666b7cdeb Do not clip the image for vector layers 2018-05-25 10:40:20 +02:00
ahocevar
c2c9cdc9ea Update documentation for renderMode: image 2018-05-25 09:47:42 +02:00
ahocevar
4f471c786f Fix prepare/compose sequence to support icon loading 2018-05-25 09:46:44 +02:00
ahocevar
d867ae1f0e Avoid duplicate precompose and postcompose events 2018-05-25 09:45:09 +02:00
ahocevar
c24976155b Prepare tiles for rendering earlier
By overriding getTile() and creating replay and image there, we can do
all preparations earlier and stop creating new tiles when we have maxed
out the frame time budget. It also allows us to get rid of the
drawTileImage override.
2018-05-24 15:56:26 +02:00
ahocevar
690efda169 Stop preparing new tiles when out of frame time budget 2018-05-24 15:55:36 +02:00
ahocevar
d60987b33c Move getTile logic to a dedicated method 2018-05-24 15:49:00 +02:00
ahocevar
710cefc8dc Create interim tiles for vector image tiles 2018-05-24 15:42:30 +02:00
ahocevar
dcdfc22b95 For performance, remove transition for vector tiles 2018-05-24 15:39:33 +02:00
ahocevar
64ad81cffa Use calculated extent 2018-05-23 16:23:37 +02:00
Andreas Hocevar
7149b6ddab Merge pull request #8210 from ahocevar/stable-pattern-offset
Align patterns and gradients to a grid
2018-05-22 17:30:59 +02:00
ahocevar
976bb6b23c Indicate required fill alignment with boolean 2018-05-22 16:30:42 +02:00
ahocevar
7cfa65b8c3 Align patterns and gradients to a grid 2018-05-22 16:05:32 +02:00
Tim Schaub
c32bd2274c Merge pull request #8208 from openlayers/greenkeeper/marked-0.4.0
Update marked to the latest version 🚀
2018-05-21 13:44:08 -06:00
greenkeeper[bot]
791115b826 chore(package): update marked to version 0.4.0 2018-05-21 14:04:05 +00:00
Andreas Hocevar
27313bf65a Merge pull request #8205 from openlayers/greenkeeper/mocha-5.2.0
Update mocha to the latest version 🚀
2018-05-21 04:54:15 -05:00
Andreas Hocevar
8eafdf1884 Merge pull request #8201 from ahocevar/no-babelrc
Remove babelrc, transform using babel-core
2018-05-21 03:52:00 -05:00
ahocevar
614b8cd7be Add babel-core as explicit dev dependency 2018-05-21 10:36:47 +02:00
greenkeeper[bot]
8717f10e60 chore(package): update mocha to version 5.2.0 2018-05-19 02:22:04 +00:00
Andreas Hocevar
9d5983ee68 Merge pull request #8203 from ahocevar/typechecking-complete
Type checking complete
2018-05-18 08:24:01 -05:00
Andreas Hocevar
2949e8d594 Merge pull request #8204 from ahocevar/control-defaults
Document ol/control~defaults in the right place
2018-05-18 08:23:39 -05:00
ahocevar
83e00269b7 Document ol/control~defaults in the right place 2018-05-17 18:19:14 -05:00
ahocevar
ee395c325c Change typecheck warnings to errors 2018-05-17 12:30:01 -05:00
ahocevar
64e1139230 Fix remaining type issues 2018-05-17 12:29:22 -05:00
ahocevar
8b8d94c78a Remove babelrc, transform using babel-core 2018-05-17 11:40:48 -05:00
Frédéric Junod
848de0ab64 Merge pull request #8200 from fredj/f_8199
Set textAlign to the canvas context
2018-05-17 14:57:48 +02:00
Frederic Junod
b34cdb58e3 Set textAlign to the canvas context 2018-05-17 13:15:04 +02:00
Frédéric Junod
8271a51f65 Merge pull request #8194 from fredj/cleanup
miscellaneous code cleanup
2018-05-16 08:31:27 +02:00
Andreas Hocevar
39ce30f09a Merge pull request #8189 from ahocevar/more-apidoc-fixes
More apidoc fixes
2018-05-14 23:11:39 -05:00
Frederic Junod
90ce02941a Better code indentation 2018-05-14 14:58:36 +02:00
Frederic Junod
9f3b103bbf Better variables scoping 2018-05-14 14:49:09 +02:00
Frederic Junod
7f0043694d Remove NOCOMPILE from examples 2018-05-14 14:42:57 +02:00
Andreas Hocevar
ab5efa37b1 Merge pull request #8191 from ahocevar/fix-text-stroke
Do not scale text outline width
2018-05-14 07:29:16 -05:00
ahocevar
26b84f09bd Do not scale text outline width 2018-05-13 18:04:53 -05:00
ahocevar
527331a797 Make docs work when published 2018-05-13 11:15:31 -05:00
ahocevar
8657e31b00 Fix a few doc comment typos 2018-05-13 10:26:29 -05:00
ahocevar
52465df88a Also add object properties and non-object typedefs 2018-05-13 10:26:29 -05:00
ahocevar
6cd6e3cc83 Normalize module paths to ignore ~/. differences 2018-05-13 10:26:29 -05:00
ahocevar
554968f8f2 Inline constructor options 2018-05-13 10:26:29 -05:00
ahocevar
cc8cffd324 Faster processing by omitting src/index.js 2018-05-13 10:26:29 -05:00
Tim Schaub
97f19cbffc Merge pull request #8187 from tschaub/hide-attribution
Hide attribution control if there are no attributions
2018-05-12 06:52:05 -07:00
Tim Schaub
0e727ae890 Hide attribution control if there are no attributions 2018-05-12 07:39:29 -06:00
Tim Schaub
06eddf4795 Merge pull request #8186 from tschaub/example-updates
Updates to get the examples building
2018-05-12 06:26:22 -07:00
Tim Schaub
1991150079 Updates to get the examples building 2018-05-11 14:02:55 -06:00
Andreas Hocevar
519e41db52 Merge pull request #8180 from ahocevar/new-jsdoc
Fix some JSDoc issues
2018-05-11 20:07:49 +02:00
ahocevar
e810387956 Fix some JSDoc issues
Also makes a few minor changes to the template, so it can be used until
we have a new doc generation process. JSDoc output is written to
build/apidoc.
2018-05-10 17:14:17 +02:00
Frédéric Junod
3890ece2b8 Merge pull request #8179 from openlayers/greenkeeper/google-closure-compiler-20180506.0.0
Update google-closure-compiler to the latest version 🚀
2018-05-10 07:32:18 +02:00
Frédéric Junod
c10e58b44e Merge pull request #8175 from fredj/happy_compiler
More typing fixes
2018-05-10 06:37:30 +02:00
greenkeeper[bot]
1c0df7b51f chore(package): update google-closure-compiler to version 20180506.0.0 2018-05-10 02:50:15 +00:00
Andreas Hocevar
25202cae79 Merge pull request #8177 from gberaudo/remove_closure_related_documentation
Remove documentation related to the closure compiler
2018-05-09 22:58:36 +02:00
Guillaume Beraudo
8e6b3bba99 Remove documentation related to the closure compiler
In OpenLayers 5, the following features are not supported anymore:
- Google Closure Compiler builds;
- custom builds.

The Google Closure Compiler is only kept for internal type checking.
2018-05-09 21:55:37 +02:00
Frederic Junod
14deb417a9 Use MSPointerEvent event type in ol/pointer/MsSource 2018-05-09 16:39:59 +02:00
Frederic Junod
d987d99c93 Don't allow null usedTiles to be passed to expireCache 2018-05-09 16:39:59 +02:00
Frederic Junod
0d99fc1f98 Set format parameter to rbush function
To remove the following closure compiler warning:
```
Function module$node_modules$rbush$index.default: called with 1 argument(s). Function requires at least 2 argument(s) and at most 2.
```
2018-05-09 16:39:59 +02:00
Frederic Junod
cdb3e1c529 Fix HTML Canvas typing issues 2018-05-09 16:39:59 +02:00
Frédéric Junod
db54301514 Merge pull request #8174 from fredj/image_options_typo
Fix typo in ol/style/Image~Options typedef
2018-05-09 15:28:02 +02:00
Frédéric Junod
1e0086460b Merge pull request #8172 from fredj/ignore_this
Ignore 'this' type in function typedef
2018-05-09 15:15:28 +02:00
Frédéric Junod
fcd6366b28 Merge pull request #8173 from fredj/xml_typecheck
Fix typing in ol/xml module
2018-05-09 15:12:08 +02:00
Frederic Junod
273be272b7 Fix typo in ol/style/Image~Options typedef 2018-05-09 15:11:21 +02:00
Frederic Junod
9c13e041e3 Add missing typecast in ol/xml 2018-05-09 14:48:17 +02:00
Frederic Junod
05b11759b7 Handle undefined 'this' in ol/xml 2018-05-09 14:48:05 +02:00
Frederic Junod
de5ac6b7c6 Fix typing in ol/xml module 2018-05-09 14:28:14 +02:00
Frederic Junod
854c95f37a Ignore 'this' type in function typedef 2018-05-09 13:49:59 +02:00
Frédéric Junod
628a49f478 Merge pull request #8169 from fredj/short_module_path
Shorter module paths for default exports
2018-05-09 13:31:19 +02:00
Frédéric Junod
c1f503b243 Merge pull request #8171 from fredj/rm_extra_override
Remove wrong override tags
2018-05-09 13:22:30 +02:00
Andreas Hocevar
26dad40e51 Merge pull request #8170 from ahocevar/basic-apidoc
Basic apidocs
2018-05-09 12:58:08 +02:00
Frederic Junod
5b4063fa17 Remove wrong override tags 2018-05-09 12:38:21 +02:00
ahocevar
636369181b Bring back basic api documentation 2018-05-09 12:01:16 +02:00
ahocevar
701aaedf4d Fix module name 2018-05-09 12:00:43 +02:00
Frederic Junod
af1f6836af Shorter module paths for default exports 2018-05-09 11:24:43 +02:00
Tim Schaub
bae2ac4f0f Merge pull request #8167 from tschaub/goodbye-oli
Remove externs/oli.js
2018-05-08 12:37:26 -07:00
Tim Schaub
167bc1ec78 Remove externs/oli.js 2018-05-08 08:38:34 -06:00
Tim Schaub
750ba4bca4 Merge pull request #8166 from tschaub/types
Updated type annotations
2018-05-08 05:45:09 -07:00
Tim Schaub
5707cdf3b6 Type annotation corrections 2018-05-07 22:16:08 -06:00
Tim Schaub
5a9fad218b Remove *.jsdoc files 2018-05-07 21:53:20 -06:00
Tim Schaub
5b65336328 Remove remaining ol.foo notation from the source 2018-05-07 21:21:50 -06:00
Tim Schaub
34c1a6b9ba Replace type annotations 2018-05-07 21:21:39 -06:00
Tim Schaub
e38680d846 Merge pull request #8165 from tschaub/update-linter-config
Update linter config
2018-05-07 14:52:21 -07:00
Tim Schaub
8e7c88d9a5 Updated type annotations 2018-05-07 15:50:56 -06:00
Tim Schaub
cfe88663aa Update type annotations in examples 2018-05-07 15:41:33 -06:00
Andreas Hocevar
3023c8343f Merge pull request #8163 from ahocevar/fix-type-syntax
Fix type syntax
2018-05-07 23:40:24 +02:00
Tim Schaub
ae55814875 Use module paths in example docs 2018-05-07 15:33:14 -06:00
Tim Schaub
8bebb561b1 Update linter config 2018-05-07 13:57:00 -06:00
ahocevar
c32ee68637 Fix type syntax 2018-05-07 14:29:10 +02:00
Andreas Hocevar
c47560b72a Merge pull request #8161 from ahocevar/textbackground-replay
Fix skipping of texts with background
2018-05-07 09:22:18 +02:00
Frédéric Junod
d0ff29fca3 Merge pull request #8156 from mainakae/master
fix assert 36 on error documentation #8147
2018-05-07 08:33:39 +02:00
ahocevar
16cad06e57 Fix skipping of texts with background 2018-05-06 16:05:46 +02:00
Pedro González
24b03b37b0 fix assert 36 on error documentation #8147
see [this issue](https://github.com/openlayers/openlayers/issues/8147)
2018-05-03 09:40:49 +02:00
Tim Schaub
2d413bb36d Merge pull request #8146 from openlayers/greenkeeper/coveralls-3.0.1
Update coveralls to the latest version 🚀
2018-05-01 19:34:11 -06:00
Tim Schaub
5fba511d03 Merge pull request #8145 from openlayers/greenkeeper/fs-extra-6.0.0
Update fs-extra to the latest version 🚀
2018-05-01 19:33:29 -06:00
greenkeeper[bot]
4adab723eb chore(package): update coveralls to version 3.0.1 2018-05-01 21:58:29 +00:00
greenkeeper[bot]
fa909e6543 chore(package): update fs-extra to version 6.0.0 2018-05-01 14:23:13 +00:00
Frédéric Junod
6d09ab122a Merge pull request #8143 from openlayers/misc
Shorter module paths for default exports
2018-04-30 13:56:55 +02:00
Frederic Junod
8684d4f7c6 Shorter module paths for default exports 2018-04-30 13:15:50 +02:00
Frederic Junod
7ed10b9579 Add missing lineDashOffset to ol/style/RegularShape~RenderOptions typedef 2018-04-30 13:15:50 +02:00
Andreas Hocevar
70c11a35a7 Merge pull request #8140 from openlayers/greenkeeper/sinon-5.0.1
Update sinon to the latest version 🚀
2018-04-30 13:00:55 +02:00
greenkeeper[bot]
640ced5f02 chore(package): update sinon to version 5.0.1 2018-04-30 09:40:58 +00:00
Tim Schaub
2894251eed Merge pull request #8137 from tschaub/not-this
Avoid `this` at top level of modules
2018-04-30 03:00:54 -06:00
Tim Schaub
e0650ab2b4 Merge pull request #8138 from tschaub/update-tasks
Update tasks to use native async/await
2018-04-30 02:55:35 -06:00
Tim Schaub
744a01489b Merge pull request #8139 from tschaub/declare-module
Add @module annotation for ol/control/util
2018-04-30 02:54:50 -06:00
Tim Schaub
2fe1cb6ced Add @module annotation for ol/control/util 2018-04-28 15:45:01 -06:00
Tim Schaub
1f67fd9bd4 Update tasks to use native async/await 2018-04-28 15:06:59 -06:00
Tim Schaub
6edc94bcc9 This is undefined in module context 2018-04-28 13:15:08 -06:00
Tim Schaub
c57b285c7a Merge pull request #8135 from tschaub/uncircular
Break the circular dependency: overview map, map, controls, overview map
2018-04-28 07:14:53 -06:00
Frédéric Junod
382c241b10 Merge pull request #8132 from fredj/types
Add minZoom to the createResolutionConstraint function return type
2018-04-28 09:00:50 +02:00
Tim Schaub
669672dce8 Break the circular dependency: overview map, map, controls, overview map 2018-04-27 21:49:28 -06:00
Frederic Junod
c4dba00c54 Add minZoom to the createResolutionConstraint function return type 2018-04-27 16:21:59 +02:00
Andreas Hocevar
8b0a87e9d4 Merge pull request #8129 from ahocevar/type-fixes
Fix some types
2018-04-27 11:19:44 +02:00
Andreas Hocevar
e86055337e Merge pull request #8131 from openlayers/greenkeeper/babel-plugin-jsdoc-closure-1.5.1
Update babel-plugin-jsdoc-closure to the latest version 🚀
2018-04-27 10:54:51 +02:00
greenkeeper[bot]
1fb320ca46 chore(package): update babel-plugin-jsdoc-closure to version 1.5.1 2018-04-27 08:46:06 +00:00
Andreas Hocevar
98efd25063 Merge pull request #8130 from openlayers/greenkeeper/babel-plugin-jsdoc-closure-1.5.0
Update babel-plugin-jsdoc-closure to the latest version 🚀
2018-04-27 10:40:13 +02:00
greenkeeper[bot]
4d00401f11 chore(package): update babel-plugin-jsdoc-closure to version 1.5.0 2018-04-27 08:32:56 +00:00
ahocevar
6c218a903e Fix a typedef 2018-04-27 10:10:49 +02:00
ahocevar
9bfdf818e4 Rename Style~Function path type to Style~StyleFunction 2018-04-27 09:30:51 +02:00
ahocevar
3a365fab56 Fix some module links 2018-04-27 09:30:51 +02:00
ahocevar
59d904e509 Fix some types 2018-04-27 09:30:51 +02:00
Frédéric Junod
ce84c3bf57 Merge pull request #8127 from fredj/cleanup
Move RasterOperationType into ol/source/Raster
2018-04-27 08:26:39 +02:00
Frédéric Junod
da72a7cebc Merge pull request #8123 from fredj/jsdoc_module
More Jsdoc module fixes
2018-04-27 08:21:08 +02:00
Andreas Hocevar
ad45f7294c Merge pull request #8128 from openlayers/greenkeeper/babel-plugin-jsdoc-closure-1.4.2
Update babel-plugin-jsdoc-closure to the latest version 🚀
2018-04-27 00:13:59 +02:00
greenkeeper[bot]
6687f4ca85 chore(package): update babel-plugin-jsdoc-closure to version 1.4.2 2018-04-26 22:02:05 +00:00
Frederic Junod
f8435b0c0f Move RasterOperationType into ol/source/Raster
This enum is only used in ol/source/Raster
2018-04-26 15:46:50 +02:00
Frederic Junod
61067e6c2c Module type for ol.Feature and short notation for ol/render/Feature 2018-04-26 15:38:51 +02:00
Frederic Junod
11d9f6de83 Module type for ol.renderer.* 2018-04-26 15:35:48 +02:00
Frederic Junod
d8e0212833 Module type for ol.source.* 2018-04-26 15:18:44 +02:00
Frederic Junod
76769f9901 Module type for ol.struct.* 2018-04-26 15:16:21 +02:00
Frederic Junod
b4588f7d47 Module type for ol.source.UrlTile 2018-04-26 15:12:52 +02:00
Andreas Hocevar
f284b95cb8 Merge pull request #8125 from ahocevar/default-export-path
Shorter module paths for default exports
2018-04-26 14:23:02 +02:00
ahocevar
440d1ad3e1 Shorter module paths for default exports 2018-04-25 17:25:39 +02:00
Andreas Hocevar
6cb115d6a4 Merge pull request #8124 from openlayers/greenkeeper/babel-plugin-jsdoc-closure-1.4.1
Update babel-plugin-jsdoc-closure to the latest version 🚀
2018-04-25 17:21:55 +02:00
greenkeeper[bot]
271bda57ce chore(package): update babel-plugin-jsdoc-closure to version 1.4.1 2018-04-25 15:13:22 +00:00
Frédéric Junod
3803f268c2 Merge pull request #8122 from fredj/cluster_format_opt
Remove unused 'format' options from Cluster source constructor
2018-04-25 10:29:02 +02:00
Frédéric Junod
d187954133 Merge pull request #8121 from fredj/jsdoc_module
More Jsdoc module fixes
2018-04-25 09:14:09 +02:00
Frederic Junod
3ca4b0e8bd Remove unused 'format' options from Cluster source constructor 2018-04-25 08:27:35 +02:00
Frederic Junod
4856c53881 Module type for ol.format.filter.* 2018-04-25 08:21:11 +02:00
Frederic Junod
17674194d4 Module type for ol.format.OWS 2018-04-25 08:21:11 +02:00
Frederic Junod
4dc1f719c0 Module type for ol.format.GML2 2018-04-25 08:21:11 +02:00
Frederic Junod
2c98e35d1a Module type for ol.TileLoadFunctionType 2018-04-25 08:21:11 +02:00
Frederic Junod
e4778b17ce Module type for ol.VectorTile 2018-04-25 08:21:11 +02:00
Tim Schaub
3003a757c1 Merge pull request #8117 from tschaub/re-export-style
Re-export style constructors from ol/style
2018-04-24 10:16:29 -06:00
Tim Schaub
cda0fe6e41 Re-export style constructors from ol/style 2018-04-24 09:37:27 -06:00
Tim Schaub
e28305186c Export shared icon image class from IconImageCache module 2018-04-24 09:37:19 -06:00
Tim Schaub
6631b58e6b Merge pull request #8115 from tschaub/re-export-layer
Re-export layer constructors from ol/layer
2018-04-24 09:28:00 -06:00
Tim Schaub
910004b940 Re-export layer constructors from ol/layer 2018-04-24 09:06:30 -06:00
Tim Schaub
640f9a96c6 Merge pull request #8114 from tschaub/re-export-interaction
Re-export interaction constructors from ol/interaction
2018-04-24 08:52:56 -06:00
Tim Schaub
0cb1c18778 Re-export interaction constructors from ol/interaction 2018-04-24 08:40:15 -06:00
Tim Schaub
059e1b914e Merge pull request #8116 from tschaub/re-export-source
Re-export source constructors from ol/source
2018-04-24 01:52:54 -06:00
Tim Schaub
11907ad7e4 Merge pull request #8113 from tschaub/re-export-geom
Re-export geometry constructors from ol/geom
2018-04-24 01:50:16 -06:00
Tim Schaub
c9850e6059 Merge pull request #8112 from tschaub/re-export-formats
Re-export format constructors from ol/format
2018-04-24 01:49:30 -06:00
Tim Schaub
d1d8978a77 Merge pull request #8111 from tschaub/re-export
Re-export control constructors
2018-04-24 01:48:49 -06:00
Tim Schaub
75e6f73485 Merge pull request #8118 from tschaub/cloak-list
Use list for cloak entries
2018-04-24 01:47:59 -06:00
Tim Schaub
1551bfffe0 Use list for cloak entries 2018-04-23 20:51:01 -06:00
Tim Schaub
a5d3e91f7d Re-export source constructors from ol/source 2018-04-23 17:34:10 -06:00
Tim Schaub
f713d27c44 Re-export format constructors from ol/format 2018-04-23 15:32:24 -06:00
Tim Schaub
497cb1dc44 Re-export controls from ol/controls 2018-04-23 15:31:44 -06:00
Tim Schaub
487ace2362 Re-export geometry constructors from ol/geom 2018-04-23 14:30:20 -06:00
Andreas Hocevar
9bdece3573 Merge pull request #8102 from openlayers/greenkeeper/babel-plugin-jsdoc-closure-1.4.0
Update babel-plugin-jsdoc-closure to the latest version 🚀
2018-04-23 22:02:36 +02:00
greenkeeper[bot]
d440d23bf1 chore(package): update babel-plugin-jsdoc-closure to version 1.4.0 2018-04-23 21:51:45 +02:00
Tim Schaub
b4badd0c53 Move ScaleLineUnits to ScaleLine control module 2018-04-23 11:38:13 -06:00
Tim Schaub
311ab0eae1 Merge pull request #8109 from tschaub/mouse-position
Make any falsey undefinedHTML retain the mouse position
2018-04-23 11:37:57 -06:00
Andreas Hocevar
2b79f12b34 Merge pull request #8103 from ahocevar/jsdoc-module-fixes
Fix some jsdoc path types
2018-04-23 18:13:07 +02:00
Tim Schaub
fba2d100e9 Any falsey undefinedHTML retains the mouse position 2018-04-23 09:57:10 -06:00
Andreas Hocevar
c724584d07 Merge pull request #7784 from pedros007/mouseout-mouseposition
Adds option to retain MousePosition when pointer leaves viewport
2018-04-23 10:44:59 +02:00
ahocevar
d6409f55cf Update API docs for modified behavior. 2018-04-23 08:49:38 +02:00
Pete Schmitt
2719baa0f6 Replace new clearOnMouseOut option with undefinedHTML=undefined
API break: set `undefinedHTML` to special value `undefined` to retain
the most recent MousePosition value.
2018-04-23 08:47:24 +02:00
Pete Schmitt
2e3e7d282a Adds option to retain MousePosition when pointer leaves viewport 2018-04-23 08:47:15 +02:00
ahocevar
d7f3e633b7 Fix code snippet JavaScript 2018-04-23 08:33:50 +02:00
ahocevar
c23a5086ae Fix enum types 2018-04-21 10:48:38 +02:00
ahocevar
417dd85f83 Fix some jsdoc path types 2018-04-21 10:17:53 +02:00
Frédéric Junod
33ca22a4dc Merge pull request #8101 from fredj/jsdoc_module
More Jsdoc module fixes
2018-04-21 09:05:11 +02:00
Andreas Hocevar
23b54e6a9f Merge pull request #7908 from hyperknot/scaleline-fix
ScaleLine fix for non-degree based units
2018-04-20 15:40:56 +02:00
Frederic Junod
b37a1f7d85 Module type for ol.RenderOrderFunction 2018-04-20 15:15:21 +02:00
Frederic Junod
48910e01ed Module type for ol.render.ReplayGroup 2018-04-20 15:12:20 +02:00
Frederic Junod
7f7c4df786 Module type for ol.render.canvas.TextReplay 2018-04-20 15:09:30 +02:00
Frederic Junod
446fb1939e Module type for ol.render.canvas.Instruction 2018-04-20 15:07:50 +02:00
Frederic Junod
97d2266389 Module type for ol.reproj.Triangulation 2018-04-20 15:05:57 +02:00
Frederic Junod
d0fbbe7d23 Module type for ol.render.canvas.Replay 2018-04-20 15:03:44 +02:00
Frederic Junod
3e2c211ccf Module type for ol.render.canvas.ReplayGroup 2018-04-20 15:01:57 +02:00
Frederic Junod
5d22d711f8 Module type for ol.render.ReplayType 2018-04-20 14:58:49 +02:00
Frederic Junod
7701c5fd3a Module type for ol.render.Feature 2018-04-20 14:53:56 +02:00
Frederic Junod
3c0c4cd155 Module type for ol.render.VectorContext 2018-04-20 14:41:11 +02:00
Frederic Junod
05f92c0333 Module type for ol.source.Tile 2018-04-20 14:37:46 +02:00
Frederic Junod
327bda680d Module type for ol.source.Tile.Event 2018-04-20 14:35:17 +02:00
Frederic Junod
ae5e24a6c3 Module type for ol.render.Event 2018-04-20 14:32:23 +02:00
Frederic Junod
3629cef3a5 Module type for ol.render.EventType 2018-04-20 14:31:00 +02:00
Frederic Junod
d1a6249cf0 Module type for ol.Collection 2018-04-20 12:02:15 +02:00
Frederic Junod
0071acd688 Module type for ol.AttributionLike 2018-04-20 12:00:18 +02:00
Frédéric Junod
4d4a469904 Merge pull request #8099 from openlayers/jsdoc_module
More Jsdoc module fixes
2018-04-20 11:26:30 +02:00
Tim Schaub
3705757cd4 Merge pull request #8098 from tschaub/goodbye-olx
Remove externs/olx.js and src/ol/typedefs.js
2018-04-20 02:38:46 -06:00
Frederic Junod
b2d9f94cb2 Module type for ol.pointer.MouseSource 2018-04-20 08:53:01 +02:00
Frederic Junod
2f45d51f9b Module type for ol.pointer.EventSource 2018-04-20 08:50:39 +02:00
Frederic Junod
a84863528c Module type for ol.pointer.PointerEvent 2018-04-20 08:47:27 +02:00
Frederic Junod
a43b90056b Module type for ol.pointer.PointerEventHandler 2018-04-20 08:44:01 +02:00
Frederic Junod
15f57538e7 Module type for ol.StyleFunction 2018-04-20 08:39:45 +02:00
Andreas Hocevar
ed95200aa9 Merge pull request #8096 from ahocevar/rotation-default
Fix rotation default
2018-04-20 07:07:09 +02:00
Tim Schaub
7c35139e90 Remove ol/typedefs.js 2018-04-19 18:22:04 -06:00
Tim Schaub
99efb052f2 Remove temporary externs/xol.js 2018-04-19 18:17:39 -06:00
Tim Schaub
d93a76dcb9 Remove olx.js and code that uses it 2018-04-19 18:13:55 -06:00
Tim Schaub
20bbd71702 Correct type for Translate interaction options 2018-04-19 18:13:20 -06:00
Tim Schaub
6b1a2e884d Correct types for style options 2018-04-19 18:13:15 -06:00
Tim Schaub
b9145a91e8 Correct type for FrameState 2018-04-19 18:11:22 -06:00
Tim Schaub
c75b87a2a0 Correct type for WMTS source options 2018-04-19 18:11:22 -06:00
Tim Schaub
81693cefbf Correct type for Icon options 2018-04-19 18:11:12 -06:00
Tim Schaub
5f8a5b3502 Add typedef for TileArcGISRest source options
This was removed in 8b23a44f8f (inadvertently I think).
2018-04-19 17:58:39 -06:00
Tim Schaub
a09f7fb3bb Clean lint from jsdoc config 2018-04-19 17:32:54 -06:00
ahocevar
3d50c0ec68 Fix rotation default 2018-04-20 01:17:02 +02:00
Tim Schaub
d17f0d98a0 Merge pull request #8081 from pfirpfel/move-olx.render-to-ol/render
Move olx.render.* and related typedefs to ol/render/*
2018-04-19 14:41:50 -06:00
Andreas Hocevar
34400394f9 Merge pull request #8095 from openlayers/greenkeeper/babel-plugin-jsdoc-closure-1.3.4
Update babel-plugin-jsdoc-closure to the latest version 🚀
2018-04-19 22:09:30 +02:00
greenkeeper[bot]
db1da0db8e chore(package): update babel-plugin-jsdoc-closure to version 1.3.4 2018-04-19 20:02:29 +00:00
Andreas Hocevar
b65961b791 Merge pull request #8094 from openlayers/greenkeeper/babel-plugin-jsdoc-closure-1.3.3
Update babel-plugin-jsdoc-closure to the latest version 🚀
2018-04-19 21:36:19 +02:00
greenkeeper[bot]
f98fcd15be chore(package): update babel-plugin-jsdoc-closure to version 1.3.3 2018-04-19 19:12:11 +00:00
Frederic Junod
975d3f31d6 Fix FillState typedef definition 2018-04-19 17:41:08 +02:00
Tim Schaub
1c792f2d9b Type is {string} instead of string{} 2018-04-19 17:41:08 +02:00
Michael Kuenzli
3b983564b3 Move ol.DeclutterGroup to ol/render/canvas 2018-04-19 17:41:08 +02:00
Michael Kuenzli
b740630e89 Move ol.CanvasTextState to ol/render/canvas 2018-04-19 17:41:08 +02:00
Michael Kuenzli
6096f84be2 Move ol.CanvasStrokeState to ol/render/canvas 2018-04-19 17:41:08 +02:00
Michael Kuenzli
113785f048 Move ol.CanvasFillStrokeState to ol/render/canvas 2018-04-19 17:41:08 +02:00
Michael Kuenzli
223ef34898 Move ol.CanvasFunctionType to ol/source/ImageCanvas 2018-04-19 17:41:08 +02:00
Michael Kuenzli
4f74bcaa31 Move ol.CanvasFillState to ol/render/canvas 2018-04-19 17:41:08 +02:00
Michael Kuenzli
5e810ccc6a Move olx.render.State to ol/render 2018-04-19 17:41:00 +02:00
Frédéric Junod
82c55d3892 Merge pull request #8087 from pfirpfel/move-misc-typedefs
Move various typedefs out of typdefs.js
2018-04-19 16:56:49 +02:00
Michael Kuenzli
2b41a3930b Move ol.Attribution to ol/source/Source 2018-04-19 16:49:13 +02:00
Michael Kuenzli
71bb2ce019 Move ol.AttributionLike to ol/source/Source 2018-04-19 16:49:13 +02:00
Michael Kuenzli
833a4591df Move ol.RasterOperation to ol/source/Raster 2018-04-19 16:49:13 +02:00
Michael Kuenzli
addcdf745f Move ol.WFSTransactionResponse to ol/format/WFS 2018-04-19 16:48:29 +02:00
Michael Kuenzli
d4a6169052 Move ol.WFSFeatureCollectionMetadata to ol/format/WFS 2018-04-19 16:48:29 +02:00
Michael Kuenzli
76572b6ccf Move ol.RegularShapeRenderOptions to ol/style/RegularShape 2018-04-19 16:48:29 +02:00
Frédéric Junod
873c627cda Merge pull request #8052 from fredj/jsdoc_module
More Jsdoc module fixes
2018-04-19 16:22:52 +02:00
Frederic Junod
48bda774c7 Rename VectorTileSource to VectorTile 2018-04-19 16:02:16 +02:00
Frederic Junod
8074848636 Module type for ol.Size 2018-04-19 15:43:37 +02:00
Frederic Junod
32713ff824 Module type for ol.Extent 2018-04-19 15:41:27 +02:00
Frederic Junod
f0da3c7ef0 Module type for ol.format.GMLBase 2018-04-19 15:40:09 +02:00
Frederic Junod
44b19cb2e3 Module type for ol.format.TokenType 2018-04-19 15:40:09 +02:00
Frederic Junod
3ce588b491 Module type for ol.format.Feature 2018-04-19 15:40:07 +02:00
Frederic Junod
60e319f8e1 Remove extra properties in ol/source/WMTS options 2018-04-19 15:39:26 +02:00
Frederic Junod
7aa5e5d80e Fix wrong tilegrid type for ol/source/XYZ options 2018-04-19 15:39:26 +02:00
Frederic Junod
79bdec2b75 Module type for ol.tilegrid.WMTS 2018-04-19 15:39:26 +02:00
Frederic Junod
7ccb66e80d Module type for ol.tilegrid.TileGrid 2018-04-19 15:39:26 +02:00
Frederic Junod
2df4d5f877 Module type for ol.TileState 2018-04-19 15:39:26 +02:00
Frederic Junod
4114f4faaa Module type for ol.TileCoord 2018-04-19 15:39:26 +02:00
Frederic Junod
e77986c86c Module type for ol.source.Image 2018-04-19 15:39:26 +02:00
Frederic Junod
6f3957786a Module type for ol.source.Source 2018-04-19 15:39:26 +02:00
Frederic Junod
3dbabb734b Module type for ol.source.Vector 2018-04-19 15:39:26 +02:00
Frederic Junod
e283193ff4 Module type for ol.source.State 2018-04-19 15:39:25 +02:00
Frederic Junod
6ce42464b3 Module type for ol.source.VectorTile 2018-04-19 15:39:25 +02:00
Frederic Junod
911d0f12e3 Module type for ol.source.XYZ 2018-04-19 15:39:25 +02:00
Frederic Junod
bf40002af0 Module type for ol.source.TileImage 2018-04-19 15:39:25 +02:00
Frédéric Junod
c63c7b211d Merge pull request #8048 from fredj/shaders_comments
Remove all comments from shaders
2018-04-19 15:21:51 +02:00
Frédéric Junod
fe016738bc Merge pull request #8093 from openlayers/greenkeeper/serve-6.5.5
chore(package): update serve to version 6.5.5
2018-04-19 12:37:39 +02:00
Frédéric Junod
c47150a32d Merge pull request #8090 from openlayers/greenkeeper/url-polyfill-1.0.13
chore(package): update url-polyfill to version 1.0.13
2018-04-19 12:15:43 +02:00
greenkeeper[bot]
2cfae91b71 chore(package): update serve to version 6.5.5 2018-04-19 12:13:18 +02:00
Frédéric Junod
7652cc89ec Merge pull request #8091 from openlayers/greenkeeper/karma-firefox-launcher-1.1.0
chore(package): update karma-firefox-launcher to version 1.1.0
2018-04-19 12:09:28 +02:00
greenkeeper[bot]
0b7d185875 chore(package): update karma-firefox-launcher to version 1.1.0 2018-04-19 12:02:09 +02:00
greenkeeper[bot]
8ce621fc1c chore(package): update url-polyfill to version 1.0.13 2018-04-19 11:58:06 +02:00
Frédéric Junod
13e472527d Merge pull request #8089 from fredj/f_7167
Allow unprefixed WMTS tileMatrix identifiers
2018-04-19 11:56:24 +02:00
Frederic Junod
6006a9d9b5 Allow unprefixed WMTS tileMatrix identifiers
`ol.tilegrid.WMTS.createFromCapabilitiesMatrixSet` fails when tileMatrix identifiers
are not prefixed by their tileMatrixSet identifier.

Original code by @filipheymans
2018-04-19 11:48:42 +02:00
Frederic Junod
4b76ad60d2 Remove unused variable 2018-04-19 10:53:10 +02:00
Frédéric Junod
fdc030e0b3 Merge pull request #8088 from camptocamp/fix_typo_in_TextPlacement
Correct type for TextPlacement (jsdoc)
2018-04-19 10:46:26 +02:00
Benjamin Gerber
84b6e6c7ad Correct type for TextPlacement (jsdoc) 2018-04-19 10:09:21 +02:00
Tim Schaub
7714eb06ad Merge pull request #8085 from openlayers/greenkeeper/mocha-5.1.1
Update mocha to the latest version 🚀
2018-04-18 20:40:29 -06:00
greenkeeper[bot]
d781218483 chore(package): update mocha to version 5.1.1 2018-04-19 02:28:15 +00:00
Tim Schaub
ee9078c401 Merge pull request #8083 from pfirpfel/move-structs-typedefs-to-ol/structs
Move structs typedefs to ol/structs/*
2018-04-18 16:27:12 -06:00
Tim Schaub
4083e22948 Merge pull request #8077 from icholy/master
Add hasFeature method to ol.source.Vector
2018-04-18 16:26:38 -06:00
Tim Schaub
9380cbd316 Merge pull request #8080 from iagafonov/master
#8079 Mark functions setRotateWithView and setSnapToPixel of ol/style/Image with @api
2018-04-18 16:24:20 -06:00
Tim Schaub
44fb48d63f Type is * instead of value_ 2018-04-18 16:19:06 -06:00
Andreas Hocevar
de02268362 Merge pull request #8084 from pfirpfel/move-reproj-typedefs-to-ol/reproj
Move ol.Reproj* typedefs to ol/reproj
2018-04-18 17:37:27 +02:00
Michael Kuenzli
4a70ae2fc0 Move ol.ReprojTriangle to ol/reproj/Triangulation 2018-04-18 16:39:26 +02:00
Michael Kuenzli
edce9e9435 Move ol.ReprojTileFunctionType to ol/reproj/Tile 2018-04-18 16:35:30 +02:00
Michael Kuenzli
724be40854 Move ol.ReprojImageFunctionType to ol/reproj/Image 2018-04-18 16:32:59 +02:00
Michael Kuenzli
b76492c3b8 Move ol.LRUCacheEntry to ol/structs/LRUCache 2018-04-18 16:14:03 +02:00
Michael Kuenzli
11da20e744 Move ol.LinkedListItem to ol/structs/LinkedList 2018-04-18 16:09:17 +02:00
Frédéric Junod
9aa3cd612f Merge pull request #8082 from pfirpfel/remove-unused-typedefs
Remove unused typedefs
2018-04-18 15:52:31 +02:00
Michael Kuenzli
8433e2e07d Remove unused typedefs 2018-04-18 15:18:57 +02:00
Иван Агафонов
84a49ec943 Mark functions setRotateWithView and setSnapToPixel of ol/style/Image with @api 2018-04-18 14:52:49 +03:00
Andreas Hocevar
004f91a020 Merge pull request #8076 from pfirpfel/move-olx.style-to-ol/style
Move olx.style.* and ol.Style* to ol/style/*
2018-04-18 09:04:44 +02:00
Andreas Hocevar
b9afb8d146 Merge branch 'master' into move-olx.style-to-ol/style 2018-04-18 08:57:49 +02:00
Andreas Hocevar
000d3d33a0 Merge pull request #8075 from pfirpfel/move-olx.tilegrid-to-ol/tilegrid
Move olx.tilegrid.* to ol/tilegrid/*
2018-04-18 08:51:35 +02:00
Ilia Choly
b8d3bb5766 Add hasFeature method to ol.source.Vector 2018-04-17 14:22:30 -04:00
Michael Kuenzli
310b9256eb Move olx.tilegrid.XYZOptions to ol/tilegrid 2018-04-17 17:28:32 +02:00
Michael Kuenzli
c06bea9a4e Move ol.StyleImageOptions from typedefs.js to ol/style/Image 2018-04-17 17:22:04 +02:00
Michael Kuenzli
e388527200 Move ol.StyleRenderFunction from typedefs.js to ol/style/Style 2018-04-17 17:22:04 +02:00
Michael Kuenzli
4f183f33f1 Move ol.StyleGeometryFunction from typedefs.js to ol/style/Style 2018-04-17 17:22:04 +02:00
Michael Kuenzli
663d2bb1bb Move olx.style.StyleOptions to ol/style/Style 2018-04-17 17:22:04 +02:00
Michael Kuenzli
1e17ddb8d6 Move olx.style.TextOptions to ol/style/Text 2018-04-17 17:21:56 +02:00
Michael Kuenzli
2d620e5537 Move olx.style.RegularShapeOptions to ol/style/RegularShape 2018-04-17 16:40:02 +02:00
Michael Kuenzli
73fcdf5392 Move olx.style.IconOptions to ol/style/Icon 2018-04-17 16:32:36 +02:00
Michael Kuenzli
de90b91401 Move olx.style.CircleOptions to ol/style/Circle 2018-04-17 16:06:55 +02:00
Michael Kuenzli
2178393e18 Move olx.tilegrid.WMTSOptions to ol/tilegrid/WMTS 2018-04-17 15:14:44 +02:00
Michael Kuenzli
ff488c8214 Move olx.tilegrid.TileGridOptions to ol/tilegrid/TileGrid 2018-04-17 15:09:47 +02:00
Tim Schaub
bd66034d7d Merge pull request #8073 from tschaub/downgrade-sinon
Remove dependency on deprecated sinon@5
2018-04-16 06:14:46 -06:00
Tim Schaub
b1c741ca4a Merge pull request #7994 from tschaub/one-default-renderer
Explicit renderer dependencies
2018-04-16 06:14:05 -06:00
Tim Schaub
c7a10fc7b6 Add upgrade notes about the removal of the renderer option 2018-04-15 07:46:17 -06:00
Tim Schaub
c5f81d8bbe Register layer renderers with the map renderer 2018-04-14 10:31:10 -06:00
Tim Schaub
91f2101cab Remove check for map renderer type 2018-04-14 10:01:07 -06:00
Tim Schaub
52774c6d43 Remove dependency on deprecated sinon@5 2018-04-14 09:39:48 -06:00
Tim Schaub
be35f82ae5 Explicit map renderer construction 2018-04-14 09:38:40 -06:00
Tim Schaub
2a9fde86b1 This makes ol/Map use the Canvas map renderer.
To use the experimental WebGL renderer, use ol/WebGLMap instead.
2018-04-14 09:32:54 -06:00
Frédéric Junod
c882c22e2f Merge pull request #7863 from fredj/rm_forEachFeature
Add note about null geom in VectorSource.forEachFeature
2018-04-13 14:16:23 +02:00
Frédéric Junod
a71652ef8e Merge pull request #8071 from openlayers/greenkeeper/mocha-5.1.0
Update mocha to the latest version 🚀
2018-04-13 13:23:36 +02:00
Frederic Junod
25af37bbd3 Add note about null geom in VectorSource.forEachFeature 2018-04-13 13:21:49 +02:00
greenkeeper[bot]
5827305e92 chore(package): update mocha to version 5.1.0 2018-04-13 02:32:21 +00:00
Zsolt Ero
50a929d562 us missing 2018-04-10 21:09:43 +02:00
Zsolt Ero
5bde9fa278 added non-degree tests for all units 2018-04-10 21:06:36 +02:00
Zsolt Ero
ab946c2ed2 non-degree test added 2018-04-10 20:54:45 +02:00
Zsolt Ero
cedf01f647 imperial unit test 2018-04-10 20:45:09 +02:00
Zsolt Ero
b55f323afe scaleLine fix update to master 2018-04-10 19:37:05 +02:00
Tim Schaub
568b3d3559 Merge pull request #8060 from openlayers/greenkeeper/google-closure-compiler-20180402.0.0
Update google-closure-compiler to the latest version 🚀
2018-04-08 07:44:03 -06:00
greenkeeper[bot]
9a91854366 chore(package): update google-closure-compiler to version 20180402.0.0 2018-04-05 19:01:55 +00:00
Frédéric Junod
248c54c5e0 Merge pull request #8055 from fredj/opt_property
Mark optional property with square brackets
2018-04-05 08:27:56 +02:00
Andreas Hocevar
5f49275d9e Merge pull request #8054 from lilliputten/win-build
Generate correct includes list for `build-index` script on windows hosts.
2018-04-04 20:22:37 +02:00
Frederic Junod
070f08e778 Mark optional property with square brackets 2018-04-04 17:06:21 +02:00
lilliputten
fa92a69ff3 Linter warnings fixed. 2018-04-04 17:47:56 +03:00
lilliputten
0deecda4f5 Simplified changes. 2018-04-04 17:41:21 +03:00
lilliputten
55bcd28729 Generate correct includes list on windows hosts. 2018-04-04 17:23:08 +03:00
Frédéric Junod
842cdcfcf7 Merge pull request #8053 from fredj/misc
Don't import from 'functions' multiple times
2018-04-04 15:35:34 +02:00
Frederic Junod
22ace7228f Don't import from 'functions' multiple times 2018-04-04 13:51:47 +02:00
Frédéric Junod
89b901eb84 Merge pull request #8041 from fgravin/remove-olx-typedefs-ol/source
Remove olx typedefs ol/source
2018-04-04 11:43:09 +02:00
Florent gravin
1a6c62a48a Replace dispatchChangeEvent by changed in ol/source 2018-04-04 10:52:50 +02:00
Florent gravin
c579fc985a Remove =undefined for default values in ol/source 2018-04-04 10:52:50 +02:00
Florent gravin
0f1cef96fb Replace ol.ProjectionLike by module:ol/proj~ProjectionLike in ol/source 2018-04-04 10:52:50 +02:00
Florent gravin
a85faeef0f Remove olx.source.ZoomifyOptions 2018-04-04 10:52:50 +02:00
Florent gravin
8b23a44f8f Remove useless olx.source.TileArcGISRestOptions 2018-04-04 10:52:50 +02:00
Florent gravin
a38ca0f248 Remove useless olx.source.MapQuestOptions 2018-04-04 10:52:50 +02:00
Florent gravin
4b0f376f60 Remove olx.source.XYZOptions 2018-04-04 10:52:50 +02:00
Florent gravin
5de33d066b Remove olx.source.WMTSOptions 2018-04-04 10:52:50 +02:00
Florent gravin
798119c9c8 Remove olx.source.VectorOptions 2018-04-04 10:52:50 +02:00
Florent gravin
910373eaa2 Remove ol.SourceUrlTileOptions 2018-04-04 10:52:50 +02:00
Florent gravin
f7b2433583 Remove olx.source.TilewmsOptions 2018-04-04 10:52:50 +02:00
Florent gravin
1bf17fecea Remove olx.source.TileUTFGridOptions 2018-04-04 10:52:50 +02:00
Florent gravin
1d99524ed1 Remove olx.source.TileJSONOptions 2018-04-04 10:52:50 +02:00
Florent gravin
9a4aed3d7c Remove olx.source.VectorTileOptions 2018-04-04 10:52:50 +02:00
Florent gravin
15fba2cbaf Remove olx.source.TileImageOptions 2018-04-04 10:52:50 +02:00
Florent gravin
3ec2cb1e6a Remove olx.source.TileDebugOptions 2018-04-04 10:52:50 +02:00
Florent gravin
aa138feb94 Remove ol.SourceTileOptions 2018-04-04 10:52:50 +02:00
Florent gravin
f9452fb76b Remove olx.source.StamenOptions 2018-04-04 10:52:50 +02:00
Florent gravin
e3889b6d11 Remove olx.source.RasterOptions 2018-04-04 10:52:50 +02:00
Florent gravin
4e32fd8975 Move olx.source.OSMOptions to ol/source/OSMOptions 2018-04-04 10:52:50 +02:00
Florent gravin
125a54ff1e Move olx.source.ImageWMSOptions to ol/source/ImageWMSOptions 2018-04-04 10:52:50 +02:00
Florent gravin
c6acbb54fd Move olx.source.ImageStaticOptions to ol/source/ImageStaticOptions 2018-04-04 10:52:50 +02:00
Florent gravin
db600287f8 Move olx.source.ImageMapGuideOptions to ol/source/ImageMapGuideOptions 2018-04-04 10:52:50 +02:00
Florent gravin
3d90a4587c Move olx.source.ImageCanvasOptions to ol/source/ImageCanvasOptions 2018-04-04 10:52:50 +02:00
Florent gravin
749f96d967 Move olx.source.ClusterOptions to ol/source/ClusterOptions 2018-04-04 10:48:38 +02:00
Florent gravin
27f86babec Move olx.source.CartoDBOptions to ol/source/CartoDBOptions 2018-04-04 10:48:38 +02:00
Florent gravin
af4296d2bc Move olx.source.BingMapsOptions to ol/source/BingMapsOptions 2018-04-04 10:48:38 +02:00
Frederic Junod
2effa1182e Remove all comments from shaders 2018-04-03 09:54:55 +02:00
Frédéric Junod
bc54693382 Merge pull request #8026 from nyurik/patch-2
[doc] dispatchChangeEvent -> changed
2018-04-03 08:53:09 +02:00
Yuri Astrakhan
1b73bca281 link to observable-changed 2018-04-02 22:50:26 +03:00
Yuri Astrakhan
f6e2db76f4 [doc] dispatchChangeEvent -> changed 2018-04-02 22:45:59 +03:00
Marc Jansen
722ce67ebe Merge pull request #8003 from marcjansen/chaikin
Add an example showing Chaikins smoothing algorithm
2018-03-29 17:51:30 +02:00
Frédéric Junod
8208177bdc Merge pull request #8044 from fredj/misc
Rename constructor options typedef to 'Options'
2018-03-29 17:14:55 +02:00
Frederic Junod
4e0d195236 Remove unused minResolution and maxResolution 2018-03-29 16:32:21 +02:00
Frederic Junod
60ca330dce Rename constructor options typedef to 'Options' 2018-03-29 15:50:32 +02:00
Andreas Hocevar
0335420634 Merge pull request #8042 from ahocevar/only-loaded-tiles
Only process loaded tiles
2018-03-29 11:52:04 +02:00
ahocevar
dd6f4eef58 Only process loaded tiles 2018-03-29 11:44:32 +02:00
Marc Jansen
1f0e9abfdd Simplify example 2018-03-29 08:35:09 +02:00
Marc Jansen
d42de41af3 Add an example showing Chaikins smoothing algorithm 2018-03-29 08:35:09 +02:00
Frédéric Junod
93f704fcd5 Merge pull request #8036 from fredj/misc
Move the temporary arrays to the module level
2018-03-29 08:27:48 +02:00
Tim Schaub
9ed9185b77 Merge pull request #8032 from romanzoller/remove-olx-typedefs-ol/source
Start removing externs for `ol/source`
2018-03-28 22:27:11 -06:00
Tim Schaub
6029cf829b Merge pull request #8039 from openlayers/greenkeeper/google-closure-compiler-20180319.0.0
Update google-closure-compiler to the latest version 🚀
2018-03-28 22:25:05 -06:00
greenkeeper[bot]
dc0e331e86 chore(package): update google-closure-compiler to version 20180319.0.0 2018-03-28 20:01:47 +00:00
Frédéric Junod
79157175ba Merge pull request #8038 from fredj/ZoomToExtent_title
Fix ZoomToExtent default tipLabel value
2018-03-28 12:48:28 +02:00
Frederic Junod
694afc0196 Fix ZoomToExtent default tipLabel value 2018-03-28 12:38:13 +02:00
Frederic Junod
d8fd51a537 Remove unused private variable 2018-03-28 08:56:36 +02:00
Frederic Junod
e9ce23a461 Move the temporary arrays to the module level
No need to create a new variable for each instance.
2018-03-28 08:55:27 +02:00
Frédéric Junod
72641ef884 Merge pull request #8034 from fredj/jsdoc_module
More Jsdoc module fixes
2018-03-27 16:35:41 +02:00
Frederic Junod
51d41466ff Refresh externs/xol.js 2018-03-27 16:20:52 +02:00
Frederic Junod
5bfa3ebcda Move olx.style.StrokeOptions to src/ol/style/Stroke 2018-03-27 16:20:52 +02:00
Frederic Junod
ac1a9e97ed Move olx.style.FillOptions to src/ol/style/Fill 2018-03-27 15:44:53 +02:00
Frederic Junod
45ad265849 Move olx.style.AtlasManagerOptions to src/ol/style/AtlasManager 2018-03-27 15:15:33 +02:00
Frederic Junod
7cbc22fece Module type for ol.style.* 2018-03-27 15:09:52 +02:00
Roman Zoller
8863a26b2d Move olx.source.ImageArcGISRestOptions to ol/source/ImageArcGISRestOptions 2018-03-26 16:53:50 +02:00
Frédéric Junod
2de83adb8e Merge pull request #8029 from fredj/jsdoc_module
More Jsdoc module fixes
2018-03-26 16:50:16 +02:00
Tim Schaub
ba350064f2 Merge pull request #8030 from walkermatt/patch-1
Set `user-select: text` for .ol-selectable
2018-03-26 08:25:43 -06:00
Matt Walker
caa4a0566e Set user-select: text for .ol-selectable
In order to allow a user to select content within an element with the `.ol-selectable` class the `user-select` CSS property should be `text`. 

The current value of `auto` results in a computed value of `none` due to the rule `.ol-viewport, .ol-unselectable` specifying `user-select: none`. According to the [the specification](https://www.w3.org/TR/css-ui-4/#valdef-user-select-auto):

> if the computed value of `user-select` on the parent of this element is `none`, the computed value is `none`

Tested manually on Chromium, Firefox and IE11.
2018-03-26 14:16:45 +01:00
Frederic Junod
932ea9c8b2 Refresh externs/xol.js 2018-03-26 10:54:18 +02:00
Frederic Junod
b121ced3da Module type for ol.format.Lexer 2018-03-26 10:50:59 +02:00
Frederic Junod
b08edd8dfe Module type for ol.PluggableMap 2018-03-26 10:45:28 +02:00
Frederic Junod
1bd8bf5ac0 Module type for ol.layer.VectorRenderType 2018-03-26 10:44:22 +02:00
Frederic Junod
4580bd15c5 Module type for ol.layer.Base 2018-03-26 10:41:29 +02:00
Frederic Junod
813c009912 Module type for ol.Collection 2018-03-26 10:40:28 +02:00
Frederic Junod
1cad0c665f Module type for ol.Extent 2018-03-26 10:38:55 +02:00
Frédéric Junod
423326ffc0 Merge pull request #8028 from openlayers/greenkeeper/marked-0.3.19
Update marked to the latest version 🚀
2018-03-26 09:50:42 +02:00
greenkeeper[bot]
8e9f0b66fd chore(package): update marked to version 0.3.19 2018-03-26 03:01:50 +00:00
Roman Zoller
81a0c341ab Move ol.SourceImageOptions to ol/source/Image 2018-03-25 12:00:26 +02:00
Roman Zoller
d4f39f7bbb Move ol.SourceSourceOptions to ol/source/Source 2018-03-25 11:45:15 +02:00
Andreas Hocevar
a8ac013d93 Merge pull request #8025 from romanzoller/remove-ol-layer-olx
Move olx.layer.* to ol/layer/*
2018-03-23 22:37:34 +01:00
Roman Zoller
7ebe53d058 Fix setting of useInterimTilesOnError
With the previous check it was always set to `true`.
2018-03-23 18:40:31 +01:00
Roman Zoller
17a348e594 Move olx.layer.VectorTileOptions to ol/layer/VectorTile 2018-03-23 18:40:31 +01:00
Roman Zoller
41ecc4a794 Move olx.layer.VectorOptions to ol/layer/Vector 2018-03-23 18:39:46 +01:00
Roman Zoller
c24b369523 Move olx.layer.TileOptions to ol/layer/Tile 2018-03-23 18:39:46 +01:00
Roman Zoller
34d5a38a9e Move olx.layer.ImageOptions to ol/layer/Image 2018-03-23 18:39:46 +01:00
Roman Zoller
aa57bc86e5 Move olx.layer.HeatmapOptions to ol/layer/Heatmap 2018-03-23 18:39:46 +01:00
Roman Zoller
1e476ae9e7 Move olx.layer.GroupOptions to ol/layer/Group 2018-03-23 18:39:46 +01:00
Roman Zoller
c0148cae7c Move olx.layer.LayerOptions to ol/layer/Layer 2018-03-23 18:38:57 +01:00
Frédéric Junod
02d2e97a23 Merge pull request #8023 from fredj/typedefs.js
Module type changes for ol.webgl
2018-03-23 13:37:16 +01:00
Frederic Junod
2fc9cb691d Module type for ol.webgl.Vertex 2018-03-23 13:25:47 +01:00
Frederic Junod
873b01bba5 Move WebGL typedefs out of src/ol/typedefs.js 2018-03-23 13:22:51 +01:00
Frederic Junod
5306490733 Module type for ol.webgl.Context 2018-03-23 12:17:42 +01:00
Frederic Junod
353a3b77b6 Module type for ol.webgl.Buffer 2018-03-23 12:16:04 +01:00
Frederic Junod
731c2eddae Module type for ol.webgl.Shader 2018-03-23 12:13:56 +01:00
Frederic Junod
6f6b60769c Module type for ol.webgl.Fragment 2018-03-23 12:13:25 +01:00
Frédéric Junod
b836e230c6 Merge pull request #8021 from fredj/olx.ViewState
Move olx.ViewState to ol/View
2018-03-23 12:06:58 +01:00
Frederic Junod
deb536bfbd Refresh externs/xol.js 2018-03-23 11:53:41 +01:00
Frederic Junod
29b37b179c Move olx.ViewState to ol/View 2018-03-23 11:42:46 +01:00
Frederic Junod
1963e6088e Fix wrong module name annotation 2018-03-23 08:54:55 +01:00
Frédéric Junod
3533587bcb Merge pull request #8012 from fredj/jsdoc_module
More Jsdoc module fixes
2018-03-23 08:50:58 +01:00
Frederic Junod
ce726ed9dd Module type for ol.layer.Vector 2018-03-23 08:44:21 +01:00
Frederic Junod
64999cdfda Module type for ol.layer.VectorTile 2018-03-23 08:44:21 +01:00
Frederic Junod
e3d87f026e Module type for ol.layer.VectorRenderType 2018-03-23 08:44:21 +01:00
Frederic Junod
448e6a755f Module type for ol.layer.Image 2018-03-23 08:44:21 +01:00
Frederic Junod
05e78c20fc Module type for ol.layer.Tile 2018-03-23 08:44:21 +01:00
Frederic Junod
f2a36c90e3 Module type for ol.layer.VectorTileRenderType 2018-03-23 08:44:21 +01:00
Frederic Junod
14dc03b434 Module type for ol.layer.Base 2018-03-23 08:44:21 +01:00
Frederic Junod
34f6d20e40 Module type for ol.Overlay 2018-03-23 08:44:21 +01:00
Frederic Junod
bd9e603036 Module type for ol.layer.Layer 2018-03-23 08:44:21 +01:00
Frederic Junod
041b612fd9 Module type for ol.format.KML 2018-03-23 08:44:21 +01:00
Frederic Junod
d8c0e6e69b Module type for ol.format.Feature 2018-03-23 08:44:21 +01:00
Frederic Junod
c19ddb1a19 Module type for ol.format.FormatType 2018-03-23 08:44:21 +01:00
Frederic Junod
8ac387f42c Module type for ol.format.TextFeature 2018-03-23 08:44:21 +01:00
Frederic Junod
5aee26633c Module type for ol.format.XML 2018-03-23 08:44:21 +01:00
Frederic Junod
06bd5b4423 Module type for ol.format.XMLFeature 2018-03-23 08:44:21 +01:00
Frederic Junod
83dcc82cf7 Module type for ol.format.JSONFeature 2018-03-23 08:44:21 +01:00
Andreas Hocevar
e005ec7497 Merge pull request #8019 from openlayers/greenkeeper/mocha-5.0.5
Update mocha to the latest version 🚀
2018-03-23 08:37:11 +01:00
greenkeeper[bot]
602f8b47d3 chore(package): update mocha to version 5.0.5 2018-03-23 08:24:36 +01:00
Frédéric Junod
d5cb21932f Merge pull request #8017 from openlayers/greenkeeper/marked-0.3.18
Update marked to the latest version 🚀
2018-03-23 08:23:40 +01:00
Andreas Hocevar
3e7599dc34 Merge pull request #8018 from openlayers/greenkeeper/recast-0.14.7
Update recast to the latest version 🚀
2018-03-23 08:05:48 +01:00
greenkeeper[bot]
ab57d74357 chore(package): update recast to version 0.14.7 2018-03-23 01:12:21 +00:00
Frédéric Junod
bf4fbad0cc Merge pull request #8015 from fredj/typedefs_cleanup
Remove some typedefs from src/ol/typedefs.js
2018-03-22 20:09:44 +01:00
Andreas Hocevar
9eff0d14d7 Merge pull request #8016 from romanzoller/remove-ol-layer-olx-first-PR
Move olx.layer.BaseOptions to ol/layer/Base
2018-03-22 18:07:29 +01:00
greenkeeper[bot]
e809efcd8e chore(package): update marked to version 0.3.18 2018-03-22 17:02:42 +00:00
Roman Zoller
b99b19f876 Move olx.layer.BaseOptions to ol/layer/Base 2018-03-22 17:33:40 +01:00
Frederic Junod
48740f0026 Move RBush typedefs out of src/ol/typedefs.js 2018-03-22 17:13:48 +01:00
Frederic Junod
c34e7e2246 Move GPX typedefs out of src/ol/typedefs.js 2018-03-22 16:58:02 +01:00
Frederic Junod
13ca7bc52e Move WKT typedefs out of src/ol/typedefs.js 2018-03-22 16:53:40 +01:00
Frederic Junod
813faf1ac2 Move KML typedefs out of src/ol/typedefs.js 2018-03-22 16:47:24 +01:00
Frederic Junod
ac4f1d014c Move Atlas typedefs out of src/ol/typedefs.js 2018-03-22 16:38:04 +01:00
Frédéric Junod
00e79903fe Merge pull request #8014 from openlayers/greenkeeper/recast-0.14.6
Update recast to the latest version 🚀
2018-03-22 15:48:22 +01:00
greenkeeper[bot]
0cdd523a29 chore(package): update recast to version 0.14.6 2018-03-22 14:24:23 +00:00
Andreas Hocevar
d1083b7ef2 Merge pull request #8005 from chrismayer/vt-select-expl
Add vector tile selection example
2018-03-22 10:16:16 +01:00
Frédéric Junod
57f0ca26f4 Merge pull request #8009 from openlayers/greenkeeper/sinon-5.0.0
chore(package): update sinon to version 5.0.0
2018-03-22 08:41:38 +01:00
Frédéric Junod
e3e31a9f13 Merge pull request #8008 from openlayers/greenkeeper/eslint-4.19.1
Update eslint to the latest version 🚀
2018-03-22 08:24:55 +01:00
greenkeeper[bot]
fd1fc2ea9e chore(package): update eslint to version 4.19.1 2018-03-22 02:37:55 +00:00
greenkeeper[bot]
d3a2d0de87 chore(package): update sinon to version 5.0.0
Closes #8007
2018-03-21 19:16:04 +00:00
Andreas Hocevar
467cf3ce5b Improve readability and create only one style 2018-03-21 12:01:42 +01:00
Christian Mayer
6e9cf0fd9d Add vector tile selection example 2018-03-21 11:41:44 +01:00
Frédéric Junod
50aa24ef9d Merge pull request #7999 from fredj/jsdoc_module
More Jsdoc module fixes
2018-03-20 08:20:37 +01:00
Tim Schaub
e2bbaad4cb Merge pull request #8000 from openlayers/greenkeeper/karma-webpack-3.0.0
Update karma-webpack to the latest version 🚀
2018-03-19 20:24:54 -06:00
greenkeeper[bot]
3a8217f22a chore(package): update karma-webpack to version 3.0.0 2018-03-19 19:30:36 +00:00
Frederic Junod
cb6ecdb94b Add missing undefined type to timout variables 2018-03-19 17:27:25 +01:00
Frederic Junod
7dc4d3a006 Module type for ol.View 2018-03-19 17:09:11 +01:00
Frederic Junod
b6483a49c1 Fix typedef name in jsdoc 2018-03-19 17:06:51 +01:00
Frederic Junod
1eef986824 Module type for ol.Observable 2018-03-19 16:59:01 +01:00
Frederic Junod
b26e370b5b Module type for ol.Collection 2018-03-19 16:36:21 +01:00
Frederic Junod
38eb1494eb Module type for ol.CollectionEvent 2018-03-19 16:36:21 +01:00
Frederic Junod
5173970f53 Module type for ol.Image 2018-03-19 16:07:09 +01:00
Frederic Junod
a3ccfbdd44 Module type for ol.ImageTile 2018-03-19 16:03:59 +01:00
Frederic Junod
48c28540cb Module type for ol.ImageCanvas 2018-03-19 16:02:46 +01:00
Frédéric Junod
917d28b4f6 Merge pull request #7998 from fredj/jsdoc_module
More Jsdoc module fixes
2018-03-19 15:47:07 +01:00
Frederic Junod
857b946f3e Module type for ol.events.Event 2018-03-19 14:31:04 +01:00
Frederic Junod
93b2fe0e95 Module type for ol.Tile 2018-03-19 14:31:04 +01:00
Frederic Junod
fe686ef915 Module type for ol.TileCache 2018-03-19 14:31:04 +01:00
Frederic Junod
ba62774cf0 Module type for ol.TileQueue 2018-03-19 14:31:04 +01:00
Frederic Junod
edce8785ee Module type for ol.ImageBase 2018-03-19 14:31:04 +01:00
Frederic Junod
a6a8da2d23 Module type for ol.LayerType 2018-03-19 14:31:04 +01:00
Frederic Junod
0477f6cfdf Mark optional property with square brackets 2018-03-19 14:31:04 +01:00
Frédéric Junod
a180eb7987 Merge pull request #7992 from trenneman/fix-7830
Fix freeze on export PDF example
2018-03-19 12:00:21 +01:00
Frederic Junod
61f944d4a9 Module type for ol.ProjectionLike 2018-03-19 10:38:39 +01:00
Frédéric Junod
634fb9f93b Merge pull request #7997 from fredj/jsdoc_module
Jsdoc module
2018-03-19 10:26:09 +01:00
Frederic Junod
bbfaa333c0 Fix class name in jsdoc type annotation 2018-03-19 09:56:14 +01:00
Frederic Junod
00f75f692f Fix typo in jsdoc type 2018-03-19 09:44:55 +01:00
Frederic Junod
ae3dc8ea06 Module type for ol.VectorImageTile 2018-03-19 09:41:22 +01:00
Frederic Junod
5b349147b5 Module type for ol.VectorTile 2018-03-19 09:36:58 +01:00
Frederic Junod
c4b38ed5dc Module type for ol.TileState 2018-03-19 09:34:19 +01:00
Frederic Junod
ded99ccad7 Module type for ol.ImageState 2018-03-19 09:31:18 +01:00
Frederic Junod
3edbbf0b46 Module type for ol.Color 2018-03-19 09:25:45 +01:00
Frederic Junod
f5aa7d7867 Module type for ol.ColorLike 2018-03-19 09:24:32 +01:00
Frederic Junod
2d9014ce11 Module type for ol.PluggableMap 2018-03-19 08:49:56 +01:00
Frederic Junod
3ccd4c0826 Module type for ol.Disposable 2018-03-19 08:48:28 +01:00
Frederic Junod
f8d94bb998 Remove unnecessary public jsdoc annotation 2018-03-19 08:44:34 +01:00
Frédéric Junod
51f25486ec Merge pull request #7986 from fredj/jsdoc_module
Use module syntax for type annotations
2018-03-19 08:38:48 +01:00
Frederic Junod
8a4d60192f Mark optional property with square brackets 2018-03-19 08:29:50 +01:00
Frederic Junod
218ca38f1d Use path type instead of ol.Coordinate 2018-03-19 08:29:50 +01:00
Andreas Hocevar
42e864fd8e Merge pull request #7996 from openlayers/4.6.5
4.6.5
2018-03-18 23:58:49 +01:00
ahocevar
1e8b135cb5 Update package version to 4.6.5 2018-03-18 23:56:32 +01:00
ahocevar
dc2cac39c7 Changelog for v4.6.5 2018-03-18 23:54:51 +01:00
Tim Schaub
082f4eaa06 Merge pull request #7993 from tschaub/module-types
Module types
2018-03-18 11:52:31 -06:00
Tim Schaub
a3ead88c57 Module types for controls 2018-03-18 10:23:01 -06:00
Tim Schaub
2e0fd1c12d Module type for Control 2018-03-18 09:53:35 -06:00
Tim Schaub
414792f707 Module type for BaseObject 2018-03-18 09:50:48 -06:00
Tim Schaub
0edbfde4d3 Module type for MapEvent 2018-03-18 09:48:06 -06:00
Andreas Hocevar
393df3faf3 Merge pull request #7989 from ahocevar/interaction-type
Redistribute olx types for ol/interaction
2018-03-18 16:12:32 +01:00
ahocevar
b9999dfb35 Fix type typos 2018-03-18 15:08:40 +01:00
Erik Timmers
b5d02dad47 Fix freeze on export PDF example
The PDF was only generated AFTER requesting new tiles. When no new tiles where needed,
the callback never completed. Also fixed fitting the correct extent.

Fixes #7830.
2018-03-18 12:34:24 +01:00
Tim Schaub
502482a2b9 Merge pull request #7990 from openlayers/greenkeeper/eslint-4.19.0
Update eslint to the latest version 🚀
2018-03-17 14:43:21 -06:00
Tim Schaub
25da233921 Adjust indent 2018-03-17 14:24:22 -06:00
greenkeeper[bot]
0ddd5622ec chore(package): update eslint to version 4.19.0 2018-03-17 13:51:00 -06:00
Andreas Hocevar
156dfa146a Merge pull request #7991 from ahocevar/fix-type-paths
Fix some type paths
2018-03-17 16:44:13 +01:00
ahocevar
e383913b3c Fix some type paths 2018-03-17 13:34:57 +01:00
ahocevar
4e89e5ed73 Fix indentation 2018-03-16 17:30:23 +01:00
ahocevar
c496b4edca Fix type typos 2018-03-16 17:22:45 +01:00
ahocevar
8728c8723f Use path types when referencing interactions 2018-03-16 17:17:06 +01:00
ahocevar
00d65ccddc No olx and ol types for ol/interaction/Translate 2018-03-16 17:15:41 +01:00
ahocevar
bc33d871e1 No olx and ol types for ol/interaction/Snap 2018-03-16 17:12:14 +01:00
ahocevar
9754334570 No olx and ol types for ol/interaction/Select 2018-03-16 17:04:58 +01:00
ahocevar
c53a13fc26 No olx and ol types for ol/interaction/Pointer 2018-03-16 16:47:04 +01:00
ahocevar
89f6d74696 No olx and ol types for ol/interaction/PinchZoom 2018-03-16 16:42:34 +01:00
ahocevar
998b8df55d No olx and ol types for ol/interaction/PinchRotate 2018-03-16 16:39:40 +01:00
ahocevar
54beb17b55 No olx and ol types for ol/interaction/MouseWheelZoom 2018-03-16 16:35:39 +01:00
ahocevar
d6b177e847 No olx and ol types for ol/interaction/Modify 2018-03-16 16:30:00 +01:00
ahocevar
438ec66c4c No olx and ol types for ol/interaction/KeyboardZoom 2018-03-16 15:46:47 +01:00
ahocevar
a4a4a0cdca No olx and ol types for ol/interaction/KeyboardPan 2018-03-16 15:35:11 +01:00
ahocevar
edf6536645 Remove ununed namespace doc file 2018-03-15 18:09:01 +01:00
ahocevar
080a156f3f No olx and ol types for ol/interaction/Extent 2018-03-15 18:07:14 +01:00
ahocevar
b19f00d893 No olx and ol types for ol/interaction/Draw 2018-03-15 17:51:19 +01:00
ahocevar
2c6afdd5bb No olx and ol types for ol/interaction/DragZoom 2018-03-15 17:18:52 +01:00
ahocevar
47d49a802e No olx and ol types for ol/interaction/DragRotateAndZoom 2018-03-15 17:12:48 +01:00
ahocevar
5d0ea11189 No olx and ol types for ol/interaction/DragRotate 2018-03-15 17:08:32 +01:00
ahocevar
a71ad16995 No olx and ol types for ol/interaction/DragPan 2018-03-15 16:49:50 +01:00
ahocevar
12581b6a77 No olx and ol types for ol/interaction/DragBox 2018-03-15 16:49:50 +01:00
ahocevar
7c7e002ee4 No olx and ol types for ol/interaction/DragAndDrop 2018-03-15 16:49:50 +01:00
ahocevar
cfb8cd3d62 No olx and ol types for ol/interaction/DoubleClickZoom 2018-03-15 16:49:49 +01:00
Frédéric Junod
e0e9c2677d Merge pull request #7985 from fredj/tilegrid-types
Use path type instead of ol.tilegrid
2018-03-15 14:51:34 +01:00
Frederic Junod
f7944d3762 Fix type name for module:ol/extent/Corner~Corner and Relationship 2018-03-15 14:42:39 +01:00
Frederic Junod
7d727d287c Use path type instead of ol.tilegrid.WMTS 2018-03-15 14:20:49 +01:00
Frederic Junod
76fb0edf0d Use path type instead of ol.tilegrid.TileGrid 2018-03-15 14:20:49 +01:00
Frédéric Junod
ab06f3818b Merge pull request #7984 from openlayers/greenkeeper/sinon-4.4.6
Update sinon to the latest version 🚀
2018-03-15 10:51:47 +01:00
greenkeeper[bot]
d9eeac83a0 chore(package): update sinon to version 4.4.6 2018-03-15 10:35:12 +01:00
Andreas Hocevar
89db85d4fb Merge pull request #7983 from ahocevar/extent-type
Use path type instead of ol.Extent
2018-03-15 10:31:09 +01:00
ahocevar
263e3c309a Trying different SauceLabs config to work around Firefox issue 2018-03-15 10:23:36 +01:00
ahocevar
889befc8c7 Use path type instead of ol.Extent 2018-03-14 11:54:09 +01:00
Frédéric Junod
4d3b962d8b Merge pull request #7981 from openlayers/greenkeeper/sinon-4.4.5
Update sinon to the latest version 🚀
2018-03-14 08:24:14 +01:00
Frédéric Junod
e97e350393 Merge pull request #7980 from fredj/jsdoc_module
Use module syntax for type annotations
2018-03-14 08:23:47 +01:00
greenkeeper[bot]
db5a9f4cbf chore(package): update sinon to version 4.4.5 2018-03-13 18:27:22 +00:00
Frederic Junod
671af4dd41 Use 'module:ol/plugins~MapRendererPlugin' instead of 'olx.MapRendererPlugin' 2018-03-13 16:38:29 +01:00
Frederic Junod
a02dfb640f Remove unused ol.PreRenderFunction typedef 2018-03-13 16:31:11 +01:00
Frederic Junod
bde23826e2 Use 'module:ol/View~FitOptions' instead of 'olx.view.FitOptions' 2018-03-13 16:24:43 +01:00
Frederic Junod
87f09b34d3 Use 'module:ol/Overlay~OverlayPanOptions' instead of 'olx.OverlayPanOptions' 2018-03-13 16:13:43 +01:00
Frederic Junod
13da5ef01d Use 'module:ol/Overlay~OverlayOptions' instead of 'olx.OverlayOptions' 2018-03-13 16:11:56 +01:00
Frederic Junod
8c58bb4332 Use 'module:ol/PluggableMap~FrameState' instead of 'olx.FrameState' 2018-03-13 16:06:46 +01:00
Frédéric Junod
120307b193 Merge pull request #7979 from fredj/jsdoc_default
Mark optional property with square brackets
2018-03-13 13:46:05 +01:00
Frédéric Junod
fbef4c3141 Merge pull request #7977 from openlayers/greenkeeper/sinon-4.4.4
Update sinon to the latest version 🚀
2018-03-13 13:30:37 +01:00
Frederic Junod
403a7bdfc7 Mark optional property with square brackets 2018-03-13 13:29:21 +01:00
Frederic Junod
bb3072153b Remove undefined type when the property is optional 2018-03-13 12:33:35 +01:00
Frédéric Junod
92d864ee92 Merge pull request #7975 from fredj/jsdoc_default
Mark optional property with square brackets
2018-03-13 11:15:35 +01:00
greenkeeper[bot]
280b349c7e chore(package): update sinon to version 4.4.4 2018-03-13 09:36:32 +00:00
Tim Schaub
2593ac116c Merge pull request #7960 from PetroDE/master
Fix memory leak in CanvasImageRenderer
2018-03-12 23:04:18 -06:00
Frédéric Junod
ba17527d29 Merge pull request #7974 from fredj/cleanup
Fix spelling
2018-03-12 16:10:22 +01:00
Frédéric Junod
74b3db9363 Merge pull request #7973 from fredj/rm_setAttributeNS
Remove setAttributeNS function from ol/xml
2018-03-12 16:02:58 +01:00
Frederic Junod
813b72251a Mark optional property with square brackets 2018-03-12 15:58:44 +01:00
Tim Schaub
1de1bda252 Merge pull request #7971 from tschaub/module-types
Use module syntax for type annotations
2018-03-12 08:39:48 -06:00
Tim Schaub
8907339963 Module type for ol/MapBrowserEvent 2018-03-12 08:32:09 -06:00
Tim Schaub
cf80733e41 Module type for ol/Feature 2018-03-12 08:32:09 -06:00
Tim Schaub
5c9aa0ce93 Module type for ol/TileRange 2018-03-12 08:32:09 -06:00
Tim Schaub
a743ec3989 Module types for ol/proj 2018-03-12 08:32:09 -06:00
Tim Schaub
ef70d71636 Module types for ol/geom 2018-03-12 08:32:09 -06:00
Frederic Junod
35158efbf0 Fix spelling 2018-03-12 15:18:58 +01:00
Tim Schaub
41d9a84a8f Merge pull request #7968 from tschaub/types
More types in the right places
2018-03-12 08:11:10 -06:00
Frederic Junod
ac3c114477 Remove setAttributeNS function from ol/xml
And create a const for the `XMLSchema-instance` URI
2018-03-12 09:22:20 +01:00
Frédéric Junod
e8341af803 Merge pull request #7972 from openlayers/greenkeeper/sinon-4.4.3
Update sinon to the latest version 🚀
2018-03-12 09:19:20 +01:00
greenkeeper[bot]
ec95dbd683 chore(package): update sinon to version 4.4.3 2018-03-12 07:30:12 +00:00
Tim Schaub
03a7a6cb08 Move Options to ol/format/WMSGetFeatureInfo 2018-03-11 22:31:46 -06:00
Tim Schaub
7d52a9b8c4 Move Options to ol/format/WKT 2018-03-11 22:30:12 -06:00
Tim Schaub
55e257d6fb Move WriteTransactionOptions to ol/format/WFS 2018-03-11 22:28:19 -06:00
Tim Schaub
ca46c4dd07 Move WriteGetFeatureOptions to ol/format/WFS 2018-03-11 22:26:22 -06:00
Tim Schaub
4c78642ae2 Move Options to ol/format/WFS 2018-03-11 22:23:47 -06:00
Tim Schaub
bb816de768 Move Options to ol/format/GPX 2018-03-11 22:23:18 -06:00
Tim Schaub
2091629922 Move Options to ol/format/GMLBase 2018-03-11 22:15:11 -06:00
Tim Schaub
458383c7d3 Move Options to ol/format/KML 2018-03-11 22:11:36 -06:00
Tim Schaub
2ce44e8fc8 Move Options to ol/format/IGC 2018-03-11 22:09:55 -06:00
Tim Schaub
95e1c6f69a Move Options to ol/format/TopoJSON 2018-03-11 22:07:51 -06:00
Tim Schaub
5d5aa6c96d Move Options to ol/format/Polyline 2018-03-11 22:05:19 -06:00
Tim Schaub
7f6c4ef6cf Move Options to ol/format/MVT 2018-03-11 16:06:32 -06:00
Tim Schaub
a7c5ae1ca3 Move Options to ol/format/EsriJSON 2018-03-11 16:03:30 -06:00
Tim Schaub
a926332113 Move Options to ol/format/GeoJSON 2018-03-11 16:02:41 -06:00
Tim Schaub
8eaee5618e Move WriteOptions to ol/format/Feature 2018-03-11 15:55:48 -06:00
Tim Schaub
4eb6603af7 Move ReadOptions to ol/format/Feature 2018-03-11 15:51:16 -06:00
Tim Schaub
b1725ef1e0 Merge pull request #7966 from tschaub/no-namespace
Remove namespaces from olx.js
2018-03-11 15:10:27 -06:00
Tim Schaub
26269c3743 Remove namespaces from olx.js 2018-03-11 12:47:13 -06:00
Tim Schaub
bb1754b7d3 Merge pull request #7965 from tschaub/types
Redistribute types from externs/olx.js
2018-03-11 12:41:14 -06:00
Tim Schaub
328910049d Move ZoomToExtentOptions to ol/control/ZoomToExtent 2018-03-11 11:34:09 -06:00
Tim Schaub
4c7a07e4b8 Move ZoomSliderOptions to ol/control/ZoomSlider 2018-03-11 11:31:40 -06:00
Tim Schaub
9b4ed8aaf3 Move ZoomOptions to ol/control/Zoom 2018-03-11 11:29:57 -06:00
Tim Schaub
8da0f3b1be Move RotateOptions to ol/control/Rotate 2018-03-11 11:27:49 -06:00
Tim Schaub
464e2e0f0f Move ScaleLineOptions to ol/control/ScaleLine 2018-03-11 11:25:32 -06:00
Tim Schaub
6cebaf2665 Move OverviewMapOptions to ol/control/OverviewMap 2018-03-11 11:21:24 -06:00
Tim Schaub
de9d9ffce1 Throw an error with more detail in publish.js and remove olx.control 2018-03-11 11:17:45 -06:00
Tim Schaub
e059a50131 Move MousePositionOptions to ol/control/MousePosition 2018-03-11 10:52:37 -06:00
Tim Schaub
5dcfa1137d Move FullScreenOptions to ol/control/FullScreen 2018-03-11 10:46:56 -06:00
Tim Schaub
9468fd45ec Move ControlOptions to ol/control/Control 2018-03-11 10:43:58 -06:00
Tim Schaub
cddfd7cb3b Move AttributionOptions to ol/control/Attribution 2018-03-11 10:41:27 -06:00
Tim Schaub
57d135e9f6 Move AnimationOptions to ol/View 2018-03-11 10:37:57 -06:00
Tim Schaub
70ff218a8e Move ProjectionOptions to ol/proj/Projection 2018-03-11 10:34:17 -06:00
Tim Schaub
f306fd0aa0 Move AtPixelOptions to PluggableMap 2018-03-11 10:30:02 -06:00
Tim Schaub
e3409b1f78 Merge pull request #7608 from tschaub/goodbye-olx
Facilitate the removal of externs/olx.js
2018-03-11 10:22:59 -06:00
Tim Schaub
f989982563 Merge pull request #7964 from tschaub/type-fix
Coordinate type typo
2018-03-11 09:19:22 -06:00
Frederic Junod
0ad6c82578 Update xol content 2018-03-11 09:12:14 -06:00
Andreas Hocevar
becce622e5 Update xol script and content 2018-03-11 09:12:14 -06:00
Andreas Hocevar
c4cf75e470 Use let instead of var for exports 2018-03-11 09:12:02 -06:00
Tim Schaub
0ae5ba2904 Script for migrating externs/olx.js 2018-03-11 09:07:04 -06:00
Tim Schaub
a69a1f3ff4 Coordinate type typo 2018-03-11 08:36:54 -06:00
Tim Schaub
70a50e9386 Merge pull request #7961 from tschaub/style-type
Correct type for style
2018-03-10 07:55:22 -07:00
Frédéric Junod
ab1abd9c6d Merge pull request #7963 from openlayers/greenkeeper/url-polyfill-1.0.11
chore(package): update url-polyfill to version 1.0.11
2018-03-10 08:45:35 +01:00
Frédéric Junod
d58d4ed460 Merge pull request #7962 from openlayers/greenkeeper/serve-6.5.2
chore(package): update serve to version 6.5.2
2018-03-10 08:45:19 +01:00
greenkeeper[bot]
8bf903c3c8 chore(package): update url-polyfill to version 1.0.11 2018-03-10 08:39:29 +01:00
greenkeeper[bot]
03ec3fd6c6 chore(package): update serve to version 6.5.2 2018-03-10 08:37:34 +01:00
Frédéric Junod
c55be4de1c Merge pull request #7958 from fredj/types
miscellaneous fixes to the types annotation
2018-03-10 08:26:21 +01:00
Tim Schaub
f70050be12 Correct type for style 2018-03-09 20:50:51 -07:00
Erin Campbell
0fcc986dac Fix memory leak in CanvasImageRenderer when rendering a VectorLayer with renderMode: 'image'.
Added tests to CanvasImageLayerRenderer for this issue.
2018-03-09 13:15:05 -07:00
Andreas Hocevar
0b673ac110 Merge pull request #7959 from openlayers/greenkeeper/babel-plugin-jsdoc-closure-1.3.2
Update babel-plugin-jsdoc-closure to the latest version 🚀
2018-03-09 18:56:24 +01:00
Andreas Hocevar
b17c83e67b Merge pull request #7957 from openlayers/greenkeeper/recast-0.14.5
Update recast to the latest version 🚀
2018-03-09 18:32:54 +01:00
greenkeeper[bot]
5e04b730af chore(package): update babel-plugin-jsdoc-closure to version 1.3.2 2018-03-09 16:46:15 +00:00
Frederic Junod
b6695794d3 Fix bad type annotation 2018-03-09 17:09:15 +01:00
Frederic Junod
2e34421c71 Use Element type instead of Node for an html element 2018-03-09 16:59:58 +01:00
greenkeeper[bot]
a507ce0411 chore(package): update recast to version 0.14.5 2018-03-09 15:50:43 +00:00
Frederic Junod
6b07646129 Remove wrong const annotation 2018-03-09 16:49:49 +01:00
Andreas Hocevar
7ae3ee4c73 Merge pull request #7953 from ahocevar/olx-part-2
Get rid of externs/olx.js and src/ol/typedefs.js typedefs for ol/ and ol/events/
2018-03-09 15:59:51 +01:00
Andreas Hocevar
8eea49c56d Merge pull request #7956 from ahocevar/sort-index
Make sure namespaces are populated after they were created
2018-03-09 15:59:12 +01:00
Andreas Hocevar
a964dd27e9 Make sure namespaces are populated after they were created 2018-03-09 15:48:31 +01:00
Frédéric Junod
77dd0c0842 Merge pull request #7952 from fredj/type_typo
Fix typo in jsdoc type
2018-03-09 08:27:37 +01:00
Andreas Hocevar
395b26832a Get rid of olx.js and typedef.js typedefs for ol/events 2018-03-08 18:57:24 +01:00
Andreas Hocevar
95d6251dbb Get rid of olx.js and typedef.js typedefs for ol 2018-03-08 18:57:24 +01:00
Frederic Junod
29f916a4f7 Fix typo in jsdoc type 2018-03-08 17:15:48 +01:00
Frédéric Junod
8f0ffe2043 Merge pull request #7948 from fredj/typecheck
Better type definition
2018-03-08 09:21:45 +01:00
Frédéric Junod
523bdf9819 Merge pull request #7950 from openlayers/greenkeeper/mocha-5.0.4
Update mocha to the latest version 🚀
2018-03-08 08:33:27 +01:00
Frederic Junod
735798a88c Add some typecast for the closure-compiler 2018-03-08 08:29:20 +01:00
greenkeeper[bot]
368ba765ec chore(package): update mocha to version 5.0.4 2018-03-07 21:43:15 +00:00
Frederic Junod
3435ac575e Better type definition
Fixes the `Invalid type(s) for operator IN.` warnings from the closure compiler.
2018-03-07 16:45:46 +01:00
Andreas Hocevar
21bf83537d Merge pull request #7946 from ahocevar/olx-part-1
New typedef syntax and module path types for some modules
2018-03-07 15:26:03 +01:00
Andreas Hocevar
9e105b072d New typedef syntax for sphere 2018-03-07 13:56:51 +01:00
Andreas Hocevar
07cd7ba325 New typedef syntax and constructor options for Interaction 2018-03-07 13:56:17 +01:00
Andreas Hocevar
9ee79aa6b7 New typedef syntax and constructor options for PluggableMap 2018-03-07 13:56:03 +01:00
Andreas Hocevar
a63733107f New typedef syntax and constructor options for Graticule 2018-03-07 13:55:43 +01:00
Andreas Hocevar
253e2fd2d8 New typedef syntax and constructor options for Geolocation 2018-03-07 13:55:32 +01:00
Andreas Hocevar
f680c9cfa5 New typedef syntax and constructor options for Collection 2018-03-07 13:55:20 +01:00
Andreas Hocevar
a05c4b0159 New typedef syntax for TransformFunction 2018-03-07 13:54:43 +01:00
Andreas Hocevar
d324398b5b New typedef syntax for Size 2018-03-07 13:53:37 +01:00
Andreas Hocevar
9ca2e4d01f New typedef syntax for ProjectionLike 2018-03-07 13:52:57 +01:00
Andreas Hocevar
b6781ac186 New typedef syntax for Pixel 2018-03-07 13:52:08 +01:00
Andreas Hocevar
2ae049dfbc New typedef syntax for PostRenderFunction 2018-03-07 13:49:25 +01:00
Andreas Hocevar
1e7a9e9231 New typedef syntax for Transform 2018-03-07 13:48:28 +01:00
Andreas Hocevar
938e475db1 Move MapOptionsInternal to PluggableMap 2018-03-07 13:46:36 +01:00
Andreas Hocevar
7decf90b6a Move GraticuleLabelDataType to Graticule 2018-03-07 13:45:53 +01:00
Andreas Hocevar
41cf1e93f4 New typedef syntax for Event 2018-03-07 13:44:40 +01:00
Andreas Hocevar
258b6e1d56 New typedef syntax for EventsKey 2018-03-07 13:44:15 +01:00
Andreas Hocevar
5ca31e094e New typedef syntax for Coordinate 2018-03-07 13:43:31 +01:00
Andreas Hocevar
3d5217f7e0 Merge pull request #7945 from openlayers/greenkeeper/babel-plugin-jsdoc-closure-1.3.1
Update babel-plugin-jsdoc-closure to the latest version 🚀
2018-03-07 13:19:13 +01:00
greenkeeper[bot]
c370f4d09e chore(package): update babel-plugin-jsdoc-closure to version 1.3.1 2018-03-07 11:56:15 +00:00
Andreas Hocevar
c61a2b0d14 Merge pull request #7944 from ahocevar/point-wrap
Make wrap work with points in the vector-labels example
2018-03-07 12:23:15 +01:00
Frédéric Junod
91cca684af Merge pull request #7943 from openlayers/greenkeeper/mocha-5.0.3
Update mocha to the latest version 🚀
2018-03-07 10:52:21 +01:00
Andreas Hocevar
18a668318d Make wrap work with points 2018-03-07 10:14:44 +01:00
greenkeeper[bot]
e92f9cca45 chore(package): update mocha to version 5.0.3 2018-03-07 09:09:55 +00:00
Andreas Hocevar
8403f7d951 Merge pull request #7940 from openlayers/greenkeeper/babel-plugin-jsdoc-closure-1.3.0
Update babel-plugin-jsdoc-closure to the latest version 🚀
2018-03-06 16:15:33 +01:00
greenkeeper[bot]
83c579b38c chore(package): update babel-plugin-jsdoc-closure to version 1.3.0 2018-03-06 12:34:03 +00:00
Frédéric Junod
41348968e9 Merge pull request #7938 from openlayers/greenkeeper/mocha-5.0.2
Update mocha to the latest version 🚀
2018-03-06 08:36:44 +01:00
greenkeeper[bot]
32e875cdb7 chore(package): update mocha to version 5.0.2 2018-03-06 04:55:42 +00:00
Frédéric Junod
37729a40bf Merge pull request #7933 from fredj/indent
Better code indentation
2018-03-05 16:32:40 +01:00
Frederic Junod
500a017faf Better code indentation 2018-03-05 15:36:40 +01:00
Frédéric Junod
95d94052a7 Merge pull request #7930 from openlayers/on_to_listen
Use listen function instead of on
2018-03-05 15:26:48 +01:00
Frédéric Junod
a0b5cd548a Merge pull request #7929 from openlayers/cleanup_dev_dep
Remove unused devDependencies
2018-03-05 11:07:12 +01:00
Frederic Junod
235fc59c72 Use listen function instead of on
In #7614, the `opt_this` argument was removed from `Observable#on`, `#once` and `#un` but internal code was not adapted.
2018-03-05 10:01:12 +01:00
Frederic Junod
247e9eff96 Remove unused devDependencies 2018-03-05 08:30:28 +01:00
Tim Schaub
d29fd63504 Merge pull request #7927 from tschaub/unused
Remove unused deps, unused tasks, and outdated info
2018-03-04 17:00:59 -07:00
Andreas Hocevar
5225df26f1 Merge pull request #7923 from ahocevar/fix-pointer-static
Fix exports and use of constants
2018-03-04 15:03:17 +01:00
Tim Schaub
bf30802620 Merge pull request #7925 from openlayers/greenkeeper/eslint-4.18.2
Update eslint to the latest version 🚀
2018-03-03 17:33:06 -07:00
Tim Schaub
449568802a Remove unused deps, unused tasks, and outdated info 2018-03-03 13:25:46 -07:00
Tim Schaub
b3d915629e Merge pull request #7914 from gberaudo/some_easy_window_cleanups
Some easy window cleanups
2018-03-03 13:04:30 -07:00
Tim Schaub
d0a8ae718e Merge pull request #7915 from gberaudo/untie_featureloader_from_xml_code
Untie feature loader and XML code
2018-03-03 13:03:28 -07:00
greenkeeper[bot]
c2fc30788f chore(package): update eslint to version 4.18.2 2018-03-02 22:36:41 +00:00
Andreas Hocevar
d818817117 Fix exports and use of constants 2018-03-02 17:26:17 +01:00
Andreas Hocevar
2f1dab4631 Merge pull request #7921 from openlayers/greenkeeper/clean-css-cli-4.1.11
Update clean-css-cli to the latest version 🚀
2018-03-02 16:57:46 +01:00
greenkeeper[bot]
6a1839cb9a chore(package): update clean-css-cli to version 4.1.11 2018-03-02 15:09:57 +00:00
Frédéric Junod
90daf17ed6 Merge pull request #7918 from fredj/mv_nullFunction
Move the nullFunction to ol/functions
2018-03-01 14:57:13 +01:00
Frederic Junod
b50a47114e Move the nullFunction to ol/functions
And rename it to `UNDEFINED`.
2018-03-01 14:41:18 +01:00
Andreas Hocevar
a30d9a41b8 Merge pull request #7916 from openlayers/greenkeeper/html-webpack-plugin-3.0.1
chore(package): update html-webpack-plugin to version 3.0.1
2018-03-01 10:06:53 +01:00
Guillaume Beraudo
cb539bce98 Untie feature loader and XML code 2018-03-01 09:14:45 +01:00
Frédéric Junod
71a609d8d5 Merge pull request #7910 from fredj/indent
Better code indentation
2018-03-01 08:44:57 +01:00
greenkeeper[bot]
bca2667a18 chore(package): update html-webpack-plugin to version 3.0.1
Closes #7912
2018-03-01 06:18:12 +00:00
Guillaume Beraudo
6280941669 Remove window prefix from event listener functions 2018-02-28 23:28:38 +01:00
Guillaume Beraudo
f9a2780546 Do not assume window is defined
It is notably not the case in web workers.
2018-02-28 23:24:53 +01:00
Guillaume Beraudo
cfa9718df9 Remove window prefix
The prefix is unnecessary and prevent usage in web workers.
2018-02-28 23:22:18 +01:00
Frederic Junod
73b15ef8d7 Better code indentation 2018-02-28 16:46:45 +01:00
Andreas Hocevar
cf0c42ae7d Merge pull request #7904 from ahocevar/focus-scroll
Add focus condition, e.g. for wheel zoom
2018-02-28 08:21:37 +01:00
Tim Schaub
85d4642450 Merge pull request #7905 from openlayers/greenkeeper/karma-webpack-2.0.13
Update karma-webpack to the latest version 🚀
2018-02-27 18:20:43 -07:00
greenkeeper[bot]
86fb3e4664 chore(package): update karma-webpack to version 2.0.13 2018-02-27 20:51:35 +00:00
Andreas Hocevar
2d67c15ea9 Add focus condition, e.g. for wheel zoom 2018-02-27 21:39:02 +01:00
Kevin Schmidt
791f8b9917 Don't assume fill for canvas polygon hit detection.
This brings canvas polygon hit detection in parity with WebGL, where an
unfilled polygon will not be hit detected hovering inside the polygon.

Fixes #4846
2018-02-27 13:12:46 -07:00
Andreas Hocevar
78ea426764 Merge pull request #7903 from openlayers/greenkeeper/marked-0.3.17
Update marked to the latest version 🚀
2018-02-27 14:54:33 +01:00
greenkeeper[bot]
5f14cd0b05 chore(package): update marked to version 0.3.17 2018-02-27 13:10:03 +00:00
Andreas Hocevar
b308635b67 Merge pull request #7902 from ahocevar/font-detect-symbol
Add a unicode symbol for symbol font detection
2018-02-27 13:39:21 +01:00
Andreas Hocevar
445c49c1eb Add a unicode symbol for symbol font detection 2018-02-27 13:22:35 +01:00
Andreas Hocevar
795ef70bf9 Merge pull request #7901 from openlayers/greenkeeper/karma-webpack-2.0.12
Update karma-webpack to the latest version 🚀
2018-02-27 09:51:05 +01:00
greenkeeper[bot]
eccf0e398f chore(package): update karma-webpack to version 2.0.12 2018-02-26 23:23:21 +00:00
Tim Schaub
32875cf7e9 Merge pull request #7899 from tschaub/nomnom
Use nomnom@1.8.1
2018-02-26 09:43:26 -08:00
Tim Schaub
242cb70550 Use nomnom@1.8.1 2018-02-26 10:01:13 -07:00
Frédéric Junod
5c7fff42de Merge pull request #7898 from openlayers/greenkeeper/karma-webpack-2.0.11
chore(package): update karma-webpack to version 2.0.11
2018-02-26 12:30:46 +01:00
Frédéric Junod
3c33d0c7d1 Merge pull request #7897 from fredj/cleanup
Better variables scoping
2018-02-26 10:11:13 +01:00
Frederic Junod
8df89356f1 Better variables scoping 2018-02-26 08:51:33 +01:00
greenkeeper[bot]
914a58d716 chore(package): update karma-webpack to version 2.0.11
Closes #7896
2018-02-25 23:28:58 +00:00
Tim Schaub
dccb620d66 Merge pull request #7894 from tschaub/named-exports
More named exports, fewer static members
2018-02-25 13:33:02 -08:00
Tim Schaub
1404e9d61d Remove remaining static members from Interaction 2018-02-25 12:46:57 -07:00
Tim Schaub
244fbbbb8d Remove some of the static members from Interaction 2018-02-25 10:17:21 -07:00
Tim Schaub
3f944ef76e Remove static members from Modify 2018-02-25 09:18:44 -07:00
Tim Schaub
78e0cb294c Remove static members from Pointer 2018-02-25 09:10:51 -07:00
Tim Schaub
064c5644e7 Remove static members from Select 2018-02-25 09:06:57 -07:00
Tim Schaub
dfefe7d465 Remove static members from Snap 2018-02-25 09:03:46 -07:00
Tim Schaub
e0a99c43dc Remove static members from Translate 2018-02-25 09:03:27 -07:00
Tim Schaub
4e6cf58de1 Remove static members from BaseObject 2018-02-25 08:49:28 -07:00
Tim Schaub
ef92649017 Remove static members from Units 2018-02-25 08:43:07 -07:00
Tim Schaub
c5bf6f1c6f Remove static members from BingMaps 2018-02-25 08:43:06 -07:00
Tim Schaub
2188c5fa91 Remove static members from ImageSource 2018-02-25 08:43:01 -07:00
Tim Schaub
12eccdc52d Remove static members from ImageMapGuide 2018-02-25 08:24:24 -07:00
Tim Schaub
42cf5f8511 Named exports from ol/source/OSM 2018-02-25 08:23:05 -07:00
Tim Schaub
33d91f1b89 Remove static members from Raster 2018-02-25 08:19:05 -07:00
Tim Schaub
7ab83f2722 Remove static members from Stamen 2018-02-25 08:17:07 -07:00
Tim Schaub
e3f15e1d24 Named exports from ol/source/Tile 2018-02-25 08:13:36 -07:00
Tim Schaub
57d2e7721d Remove static member from TileImage 2018-02-25 08:13:36 -07:00
Tim Schaub
9b75dc949f Named exports from ol/source/Vector 2018-02-25 08:13:31 -07:00
Tim Schaub
00f891c3f9 Named exports from ol/source/WMTS 2018-02-25 08:06:50 -07:00
Tim Schaub
d8934d8593 Merge pull request #7881 from fredj/cleanup
Better variables scoping
2018-02-25 07:00:57 -08:00
Tim Schaub
2ded70b38a Merge pull request #7893 from openlayers/greenkeeper/sinon-4.4.2
Update sinon to the latest version 🚀
2018-02-25 06:51:04 -08:00
Tim Schaub
8d9755dce3 Merge pull request #7891 from openlayers/greenkeeper/recast-0.14.4
chore(package): update recast to version 0.14.4
2018-02-25 06:50:31 -08:00
greenkeeper[bot]
209e392276 chore(package): update sinon to version 4.4.2 2018-02-25 13:09:47 +00:00
Tim Schaub
cc02a4bb9f Merge pull request #7888 from bjornharrtell/pointer-rework
Rework away static members from pointer related classes
2018-02-25 03:41:01 -08:00
greenkeeper[bot]
4e2c9e04d1 chore(package): update recast to version 0.14.4
Closes #7889
2018-02-24 20:23:54 +00:00
Björn Harrtell
6d1e8cb38b Rework away static members from pointer related classes 2018-02-24 16:24:53 +01:00
Tim Schaub
3cbdb208c1 Merge pull request #7886 from openlayers/greenkeeper/sinon-4.4.1
Update sinon to the latest version 🚀
2018-02-24 06:13:25 -08:00
greenkeeper[bot]
49066a6d86 chore(package): update sinon to version 4.4.1 2018-02-24 09:04:25 +00:00
Tim Schaub
a32d05e432 Merge pull request #7880 from tschaub/named-exports
Named exports from ol/style/Style
2018-02-23 09:04:03 -08:00
Frédéric Junod
bfae19c7e1 Merge pull request #7882 from openlayers/greenkeeper/sinon-4.4.0
Update sinon to the latest version 🚀
2018-02-23 11:28:49 +01:00
greenkeeper[bot]
f032329c7f chore(package): update sinon to version 4.4.0 2018-02-23 10:13:48 +00:00
Frederic Junod
c50bc51534 Better variables scoping 2018-02-23 10:14:42 +01:00
Tim Schaub
580c2c6545 Named exports from ol/style/Style 2018-02-22 23:34:52 -08:00
Frédéric Junod
18ff892012 Merge pull request #7872 from fredj/named_export
More named export
2018-02-23 08:23:33 +01:00
Tim Schaub
ca4dfb9ec3 Merge pull request #7876 from openlayers/greenkeeper/recast-0.14.2
Update recast to the latest version 🚀
2018-02-22 22:49:52 -08:00
Tim Schaub
0ab25d511a Merge pull request #7877 from openlayers/greenkeeper/webpack-merge-4.1.2
Update webpack-merge to the latest version 🚀
2018-02-22 22:48:17 -08:00
Tim Schaub
f3047d1305 Merge pull request #7874 from tschaub/named-exports
Cleaning up exports
2018-02-22 22:43:42 -08:00
greenkeeper[bot]
2b56b72a0e chore(package): update webpack-merge to version 4.1.2 2018-02-22 21:18:37 +00:00
greenkeeper[bot]
3524146d73 chore(package): update recast to version 0.14.2 2018-02-22 17:36:15 +00:00
Frederic Junod
e3deae940d Named exports from ol/style/IconImage 2018-02-22 08:19:23 +01:00
Tim Schaub
7a0cbf0cb0 Remove static members from extent interaction 2018-02-21 15:56:21 -08:00
Tim Schaub
f81f3e2e9f Remove static members from Draw interaction 2018-02-21 15:55:22 -08:00
Tim Schaub
afda1dc996 Remove static members from DragBox 2018-02-21 15:46:48 -08:00
Frederic Junod
fa1fcc79b6 Named exports from ol/interaction/Pointer 2018-02-21 16:52:00 +01:00
Frédéric Junod
190449e816 Merge pull request #7871 from fredj/optim
Memory optimization
2018-02-21 16:35:27 +01:00
Frédéric Junod
4b99060c26 Merge pull request #7870 from fredj/use_webgl_getContext
Use exported function from ol/webgl
2018-02-21 16:35:02 +01:00
Frédéric Junod
343e392eae Merge pull request #7868 from fredj/named_export
Named export
2018-02-21 16:34:02 +01:00
Frederic Junod
17a799059c Move the temporary array to the module level
No need to create a new variable for each instance.
2018-02-21 15:25:47 +01:00
Frederic Junod
ab28c48338 Only compute the viewState focus when it's needed 2018-02-21 14:42:45 +01:00
Frederic Junod
d9a6121058 Don't call view.getState in DragPan interaction
Reduce garbage generation from the function response (Object)
2018-02-21 14:42:45 +01:00
Frederic Junod
6f919032a4 Use exported function from ol/webgl 2018-02-21 14:25:59 +01:00
Frederic Junod
aaf3999e0d Rename tileCoordCreateOrUpdate to createOrUpdateTileCoord 2018-02-21 09:23:51 +01:00
Frederic Junod
a92c08bf26 Named exports from ol/TileRange 2018-02-21 09:22:21 +01:00
Frederic Junod
2132229d68 Named exports from ol/render/canvas/ReplayGroup 2018-02-21 09:15:53 +01:00
Frederic Junod
16b732472f Named exports from ol/render/canvas/TextReplay 2018-02-21 09:13:33 +01:00
Frederic Junod
f1d32e71cd Named exports from ol/View 2018-02-21 09:05:40 +01:00
Frederic Junod
2fd75566fb Named exports from ol/Observable 2018-02-21 09:01:08 +01:00
Frédéric Junod
e2854b3176 Merge pull request #7865 from openlayers/greenkeeper/marked-0.3.16
Update marked to the latest version 🚀
2018-02-21 08:30:02 +01:00
Frédéric Junod
c77fdd4d17 Merge pull request #7861 from fredj/named_export
Named exports from ol/structs/PriorityQueue
2018-02-21 08:28:06 +01:00
Tim Schaub
0dcbccd8cc Merge pull request #7866 from openlayers/greenkeeper/eslint-4.18.1
Update eslint to the latest version 🚀
2018-02-20 21:04:36 -07:00
Tim Schaub
94dace4afd Merge pull request #7867 from openlayers/greenkeeper/recast-0.14.1
Update recast to the latest version 🚀
2018-02-20 20:56:51 -07:00
greenkeeper[bot]
2e6bf7d87b chore(package): update recast to version 0.14.1 2018-02-21 01:41:08 +00:00
greenkeeper[bot]
28a2f6a468 chore(package): update eslint to version 4.18.1 2018-02-20 23:18:04 +00:00
greenkeeper[bot]
96d8e7f6fa chore(package): update marked to version 0.3.16 2018-02-20 20:58:19 +00:00
Frederic Junod
57a7750924 Named exports from ol/structs/PriorityQueue 2018-02-20 16:13:16 +01:00
Frédéric Junod
711c81ab8c Merge pull request #7860 from openlayers/rm_export_webgl
Don't export private constant from ol/webgl
2018-02-20 14:49:36 +01:00
Tim Schaub
68253bc9a1 Merge pull request #7855 from tschaub/named-exports
More named exports
2018-02-20 06:41:23 -07:00
Frederic Junod
aa782588e9 Don't export private constant from ol/webgl 2018-02-20 13:58:34 +01:00
Tim Schaub
89518bd6e4 Merge pull request #7858 from openlayers/greenkeeper/recast-0.14.0
Update recast to the latest version 🚀
2018-02-19 22:19:03 -07:00
greenkeeper[bot]
44a919dc76 chore(package): update recast to version 0.14.0 2018-02-20 01:17:33 +00:00
Tim Schaub
8c20bf5d7d Make DragAndDropEvent private to module 2018-02-19 14:01:03 -07:00
Tim Schaub
1be61fdb09 Only export handleEvent where it is used by other interactions 2018-02-19 14:00:59 -07:00
Tim Schaub
bca8938a02 Remove static function from ImageTile 2018-02-19 10:07:14 -07:00
Tim Schaub
fba4d82bdb Named exports from ol/geom/SimpleGeometry 2018-02-19 10:05:30 -07:00
Tim Schaub
2abc524147 Named exports from ol/format/xsd 2018-02-19 09:58:50 -07:00
Tim Schaub
7b21b41151 Named export from ol/format/GMLBase 2018-02-19 09:26:16 -07:00
Tim Schaub
67e5ba6afa Merge pull request #7851 from tschaub/named-exports
Replacing static functions with named exports
2018-02-19 08:42:52 -07:00
Frédéric Junod
7ef8080bdc Merge pull request #7852 from nicholas-l/renameExtent
Rename extent
2018-02-19 13:42:20 +01:00
Nicholas L
7097b530f3 Rename extent 2018-02-19 20:33:03 +13:00
Tim Schaub
a480b0065b Named exports from ol/events/Event 2018-02-18 23:08:04 -07:00
Tim Schaub
4106ed8776 Export render from ol/control/ZoomSlider 2018-02-18 23:06:56 -07:00
Tim Schaub
e3f199fe37 Export render from ol/control/ScaleLine 2018-02-18 23:06:51 -07:00
Tim Schaub
8e69393ddd Export render from ol/control/Rotate 2018-02-18 22:46:36 -07:00
Tim Schaub
fc0af19b59 Export render from ol/control/OverviewMap 2018-02-18 22:46:06 -07:00
Tim Schaub
6af726e72b Export render from ol/control/MousePosition 2018-02-18 22:40:00 -07:00
Tim Schaub
2d46a15a3d Remove static methods from FullScreen 2018-02-18 22:38:05 -07:00
Tim Schaub
971d2d6f07 Export render from ol/control/Attribution 2018-02-18 22:32:43 -07:00
Tim Schaub
9aae8aeb26 Export CollectionEvent from ol/Collection 2018-02-18 22:29:50 -07:00
Tim Schaub
4e0eaae9da Merge pull request #7840 from raiyni/render_webgl
More export renaming
2018-02-18 21:46:54 -07:00
Tim Schaub
d53c1c9ff9 Merge pull request #7850 from openlayers/greenkeeper/marked-0.3.15
Update marked to the latest version 🚀
2018-02-18 21:45:25 -07:00
greenkeeper[bot]
5db2548394 chore(package): update marked to version 0.3.15 2018-02-19 04:27:55 +00:00
raiyni
52e4222c4d assign object properties in brackets 2018-02-18 16:50:09 -06:00
Tim Schaub
db736de3f1 Merge pull request #7849 from openlayers/greenkeeper/recast-0.13.2
Update recast to the latest version 🚀
2018-02-17 23:18:21 -07:00
greenkeeper[bot]
01ce7289c9 chore(package): update recast to version 0.13.2 2018-02-18 00:31:03 +00:00
Frédéric Junod
c39976d2bb Merge pull request #7848 from openlayers/greenkeeper/nomnom-2.0.0
Update nomnom to the latest version 🚀
2018-02-17 06:59:02 +01:00
Frédéric Junod
51b88ab1a5 Merge pull request #7847 from openlayers/greenkeeper/eslint-4.18.0
Update eslint to the latest version 🚀
2018-02-17 06:58:42 +01:00
greenkeeper[bot]
1a8734bb45 chore(package): update eslint to version 4.18.0 2018-02-17 06:47:20 +01:00
greenkeeper[bot]
cef67c4d9b chore(package): update nomnom to version 2.0.0 2018-02-17 03:02:09 +00:00
Frédéric Junod
e97746217b Merge pull request #7843 from fredj/indent
Better code indentation
2018-02-16 14:59:09 +01:00
Frédéric Junod
f2b23a101d Merge pull request #7845 from openlayers/greenkeeper/marked-0.3.14
chore(package): update marked to version 0.3.14
2018-02-16 14:58:42 +01:00
greenkeeper[bot]
548c247ffc chore(package): update marked to version 0.3.14
Closes #7844
2018-02-16 13:41:48 +00:00
Frederic Junod
4cad77089a Better code indentation 2018-02-16 14:34:00 +01:00
Andreas Hocevar
7747f4f40d Merge pull request #7842 from ahocevar/labelcache-adjust-size
Allow setting the label cache size
2018-02-16 12:01:48 +01:00
Andreas Hocevar
fff957a199 Allow setting the label cache size 2018-02-16 11:36:58 +01:00
Andreas Hocevar
064c25f144 Merge pull request #7841 from openlayers/greenkeeper/babel-plugin-jsdoc-closure-1.2.0
Greenkeeper/babel plugin jsdoc closure 1.2.0
2018-02-16 10:10:58 +01:00
Andreas Hocevar
a961b07c65 Fix typedefs 2018-02-16 09:44:54 +01:00
greenkeeper[bot]
e772633d0a chore(package): update babel-plugin-jsdoc-closure to version 1.2.0
Closes #7837
2018-02-16 07:52:33 +00:00
raiyni
b5b3e256f8 ol/render/replay export 2018-02-15 22:54:02 -06:00
raiyni
c715570f87 ol/render/webgl export 2018-02-15 22:35:59 -06:00
raiyni
1674eba2cd ol/webgl exports 2018-02-15 21:39:53 -06:00
Marc Jansen
3d4883f332 Merge pull request #7791 from marcjansen/tilecoord-refactor
Named exports from ol/tilecoord
2018-02-15 22:01:43 +01:00
Marc Jansen
d26d5a327e Merge pull request #7835 from marcjansen/css-collapsed-const
Add and use a constant for the collapsed CSS class
2018-02-15 22:01:11 +01:00
Marc Jansen
358a90b821 Merge pull request #7834 from marcjansen/transform-transformation
Named exports from ol/transform
2018-02-15 22:00:42 +01:00
Marc Jansen
0aac821633 Add and use a constant for the collapsed CSS class 2018-02-15 18:31:13 +01:00
Marc Jansen
685b46f1e3 Named exports from tilecoord 2018-02-15 18:04:51 +01:00
Marc Jansen
183b8e29c4 Named exports from ol/transform 2018-02-15 17:55:54 +01:00
Frédéric Junod
a01b38bc36 Merge pull request #7831 from fredj/maxTilesLoading
Add new maxTilesLoading option to ol/PluggableMap
2018-02-15 15:57:20 +01:00
Frédéric Junod
8161cd7f1c Merge pull request #7833 from fredj/f_webgl_named
Fix createEmptyTexture function call in ol/webgl/Context
2018-02-15 15:18:38 +01:00
Frederic Junod
ab4b82ba57 Fix createEmptyTexture function call in ol/webgl/Context 2018-02-15 14:18:51 +01:00
Frédéric Junod
328fbc24b4 Merge pull request #7832 from fgravin/webgl
Webgl Layer and Context named exports
2018-02-15 14:07:18 +01:00
Frederic Junod
017211395a Add new maxTilesLoading option to ol/PluggableMap
To be able to set the maximum number of currently loading tiles.
2018-02-15 13:53:18 +01:00
Florent gravin
8eef99ad04 Webgl Layer and Context named exports 2018-02-15 13:38:03 +01:00
Frédéric Junod
0ec4f30aa9 Merge pull request #7826 from fredj/indent
Better code indentation and modules renaming
2018-02-15 09:13:22 +01:00
Frederic Junod
a8f4348add Fix parens grouping in typecasts 2018-02-15 08:44:35 +01:00
Frederic Junod
4744849b76 Rename _ol_layer_VectorRenderType_ to VectorRenderType 2018-02-15 08:29:12 +01:00
Frederic Junod
26e11e9b3f Rename _ol_layer_VectorTileRenderType_ to VectorTileRenderType 2018-02-15 08:29:12 +01:00
Frederic Junod
8076a8313b Rename _ol_layer_TileProperty_ to TileProperty 2018-02-15 08:29:12 +01:00
Frederic Junod
577816ca4a Better code indentation 2018-02-15 08:29:12 +01:00
Tim Schaub
219413f324 Merge pull request #7828 from bjornharrtell/refactor-constraints
Refactor constraints static methods to module functions
2018-02-14 23:01:22 -07:00
Tim Schaub
dfdc7e0c95 Merge pull request #7827 from tschaub/named-exports
Named exports from ol/render/canvas
2018-02-14 22:52:32 -07:00
Björn Harrtell
208ca098f2 Refactor constraints static methods to module functions 2018-02-14 19:00:23 +01:00
Tim Schaub
0948d4002f Named exports from ol/render/canvas 2018-02-14 09:43:20 -07:00
Frédéric Junod
18fa8ddc58 Merge pull request #7823 from fredj/f7801
Replace static members with named exports
2018-02-14 13:05:36 +01:00
Tim Schaub
55dbbde37e Merge pull request #7822 from openlayers/greenkeeper/mocha-5.0.1
Update mocha to the latest version 🚀
2018-02-14 04:14:25 -07:00
Tim Schaub
d2c18a505a Merge pull request #7820 from raiyni/geom
ol/geom/flat/* exports
2018-02-14 04:07:09 -07:00
Frederic Junod
48bb187075 Add named export for WFS.writeFilter function 2018-02-14 11:12:56 +01:00
Frederic Junod
308dc412aa Don't store private constants into ol/format/WFS 2018-02-14 11:12:56 +01:00
Frederic Junod
1953d41d0d Named exports from ol/format/XLink 2018-02-14 11:12:56 +01:00
Frederic Junod
4f358f018b Add named exports for sortByZIndex function 2018-02-14 11:12:56 +01:00
Frederic Junod
4657003811 Add named exports for createStyleFunction function 2018-02-14 11:12:56 +01:00
Frederic Junod
ac32311894 Add named exports for visibleAtResolution function 2018-02-14 11:12:56 +01:00
Frederic Junod
57d35e188c Don't store private constants into CanvasVectorTileLayerRenderer 2018-02-14 11:12:56 +01:00
Frédéric Junod
25a7b19902 Merge pull request #7824 from fredj/indent
Fix code indentation
2018-02-14 11:09:20 +01:00
Frederic Junod
096f53e716 Fix code indentation 2018-02-14 11:01:17 +01:00
greenkeeper[bot]
d62ae94bb8 chore(package): update mocha to version 5.0.1 2018-02-14 02:07:47 +00:00
raiyni
378b73150a update test descriptions to match export paths 2018-02-13 09:42:55 -06:00
raiyni
b2d920bbf1 ol/geom/flat/transform export 2018-02-13 09:22:00 -06:00
raiyni
4d27a9eb0e ol/geom/flat/intersectsextent 2018-02-13 09:15:07 -06:00
raiyni
abf191289c ol/geom/flat/interpolate export 2018-02-13 09:05:12 -06:00
raiyni
6573b308b6 ol/geom/flat/orient export 2018-02-13 08:57:35 -06:00
raiyni
9fc09db89c ol/geom/flat/closest export 2018-02-13 08:44:09 -06:00
Frédéric Junod
65d898c4fe Merge pull request #7821 from fredj/memory
Add new canvas instruction array in ol/render/canvas/Instruction
2018-02-13 15:41:10 +01:00
raiyni
4575569238 ol/geom/flat/interiorpoint export 2018-02-13 08:11:05 -06:00
Frederic Junod
95dff19070 Add new canvas instruction array in ol/render/canvas/Instruction
Don't re-create the arrays on every replay group
2018-02-13 08:31:44 +01:00
raiyni
837490b4a4 ol/geom/flat/simplify export 2018-02-13 00:08:20 -06:00
raiyni
78b418ba9d ol/geom/flat/straightchunk export 2018-02-12 23:42:11 -06:00
raiyni
2550ab1691 ol/geom/flat/textpath export 2018-02-12 23:34:21 -06:00
raiyni
05a648d4f3 ol/geom/flat/length export 2018-02-12 23:27:38 -06:00
raiyni
fb548b1b45 ol/geom/flat/deflate exports 2018-02-12 23:18:53 -06:00
raiyni
fd78aa9798 ol/geom/flate/inflate exports 2018-02-12 23:06:02 -06:00
Tim Schaub
ba460554a1 Merge pull request #7817 from tschaub/unstatic-private
Remove more private static members
2018-02-12 07:40:06 -07:00
Tim Schaub
e35e4e65ed Remove private static members from View 2018-02-12 07:12:02 -07:00
Tim Schaub
56815914ec Remove private static members from TileGrid 2018-02-12 07:12:02 -07:00
Tim Schaub
2cf7dbc4de Remove private static members from Text style 2018-02-12 07:12:02 -07:00
Tim Schaub
f60f32effd Remove private static members from Style 2018-02-12 07:12:02 -07:00
Tim Schaub
f95fe4caab Remove private static members from Zoomify source 2018-02-12 07:12:02 -07:00
Tim Schaub
564315a690 Remove private static members from TileUTFGrid source 2018-02-12 07:12:02 -07:00
Tim Schaub
ed13e8b135 Remove private static members from TileDebug source 2018-02-12 07:12:02 -07:00
Tim Schaub
bb530b8ccd Remove private static members from Raster source 2018-02-12 07:12:02 -07:00
Tim Schaub
f91ecab8ed Remove private static members from ImageWMS 2018-02-12 07:12:02 -07:00
Tim Schaub
b05030b364 Remove private static members from Image 2018-02-12 07:12:02 -07:00
Tim Schaub
a237f203d6 Remove private static members from Object 2018-02-12 07:12:02 -07:00
Tim Schaub
c4c46e0121 Remove private static members from Translate interaction 2018-02-12 07:12:02 -07:00
Tim Schaub
1c63234508 Remove private static members from Snap interaction 2018-02-12 07:12:02 -07:00
Tim Schaub
37c446fc4e Remove private static members from Select interaction 2018-02-12 07:12:02 -07:00
Tim Schaub
1f65796731 Remove private static members from PinchZoom interaction 2018-02-12 07:12:02 -07:00
Tim Schaub
b1ec76826b Remove private static members from PinchRotate interaction 2018-02-12 07:12:02 -07:00
Tim Schaub
e8aae60066 Remove private static members from MouseWheelZoom interaction 2018-02-12 07:11:56 -07:00
Tim Schaub
a7e234658b Remove private static members from Modify interaction 2018-02-12 06:22:15 -07:00
Tim Schaub
87fd0614ad Remove private static members from Extent interaction 2018-02-12 06:19:05 -07:00
Tim Schaub
380abd2be2 Remove private static members from Draw interaction 2018-02-12 06:15:37 -07:00
Tim Schaub
034349253f Remove private static members from DragRotateAndZoom interaction 2018-02-12 06:12:01 -07:00
Tim Schaub
14ec92a814 Remove private static members from DragRotate interaction 2018-02-12 06:10:25 -07:00
Tim Schaub
230da71f08 Remove private static members from DragPan interaction 2018-02-12 06:08:55 -07:00
Tim Schaub
249001241c Remove private static members from DragBox interaction 2018-02-12 06:07:27 -07:00
Tim Schaub
4edc1fec30 Remove private static members from DragAndDrop interaction 2018-02-12 06:07:05 -07:00
Tim Schaub
881caec464 Merge pull request #7814 from tschaub/unstatic-private
Remove more private static members
2018-02-12 05:55:53 -07:00
Tim Schaub
2316d02f9f Remove private static members from WMTSCapabilities format 2018-02-12 05:50:26 -07:00
Tim Schaub
d4a6dc6ec6 Remove private static members from WMSCapabilities format 2018-02-12 05:40:50 -07:00
Frédéric Junod
71426f6416 Merge pull request #7816 from openlayers/optim
Use toString instead of asString in asColorLike
2018-02-12 10:00:10 +01:00
Frederic Junod
17455c2529 Use toString instead of asString in asColorLike
To avoid the double `typeof color === 'string'` check
2018-02-12 09:10:04 +01:00
Frédéric Junod
951aa927ee Merge pull request #7811 from fredj/rm_ol.FeatureStyleFunction
Remove ol.FeatureStyleFunction support
2018-02-12 08:20:10 +01:00
Tim Schaub
70648165a8 Remove private static members from WFS format 2018-02-11 17:39:41 -07:00
Tim Schaub
5ee4909feb Remove private static members from WKT format 2018-02-11 17:39:35 -07:00
Tim Schaub
cc5b80036d Remove private static members from WMSGetFeatureInfo format 2018-02-11 11:19:25 -07:00
Tim Schaub
38d27534c0 Remove private static members from OWS format 2018-02-11 11:19:25 -07:00
Tim Schaub
434a90506d Remove private static members from OSMXML format 2018-02-11 11:19:25 -07:00
Tim Schaub
7383371d58 Remove private static members from MVT format 2018-02-11 11:19:20 -07:00
Tim Schaub
8820185152 Merge pull request #7815 from bjornharrtell/webgl-rm-private-statics
Remove private statics from webgl related modules
2018-02-11 11:17:31 -07:00
Björn Harrtell
4b08987e53 Remove private statics from webgl related modules 2018-02-11 18:23:15 +01:00
Frederic Junod
276d6a5dc5 Remove ol.FeatureStyleFunction support 2018-02-11 17:52:46 +01:00
Tim Schaub
206212fa8c Merge pull request #7813 from openlayers/greenkeeper/recast-0.13.1
Update recast to the latest version 🚀
2018-02-11 08:47:43 -07:00
greenkeeper[bot]
54e15000ef chore(package): update recast to version 0.13.1 2018-02-11 15:27:07 +00:00
Tim Schaub
14d73e5073 Merge pull request #7809 from openlayers/greenkeeper/webpack-3.11.0
Update webpack to the latest version 🚀
2018-02-11 05:08:09 -07:00
Frédéric Junod
37d06c4860 Merge pull request #7812 from openlayers/greenkeeper/sinon-4.3.0
chore(package): update sinon to version 4.3.0
2018-02-11 10:40:31 +01:00
greenkeeper[bot]
1e5a6284dd chore(package): update sinon to version 4.3.0
Closes #7810
2018-02-10 22:28:37 +00:00
Tim Schaub
ec30c89c1e Merge pull request #7803 from tschaub/unstatic-private
Remove private static members from constructors
2018-02-10 10:58:53 -07:00
Tim Schaub
099cd21c5b Remove private static members from KML format 2018-02-10 10:11:55 -07:00
Tim Schaub
1c1b8d3919 Remove private static members from GPX format 2018-02-10 09:51:04 -07:00
Tim Schaub
1140c22164 Remove private static members from GMLBase format 2018-02-10 09:51:04 -07:00
Tim Schaub
6935bbc851 Remove private static members from GML3 format 2018-02-10 09:50:59 -07:00
Tim Schaub
5e63929aea Remove private static members from GML2 format 2018-02-10 09:43:54 -07:00
greenkeeper[bot]
f46bbd5e53 chore(package): update webpack to version 3.11.0 2018-02-10 15:29:37 +00:00
Andreas Hocevar
7a1cf8de82 Merge pull request #7808 from ahocevar/ratio-tests
Make sure the requested image size matches the desired ratio
2018-02-10 11:45:40 +01:00
Andreas Hocevar
da8874862d Make sure the requested image size matches the desired ratio 2018-02-10 11:11:16 +01:00
Andreas Hocevar
a1d7c87f4c Merge pull request #7807 from ahocevar/karma-first
Run typecheck after tests, because of its current verbosity
2018-02-10 10:46:59 +01:00
Frédéric Junod
33b8ea4a42 Merge pull request #7805 from fredj/unstatic-private
Remove private static members from constructors
2018-02-10 10:46:15 +01:00
Andreas Hocevar
00e441f354 Run typecheck after tests, because of its current verbosity 2018-02-10 10:35:00 +01:00
Andreas Hocevar
78af38007b Merge pull request #7806 from ahocevar/rotate
Fix rotate import
2018-02-10 10:30:16 +01:00
Andreas Hocevar
427dde6180 Fix rotate import 2018-02-10 10:24:48 +01:00
Frederic Junod
84c74eec71 Remove private static members from ol/renderer/Map 2018-02-10 09:13:42 +01:00
Frederic Junod
6838d59e64 Remove private static members from ol/render/webgl/ReplayGroup 2018-02-10 09:08:47 +01:00
Frederic Junod
2e6bc97fd4 Remove private static members from ol/render/webgl/LineStringReplay 2018-02-10 09:08:47 +01:00
Frederic Junod
11f464f7ff Remove private static members from ol/render/canvas/ReplayGroup 2018-02-10 09:08:47 +01:00
Frederic Junod
f5a4fcd3ac Remove private static members from ol/geom/GeometryCollection 2018-02-10 08:47:16 +01:00
Tim Schaub
af9b74759b Merge pull request #7800 from tschaub/named-exports
More named exports
2018-02-09 21:43:24 -07:00
Andreas Hocevar
73f9d6dcdd Merge pull request #7741 from ahocevar/typecheck-full-build
Type checking and full build creation
2018-02-10 02:09:31 +01:00
Tim Schaub
0ac689387a Remove private static members from EsriJSON format 2018-02-09 15:28:38 -07:00
Tim Schaub
80fa8dbaf5 Remove private static members from control constructors 2018-02-09 15:08:10 -07:00
Tim Schaub
b97554f2f3 Named exports from ol/coordinate 2018-02-09 14:31:20 -07:00
Tim Schaub
ce12dc1253 Named exports from ol/renderer/vector 2018-02-09 10:20:33 -07:00
Tim Schaub
9c1db1f904 Named exports from ol/reproj 2018-02-09 10:04:03 -07:00
Tim Schaub
9ed3881f34 Named exports from ol/tilegrid 2018-02-09 09:30:16 -07:00
Tim Schaub
2779fe57ff Merge pull request #7797 from tschaub/webgl-names
Better default export names for WebGL modules
2018-02-09 08:42:03 -07:00
Tim Schaub
df93b15e2f Rename _ol_render_webgl_Immediate_ to WebGLImmediateRenderer 2018-02-09 06:58:46 -07:00
Tim Schaub
c9099ade9e Merge pull request #7794 from tschaub/animation-complete
Call animation callback in a timeout
2018-02-09 06:55:51 -07:00
Tim Schaub
e9d36dd025 Merge pull request #7793 from tschaub/default-names
More renaming of default exports
2018-02-09 06:54:07 -07:00
Frédéric Junod
c8117effda Merge pull request #7799 from fredj/memory
Use tmpSize to reduce garbage generation
2018-02-09 13:56:16 +01:00
Frédéric Junod
0a0d5f67bb Merge pull request #7788 from fredj/makefile
Fix shaders generation
2018-02-09 11:36:30 +01:00
Frederic Junod
985fc3af47 Rename _ol_webgl_Vertex_ to WebGLVertex 2018-02-09 09:25:56 +01:00
Frederic Junod
96eba2bddf Rename _ol_webgl_Fragment_ to WebGLFragment 2018-02-09 09:23:28 +01:00
Frederic Junod
2b6a3aacef Don't create useless temporary variables 2018-02-09 09:17:40 +01:00
Tim Schaub
4a527eb763 Call animation callback in a timeout 2018-02-08 15:25:45 -07:00
Tim Schaub
c6d19c431d Rename _ol_format_GML_ to GML 2018-02-08 11:52:43 -07:00
Andreas Hocevar
9dad964323 Remove carets and git versios from package.json 2018-02-08 19:51:29 +01:00
Andreas Hocevar
2cae4230e3 Let Travis run typechecks 2018-02-08 19:51:29 +01:00
Andreas Hocevar
bc37ea9eb1 Use more verbose import for use with Closure Compiler 2018-02-08 19:51:28 +01:00
Andreas Hocevar
287723902c Use babel and closure without bundler for type checking 2018-02-08 19:51:28 +01:00
Andreas Hocevar
9c12b351e5 Use webpack for full build, find something else for type checking 2018-02-08 19:51:28 +01:00
Andreas Hocevar
03e244a6a2 Add type checking and full build creation
This uses Closure Compiler to create a full build and run type checks.
Currently type errors are reported as warnings and the build is created
with SIMPLE optimizations until we have transitioned all types to path
types.
2018-02-08 19:51:27 +01:00
Andreas Hocevar
9d409c800f Temporarily create an ol namespace for typedefs 2018-02-08 19:51:27 +01:00
Andreas Hocevar
ce2f78e890 Fix module name for ol/sphere 2018-02-08 19:51:27 +01:00
Andreas Hocevar
e6036439f6 Generate index.js instead of ol.js 2018-02-08 19:51:27 +01:00
Andreas Hocevar
64258a1ac4 Add generate-ol task to create a full build
Creating the full build will also serve as type checker.
2018-02-08 19:51:27 +01:00
Andreas Hocevar
efd9f2c088 Handle modules 2018-02-08 19:51:26 +01:00
Andreas Hocevar
08763ef139 Remove stability from info 2018-02-08 19:51:26 +01:00
Andreas Hocevar
3c09bfa602 Fix module path 2018-02-08 19:51:26 +01:00
Andreas Hocevar
2c718db797 Fix type annotations 2018-02-08 19:51:26 +01:00
Tim Schaub
0d5026165f Rename _ol_Image_ to ImageWrapper 2018-02-08 11:49:37 -07:00
Tim Schaub
e075a4fbca Rename _ol_ImageBase_ to ImageBase 2018-02-08 11:46:56 -07:00
Frederic Junod
74f7bdc3a8 Use tmpSize to reduce garbage generation 2018-02-08 15:49:11 +01:00
Frederic Junod
e25e61c3b7 Rename location shader classes
And remove the now unneeded NAMESPACE variable
2018-02-08 15:18:11 +01:00
Frederic Junod
83d530e181 Named exports from WebGL shaders 2018-02-08 15:18:11 +01:00
Frederic Junod
2bf252ab0d Add MODULE variable in the glsl file 2018-02-08 15:18:11 +01:00
Frederic Junod
106059329d Fix module path in the shader templates 2018-02-08 15:18:11 +01:00
Frederic Junod
5f44d5e8e2 Fix indentation in shaderlocations.mustache 2018-02-08 15:18:11 +01:00
Frederic Junod
e8c8c32cf3 Fix WebGL shader location in Makefile 2018-02-08 15:18:11 +01:00
Frédéric Junod
3d817ff7e7 Merge pull request #7789 from fredj/gl_buffer_usage
Use STATIC_DRAW as default WebGL buffer usage
2018-02-08 15:17:57 +01:00
Frederic Junod
744cea6421 Use STATIC_DRAW as default WebGL buffer usage 2018-02-08 15:00:30 +01:00
Frédéric Junod
b55657b17f Merge pull request #7787 from fredj/rename
More renaming
2018-02-08 12:24:57 +01:00
Tim Schaub
25a607973d Merge pull request #7782 from tschaub/default-names
Named exports from specific proj modules
2018-02-08 04:03:31 -07:00
Tim Schaub
3ae88e733b Merge pull request #7780 from tschaub/named-exports
More named exports
2018-02-08 04:02:31 -07:00
Frederic Junod
3d9b1abe17 Rename _ol_webgl_Shader_ to WebGLShader 2018-02-08 09:24:29 +01:00
Frederic Junod
62b2900348 Rename _ol_webgl_Buffer_ to WebGLBuffer 2018-02-08 09:24:29 +01:00
Frederic Junod
d1c11d50eb Rename _ol_webgl_Context_ to WebGLContext 2018-02-08 08:42:19 +01:00
Tim Schaub
36ab4c1064 Merge pull request #7783 from raiyni/xml
Named exports from ol/xml
2018-02-07 14:02:21 -07:00
raiyni
4449da3e63 named exports from ol/xml 2018-02-07 14:42:01 -06:00
Tim Schaub
9c64d29941 Named exports from ol/proj/epsg4326 2018-02-07 12:50:46 -07:00
Tim Schaub
6701d19a45 Named exports from ol/proj/epsg3857 2018-02-07 12:44:02 -07:00
Tim Schaub
11a4e1afa6 Named exports from ol/size 2018-02-07 11:47:51 -07:00
Tim Schaub
cd9b06135f Named exports from ol/net 2018-02-07 11:35:05 -07:00
Frédéric Junod
3266ffc58f Merge pull request #7774 from fredj/memory
Pass destination extent to avoid garbage generation
2018-02-07 16:27:30 +01:00
Tim Schaub
b41cdf5697 Merge pull request #7777 from openlayers/greenkeeper/babel-minify-webpack-plugin-0.3.0
Update babel-minify-webpack-plugin to the latest version 🚀
2018-02-07 07:33:48 -07:00
Frederic Junod
b2d3d142f0 Pass destination extent to avoid garbage generation 2018-02-07 14:52:54 +01:00
Frederic Junod
76cd52325d Fix getIntersection return value when an opt extent is provided
The return value was not an empty extent when the extents didn't intersect.
2018-02-07 14:49:10 +01:00
greenkeeper[bot]
0ba7917608 chore(package): update babel-minify-webpack-plugin to version 0.3.0 2018-02-07 13:06:09 +00:00
Marc Jansen
e8c3556183 Merge pull request #7771 from marcjansen/rename-loadingstrategy
Named exports from loadingstrategy
2018-02-07 07:16:32 +01:00
Marc Jansen
0c4568bca8 Merge pull request #7772 from marcjansen/named-filter-exports
Named exports from filter module
2018-02-07 07:15:14 +01:00
Marc Jansen
a34b92408e Use function declaration for exports 2018-02-06 17:32:32 +01:00
Marc Jansen
9fabdf309f Use function declaration for exports 2018-02-06 17:26:49 +01:00
Marc Jansen
e716731b98 Merge pull request #7770 from marcjansen/more-renames
Rename _ol_render_Box_ to RenderBox
2018-02-06 11:15:18 +01:00
Frédéric Junod
44e842f33e Merge pull request #7763 from fredj/memory
Use the temporary extent in VectorTileLayer
2018-02-06 08:38:16 +01:00
Marc Jansen
7f6780b7fb Use named exports from filter module 2018-02-06 07:47:54 +01:00
Marc Jansen
eac8a9f3ec Named exports from filter 2018-02-06 07:47:30 +01:00
Marc Jansen
753ce9ca8e Named exports from loadingstrategy 2018-02-06 06:51:38 +01:00
Marc Jansen
3fee998108 Rename _ol_render_Box_ to RenderBox 2018-02-06 06:39:15 +01:00
Marc Jansen
5d62a89999 Merge pull request #7765 from marcjansen/names-names-names
Named exports from events condition
2018-02-05 22:16:34 +01:00
Marc Jansen
0c62c68c5e Merge pull request #7767 from marcjansen/transform-typo
Transformation functions: Fix spelling and use the symbol ×
2018-02-05 22:16:13 +01:00
Marc Jansen
65ee0b17d7 Fix spelling and use the symbol × 2018-02-05 21:04:52 +01:00
Marc Jansen
6e764a20b3 Import events conditions explicitly 2018-02-05 20:36:42 +01:00
Marc Jansen
1c8e60487c Named exports from events/condition 2018-02-05 20:36:42 +01:00
Tim Schaub
d9bb33e65d Merge pull request #7764 from tschaub/rename
Named exports from ol/has
2018-02-05 11:40:39 -07:00
Tim Schaub
9cfee0f40b Named exports from ol/has 2018-02-05 10:42:47 -07:00
Frederic Junod
f16a2ef2f4 Fix jsdoc indentation 2018-02-05 14:52:33 +01:00
Frederic Junod
59c0297f3f Use the temporary extent in VectorTileLayer
Reduce garbage generation
2018-02-05 14:38:15 +01:00
Frédéric Junod
348afc4e44 Merge pull request #7761 from fredj/rename
Rename _ol_render_canvas_Instruction_ to CanvasInstruction
2018-02-05 13:57:06 +01:00
Frederic Junod
4504c422ae Rename _ol_render_canvas_Instruction_ to CanvasInstruction 2018-02-05 12:40:44 +01:00
Tim Schaub
66f5cffa4a Merge pull request #7759 from openlayers/greenkeeper/eslint-4.17.0
Update eslint to the latest version 🚀
2018-02-03 09:20:28 -07:00
greenkeeper[bot]
fd8f57df3b chore(package): update eslint to version 4.17.0 2018-02-03 04:16:37 +00:00
Frédéric Junod
a13f90abaf Merge pull request #7749 from fredj/f7035
Check if the sketch feature is defined in finishDrawing
2018-01-30 12:31:41 +01:00
Frederic Junod
70b0d5d1cc Check if the sketch feature is defined in finishDrawing
Fixes #7035
2018-01-30 09:57:05 +01:00
Frédéric Junod
4de6e49207 Merge pull request #7745 from fredj/named
More named exports
2018-01-27 07:04:18 +01:00
Tim Schaub
bcf5c78a32 Merge pull request #7746 from openlayers/greenkeeper/sinon-4.2.2
Update sinon to the latest version 🚀
2018-01-26 22:04:15 -07:00
greenkeeper[bot]
8d97e91393 chore(package): update sinon to version 4.2.2 2018-01-26 23:41:16 +00:00
Frederic Junod
62bc7b75d7 Named exports from ol/geom/flat/flip 2018-01-26 16:33:02 +01:00
Frederic Junod
d15c4ce511 Named exports from ol/geom/flat/segments 2018-01-26 16:29:40 +01:00
Frederic Junod
d64b5c52a2 Named exports from ol/geom/flat/center 2018-01-26 16:24:41 +01:00
Frederic Junod
aea39782fb Named exports from ol/geom/flat/contains 2018-01-26 16:03:29 +01:00
Frederic Junod
47015eba0c Named exports from ol/geom/flat/reverse 2018-01-26 15:45:17 +01:00
Frederic Junod
297fd14507 Named exports from ol/geom/flat/topology 2018-01-26 15:35:14 +01:00
Frederic Junod
135f713236 Named exports from ol/geom/flat/area 2018-01-26 15:31:04 +01:00
Frederic Junod
e6a491856d Named exports from ol/geom/flat/geodesic 2018-01-26 15:26:40 +01:00
Frederic Junod
6da3e6e2c5 Rename _ol_events_KeyCode_ to KeyCode 2018-01-26 15:15:01 +01:00
Frédéric Junod
0d35a9700b Merge pull request #7743 from fredj/enableHighAccuracy
Set enableHighAccuracy in geolocation example
2018-01-26 12:24:24 +01:00
Frederic Junod
819ddd0e19 Set enableHighAccuracy in geolocation example 2018-01-26 09:39:25 +01:00
Tim Schaub
c2f7baf940 Merge pull request #7738 from tschaub/events
Named exports from ol/events
2018-01-24 17:46:59 -07:00
Tim Schaub
7e7631c42a Named exports from ol/events 2018-01-24 10:09:57 -07:00
Frédéric Junod
1786bbbe80 Merge pull request #7735 from openlayers/greenkeeper/sinon-4.2.1
Update sinon to the latest version 🚀
2018-01-24 08:32:05 +01:00
greenkeeper[bot]
2afc9c0f7e chore(package): update sinon to version 4.2.1 2018-01-23 20:43:58 +00:00
Frédéric Junod
7fd942a04c Merge pull request #7724 from fredj/up_prism
Update prism library
2018-01-23 10:02:32 +01:00
Frédéric Junod
a7764dacd9 Merge pull request #7729 from openlayers/greenkeeper/jquery-3.3.1
Update jquery to the latest version 🚀
2018-01-22 08:41:28 +01:00
Frédéric Junod
862c7faf2d Merge pull request #7727 from fredj/no_transition
Deactivate transition effect for semi transparent layer example
2018-01-22 08:39:32 +01:00
Frédéric Junod
ded5de2a3d Merge pull request #7726 from fredj/named_ol_string
Named exports from ol/string
2018-01-22 08:39:19 +01:00
Tim Schaub
26c73b524a Merge pull request #7732 from openlayers/greenkeeper/sinon-4.2.0
Update sinon to the latest version 🚀
2018-01-21 23:12:40 -07:00
Tim Schaub
f4af4ceecd Merge pull request #7731 from openlayers/greenkeeper/webpack-dev-server-2.11.1
Update webpack-dev-server to the latest version 🚀
2018-01-21 23:11:00 -07:00
greenkeeper[bot]
ae9b556899 chore(package): update sinon to version 4.2.0 2018-01-21 12:36:50 +00:00
greenkeeper[bot]
0e4ecbc646 chore(package): update webpack-dev-server to version 2.11.1 2018-01-20 21:21:50 +00:00
greenkeeper[bot]
5ad5d4e853 chore(package): update jquery to version 3.3.1 2018-01-20 17:37:56 +00:00
Frédéric Junod
04756b5eec Merge pull request #7728 from openlayers/greenkeeper/eslint-4.16.0
Update eslint to the latest version 🚀
2018-01-20 08:37:23 +01:00
greenkeeper[bot]
5fe53b4e48 chore(package): update eslint to version 4.16.0 2018-01-20 06:09:37 +00:00
Frederic Junod
8fc6641750 Deactivate transition effect for semi transparent layer example 2018-01-19 15:50:48 +01:00
Frederic Junod
a114f64429 Named exports from ol/string 2018-01-19 15:38:21 +01:00
Frédéric Junod
6385f615c9 Merge pull request #7725 from fredj/double_comment
Remove extra comment
2018-01-19 13:43:36 +01:00
Frederic Junod
9417e88c15 Remove extra comment 2018-01-19 13:25:54 +01:00
Frédéric Junod
38eb5dc9d8 Merge pull request #7721 from fredj/rename
More renaming
2018-01-19 13:16:21 +01:00
Frederic Junod
f638234bc6 Update prism library
To have better ES6 syntax highlighting.
The `from` keyword was not correctly rendered with our version.
2018-01-19 13:14:35 +01:00
Frederic Junod
aeee8e67a9 Rename _ol_pointer_MsSource_ to MsSource 2018-01-18 15:50:27 +01:00
Frederic Junod
b39a6f4cae Rename _ol_pointer_NativeSource_ to NativeSource 2018-01-18 15:50:27 +01:00
Frederic Junod
e7bb9e8484 Rename _ol_pointer_TouchSource_ to TouchSource 2018-01-18 15:50:27 +01:00
Frederic Junod
107362b9fb Rename _ol_pointer_MouseSource_ to MouseSource 2018-01-18 15:50:27 +01:00
Frederic Junod
d97151b825 Rename _ol_pointer_EventSource_ to EventSource 2018-01-18 15:50:27 +01:00
Frédéric Junod
313c5f7dc9 Merge pull request #7716 from fredj/var_scope
Better variables scoping
2018-01-18 14:46:27 +01:00
Frédéric Junod
2ee34b825c Merge pull request #7720 from openlayers/greenkeeper/mocha-5.0.0
Update mocha to the latest version 🚀
2018-01-18 08:36:39 +01:00
Frédéric Junod
98ebc570e9 Merge pull request #7698 from fredj/test_typo
Fix for loop in color test
2018-01-18 08:35:24 +01:00
greenkeeper[bot]
305b5d628a chore(package): update mocha to version 5.0.0 2018-01-18 05:58:42 +00:00
Andreas Hocevar
67b7188ba4 Merge pull request #7703 from ahocevar/draw-state
Improved drawing experience on touch devices
2018-01-17 20:25:07 +01:00
Frederic Junod
039d4dc714 Better variables scoping 2018-01-17 16:07:36 +01:00
Frédéric Junod
4a6331377f Merge pull request #7713 from fredj/var_scope
Better variables scoping
2018-01-17 15:04:59 +01:00
Frédéric Junod
e7819833c1 Merge pull request #7712 from openlayers/greenkeeper/sinon-4.1.6
Update sinon to the latest version 🚀
2018-01-17 11:19:21 +01:00
Frederic Junod
4c5ca75ca6 Better variables scoping 2018-01-17 10:54:18 +01:00
Bart van den Eijnden
ee348c50e9 Merge pull request #7711 from bartvde/update-contributing
Do not use (I)CLA anymore
2018-01-17 08:45:48 +01:00
Frédéric Junod
b963453439 Merge pull request #7709 from fredj/named
More named export
2018-01-17 08:20:49 +01:00
Andreas Hocevar
be57e40e91 Show last segment and vertex for mouse pointer move 2018-01-17 01:38:46 +01:00
greenkeeper[bot]
c20871274c chore(package): update sinon to version 4.1.6 2018-01-16 19:52:58 +00:00
bartvde
43e9ae1226 Remove need for CLA in the PR template 2018-01-16 16:54:19 +01:00
bartvde
dd28c47261 Do not use (I)CLA anymore
Use correct spelling for GitHub
2018-01-16 16:50:09 +01:00
Frederic Junod
1c2ce4ff1c Named exports from ol/proj/projections 2018-01-16 15:31:36 +01:00
Frederic Junod
31e30d28b7 Named exports from ol/obj 2018-01-16 14:14:17 +01:00
Frederic Junod
40f97eed85 Named exports from ol/uri 2018-01-16 13:35:27 +01:00
Frederic Junod
14eeaf88dc Named exports from ol/render 2018-01-16 13:35:27 +01:00
Frederic Junod
66d9ef872c Fix color regexp to not match 7 hex digit 2018-01-16 09:08:16 +01:00
Frederic Junod
974f9391f2 Normalize color in place to reduce garbage generation 2018-01-16 08:39:06 +01:00
Frederic Junod
5ade602183 Remove 'rgb(255.0,0,0)' from the invalid color list
`rgb(255.0,0,0)` is a valid color value
2018-01-16 08:38:23 +01:00
Frederic Junod
bb0904f20d Fix invalid named color detection
If the named color is invalid, the value is not stored into the property.
2018-01-16 08:37:53 +01:00
Frederic Junod
dc5b2a4ea0 Fix for loop in color test 2018-01-16 08:36:57 +01:00
Frédéric Junod
c7570d052c Merge pull request #7705 from fredj/rename
More renaming
2018-01-15 14:49:25 +01:00
Andreas Hocevar
276194d554 Add tests for vertex drag 2018-01-15 13:21:07 +01:00
Andreas Hocevar
d8a2a393fc Merge pull request #7700 from pedros007/fix-scaleline-projection-in-degrees
Fix ScaleLine control for Projections in degrees
2018-01-15 13:14:45 +01:00
Andreas Hocevar
c1f8d30c28 Make dragVertexTolerance configurable 2018-01-15 10:37:13 +01:00
Frederic Junod
106fe3c138 Rename _ol_format_WMTSCapabilities_ to WMTSCapabilities 2018-01-15 10:26:36 +01:00
Frederic Junod
3de2085cce Rename _ol_render_webgl_TextReplay_ to WebGLTextReplay 2018-01-15 10:20:55 +01:00
Frederic Junod
a7e4768d4e Rename _ol_render_webgl_PolygonReplay_ to WebGLPolygonReplay 2018-01-15 10:19:35 +01:00
Frederic Junod
f1987befbd Rename _ol_render_webgl_LineStringReplay_ to WebGLLineStringReplay 2018-01-15 10:11:46 +01:00
Frederic Junod
2139db7437 Rename _ol_render_canvas_LineStringReplay_ to CanvasLineStringReplay 2018-01-15 10:09:32 +01:00
Frederic Junod
73db907e99 Rename _ol_render_canvas_PolygonReplay_ to CanvasPolygonReplay 2018-01-15 10:08:31 +01:00
Frederic Junod
c890db50b9 Rename _ol_render_canvas_TextReplay_ to CanvasTextReplay 2018-01-15 10:07:22 +01:00
Frederic Junod
e0f910a7ba Rename _ol_render_canvas_Replay_ to CanvasReplay 2018-01-15 10:04:14 +01:00
Frederic Junod
f89d82088a Rename _ol_render_webgl_Replay_ to WebGLReplay 2018-01-15 10:02:37 +01:00
Frederic Junod
0f313f4d69 Rename _ol_render_webgl_TextureReplay_ to WebGLTextureReplay 2018-01-15 10:00:11 +01:00
Frederic Junod
5657f3a3fa Rename _ol_render_webgl_ImageReplay_w_ol_render_canvas_ImageReplay_ to CanvasImageReplay 2018-01-15 09:57:57 +01:00
Frederic Junod
074d09fceb Rename _ol_render_webgl_ImageReplay_ to WebGLImageReplay 2018-01-15 09:56:04 +01:00
Frederic Junod
8de7555af6 Rename _ol_render_webgl_CircleReplay_ to WebGLCircleReplay 2018-01-15 09:54:18 +01:00
Frederic Junod
cb66d66526 Rename _ol_render_webgl_ReplayGroup_ to WebGLReplayGroup 2018-01-15 09:51:57 +01:00
Frederic Junod
85e1a6b54f Rename _ol_render_canvas_ReplayGroup_ to CanvasReplayGroup 2018-01-15 09:50:15 +01:00
Frederic Junod
53dc86b1b2 Rename _ol_render_ReplayGroup_ to ReplayGroup 2018-01-15 09:47:53 +01:00
Frederic Junod
be91662823 Rename _ol_interaction_ExtentEventType to ExtentEventType 2018-01-15 09:42:35 +01:00
Frederic Junod
5df5a32903 Rename _ol_CanvasMap_ to CanvasMap 2018-01-15 09:41:04 +01:00
Frederic Junod
fc256ed77e Rename _ol_interaction_Translate_ to Translate 2018-01-15 09:40:37 +01:00
Tim Schaub
20587b524c Merge pull request #7702 from openlayers/greenkeeper/webpack-dev-server-2.11.0
Update webpack-dev-server to the latest version 🚀
2018-01-14 22:03:37 -07:00
Andreas Hocevar
7924850601 Explain changes in the upgrade notes 2018-01-14 23:26:28 +01:00
Andreas Hocevar
6bb88026ea Avoid context menu for long tap when editing on mobile 2018-01-14 23:26:28 +01:00
Andreas Hocevar
fa75b78bf9 Do not draw sketch line for circles 2018-01-14 23:26:28 +01:00
Andreas Hocevar
a93a811ba0 Do not update geometry when other interactions handle event 2018-01-14 23:26:28 +01:00
Andreas Hocevar
2a64990a71 Long press allows modification of current vertex 2018-01-14 23:26:28 +01:00
Andreas Hocevar
fbf951f005 Stop handling events immediately when click tolerance is exceeded 2018-01-14 23:26:28 +01:00
greenkeeper[bot]
679b6108ad chore(package): update webpack-dev-server to version 2.11.0 2018-01-14 11:43:52 +00:00
Tim Schaub
b05ad3d920 Merge pull request #7701 from openlayers/greenkeeper/sinon-4.1.5
Update sinon to the latest version 🚀
2018-01-13 07:05:35 -07:00
greenkeeper[bot]
a660df133f chore(package): update sinon to version 4.1.5 2018-01-13 11:05:15 +00:00
Pete Schmitt
500a27bd8b Use const as of 5cb983c for happy linting 2018-01-12 14:24:08 -07:00
Pete Schmitt
acacad0515 Fix ScaleLine control for Projections in degrees 2018-01-12 14:08:55 -07:00
Tim Schaub
5cb983c760 Merge pull request #7697 from tschaub/lint
Use const and let
2018-01-12 08:08:38 -07:00
Tim Schaub
50890c93e2 Declare feature in the correct scope 2018-01-12 00:51:13 -07:00
Tim Schaub
ad62739a6e Use blocked scoped variables
In addition to using const and let, this also upgrades our linter config and removes lint (mostly whitespace).
2018-01-12 00:50:30 -07:00
Tim Schaub
0bf2b04dee Merge pull request #7695 from tschaub/rename
More renaming
2018-01-11 21:44:02 -07:00
Tim Schaub
b7718fb0ed Rename _ol_render_Feature_ to RenderFeature 2018-01-11 13:45:50 -07:00
Tim Schaub
8cba211ecd Rename _ol_pointer_PointerEvent_ to PointerEvent 2018-01-11 13:44:45 -07:00
Tim Schaub
aa89746c47 Rename _ol_proj_Projection_ to Projection 2018-01-11 13:33:41 -07:00
Tim Schaub
893d134e36 Rename _ol_style_Image_ to ImageStyle 2018-01-11 13:29:59 -07:00
Tim Schaub
66182f4cfb Rename _ol_style_IconImage_ to IconImage 2018-01-11 13:29:26 -07:00
Tim Schaub
14ddcf843d Rename _ol_style_Circle_ to CircleStyle 2018-01-11 13:27:54 -07:00
Tim Schaub
16c8d2c246 Rename _ol_style_RegularShape_ to RegularShape 2018-01-11 13:26:51 -07:00
Tim Schaub
c5a4be2edd Rename _ol_style_Text_ to Text 2018-01-11 13:25:48 -07:00
Tim Schaub
fb22c587f8 Rename _ol_style_Icon_ to Icon 2018-01-11 13:25:01 -07:00
Tim Schaub
f4484455aa Rename _ol_style_Stroke_ to Stroke 2018-01-11 13:24:13 -07:00
Tim Schaub
dc6ae2293d Rename _ol_style_Fill_ to Fill 2018-01-11 13:23:27 -07:00
Tim Schaub
4f4c90fc20 Rename _ol_style_Style_ to Style 2018-01-11 13:22:43 -07:00
Tim Schaub
5f40eec148 Rename _ol_style_AtlasManager_ to AtlasManager 2018-01-11 12:12:34 -07:00
Tim Schaub
12d4db5045 Rename _ol_style_Atlas_ to Atlas 2018-01-11 12:12:34 -07:00
Tim Schaub
019933ef25 Rename _ol_interaction_TranslateEventType_ to TranslateEventType 2018-01-11 12:12:34 -07:00
Tim Schaub
870be87389 Rename _ol_interaction_ModifyEventType_ to ModifyEventType 2018-01-11 12:10:54 -07:00
Tim Schaub
b8cf046b38 Rename _ol_interaction_Snap_ to Snap 2018-01-11 12:10:54 -07:00
Tim Schaub
c9a91efc3d Rename _ol_interaction_Select_ to Select 2018-01-11 12:10:54 -07:00
Tim Schaub
682b4402a0 Rename _ol_interaction_Modify_ to Modify 2018-01-11 12:10:54 -07:00
Tim Schaub
edcdeb1036 Fix the snap example 2018-01-11 12:10:54 -07:00
Tim Schaub
c7e2f6b62f Rename _ol_interaction_Extent_ to ExtentInteraction 2018-01-11 12:09:58 -07:00
Tim Schaub
dce1790886 Rename _ol_interaction_Pointer_ to PointerInteraction 2018-01-11 12:09:58 -07:00
Tim Schaub
8a74d6b8db Rename _ol_pointer_PointerEventHandler_ to PointerEventHandler 2018-01-11 12:06:59 -07:00
Tim Schaub
176021e188 Rename _ol_Collection_ to Collection 2018-01-11 12:06:58 -07:00
Tim Schaub
84e93efe5c Rename _ol_reproj_Triangulation_ to Triangulation 2018-01-11 12:06:58 -07:00
Tim Schaub
1552f27a43 Rename _ol_Tile_ to Tile 2018-01-11 12:06:58 -07:00
Tim Schaub
2efdf7982c Rename _ol_reproj_Tile_ to ReprojTile 2018-01-11 12:06:58 -07:00
Tim Schaub
65d30f7ec0 Rename _ol_reproj_Image_ to ReprojImage 2018-01-11 12:06:58 -07:00
Tim Schaub
5337dc31d9 Rename _ol_layer_VectorTile_ to VectorTileLayer 2018-01-11 12:06:58 -07:00
Tim Schaub
f94d69c7a8 Rename _ol_layer_Layer_ to Layer 2018-01-11 12:06:58 -07:00
Tim Schaub
c6646b1cda Rename _ol_layer_Group_ to LayerGroup 2018-01-11 12:05:59 -07:00
Tim Schaub
ba206c9683 Rename _ol_layer_Base_ to BaseLayer 2018-01-11 12:01:21 -07:00
Tim Schaub
0113b9283c Rename _ol_render_Event_ to RenderEvent 2018-01-11 11:58:26 -07:00
Tim Schaub
d840eab615 Rename _ol_render_canvas_Immediate_ to ImmediateCanvasRenderer 2018-01-11 11:58:26 -07:00
Tim Schaub
afb1f6db28 Rename _ol_renderer_canvas_IntermediateCanvas_ to IntermediateCanvasRenderer 2018-01-11 11:51:38 -07:00
Tim Schaub
91ae3c3f4c Merge pull request #7693 from fredj/rename
More import renaming
2018-01-11 11:49:01 -07:00
Frederic Junod
98f5a0c04e Rename _ol_Overlay_ to Overlay 2018-01-11 14:32:58 +01:00
Frederic Junod
bc1a019c74 Rename _ol_renderer_webgl_Layer_ to WebGLLayerRenderer 2018-01-11 14:28:01 +01:00
Frederic Junod
4eb47881c1 Rename _ol_renderer_canvas_Layer_ to CanvasLayerRenderer 2018-01-11 14:25:37 +01:00
Frederic Junod
3ce95099e9 Rename _ol_renderer_Layer_ to LayerRenderer 2018-01-11 14:23:26 +01:00
Frederic Junod
68d9f37fec Rename _ol_renderer_Map_ to MapRenderer 2018-01-11 14:22:43 +01:00
Frederic Junod
d0cdd0441a Rename _ol_render_VectorContext_ to VectorContext 2018-01-11 14:05:55 +01:00
Frederic Junod
f0d4fdd98e Rename _ol_interaction_Property_ to InteractionProperty 2018-01-11 14:01:51 +01:00
Frederic Junod
7157de3851 Rename _ol_layer_Property_ to LayerProperty 2018-01-11 13:59:43 +01:00
Frederic Junod
077810f6aa Rename _ol_GeolocationProperty_ to GeolocationProperty 2018-01-11 13:57:49 +01:00
Frederic Junod
e59109e807 Rename _ol_interaction_KeyboardZoom_ to KeyboardZoom 2018-01-11 13:52:27 +01:00
Frederic Junod
c6104b7860 Rename _ol_interaction_KeyboardPan_ to KeyboardPan 2018-01-11 13:51:59 +01:00
Frederic Junod
cb46dd2dbd Rename _ol_interaction_PinchRotate_ to PinchRotate 2018-01-11 13:50:35 +01:00
Frederic Junod
120c42f7a4 Rename _ol_interaction_PinchZoom_ to PinchZoom 2018-01-11 13:49:48 +01:00
Frederic Junod
356cea1611 Rename _ol_MapProperty_ to MapProperty 2018-01-11 13:48:23 +01:00
Frédéric Junod
fe6e66958c Merge pull request #7691 from openlayers/greenkeeper/webpack-dev-server-2.10.1
Update webpack-dev-server to the latest version 🚀
2018-01-11 08:36:59 +01:00
greenkeeper[bot]
2411d80060 chore(package): update webpack-dev-server to version 2.10.1 2018-01-11 06:40:55 +00:00
Tim Schaub
8bc5145482 Merge pull request #7678 from LukasDrgon/patch-1
Add jsDelivr hits badge
2018-01-10 09:48:46 -07:00
Tim Schaub
ece1d4d231 Merge pull request #7686 from tschaub/renames
More import renaming
2018-01-10 09:45:40 -07:00
Tim Schaub
3e127a6169 Rename _ol_source_Zoomify_ to Zoomify 2018-01-10 09:36:29 -07:00
Tim Schaub
2440d52ebe Rename _ol_source_WMTS_ to WMTS 2018-01-10 09:36:29 -07:00
Tim Schaub
ecd1343d75 Rename _ol_source_VectorTile_ to VectorTileSource 2018-01-10 09:36:29 -07:00
Tim Schaub
231c8837ca Rename _ol_source_UrlTile_ to UrlTile 2018-01-10 09:36:29 -07:00
Tim Schaub
32ee149909 Rename _ol_source_TileWMS_ to TileWMS 2018-01-10 09:36:29 -07:00
Tim Schaub
a18512d78c Rename _ol_source_TileUTFGrid_ to UTFGrid 2018-01-10 09:36:29 -07:00
Tim Schaub
57febf2712 Rename _ol_source_TileJSON_ to TileJSON 2018-01-10 09:36:29 -07:00
Tim Schaub
d940b5d458 Rename _ol_source_TileDebug_ to TileDebug 2018-01-10 09:36:29 -07:00
Tim Schaub
6261cb6997 Rename _ol_source_TileArcGISRest_ to TileArcGISRest 2018-01-10 09:36:29 -07:00
Tim Schaub
f855bc1562 Rename _ol_source_Stamen_ to Stamen 2018-01-10 09:36:28 -07:00
Tim Schaub
5f62d2ecfe Rename _ol_source_OSM_ to OSM 2018-01-10 09:36:28 -07:00
Tim Schaub
c7b0cf51ad Rename _ol_source_ImageWMS_ to ImageWMS 2018-01-10 09:36:28 -07:00
Tim Schaub
312820ed4c Rename _ol_source_ImageStatic_ to Static 2018-01-10 09:36:28 -07:00
Tim Schaub
c5d10f2001 Rename _ol_source_ImageMapGuide_ to ImageMapGuide 2018-01-10 09:36:28 -07:00
Tim Schaub
56cd27ac71 Rename _ol_source_ImageCanvasSource_ to ImageCanvasSource 2018-01-10 09:36:28 -07:00
Tim Schaub
988bb88409 Rename _ol_source_ImageArcGISRest_ to ImageArcGISRest 2018-01-10 09:36:28 -07:00
Tim Schaub
1bb20f8231 Rename _ol_source_Cluster_ to Cluster 2018-01-10 09:36:28 -07:00
Tim Schaub
8c0a06b56a Rename _ol_source_XYZ_ to XYZ 2018-01-10 09:36:28 -07:00
Tim Schaub
fe0d05900f Rename _ol_source_CartoDB_ to CartoDB 2018-01-10 09:36:28 -07:00
Tim Schaub
a66128caa9 Rename _ol_source_TileImage_ to TileImage 2018-01-10 09:36:28 -07:00
Tim Schaub
f184f6685d Rename _ol_source_BingMaps_ to BingMaps 2018-01-10 09:36:28 -07:00
Tim Schaub
ceca0803e4 Rename _ol_ImageCanvas_ to ImageCanvas 2018-01-10 09:36:28 -07:00
Tim Schaub
d2c0ea103e Rename _ol_source_Tile_ to TileSource 2018-01-10 09:36:28 -07:00
Tim Schaub
d75623084e Rename _ol_source_Image_ to ImageSource 2018-01-10 09:36:28 -07:00
Tim Schaub
453b79dad7 Rename _ol_layer_Image_ to ImageLayer 2018-01-10 09:36:28 -07:00
Tim Schaub
ca6ea355e6 Rename _ol_source_Vector_ to VectorSource 2018-01-10 09:36:28 -07:00
Tim Schaub
45c6e43b42 Rename _ol_layer_Vector_ to VectorLayer 2018-01-10 09:36:23 -07:00
Tim Schaub
24dd0ca924 Rename _ol_Object_ to BaseObject 2018-01-10 09:35:43 -07:00
Tim Schaub
35db8721b2 Rename _ol_Observable_ to Observable 2018-01-10 09:35:43 -07:00
Tim Schaub
1c1f008238 Rename _ol_View_ to View 2018-01-10 09:35:42 -07:00
Tim Schaub
a04144c3c2 Rename _ol_proj_Units_ to Units 2018-01-10 09:35:42 -07:00
Tim Schaub
a18f0590f6 Rename _ol_ViewProperty_ to ViewProperty 2018-01-10 09:35:42 -07:00
Tim Schaub
853cecd406 Rename _ol_ViewHint_ to ViewHint 2018-01-10 09:35:42 -07:00
Tim Schaub
7fba608337 Rename _ol_RotationConstraint_ to RotationConstraint 2018-01-10 09:35:42 -07:00
Tim Schaub
073e7dc829 Rename _ol_ResolutionConstraint_ to ResolutionConstraint 2018-01-10 09:35:42 -07:00
Tim Schaub
c2a75c9040 Rename _ol_CenterConstraint_ to CenterConstraint 2018-01-10 09:35:42 -07:00
Tim Schaub
f1292cc46b Rename _ol_renderer_webgl_VectorLayer_ to WebGLVectorLayerRenderer 2018-01-10 09:35:42 -07:00
Tim Schaub
0d718b2400 Rename _ol_renderer_webgl_TileLayer_ to WebGLTileLayerRenderer 2018-01-10 09:35:42 -07:00
Tim Schaub
12a3b99b09 Rename _ol_renderer_webgl_ImageLayer_ to WebGLImageLayerRenderer 2018-01-10 09:35:42 -07:00
Tim Schaub
0fe5e58d97 Rename _ol_renderer_webgl_Map_ to WebGLMapRenderer 2018-01-10 09:35:42 -07:00
Tim Schaub
75e536937a Rename _ol_renderer_canvas_Map_ to CanvasMapRenderer 2018-01-10 09:35:42 -07:00
Tim Schaub
4d5dd1ea0d Rename _ol_renderer_canvas_VectorTileLayer_ to CanvasVectorTileLayerRenderer 2018-01-10 09:35:42 -07:00
Tim Schaub
1dfc37d6d2 Rename _ol_renderer_canvas_VectorLayer_ to CanvasVectorLayerRenderer 2018-01-10 09:35:42 -07:00
Tim Schaub
0cd932a7ac Rename _ol_renderer_canvas_TileLayer_ to CanvasTileLayerRenderer 2018-01-10 09:35:42 -07:00
Tim Schaub
068931e544 Rename _ol_renderer_canvas_ImageLayer_ to CanvasImageLayerRenderer 2018-01-10 09:35:42 -07:00
Tim Schaub
22fce4f97b Rename _ol_Feature_ to Feature 2018-01-10 09:35:35 -07:00
Andreas Hocevar
6934e148ca Merge pull request #7669 from ahocevar/hit-detect-declutter
Use declutter tree only for text and image replays
2018-01-09 15:56:55 +01:00
Andreas Hocevar
953c5d6151 Refactor to avoid replayType member and binding 2018-01-09 15:43:20 +01:00
Andreas Hocevar
9397c41e6c Use declutter tree only for text and image replays 2018-01-09 15:41:45 +01:00
Frédéric Junod
4234c2ce3d Merge pull request #7683 from fredj/IGC_cleanup
Move IGCZ enum to src/ol/format/IGC.js
2018-01-09 12:08:09 +01:00
Frederic Junod
3ce7cae338 Change ol.format.IGCZ type to IGCZ 2018-01-09 08:25:27 +01:00
Tim Schaub
a06f0e0bd4 Merge pull request #7688 from openlayers/greenkeeper/marked-0.3.12
Update marked to the latest version 🚀
2018-01-08 19:43:37 -07:00
greenkeeper[bot]
c88b8c1d23 chore(package): update marked to version 0.3.12 2018-01-09 00:20:35 +00:00
Frédéric Junod
765995f0a3 Merge pull request #7682 from fredj/MouseWheelZoom_condition
Add new condition to MouseWheelZoom interaction
2018-01-08 13:16:40 +01:00
Andreas Hocevar
f7efd6904b Merge pull request #7685 from openlayers/greenkeeper/sinon-4.1.4
Update sinon to the latest version 🚀
2018-01-08 13:06:29 +01:00
Andreas Hocevar
1433835d74 Merge pull request #7676 from ahocevar/font-check
Check fonts against two reference fonts
2018-01-08 12:50:04 +01:00
greenkeeper[bot]
21dae53203 chore(package): update sinon to version 4.1.4 2018-01-08 10:49:00 +00:00
Frederic Junod
4934318a5a Don't export private constants 2018-01-08 11:45:12 +01:00
Frederic Junod
bb954e7e2c Move IGCZ enum to src/ol/format/IGC.js 2018-01-08 11:40:36 +01:00
Frederic Junod
6d83297f24 Add new condition to MouseWheelZoom interaction 2018-01-08 11:07:46 +01:00
Frederic Junod
43377c1332 Rename _ol_interaction_MouseWheelZoom_ to MouseWheelZoom 2018-01-08 10:45:39 +01:00
Frédéric Junod
eb734c9f98 Merge pull request #7681 from openlayers/greenkeeper/eslint-4.15.0
Update eslint to the latest version 🚀
2018-01-08 09:24:25 +01:00
greenkeeper[bot]
c3bc299a84 chore(package): update eslint to version 4.15.0 2018-01-07 02:37:34 +00:00
Andreas Hocevar
3685b0ed2a Merge pull request #7680 from openlayers/greenkeeper/webpack-dev-server-2.10.0
Update webpack-dev-server to the latest version 🚀
2018-01-06 10:42:14 +01:00
greenkeeper[bot]
6bcb188d9d chore(package): update webpack-dev-server to version 2.10.0 2018-01-06 03:11:30 +00:00
Andreas Hocevar
e2af5f6be3 Check fonts against two reference fonts
In rare cases, the previous font check returned false negatives when
checking against monospace only. By checking against another font, this
can be avoided.
2018-01-03 10:34:18 +01:00
Andreas Hocevar
1572141cc5 Merge pull request #7668 from ahocevar/hit-detect-text-background
Hit detect text background
2018-01-01 18:04:00 +01:00
Andreas Hocevar
30511264c2 Test hit detection for text background 2018-01-01 12:32:26 +01:00
Andreas Hocevar
ad8f847465 Consider background box with stroke for hit detection 2018-01-01 12:32:26 +01:00
Andreas Hocevar
745bf3d79f Hit-detect background fill and stroke 2018-01-01 12:32:26 +01:00
Andreas Hocevar
6dd7e5374d Merge pull request #7667 from openlayers/greenkeeper/mocha-4.1.0
Update mocha to the latest version 🚀
2017-12-29 09:42:42 +01:00
greenkeeper[bot]
ebe31283f4 chore(package): update mocha to version 4.1.0 2017-12-29 05:16:50 +00:00
Andreas Hocevar
4fc8eff921 Merge pull request #7661 from ahocevar/background-fill-stroke
Background fill stroke
2017-12-26 19:57:54 +01:00
Andreas Hocevar
c5a2c2fd22 Apply fill and stroke only when set 2017-12-26 19:34:27 +01:00
Andreas Hocevar
0158738aff Clone backgroundFill and backgroundStroke 2017-12-26 19:33:47 +01:00
Andreas Hocevar
f2f5c5e958 Merge pull request #7656 from openlayers/greenkeeper/eslint-4.14.0
Update eslint to the latest version 🚀
2017-12-24 08:32:27 +01:00
greenkeeper[bot]
49c4cad7de chore(package): update eslint to version 4.14.0 2017-12-23 23:29:40 +00:00
Tim Schaub
0e6366ec08 Merge pull request #7655 from openlayers/greenkeeper/marked-0.3.9
Update marked to the latest version 🚀
2017-12-23 15:32:41 -07:00
greenkeeper[bot]
16fb967976 chore(package): update marked to version 0.3.9 2017-12-23 18:08:29 +00:00
Frédéric Junod
179b9bd4ef Merge pull request #7654 from fredj/ne_formats
Add named export for transformWithOptions function
2017-12-23 08:40:57 +01:00
Frédéric Junod
6a0f0bc050 Merge pull request #7652 from fredj/renaming
More renaming
2017-12-23 08:32:31 +01:00
Frederic Junod
3843beafa7 Add named export for transformWithOptions function 2017-12-22 15:45:11 +01:00
Frederic Junod
a0b68010b9 Change TextFeature#getText_ to a static function 2017-12-22 15:10:57 +01:00
Frederic Junod
297c9e45ab Rename _ol_tilegrid_TileGrid_ to TileGrid 2017-12-22 10:56:20 +01:00
Frederic Junod
7617e4e377 Rename _ol_source_WMTSRequestEncoding_ to WMTSRequestEncoding
And add named export for `createFromCapabilitiesMatrixSet` function.
2017-12-22 10:50:23 +01:00
Frederic Junod
de5331fa00 Don't store private functions and variables into TopoJSON 2017-12-22 10:32:01 +01:00
Frederic Junod
259ecd0f79 Don't store private functions and variables into RasterSource 2017-12-22 09:31:43 +01:00
Frederic Junod
fd84f9378e Rename _ol_ImageTile_ to ImageTile 2017-12-22 09:18:27 +01:00
Frederic Junod
53c4113684 Named export for VectorImageTile 2017-12-22 09:18:24 +01:00
Frederic Junod
5f4e24e540 Remove DEFAULT_EXTENT from VectorTile class 2017-12-22 09:09:08 +01:00
Frederic Junod
b358a7daf5 Rename _ol_VectorTile_ to VectorTile 2017-12-22 09:06:58 +01:00
Frederic Junod
c46aec3196 Rename _ol_VectorImageTile_ to VectorImageTile 2017-12-22 09:03:41 +01:00
Frederic Junod
085fddcb36 Rename _ol_Disposable_ to Disposable 2017-12-22 09:02:23 +01:00
Frederic Junod
fc00aecd2e Rename _ol_TileState_ to TileState 2017-12-22 09:00:46 +01:00
Tim Schaub
2130ce7481 Merge pull request #7649 from raiyni/map
Named Map export for ol/Map
2017-12-21 23:19:20 -07:00
Ron Young
b8b64ac655 rename in examples 2017-12-21 23:11:42 -07:00
Ron Young
9fa59d0735 rename map in tests 2017-12-21 23:11:42 -07:00
Ron Young
ad5664e1ab rename map module 2017-12-21 23:11:42 -07:00
Tim Schaub
6e807e2017 Merge pull request #7651 from openlayers/greenkeeper/karma-2.0.0
Update karma to the latest version 🚀
2017-12-21 18:26:23 -07:00
greenkeeper[bot]
ff63bcbf77 chore(package): update karma to version 2.0.0 2017-12-21 16:45:17 +00:00
Frédéric Junod
8cbeca731b Merge pull request #7646 from openlayers/ne_polyline
Named export for Polyline format and SimpleGeometry
2017-12-21 16:51:35 +01:00
Frédéric Junod
7c54648be8 Merge pull request #7650 from fredj/renaming
Rename _ol_PluggableMap_ to PluggableMap
2017-12-21 16:51:23 +01:00
Frederic Junod
72fc1ad81a Rename _ol_PluggableMap_ to PluggableMap 2017-12-21 16:29:28 +01:00
Frederic Junod
194394f7c5 Don't store static variable and function into the exported object 2017-12-21 16:29:28 +01:00
Frederic Junod
4d8e45722c Don't store private function into JSONFeature 2017-12-21 10:53:13 +01:00
Frédéric Junod
ab628cb828 Merge pull request #7647 from openlayers/greenkeeper/rbush-2.0.2
Update rbush to the latest version 🚀
2017-12-21 10:44:37 +01:00
greenkeeper[bot]
d4d61d7904 fix(package): update rbush to version 2.0.2 2017-12-21 09:37:41 +00:00
Frederic Junod
a1d5f50c3d Named export for Polyline format 2017-12-21 09:12:43 +01:00
Frederic Junod
6d4621baeb Named export for SimpleGeometry.getStrideForLayout function 2017-12-21 08:43:19 +01:00
Frederic Junod
dc5cd438cd Don't store private function into SimpleGeometry class 2017-12-21 08:39:20 +01:00
Frédéric Junod
bcc2bc797a Merge pull request #7642 from fredj/unexport_private_gpx
Don't store private function into GPX
2017-12-21 08:28:06 +01:00
Tim Schaub
02660f678f Merge pull request #7643 from tschaub/sphere
Replace ol/Sphere with ol/sphere
2017-12-21 00:08:46 -07:00
Tim Schaub
f393252a11 Dedicated section for notes on the circular change 2017-12-20 23:48:35 -07:00
Tim Schaub
c89738cadb Named exports instead of static functions from ol/geom/Polygon 2017-12-20 23:48:35 -07:00
Tim Schaub
dae1921533 Regression test for projected geometry collections 2017-12-20 23:48:34 -07:00
Tim Schaub
54b8622114 Replace ol/Sphere with ol/sphere 2017-12-20 23:48:34 -07:00
Tim Schaub
43342cd133 Merge pull request #7644 from raiyni/math
Named exports from ol/math module
2017-12-20 23:43:57 -07:00
Ron Young
a11208d126 rename _ol_math_ imports 2017-12-20 19:31:00 -06:00
Frederic Junod
94d160bee3 Don't store private function into GPX 2017-12-20 11:05:04 +01:00
Frederic Junod
5dfc806df5 Remove unused XSD.NAMESPACE_URI 2017-12-20 11:05:04 +01:00
Frederic Junod
8cfef2e3ca Don't store NAMESPACE_URI into XLink 2017-12-20 11:05:04 +01:00
Frederic Junod
a0f559aeda Don't store private function into GeoJSON 2017-12-20 11:05:04 +01:00
Marc Jansen
8ef8f59cd9 Merge pull request #7636 from marcjansen/named-exports-array
Named exports from the ol/array module
2017-12-19 22:32:14 +01:00
Tim Schaub
a06c8ebb6f Merge pull request #7614 from KlausBenndorf/publicThisArgs
Remove opt_this from the API
2017-12-19 09:30:54 -08:00
Marc Jansen
f852dd9659 Merge pull request #7640 from openlayers/rm-unused-test
Remove unneeded and already skipped test
2017-12-19 17:29:06 +01:00
Marc Jansen
02002082bf Named exports from ol/array module 2017-12-19 17:22:58 +01:00
Marc Jansen
17def91ea3 Remove unneeded and already skipped test 2017-12-19 17:14:17 +01:00
Marc Jansen
767f61ba78 Merge pull request #7637 from marcjansen/named-exports-color
Named exports from the ol/color module
2017-12-19 17:11:03 +01:00
Frédéric Junod
be29df893a Merge pull request #7639 from fredj/unexport_private
Don't store private function into GeoJSON
2017-12-19 16:48:36 +01:00
Frédéric Junod
2d58ef4c1d Merge pull request #7635 from fredj/named_export
More module renaming
2017-12-19 16:41:14 +01:00
Frederic Junod
9f63431539 Don't store private function into GeoJSON 2017-12-19 16:40:15 +01:00
Marc Jansen
3cef7cd5cd Merge pull request #7632 from marcjansen/renames
Named exports from ol/css module
2017-12-19 15:44:36 +01:00
Marc Jansen
295c2973b5 Named exports from ol/color module 2017-12-19 13:56:54 +01:00
simonseyock
2276764951 source.Vector 2017-12-19 13:15:11 +01:00
simonseyock
73deb49db1 TileUtfGrid#forDataAtCoordinateAndResolution 2017-12-19 13:15:11 +01:00
simonseyock
d7c48314b8 observable 2017-12-19 13:15:11 +01:00
simonseyock
ca41c0d124 LineString#forEachSegment 2017-12-19 13:14:51 +01:00
simonseyock
3e82c37bed removes opt_this from ol.Collection#forEach
this commit also removes all uses of the standard thisArg of
Array#forEach.
2017-12-19 13:14:20 +01:00
Marc Jansen
a7c5897bdb Named exports from ol/css module 2017-12-19 11:38:56 +01:00
Marc Jansen
1aa7313a7b Merge pull request #7634 from marcjansen/tilelayer-rename
Rename _ol_layer_Tile_ to TileLayer
2017-12-19 10:06:15 +01:00
Marc Jansen
5aab9e1ba8 Merge pull request #7633 from marcjansen/import-assert
Import assert function directly
2017-12-19 10:05:32 +01:00
Frederic Junod
aa45598ae1 Rename _ol_source_Source_ to Source 2017-12-19 08:51:50 +01:00
Marc Jansen
25946b4541 Rename _ol_layer_Tile_ to TileLayer 2017-12-19 08:45:00 +01:00
Frederic Junod
1e307c16ac Rename _ol_source_VectorEventType_ to VectorEventType 2017-12-19 08:42:32 +01:00
Frederic Junod
a7d1e6fdf7 Rename _ol_source_TileEventType_ to TileEventType 2017-12-19 08:40:16 +01:00
Frederic Junod
87cc4b9c9f Rename _ol_source_WMSServerType_ to WMSServerType 2017-12-19 08:39:06 +01:00
Frederic Junod
2ae553702b Rename _ol_source_RasterOperationType_ to RasterOperationType 2017-12-19 08:37:33 +01:00
Marc Jansen
791242a73b Import assert function directly 2017-12-19 08:34:17 +01:00
Frederic Junod
d0728a5e65 Rename _ol_source_State_ to SourceState 2017-12-19 08:33:14 +01:00
Frédéric Junod
003c7bb209 Merge pull request #7631 from fredj/named_export
More named export and rename
2017-12-19 08:22:09 +01:00
Frederic Junod
277e470bd3 Rename _ol_render_EventType_ to RenderEventType 2017-12-18 17:23:05 +01:00
Frederic Junod
ef3f60e636 Rename _ol_pointer_EventType_ to PointerEventType 2017-12-18 17:19:45 +01:00
Frederic Junod
2747f324e9 Rename _ol_interaction_DrawEventType_ to DrawEventType 2017-12-18 17:18:19 +01:00
Frederic Junod
82a2908582 Rename _ol_webgl_ContextEventType_ to ContextEventType 2017-12-18 17:16:45 +01:00
Frederic Junod
2a00556dae Named export for ol/plugins 2017-12-18 17:13:22 +01:00
Frederic Junod
15768a6025 Rename _ol_PluginType to PluginType 2017-12-18 16:53:57 +01:00
Frederic Junod
27c54cc36c Rename _ol_format_FormatType_ to FormatType 2017-12-18 16:45:10 +01:00
Frederic Junod
c64aada38f Rename _ol_LayerType_ to LayerType 2017-12-18 16:43:10 +01:00
Frederic Junod
30a9c49bf0 Rename _ol_renderer_Type_ to RendererType 2017-12-18 16:41:44 +01:00
Frederic Junod
11f1c693a8 Rename _ol_render_ReplayType_ to ReplayType 2017-12-18 16:39:07 +01:00
Frederic Junod
dc70c4376d Named export for ol/style 2017-12-18 16:18:00 +01:00
Frédéric Junod
afa99f5788 Merge pull request #7627 from fredj/import_name
Nicer import name
2017-12-18 15:44:17 +01:00
Frederic Junod
904f197c06 Rename _ol_layer_Group_.Property_ to Property 2017-12-18 13:40:30 +01:00
Frederic Junod
b56fa82446 Rename _ol_Collection_.Property_ to Property 2017-12-18 13:38:15 +01:00
Frederic Junod
ae7fb85ef0 Rename _ol_layer_Vector_.Property_ to Property 2017-12-18 13:36:19 +01:00
Frederic Junod
d35b4b8be4 Rename _ol_layer_Heatmap_ to Heatmap 2017-12-18 13:29:52 +01:00
Frederic Junod
b35d464cc8 Rename _ol_layer_Heatmap_.Property_ to Property 2017-12-18 13:29:52 +01:00
Frederic Junod
db69f0ae44 Rename _ol_Overlay_ to Overlay 2017-12-18 13:29:52 +01:00
Frederic Junod
8cae7abb3e Rename _ol_Overlay_.Property to Property 2017-12-18 13:29:52 +01:00
Frederic Junod
b1b9edb43d Rename _ol_OverlayPositioning_ to OverlayPositioning 2017-12-18 13:29:52 +01:00
Frederic Junod
e23d0bf907 Rename _ol_ObjectEventType_ to ObjectEventType 2017-12-18 13:29:52 +01:00
Frederic Junod
7fd957c2e5 Rename _ol_style_IconImageCache_ to IconImageCache 2017-12-18 11:09:58 +01:00
Frederic Junod
bbd8a3f6ae Rename _ol_style_IconAnchorUnits_ to IconAnchorUnits 2017-12-18 10:58:16 +01:00
Frederic Junod
e4446d4cb3 Rename _ol_style_IconOrigin_ to IconOrigin 2017-12-18 10:56:08 +01:00
Frederic Junod
424ea22131 Rename _ol_style_TextPlacement_ to TextPlacement 2017-12-18 10:53:12 +01:00
Frederic Junod
0a895a2867 Rename _ol_ImageState_ to ImageState 2017-12-18 10:51:21 +01:00
Frederic Junod
3e262b4c6b Rename _ol_MapEventType_ to MapEventType 2017-12-18 10:50:52 +01:00
Frederic Junod
64e7ae6eb8 Rename _ol_CollectionEventType_ to CollectionEventType 2017-12-18 10:50:52 +01:00
Frédéric Junod
4275a66b49 Merge pull request #7622 from fredj/named_export
Named export
2017-12-18 10:50:39 +01:00
Frederic Junod
9349ba5403 Named export for ol/asserts 2017-12-18 10:33:41 +01:00
Frederic Junod
7202573f82 Named export for ol/featureloader 2017-12-18 10:33:41 +01:00
Frederic Junod
a7b743da07 Rename _ol_TileRange_ to TileRange 2017-12-18 10:33:41 +01:00
Frédéric Junod
72319c0b52 Merge pull request #7624 from fredj/rm_eslint_ol_plugin
Remove eslint-plugin-openlayers-internal rules
2017-12-18 09:55:25 +01:00
Frederic Junod
df1c34d0ad Remove 'goog' from eslint globals 2017-12-18 09:05:08 +01:00
Frederic Junod
9f6c5e139f Remove eslint-plugin-openlayers-internal rules 2017-12-18 08:42:39 +01:00
Frédéric Junod
a725aafa24 Merge pull request #7625 from fredj/named_export_control_interaction_defaults
Named export for ol/control and ol/interaction
2017-12-18 08:41:20 +01:00
Frédéric Junod
61e9307002 Merge pull request #7623 from fredj/named_export_tileurlfunction
Named export for ol/tileurlfunction
2017-12-18 08:36:24 +01:00
Frederic Junod
f23590a479 Named export for ol/interaction 2017-12-17 19:05:05 +01:00
Frederic Junod
da67764437 Named export for ol/control 2017-12-17 18:53:50 +01:00
Frederic Junod
3cc63c4767 Named export for ol/tileurlfunction
And change module name from ol/TileUrlFunction to ol/tileurlfunction
2017-12-17 18:32:43 +01:00
Frédéric Junod
db3e885076 Merge pull request #7621 from fredj/use_Clipboard.js
Replace ZeroClipboard with Clipboard.js
2017-12-17 17:36:30 +01:00
Tim Schaub
1c3130d846 Merge pull request #7620 from tschaub/rename
Rename variables in format modules
2017-12-17 02:40:29 -07:00
Tim Schaub
3371ae86c1 Rename _ol_format_XSD_ to XSD 2017-12-17 02:25:01 -07:00
Tim Schaub
06772567d5 Rename _ol_format_XMLFeature_ to XMLFeature 2017-12-17 02:24:18 -07:00
Tim Schaub
02fb48e15d Rename _ol_format_XML_ to XML 2017-12-17 02:23:17 -07:00
Tim Schaub
2aeef0b120 Rename _ol_format_XLink_ to KXLink 2017-12-17 02:22:12 -07:00
Tim Schaub
53cc0ad3ff Rename _ol_format_WMSCapabilities_ to WMSCapabilities 2017-12-17 02:20:45 -07:00
Tim Schaub
ded5c0d863 Rename _ol_format_WMSCapabilities_ to WMSCapabilities 2017-12-17 02:19:54 -07:00
Tim Schaub
9889370c08 Rename _ol_formnat_WKT_ to WKT 2017-12-17 02:18:33 -07:00
Tim Schaub
c6650285f5 Rename _ol_format_WFS_ to WFS 2017-12-17 02:09:04 -07:00
Tim Schaub
f2e8d39d1f Rename _ol_format_TopoJSON_ to TopoJSON 2017-12-17 02:07:34 -07:00
Tim Schaub
cc08dcd2ca Rename _ol_format_TextFeature_ to TextFeature 2017-12-17 02:06:43 -07:00
Tim Schaub
2e98eec48d Rename _ol_format_Polyline_ to Polyline 2017-12-17 02:05:46 -07:00
Tim Schaub
1527f04db3 Rename _ol_format_OWS_ to OWS 2017-12-17 02:04:43 -07:00
Tim Schaub
a2d2f5e611 Rename _ol_format_OSMXML_ OSMXML 2017-12-17 02:03:21 -07:00
Tim Schaub
cdf7b3276b Rename _ol_format_MVT_ to MVT 2017-12-17 02:00:48 -07:00
Tim Schaub
e77ef118ea Rename _ol_format_KML_ to KML 2017-12-17 01:58:24 -07:00
Frédéric Junod
4fab991cdf Merge pull request #7619 from fredj/more_rename
More variable renaming
2017-12-17 09:57:49 +01:00
Tim Schaub
b908361895 Rename _ol_format_JSONFeature_ to JSONFeature 2017-12-17 01:56:20 -07:00
Tim Schaub
04230086a4 Rename _ol_format_IGC_ to IGC 2017-12-17 01:53:48 -07:00
Frederic Junod
599d3b6c0c Replace ZeroClipboard with Clipboard.js 2017-12-17 09:53:42 +01:00
Tim Schaub
55ab1bc24a Rename _ol_format_GPX_ to GPX 2017-12-17 01:52:40 -07:00
Tim Schaub
30f10b743a Rename _ol_format_GMLBase_ to GMLBase 2017-12-17 01:51:11 -07:00
Tim Schaub
f8610190bb Rename _ol_format_GML2_ to GML2 2017-12-17 01:48:47 -07:00
Tim Schaub
fc690bf063 Rename _ol_format_GML3_ to GML3 2017-12-17 01:47:08 -07:00
Tim Schaub
8656e794ff Rename _ol_format_GeoJSON_ to GeoJSON 2017-12-17 01:42:56 -07:00
Tim Schaub
96a05fa0ed Rename _ol_format_Feature_ to FeatureFormat 2017-12-17 01:41:11 -07:00
Tim Schaub
b648f4b7e1 Rename _ol_format_EsriJSON_ to EsriJSON 2017-12-17 01:39:08 -07:00
Frederic Junod
23277606d4 Rename _ol_TileQueue_ to TileQueue 2017-12-17 09:12:58 +01:00
Frederic Junod
f4305de074 Rename _ol_TileCache_ to TileCache 2017-12-17 09:12:58 +01:00
Frederic Junod
f96a94fbcd Rename _ol_structs_PriorityQueue_ to PriorityQueue 2017-12-17 09:04:53 +01:00
Frederic Junod
e887b5012b Rename _ol_structs_LRUCache_ to LRUCache 2017-12-17 09:00:48 +01:00
Frederic Junod
ed79ec9b2e Rename _ol_structs_LinkedList_ to LinkedList 2017-12-17 08:58:15 +01:00
Frederic Junod
56163c5f37 Rename _ol_structs_RBush_ to RBush 2017-12-17 08:55:43 +01:00
Frédéric Junod
8e01078492 Merge pull request #7612 from fredj/_ol_ext_import
Better import name for _ol_ext_* import
2017-12-17 08:17:05 +01:00
Frédéric Junod
98891c0c12 Merge pull request #7611 from fredj/olx_Sphere
Change olx.SphereMetricOptions to SphereMetricOptions
2017-12-17 08:16:43 +01:00
Tim Schaub
60eddb233b Merge pull request #7615 from tschaub/no-logo
Remove logos
2017-12-16 08:52:31 -07:00
Tim Schaub
b7e9b8b461 Remove logos 2017-12-16 08:46:50 -07:00
Frederic Junod
22ed6a8a2f Better import name for _ol_ext_* import 2017-12-16 09:07:13 +01:00
Frédéric Junod
9a3d7eedc4 Merge pull request #7610 from fredj/better_names
More variable renaming
2017-12-16 08:54:47 +01:00
Frederic Junod
7323e180f4 Change olx.SphereMetricOptions to SphereMetricOptions
Leftover from #7609
2017-12-16 08:32:33 +01:00
Frederic Junod
3f3e412d10 Rename _ol_AssertionError_ to AssertionError 2017-12-16 08:25:52 +01:00
Frederic Junod
e3bf72f90e Rename _ol_Geolocation_ to Geolocation 2017-12-16 08:15:59 +01:00
Frederic Junod
bf6a18dfc4 Rename _ol_Graticule_ to Graticule 2017-12-16 08:11:54 +01:00
Frederic Junod
935133755e Rename _ol_Kinetic_ to Kinetic 2017-12-16 08:06:48 +01:00
Tim Schaub
44faf4462c Merge pull request #7609 from tschaub/olx-part-1
Redistribute a few types and docs
2017-12-15 23:39:44 -07:00
Tim Schaub
98959b224d Redistribute a few types and docs 2017-12-15 23:10:53 -07:00
Andreas Hocevar
114172d66c Merge pull request #7598 from ahocevar/proj4
Modular proj4 integration
2017-12-16 01:39:45 +01:00
Andreas Hocevar
5c5664ec30 Use proj4 from the proj4 package instead of the global 2017-12-16 01:27:43 +01:00
Andreas Hocevar
9f1ebbb852 Add and use new proj4.register function 2017-12-15 19:17:29 +01:00
Andreas Hocevar
345ce340e4 Named exports for ol/proj/transforms 2017-12-15 18:48:10 +01:00
Tim Schaub
4fca41e83e Merge pull request #7607 from tschaub/rename-interaction-variables
Rename interaction variables
2017-12-15 10:02:39 -07:00
Marc Jansen
4868098495 Rename _ol_interaction_Draw_ to Draw 2017-12-15 09:43:58 -07:00
Marc Jansen
b92118b5ab Rename _ol_interaction_DragZoom_ to DragZoom 2017-12-15 09:42:55 -07:00
Marc Jansen
ea08212df6 Rename _ol_interaction_DragRotateAndZoom_ to DragRotateAndZoom 2017-12-15 09:42:55 -07:00
Marc Jansen
3a933df1f1 Rename _ol_interaction_DragRotate_ to DragRotate 2017-12-15 09:42:55 -07:00
Marc Jansen
de6006c6e2 Rename _ol_interaction_DragPan_ to DragPan 2017-12-15 09:42:55 -07:00
Marc Jansen
5d688d2417 Rename _ol_interaction_DragBox_ to DragBox 2017-12-15 09:42:55 -07:00
Marc Jansen
41d417b0fc Rename _ol_interaction_DragAndDrop_ to DragAndDrop 2017-12-15 09:41:32 -07:00
Marc Jansen
66c5f9b63d Rename _ol_interaction_DoubleClickZoom_ to DoubleClickZoom 2017-12-15 09:39:10 -07:00
Marc Jansen
4a1d50730b Rename _ol_interaction_Interaction_ to Interaction 2017-12-15 09:39:10 -07:00
Tim Schaub
aa630c3682 Merge pull request #7599 from marcjansen/rename-event-variables
Rename event variables
2017-12-15 09:23:19 -07:00
Frédéric Junod
d99fee5dac Merge pull request #7605 from fredj/nicer_name
Better import and class name in ol/format/filter/
2017-12-15 16:44:20 +01:00
Marc Jansen
c620688758 Rename _ol_events_EventTarget_ to EventTarget 2017-12-15 16:19:03 +01:00
Marc Jansen
5199371b9f Rename _ol_MapBrowserEventHandler_ to MapBrowserEventHandler 2017-12-15 16:19:03 +01:00
Marc Jansen
479c7a4668 Rename _ol_events_EventType_ to EventType 2017-12-15 16:19:03 +01:00
Marc Jansen
ec64789940 Rename _ol_MapBrowserPointEvent_ to MapBrowserPointerEvent 2017-12-15 16:18:32 +01:00
Marc Jansen
039bde29cc Rename _ol_MapBrowserEventType_ to MapBrowserEventType 2017-12-15 16:18:32 +01:00
Marc Jansen
465c248572 Rename _ol_MapBrowserEvent_ to MapBrowserEvent 2017-12-15 16:17:56 +01:00
Marc Jansen
a01793d3af Rename _ol_MapEvent_ to MapEvent 2017-12-15 16:17:56 +01:00
Marc Jansen
1cc682e488 Rename _ol_events_Event_ to Event 2017-12-15 16:17:56 +01:00
Frederic Junod
17512d282a Better import and class name in ol/format/filter/ 2017-12-15 16:14:07 +01:00
Frédéric Junod
9622c64bc6 Merge pull request #7604 from fredj/ne_functions
Named exports from ol/functions
2017-12-15 16:12:42 +01:00
Frédéric Junod
c27aac20b7 Merge pull request #7603 from fredj/simplify_export_default
Simplify default export
2017-12-15 16:12:29 +01:00
Frederic Junod
0bc28323c8 Simplify default export
This removes unnecessary variable declarations where the default object is an object.
2017-12-15 15:21:25 +01:00
Frédéric Junod
4c5f570e86 Merge pull request #7602 from fredj/rm_DEVICE_ORIENTATION
Remove now unused DEVICE_ORIENTATION
2017-12-15 15:02:52 +01:00
Frederic Junod
2498bba90a Named exports from ol/functions 2017-12-15 13:44:32 +01:00
Frédéric Junod
75ea4d3e9a Merge pull request #7597 from fredj/named_export
More es6 named export
2017-12-15 10:48:44 +01:00
Frederic Junod
02649e2b70 Remove now unused DEVICE_ORIENTATION 2017-12-15 10:45:29 +01:00
Marc Jansen
27c1867701 Merge pull request #7600 from marcjansen/simpler-default-export
Simplify default export of ol/events/KeyCode
2017-12-15 10:44:03 +01:00
Frederic Junod
92bbec294c Rename 'ol/vec/Mat4' module to 'ol/vec/mat4' 2017-12-15 10:36:32 +01:00
Marc Jansen
f093f594d5 Simplify default export of ol/events/KeyCode 2017-12-15 09:56:50 +01:00
Frederic Junod
6e83a15bd6 Named exports from ol/colorlike 2017-12-15 08:51:18 +01:00
Frederic Junod
a32aebfb3a Named exports from ol/vec/Mat4 2017-12-15 08:43:37 +01:00
Tim Schaub
10d7884643 Merge pull request #7594 from tschaub/rename-controls
Rename control variables
2017-12-14 14:06:36 -07:00
Tim Schaub
6b058ce2bf Merge pull request #7596 from openlayers/greenkeeper/karma-webpack-2.0.9
Update karma-webpack to the latest version 🚀
2017-12-14 13:19:44 -07:00
greenkeeper[bot]
1aecdbbbbb chore(package): update karma-webpack to version 2.0.9 2017-12-14 20:10:08 +00:00
Tim Schaub
6b859f17ae Rename _ol_control_ZoomToExtent_ to ZoomToExtent 2017-12-14 13:08:48 -07:00
Tim Schaub
7a9a3651e1 Rename _ol_control_ZoomSlider_ to ZoomSlider 2017-12-14 13:08:14 -07:00
Tim Schaub
fb8fb42d81 Rename _ol_control_Zoom_ to Zoom 2017-12-14 13:07:36 -07:00
Tim Schaub
4200f8e73e Rename _ol_control_ScaleLineUnits_ to ScaleLineUnits 2017-12-14 13:06:52 -07:00
Tim Schaub
b79ead82d2 Rename _ol_control_ScaleLine_ to ScaleLine 2017-12-14 13:05:18 -07:00
Tim Schaub
6e5171f559 Rename _ol_control_Rotate_ to Rotate 2017-12-14 13:02:20 -07:00
Tim Schaub
6aaac599e0 Rename _ol_control_OverviewMap_ to OverviewMap 2017-12-14 13:01:37 -07:00
Tim Schaub
79c61ed1a0 Rename _ol_control_MousePosition_ to MousePosition 2017-12-14 12:59:46 -07:00
Tim Schaub
d9f8667d2b Rename _ol_control_FullScreen_ to FullScreen 2017-12-14 12:58:47 -07:00
Tim Schaub
681f1285f8 Rename _ol_control_Control_ to Control 2017-12-14 12:57:49 -07:00
Tim Schaub
46e5755f40 Rename _ol_control_Attribution_ to Attribution 2017-12-14 12:57:42 -07:00
Tim Schaub
b74203b846 Merge pull request #7593 from tschaub/simplify_export_default
Simplify default export
2017-12-14 12:48:59 -07:00
Frederic Junod
2ca60292bb Simplify default export 2017-12-14 12:23:06 -07:00
Tim Schaub
a01e0583ea Merge pull request #7591 from tschaub/rename-geometry
Rename geometry variables
2017-12-14 12:18:32 -07:00
Tim Schaub
fca8b13ddd Rename _ol_geom_SimpleGeometry_ to SimpleGeometry 2017-12-14 09:03:51 -07:00
Tim Schaub
64a0d40361 Rename _ol_geom_LinearRing_ to LinearRing 2017-12-14 09:01:39 -07:00
Tim Schaub
504368369c Rename _ol_geom_GeometryType_ to GeometryType 2017-12-14 09:00:57 -07:00
Tim Schaub
2be36c375d Rename _ol_geom_GeometryLayout_ to GeometryLayout 2017-12-14 09:00:20 -07:00
Tim Schaub
4ea0af87df Rename _ol_geom_GeometryCollection_ to GeometryCollection 2017-12-14 08:59:35 -07:00
Tim Schaub
87e665d60e Rename _ol_geom_Geometry_ to Geometry 2017-12-14 08:58:46 -07:00
Tim Schaub
ac7985a5ad Rename _ol_geom_Circle_ to Circle 2017-12-14 08:57:52 -07:00
Tim Schaub
9d396280b0 Rename _ol_geom_MultiPolygon_ to MultiPolygon 2017-12-14 08:56:51 -07:00
Tim Schaub
c502f016f7 Rename _ol_geom_Polygon_ to Polygon 2017-12-14 08:56:12 -07:00
Tim Schaub
3c78cb7872 Rename _ol_geom_MultiLineString_ to MultiLineString 2017-12-14 08:55:33 -07:00
Tim Schaub
f7b3876c1b Rename _ol_geom_LineString_ to LineString 2017-12-14 08:54:53 -07:00
Tim Schaub
ad5806c29d Rename _ol_geom_MultiPoint_ to MultiPoint 2017-12-14 08:51:53 -07:00
Tim Schaub
eadec38ae2 Rename _ol_geom_Point_ to Point 2017-12-14 08:49:10 -07:00
Frédéric Junod
75c5a8b246 Merge pull request #7589 from openlayers/greenkeeper/karma-webpack-2.0.8
chore(package): update karma-webpack to version 2.0.8
2017-12-14 13:33:06 +01:00
Frédéric Junod
083d48b9cb Merge pull request #7586 from fredj/ne_dom
Named exports from ol/dom
2017-12-14 13:29:36 +01:00
Andreas Hocevar
de1b5d459c Merge pull request #7581 from tschaub/proj
Named exports from ol/proj
2017-12-14 13:23:07 +01:00
greenkeeper[bot]
88337723c5 chore(package): update karma-webpack to version 2.0.8
Closes #7583
2017-12-14 12:11:35 +00:00
Tim Schaub
63a5477479 Tolerate disconnects 2017-12-14 13:08:40 +01:00
Tim Schaub
6f72ffe498 Named exports from ol/proj 2017-12-14 13:08:40 +01:00
Frederic Junod
f6627c4d4e Named exports from ol/dom 2017-12-14 12:27:09 +01:00
Frédéric Junod
fab77e8d37 Merge pull request #7585 from fredj/rm_olx.animation
Remove leftovers olx.animation typedefs
2017-12-14 12:17:24 +01:00
Frederic Junod
6077d7c0f1 Remove leftovers olx.animation typedefs 2017-12-14 12:12:11 +01:00
Frédéric Junod
e77490645b Merge pull request #7584 from fredj/ne_easing
Named exports from ol/easing
2017-12-14 12:11:37 +01:00
Frederic Junod
6451d37570 Set Chrome version to 62.0 in SauceLab config 2017-12-14 11:33:09 +01:00
Frederic Junod
061e0b6618 Named exports from ol/easing 2017-12-14 08:56:38 +01:00
Tim Schaub
e2c9175f6d Merge pull request #7582 from ahocevar/no-extent-default-export
Remove default export from ol/extent
2017-12-13 22:24:53 -07:00
Tim Schaub
4a2d711fb7 Merge pull request #7580 from tschaub/no-default
No default export from lowercase modules
2017-12-13 22:17:17 -07:00
Andreas Hocevar
5a4887e300 Remove default export from ol/extent 2017-12-13 22:05:10 +01:00
Tim Schaub
6ed56b5de1 Merge pull request #7575 from ahocevar/named-exports-extent
Add named exports for extent
2017-12-13 09:34:44 -07:00
Tim Schaub
53da372d0a No default export from lowercase modules 2017-12-13 09:11:06 -07:00
Andreas Hocevar
fd8ec6485c Merge pull request #7579 from mbleichner/fix-blank-tiles
VectorImageTile: call changed() before removing listeners on dispose
2017-12-13 14:20:30 +01:00
Andreas Hocevar
c0c43bca84 Use named imports from extent 2017-12-13 14:05:42 +01:00
Manuel Bleichner
2060258a15 VectorImageTile: call changed() before removing listeners on dispose 2017-12-13 13:49:52 +01:00
Andreas Hocevar
7247ccbf38 Remove variable for Corner and Relationship 2017-12-13 13:49:10 +01:00
Andreas Hocevar
01f6e90828 Add named exports for extent 2017-12-13 13:49:10 +01:00
Tim Schaub
6e6b0b08fb Merge pull request #7578 from tschaub/undeprecated
Remove deprecated functionality from 4.x
2017-12-13 05:31:51 -07:00
Tim Schaub
37b849a059 Merge pull request #7577 from tschaub/ol-index-todos
Redistribute things in ol/index.js
2017-12-13 05:31:11 -07:00
Tim Schaub
453ddd76b3 Remove ol/source/ImageVector 2017-12-12 19:38:06 -07:00
Tim Schaub
d04b25403d Clean up filters 2017-12-12 19:36:35 -07:00
Tim Schaub
72ff21e01f Remove exceedLength 2017-12-12 19:29:42 -07:00
Tim Schaub
7e3d44e35a Remove ol/Attribution 2017-12-12 19:27:23 -07:00
Tim Schaub
ac6b3fb908 Remove device orientation 2017-12-12 19:17:51 -07:00
Tim Schaub
bb48b09920 Remove ol/proj/common 2017-12-12 19:13:05 -07:00
Tim Schaub
ea6a397647 Add remaining TODOs 2017-12-12 17:42:48 -07:00
Tim Schaub
ed5b28f366 Move DEFAULT_WMS_VERSION to a common source module 2017-12-12 17:42:44 -07:00
Tim Schaub
f403a06967 Move ENABLE_RASTER_REPROJECTION to a temporary place 2017-12-12 17:30:59 -07:00
Tim Schaub
ee5507cae8 Remove ENABLE_PROJ4JS 2017-12-12 17:26:01 -07:00
Tim Schaub
9e34c145c3 Remove ENABLE_WEBGL 2017-12-12 17:21:42 -07:00
Tim Schaub
755619fa87 Remove ENABLE_CANVAS 2017-12-12 17:18:41 -07:00
Tim Schaub
0a12ca690f Remove ASSUME_TOUCH 2017-12-12 17:15:50 -07:00
Tim Schaub
8bf00cbfb7 Move raster reprojection error threshold to a common reproj module 2017-12-12 17:15:46 -07:00
Tim Schaub
b8ab1ff852 Move simplify tolerance to the vector renderer 2017-12-12 16:54:01 -07:00
Tim Schaub
60f6736360 Move max subdivision and max triangle width to triangulation module 2017-12-12 16:54:01 -07:00
Tim Schaub
4b0dad27f5 Move min and max ratios to the overview map control 2017-12-12 16:54:01 -07:00
Tim Schaub
34c132a67e Move MOUSEWHEELZOOM_MAXDELTA to the mouse wheel zoom interaction 2017-12-12 16:54:01 -07:00
Tim Schaub
7725bc37bc Move WEBGL_TEXTURE_CACHE_HIGH_WATER_MARK to the WebGL map renderer 2017-12-12 16:54:01 -07:00
Tim Schaub
6afd7b4783 Move things specific to the atlas manager to AtlasManager.js 2017-12-12 16:54:01 -07:00
Tim Schaub
c40d9634bb Move DEFAULT_MIN_ZOOM to the one place it is used 2017-12-12 16:54:01 -07:00
Tim Schaub
f2752eb01e Common tilegrid exports 2017-12-12 16:53:57 -07:00
Tim Schaub
e652e4658c Merge pull request #7576 from tschaub/named-exports-ol
Named exports from ol/index.js
2017-12-12 15:59:35 -07:00
Tim Schaub
87295a74dd Use named exports from ol/index.js 2017-12-12 12:34:23 -07:00
Tim Schaub
fce644556b Merge pull request #7570 from tschaub/es-modules
Transform sources to ES modules
2017-12-12 06:05:48 -08:00
Tim Schaub
50737f7f73 Remove unused code, get tests passing on Travis 2017-12-12 06:58:02 -07:00
Tim Schaub
b0c0166e9b Preprocess test scripts with webpack 2017-12-12 06:56:19 -07:00
Tim Schaub
4515b8fe70 Remove dev/prod switcher from examples (all have sourcemaps now) 2017-12-12 06:56:19 -07:00
Tim Schaub
8a9bbd6264 Separate example scripts for dev and prod 2017-12-12 06:56:19 -07:00
Tim Schaub
93411a2b91 Script to build examples 2017-12-12 06:55:17 -07:00
Tim Schaub
7f47883c48 Transformed 2017-12-12 06:53:18 -07:00
Tim Schaub
1cdb6a66f0 Imports cased like the filename 2017-12-12 06:53:17 -07:00
Frédéric Junod
46fd03047b Merge pull request #7571 from openlayers/greenkeeper/eslint-4.13.1
Update eslint to the latest version 🚀
2017-12-12 08:27:38 +01:00
greenkeeper[bot]
07d2ae9256 chore(package): update eslint to version 4.13.1 2017-12-11 23:49:52 +00:00
Tim Schaub
22502d5cf6 Merge pull request #7567 from openlayers/greenkeeper/fs-extra-5.0.0
Update fs-extra to the latest version 🚀
2017-12-11 15:23:50 -08:00
Tim Schaub
a7cfa352d5 Merge pull request #7569 from tschaub/extra-require
Remove unnecessary require
2017-12-11 12:30:03 -08:00
Andreas Hocevar
0c707eeb58 Merge pull request #7568 from ahocevar/remove-unused-proj
Remove unneeded configs from test
2017-12-11 21:26:46 +01:00
Andreas Hocevar
4365e19727 Remove unneeded configs from test 2017-12-11 21:13:31 +01:00
Tim Schaub
6a1699cfd9 Remove unnecessary require 2017-12-11 13:13:20 -07:00
Tim Schaub
f8b59fe3d7 Merge pull request #7566 from tschaub/missing-new
Proper projection construction
2017-12-11 10:30:07 -08:00
Tim Schaub
7822864ab3 Proper projection construction 2017-12-11 10:51:24 -07:00
greenkeeper[bot]
a3c90e9a4b fix(package): update fs-extra to version 5.0.0 2017-12-11 17:41:00 +00:00
Andreas Hocevar
c1dac5f26e Merge pull request #7565 from openlayers/release-v4.6.4
Release v4.6.4
2017-12-11 12:11:03 +01:00
Andreas Hocevar
72ca7b28c6 Update package version to 4.6.4 2017-12-11 11:31:38 +01:00
Andreas Hocevar
f11d55fde6 Changelog for v4.6.4 2017-12-11 11:29:50 +01:00
Andreas Hocevar
48217bc218 Handle skipping and unskipping features with renderMode: 'image' 2017-12-11 11:23:34 +01:00
Andreas Hocevar
b66c0941f5 Merge pull request #7563 from ahocevar/declutter-box-precision
Use full precision for the declutter box
2017-12-11 10:51:31 +01:00
Andreas Hocevar
a2d41da30f Use full precision for the declutter box 2017-12-11 10:18:46 +01:00
Andreas Hocevar
5f0280eab4 Merge pull request #7559 from ahocevar/unskip-image-features
Handle skipping and unskipping features with renderMode: 'image'
2017-12-11 09:28:24 +01:00
Andreas Hocevar
72ec41f890 Merge pull request #7562 from ahocevar/no-confusing-proj-code
Remove unused, confusing projection code
2017-12-11 09:27:43 +01:00
Andreas Hocevar
ad756d4054 Remove unused, confusing projection code 2017-12-11 09:14:48 +01:00
Andreas Hocevar
3e8ab15188 Merge pull request #7558 from openlayers/greenkeeper/eslint-4.13.0
Update eslint to the latest version 🚀
2017-12-10 23:57:13 +01:00
Andreas Hocevar
e318b63dff Handle skipping and unskipping features with renderMode: 'image' 2017-12-10 23:54:46 +01:00
greenkeeper[bot]
a99f1e8954 chore(package): update eslint to version 4.13.0 2017-12-08 22:28:54 +00:00
Andreas Hocevar
406a02e786 Merge pull request #7555 from openlayers/release-v4.6.3
Release v4.6.3
2017-12-08 11:28:46 +01:00
Andreas Hocevar
c07babb4e8 Merge pull request #7554 from ahocevar/imagemode-shortcut
Only compose image vector frame when the replay group has changed
2017-12-08 11:08:44 +01:00
Andreas Hocevar
4d971029f9 Only compose image vector frame when the replay group has changed 2017-12-08 10:53:45 +01:00
Frédéric Junod
3fdf1e2bc7 Merge pull request #7552 from openlayers/greenkeeper/jscodeshift-0.4.0
Update jscodeshift to the latest version 🚀
2017-12-07 16:19:42 +01:00
Frédéric Junod
055055687c Merge pull request #7551 from openlayers/greenkeeper/sinon-4.1.3
Update sinon to the latest version 🚀
2017-12-07 16:08:08 +01:00
greenkeeper[bot]
7d389926a2 chore(package): update jscodeshift to version 0.4.0 2017-12-07 14:45:48 +00:00
greenkeeper[bot]
b53d729592 chore(package): update sinon to version 4.1.3 2017-12-07 13:37:12 +00:00
Frédéric Junod
46bb2438a8 Merge pull request #7550 from fredj/d3_example_v4
Update examples to d3.js v4
2017-12-07 13:35:01 +01:00
Frederic Junod
99a5c2d7cb Update examples to d3.js v4 2017-12-07 12:20:37 +01:00
Andreas Hocevar
1a2052b2b4 Merge pull request #7548 from openlayers/fix-pull-request-link
Fix pull request link
2017-12-07 10:33:06 +01:00
Andreas Hocevar
16c5fe27e3 Fix pull request link 2017-12-07 09:18:11 +01:00
Andreas Hocevar
5740acd0dd Merge pull request #7547 from openlayers/release-v4.6.2
Release v4.6.2
2017-12-07 08:56:56 +01:00
Andreas Hocevar
c8f6c474bb Merge pull request #7546 from ahocevar/vector-extent
Do not request features for wrapped extent
2017-12-07 08:29:01 +01:00
Andreas Hocevar
8135bd43a6 Revert "Merge pull request #7530 from raiyni/crossing-dateline"
This reverts commit fca0b0771d, reversing
changes made to c3db3e2f6f.
2017-12-07 00:08:59 +01:00
Andreas Hocevar
69ce6975dc Make sure we do not request features for wrapped extent 2017-12-07 00:08:59 +01:00
Andreas Hocevar
ce555e5083 Merge pull request #7545 from openlayers/release-v4.6.1
Release v4.6.1
2017-12-06 22:06:36 +01:00
Andreas Hocevar
e7bb4373ca Merge pull request #7543 from ahocevar/interiorpoint-donut
Donut polygon labels do not get a chance to get rendered
2017-12-06 21:28:12 +01:00
Andreas Hocevar
88fac957af Merge pull request #7542 from ahocevar/overflow
Still respect deprecated exceedLength option
2017-12-06 21:07:38 +01:00
Andreas Hocevar
046d827784 Make interiorpoint work with donut polygons 2017-12-06 20:23:18 +01:00
Andreas Hocevar
016437f9f4 Still respect deprecated exceedLength option 2017-12-06 17:53:54 +01:00
Andreas Hocevar
e83519b3b9 Merge pull request #7541 from ahocevar/vectorrendertype-case
Fix case of vectorrendertype.js
2017-12-06 17:43:58 +01:00
Andreas Hocevar
dad5cb6166 Fix case of vectorrendertype.js 2017-12-06 17:14:51 +01:00
Lukas Drgon
2fa4d4bd8a Add jsDelivr hits badge 2017-10-15 18:36:14 +02:00
1218 changed files with 91087 additions and 111135 deletions

View File

@@ -1,3 +1,4 @@
examples/Jugl.js
examples/resources/
build/package/**/*webgl*
config/jsdoc/api/template/static/scripts/

View File

@@ -1,8 +1,9 @@
<!--
Thank you for your interest in making OpenLayers better!
To keep this project manageable for maintainers, we ask you to please check all boxes below before submitting an issue.
If you are reporting a bug, please link to an example that reproduces the problem. This will make it easier for people who may want to help you debug.
- [ ] I am submitting a bug or feature request, not a usage question. Go to https://stackoverflow.com/questions/tagged/openlayers for questions.
- [ ] I have searched GitHub to see if a similar bug or feature request has already been reported.
- [ ] I have verified that the issue is present in the latest version of OpenLayers (see 'LATEST' on https://openlayers.org/).
- [ ] If reporting a bug, I have created a [CodePen](https://codepen.io) or prepared a stack trace (using the latest version and unminified code, so e.g. `ol-debug.js`, not `ol.js`) that shows the issue.
If you have a usage question, you might want to try Stack Overflow first: https://stackoverflow.com/questions/tagged/openlayers
Thanks
-->

View File

@@ -1,9 +1,13 @@
<!--
Thank you for your interest in making OpenLayers better!
In order to get your proposed changes merged into the master branch, we ask you to please make sure the following boxes are checked *before* submitting your pull request.
Before submitting a pull request, it is best to open an issue describing the bug you are fixing or the feature you are proposing to add.
- [ ] This pull request addresses an issue that has been marked with the 'Pull request accepted' label & I have added the link to that issue.
- [ ] It contains one or more small, incremental, logically separate commits, with no merge commits.
- [ ] I have used clear commit messages.
- [ ] Existing tests pass for me locally & I have added or updated tests for new or changed functionality.
- [ ] The work herein is covered by a valid [Contributor License Agreement (CLA)](https://github.com/openlayers/cla).
Here are some other tips that make pull requests easier to review:
* Commits in the branch are small and logically separated (with no unnecessary merge commits).
* Commit messages are clear.
* Existing tests pass, new functionality is covered by new tests, and fixes have regression tests.
Thanks
-->

2
.gitignore vendored
View File

@@ -1,4 +1,4 @@
/build/
/coverage/
/dist/
/node_modules/
node_modules/

View File

@@ -1 +0,0 @@
/build/

View File

@@ -1,14 +1,9 @@
sudo: false
language: node_js
node_js:
- '8'
cache:
directories:
- node_modules
before_script:
- rm src/ol/renderer/webgl/*shader.js
- rm src/ol/renderer/webgl/*shader/locations.js
script: make ci
after_success:
- cat coverage/lcov.info | coveralls
branches:

View File

@@ -31,12 +31,7 @@ This page describes what you need to know to contribute code to OpenLayers as a
## 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).
Your contribution will be under our [license](https://raw.githubusercontent.com/openlayers/openlayers/master/LICENSE.md) as per [GitHub's terms of service](https://help.github.com/articles/github-terms-of-service/#6-contributions-under-repository-license).
## Pull request guidelines
@@ -60,66 +55,6 @@ Your pull request must:
* Be possible to merge automatically.
### The `check` build target
It is strongly recommended that you run
$ make 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's coding style
OpenLayers follows [Google's JavaScript Style
Guide](https://google.github.io/styleguide/javascriptguide.xml).
This is checked using [ESLint](http://eslint.org/), you
can run the linter locally on your machine before committing using the `lint`
target:
$ make lint
In addition to fixing problems identified by the linter, please also follow the
style of the existing OpenLayers 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.
* Use uppercase for `@const` variables.
### Configure your editor
If possible, configure your editor to follow the coding conventions of the
library. A `.editorconfig` file is included at the root of the repository that
can be used to configure whitespace and charset handling in your editor. See
that file for a description of the conventions. The [EditorConfig](
http://editorconfig.org/#download) site links to plugins for various editors.
### 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 style and does not break tests or examples. You
can run the integration tests locally using the `ci` target:
$ make ci
### Address a single issue or add a single item of functionality
Please submit separate pull requests for separate issues. This allows each to
@@ -173,33 +108,3 @@ 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.
## Building on Windows
Most developers build on Linux. Building on Windows is possible under Cygwin.
When installing Cygwin from https://www.cygwin.com/, include the developer
tools to get GNU make.
First (before npm install), to avoid file permission problems between Windows
and Cygwin, edit Cygwin's /etc/fstab file to disable ACLs like this
`none /cygdrive cygdrive binary,noacl,posix=0,user 0 0`
Python is normally installed with Cygwin so need not be installed separately.
By default Cygwin will use its own version of Python rather than Window's,
so the Python modules should be installed for Cygwin's Python.
The build targets `check-deps`, `serve`, `lint`, `build`, `test`, `check` and
`host-examples` described above should all work. `host-examples` takes quite a
while to run. If a target does not run properly first time, try it again.
Currently, Firefox fails to run http://localhost:3000/build/examples
from make serve, but Chrome and Internet Explorer will.
Microsoft Visual Studio's javascript debugger may be used to debug the
build/hosted/your-branch/examples. It will be convenient to set
build/hosted/your-branch/examples/index.html as the startup page.
Your OpenLayers source tree need not be under the Cygwin root.
if you checkout to c:/openlayers then you can build under Cygwin at /cygdrive/c/openlayers .
However, keep the path to the OpenLayers files short otherwise you may see
`ENAMETOOLONG` errors.

View File

@@ -15,103 +15,32 @@ pull requests will not be merged.
The minimum requirements are:
* GNU Make
* Git
* [Node.js](http://nodejs.org/) (version 8 and above)
* Python 2.6 or 2.7
* Java 7 (JRE and JDK)
The executables `git`, `node`, and `java` should be in your `PATH`.
You can check your configuration by running:
$ make check-deps
The executables `git` and `node` should be in your `PATH`.
To install the Node.js dependencies run
$ npm install
## Working with the build tool
As an OpenLayers developer you will use `make` to run build targets defined in the
`Makefile` located at the root of the repository. The `Makefile` includes
targets for running the linter, the compiler, the tests, etc.
The usage of `make` is as follows:
$ make <target>
where `<target>` is the name of the build target you want to execute. For
example:
$ make 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 OpenLayers's [Travis configuration file](https://github.com/openlayers/openlayers/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:
$ make 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:
$ make serve
$ npm run serve-examples
Then, just point your browser <http://localhost:3000/build/examples> in your browser. For example <http://localhost:3000/build/examples/side-by-side.html>.
Run examples against the `ol.js` standalone build:
The examples can also be run against the `ol.js` standalone build, just like
the examples [hosted](https://openlayers.org/en/master/examples/) on GitHub.
Start by executing the `host-examples` build target:
$ make host-examples
After running `host-examples` you can now open the examples index page in the browser: <http://localhost:3000/build/hosted/master/examples/>. (This assumes that you still have the dev server running.)
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).
Then, load <http://localhost:8080/> in your browser.
## Running tests
To run the tests in a browser start the dev server (`make serve`) and open <http://localhost:3000/test/index.html> in the browser.
To run the tests once:
To run the tests on the console (headless testing with PhantomJS) use the `test` target:
$ npm test
$ make test
To run the tests continuously during development:
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:
$ make 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.
$ npm run karma
## Adding examples
@@ -123,14 +52,3 @@ implies creating two or three files in this directory, an `.html` file, a `.js`
file, and, optionally, a `.css` file.
You can use `simple.js` and `simple.html` as templates for new examples.
### Use of the `goog` namespace in examples
Short story: the OpenLayers examples should not use the `goog` namespace, except
for `goog.require`.
Longer story: we want that the OpenLayers examples work in multiple modes, with the
standalone lib (which has implications of the symbols and properties we
export), and compiled together with the OpenLayers library.
Compiling the examples together with the library makes it mandatory to declare dependencies with `goog.require` statements.

275
Makefile
View File

@@ -1,280 +1,13 @@
OS := $(shell uname)
BRANCH := $(shell git rev-parse --abbrev-ref HEAD)
SRC_GLSL := $(shell find src -type f -name '*.glsl')
SRC_SHADER_JS := $(patsubst %shader.glsl,%shader.js,$(SRC_GLSL))
SRC_SHADERLOCATIONS_JS := $(patsubst %shader.glsl,%shader/locations.js,$(SRC_GLSL))
SRC_JS := $(filter-out $(SRC_SHADER_JS) $(SRC_SHADERLOCATIONS_JS),$(shell find src -name '*.js'))
SRC_JSDOC = $(shell find src -type f -name '*.jsdoc')
EXAMPLES := $(shell find examples -type f)
EXAMPLES_HTML := $(filter-out examples/index.html,$(shell find examples -maxdepth 1 -type f -name '*.html'))
EXAMPLES_JS := $(patsubst %.html,%.js,$(EXAMPLES_HTML))
BUILD_EXAMPLES := $(subst examples,build/examples,$(EXAMPLES)) build/examples/index.js
BUILD_HOSTED := build/hosted/$(BRANCH)
BUILD_HOSTED_EXAMPLES := $(addprefix $(BUILD_HOSTED)/,$(EXAMPLES))
BUILD_HOSTED_EXAMPLES_JS := $(addprefix $(BUILD_HOSTED)/,$(EXAMPLES_JS))
UNPHANTOMABLE_EXAMPLES = examples/shaded-relief.html examples/raster.html examples/region-growing.html examples/color-manipulation.html
CHECK_EXAMPLE_TIMESTAMPS = $(patsubst examples/%.html,build/timestamps/check-%-timestamp,$(filter-out $(UNPHANTOMABLE_EXAMPLES),$(EXAMPLES_HTML)))
TASKS_JS := $(shell find tasks -name '*.js')
ifeq (CYGWIN,$(findstring CYGWIN,$(OS)))
CLOSURE_LIB = $(shell cygpath -u $(shell node -e 'process.stdout.write(require("closure-util").getLibraryPath())'))
else
CLOSURE_LIB = $(shell node -e 'process.stdout.write(require("closure-util").getLibraryPath())')
endif
ifeq ($(OS),Darwin)
STAT_COMPRESSED = stat -f ' compressed: %z bytes'
STAT_UNCOMPRESSED = stat -f 'uncompressed: %z bytes'
else
STAT_COMPRESSED = stat -c ' compressed: %s bytes'
STAT_UNCOMPRESSED = stat -c 'uncompressed: %s bytes'
endif
.PHONY: default
default: help
.PHONY: help
help:
@echo
@echo "The most common targets are:"
@echo
@echo "- install Install node dependencies"
@echo "- serve Start dev server for running examples and tests"
@echo "- test Run unit tests in the console"
@echo "- check Perform a number of checks on the code"
@echo "- clean Remove generated files"
@echo "- help Display this help message"
@echo
@echo "Other less frequently used targets are:"
@echo
@echo "- build Build ol.js, ol-debug.js, ol.js.map and ol.css"
@echo "- ci Run the full continuous integration process"
@echo "- apidoc Build the API documentation using JSDoc"
@echo "- cleanall Remove all the build artefacts"
@echo "- check-deps Check if the required dependencies are installed"
@echo
.PHONY: apidoc
apidoc: build/timestamps/jsdoc-$(BRANCH)-timestamp
.PHONY: build
build: build/ol.css build/ol.js build/ol-debug.js build/ol.js.map
.PHONY: check
check: build/ol.js test
.PHONY: check-examples
check-examples: $(CHECK_EXAMPLE_TIMESTAMPS)
.PHONY: check-deps
check-deps: EXECUTABLES = git node python java
check-deps:
@for exe in $(EXECUTABLES) ;\
do \
which $${exe} > /dev/null && \
echo "Program $${exe} OK" || \
echo "Program $${exe} MISSING!" ;\
done ;\
.PHONY: ci
ci: build test package compile-examples check-examples apidoc
.PHONY: compile-examples
compile-examples: build/compiled-examples/all.combined.js
.PHONY: clean
clean:
rm -f build/timestamps/check-*-timestamp
rm -f build/ol.css
rm -f build/ol.js
rm -f build/ol.js.map
rm -f build/ol-debug.js
rm -rf build/examples
rm -rf build/compiled-examples
rm -rf build/package
rm -rf $(BUILD_HOSTED)
.PHONY: cleanall
cleanall:
rm -rf build
.PHONY: css
css: build/ol.css
.PHONY: examples
examples: $(BUILD_EXAMPLES)
.PHONY: install
install: build/timestamps/node-modules-timestamp
.PHONY: npm-install
npm-install: build/timestamps/node-modules-timestamp
SRC_SHADERLOCATIONS_JS := $(patsubst %shader.glsl,%shader/Locations.js,$(SRC_GLSL))
.PHONY: shaders
shaders: $(SRC_SHADER_JS $(SRC_SHADERLOCATIONS_JS)
shaders: $(SRC_SHADER_JS) $(SRC_SHADERLOCATIONS_JS)
.PHONY: serve
serve:
node tasks/serve.js
.PHONY: test
test: build/timestamps/node-modules-timestamp
npm test
.PHONY: host-examples
host-examples: $(BUILD_HOSTED_EXAMPLES) \
$(BUILD_HOSTED)/build/ol.js \
$(BUILD_HOSTED)/build/ol-debug.js \
$(BUILD_HOSTED)/css/ol.css \
$(BUILD_HOSTED)/examples/loader.js \
$(BUILD_HOSTED)/examples/index.js \
$(BUILD_HOSTED)/build/ol-deps.js
.PHONY: host-libraries
host-libraries: build/timestamps/node-modules-timestamp
@rm -rf $(BUILD_HOSTED)/closure-library
@mkdir -p $(BUILD_HOSTED)/closure-library
@cp -r $(CLOSURE_LIB)/* $(BUILD_HOSTED)/closure-library/
@rm -rf $(BUILD_HOSTED)/ol/ol
@mkdir -p $(BUILD_HOSTED)/ol/ol
@cp -r src/ol/* $(BUILD_HOSTED)/ol/ol/
@rm -rf $(BUILD_HOSTED)/ol.ext
@mkdir -p $(BUILD_HOSTED)/ol.ext
@cp -r build/ol.ext/* $(BUILD_HOSTED)/ol.ext/
$(BUILD_EXAMPLES): $(EXAMPLES) package.json
@mkdir -p $(@D)
@node tasks/build-examples.js
build/timestamps/check-%-timestamp: $(BUILD_HOSTED)/examples/%.html \
$(BUILD_HOSTED)/examples/%.js \
$(filter $(BUILD_HOSTED)/examples/resources/%,$(BUILD_HOSTED_EXAMPLES)) \
$(filter $(BUILD_HOSTED)/examples/data/%,$(BUILD_HOSTED_EXAMPLES)) \
$(BUILD_HOSTED)/examples/loader.js \
$(BUILD_HOSTED)/build/ol.js \
$(BUILD_HOSTED)/css/ol.css
@mkdir -p $(@D)
node tasks/check-example.js $<
@touch $@
build/compiled-examples/all.js: $(EXAMPLES_JS)
@mkdir -p $(@D)
@python bin/combine-examples.py $^ > $@
build/compiled-examples/all.combined.js: config/examples-all.json build/compiled-examples/all.js \
$(SRC_JS) $(SRC_SHADER_JS) $(SRC_SHADERLOCATIONS_JS) \
build/timestamps/node-modules-timestamp
@mkdir -p $(@D)
node tasks/build.js $< $@
build/compiled-examples/%.json: config/example.json build/examples/%.js \
build/timestamps/node-modules-timestamp
@mkdir -p $(@D)
@sed -e 's|{{id}}|$*|' $< > $@
build/compiled-examples/%.combined.js: build/compiled-examples/%.json \
$(SRC_JS) $(SRC_SHADER_JS) $(SRC_SHADERLOCATIONS_JS)\
build/timestamps/node-modules-timestamp
@mkdir -p $(@D)
node tasks/build.js $< $@
build/timestamps/jsdoc-$(BRANCH)-timestamp: config/jsdoc/api/index.md \
config/jsdoc/api/conf.json $(SRC_JS) \
$(SRC_SHADER_JS) $(SRC_SHADERLOCATIONS_JS) \
$(shell find config/jsdoc/api/template -type f) \
build/timestamps/node-modules-timestamp
@mkdir -p $(@D)
@rm -rf $(BUILD_HOSTED)/apidoc
./node_modules/.bin/jsdoc config/jsdoc/api/index.md -c config/jsdoc/api/conf.json --package package.json -d $(BUILD_HOSTED)/apidoc
@touch $@
$(BUILD_HOSTED_EXAMPLES_JS): $(BUILD_HOSTED)/examples/%.js: build/examples/%.js
@mkdir -p $(@D)
@python bin/split-example.py $< $(@D)
$(BUILD_HOSTED)/examples/loader.js: bin/loader_hosted_examples.js
@mkdir -p $(@D)
@cp $< $@
$(BUILD_HOSTED)/examples/%: build/examples/%
@mkdir -p $(@D)
@cp $< $@
$(BUILD_HOSTED)/build/ol.js: build/ol.js
@mkdir -p $(@D)
@cp $< $@
$(BUILD_HOSTED)/build/ol-debug.js: build/ol-debug.js
@mkdir -p $(@D)
@cp $< $@
$(BUILD_HOSTED)/css/ol.css: build/ol.css
@mkdir -p $(@D)
@cp $< $@
$(BUILD_HOSTED)/build/ol-deps.js: host-libraries
@mkdir -p $(@D)
@python $(CLOSURE_LIB)/closure/bin/build/depswriter.py \
--root_with_prefix "src ../../../ol" \
--root_with_prefix "build/ol.ext ../../../ol.ext" \
--root $(BUILD_HOSTED)/closure-library/closure/goog \
--root_with_prefix "$(BUILD_HOSTED)/closure-library/third_party ../../third_party" \
--output_file $@
build/timestamps/node-modules-timestamp: package.json
@mkdir -p $(@D)
npm install
@touch $@
build/ol.css: css/ol.css build/timestamps/node-modules-timestamp
@mkdir -p $(@D)
@echo "Running cleancss..."
@./node_modules/.bin/cleancss $< > $@
build/ol.js: config/ol.json $(SRC_JS) $(SRC_SHADER_JS) $(SRC_SHADERLOCATIONS_JS) \
build/timestamps/node-modules-timestamp
@mkdir -p $(@D)
node tasks/build.js $< $@
@$(STAT_UNCOMPRESSED) $@
@cp $@ /tmp/
@gzip /tmp/ol.js
@$(STAT_COMPRESSED) /tmp/ol.js.gz
@rm /tmp/ol.js.gz
build/ol.js.map: config/ol.json $(SRC_JS) $(SRC_SHADER_JS) $(SRC_SHADERLOCATIONS_JS) \
build/timestamps/node-modules-timestamp
@mkdir -p $(@D)
node tasks/build.js $< $@
build/ol-debug.js: config/ol-debug.json $(SRC_JS) $(SRC_SHADER_JS) $(SRC_SHADERLOCATIONS_JS) \
build/timestamps/node-modules-timestamp
@mkdir -p $(@D)
node tasks/build.js $< $@
@$(STAT_UNCOMPRESSED) $@
@cp $@ /tmp/
@gzip /tmp/ol-debug.js
@$(STAT_COMPRESSED) /tmp/ol-debug.js.gz
@rm /tmp/ol-debug.js.gz
%shader.js: %shader.glsl src/ol/webgl/shader.mustache tasks/glslunit.js build/timestamps/node-modules-timestamp
%shader.js: %shader.glsl src/ol/webgl/shader.mustache tasks/glslunit.js
@node tasks/glslunit.js --input $< | ./node_modules/.bin/mustache - src/ol/webgl/shader.mustache > $@
%shader/locations.js: %shader.glsl src/ol/webgl/shaderlocations.mustache tasks/glslunit.js build/timestamps/node-modules-timestamp
%shader/Locations.js: %shader.glsl src/ol/webgl/shaderlocations.mustache tasks/glslunit.js
@mkdir -p $(@D)
@node tasks/glslunit.js --input $< | ./node_modules/.bin/mustache - src/ol/webgl/shaderlocations.mustache > $@
.PHONY: package
package:
@rm -rf build/package
@cp -r package build
@cd ./src && cp -r ol/* ../build/package
@rm build/package/typedefs.js
@cp css/ol.css build/package
./node_modules/.bin/jscodeshift --transform transforms/module.js build/package
npm run lint-package

View File

@@ -1,24 +1,45 @@
# OpenLayers
[![Travis CI Status](https://secure.travis-ci.org/openlayers/openlayers.svg)](http://travis-ci.org/#!/openlayers/openlayers)
[![Greenkeeper badge](https://badges.greenkeeper.io/openlayers/openlayers.svg)](https://greenkeeper.io/)
[![Coverage Status](https://coveralls.io/repos/github/openlayers/openlayers/badge.svg?branch=master)](https://coveralls.io/github/openlayers/openlayers?branch=master)
[![OSGeo Project](https://img.shields.io/badge/OSGeo-Project-brightgreen.svg)](http://osgeo.org/)
[OpenLayers](https://openlayers.org/) is a high-performance, feature-packed library for creating interactive maps on the web. It can display map tiles, vector data and markers loaded from any source on any web page. OpenLayers has been developed to further the use of geographic information of all kinds. It is completely free, Open Source JavaScript, released under the 2-clause BSD License (also known as the FreeBSD).
## Getting Started
Use one of the following methods to use OpenLayers in your project:
Install the [`ol` package](https://www.npmjs.com/package/ol):
* For use with webpack, Rollup, Browserify, or other module bundlers, install the [`ol` package](https://www.npmjs.com/package/ol):
```
npm install ol
```
```
npm install ol
```
* If you just want to add a `<script>` tag to test things out, you can link directly to one of the full builds from [cdnjs](https://cdnjs.com/libraries/openlayers) (not recommended for production)
Import just what you need for your application:
* For use with Closure Library (rare), install the [`openlayers` package](https://npmjs.com/package/openlayers) and read the [tutorial](http://openlayers.org/en/latest/doc/tutorials/closure.html).
```js
import Map from 'ol/Map';
import View from 'ol/View';
import TileLayer from 'ol/layer/Tile';
import XYZ from 'ol/source/XYZ';
new Map({
target: 'map',
layers: [
new TileLayer({
source: new XYZ({
url: 'https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png'
})
})
],
view: new View({
center: [0, 0],
zoom: 2
})
});
```
See the following examples for more detail on bundling OpenLayers with your application:
* Using [Rollup](https://github.com/openlayers/ol-rollup)
* Using [Webpack](https://github.com/openlayers/ol-webpack)
* Using [Parcel](https://github.com/openlayers/ol-parcel)
* Using [Browserify](https://github.com/openlayers/ol-browserify)
## Supported Browsers
@@ -40,3 +61,5 @@ Please see our guide on [contributing](CONTRIBUTING.md) if you're interested in
- Need help? Find it on [Stack Overflow using the tag 'openlayers'](http://stackoverflow.com/questions/tagged/openlayers)
- Follow [@openlayers](https://twitter.com/openlayers) on Twitter
[![Build Status](https://travis-ci.org/openlayers/openlayers.svg?branch=master)](https://travis-ci.org/openlayers/openlayers)

View File

@@ -1,33 +0,0 @@
//
// A PhantomJS script used to check that the hosted examples load
// without errors. This script is executed by the build tool's
// check-examples target.
//
var args = require('system').args;
if (args.length != 2) {
phantom.exit(2);
}
var examplePath = args[1];
var page = require('webpage').create();
page.onError = function(msg, trace) {
var msgStack = ['JavaScript ERROR: ' + msg];
if (trace) {
msgStack.push('TRACE:');
trace.forEach(function(t) {
msgStack.push(' -> ' + t.file + ': ' + t.line + (t.function ? ' (in function "' + t.function + '")' : ''));
});
}
console.error(msgStack.join('\n'));
phantom.exit(1);
};
page.open(examplePath, function(s) {
var exitCode = 0;
if (s != 'success') {
exitCode = 1;
console.error('PAGE LOAD ERROR');
}
phantom.exit(exitCode);
});
page.onConsoleMessage = function(msg) {
console.log('console:', msg);
};

View File

@@ -1,27 +0,0 @@
#!/usr/bin/python
import re
import sys
def main(argv):
examples = {}
requires = set()
for filename in argv[1:]:
lines = open(filename, 'rU').readlines()
if len(lines) > 0 and lines[0].startswith('// NOCOMPILE'):
continue
requires.update(line for line in lines if line.startswith('goog.require'))
examples[filename] = [line for line in lines if not line.startswith('goog.require')]
for require in sorted(requires):
sys.stdout.write(require)
for filename in sorted(examples.keys()):
sys.stdout.write('// ' + filename + '\n')
sys.stdout.write('(function(){\n')
for line in examples[filename]:
sys.stdout.write(line)
sys.stdout.write('})();\n')
if __name__ == '__main__':
sys.exit(main(sys.argv))

View File

@@ -1,180 +0,0 @@
/**
* This script is supposed to be executed via phantomjs. It will generate
* screenshots of the html files in the directory specified by a commandline
* option when these files are served through a webserver which can also be
* specified. The screenshots will be in the current working directory.
*
* Example usage:
*
* user@host:~/openlayers/bin $ phantomjs example-screenshot.js \
* http://localhost:8000/openlayers/examples/ \
* ../examples
*
* The above command will generate `*.png` files in `examples/` for all html
* files that are served through `http://localhost:8000/openlayers/examples/`.
*
* So if there is a file `my-humpty-example.html` inside of the relative folder
* `../examples/` which is being served through the webserver so that
* `http://localhost:8000/openlayers/examples/my-humpty-example.html` is a valid and
* reachable URL, this script will generate a screenshot and store it as
* `my-humpty-example.html.png`.
*
* The query string `?mode=raw` will be appended to the generated URL.
*
* Known limitations:
*
* As phantomjs doesn't support WebGL (see e.g.
* https://github.com/ariya/phantomjs/wiki/Supported-Web-Standards and
* http://code.google.com/p/phantomjs/issues/detail?id=273) This won't render
* OpenLayers maps rendered through the webglrenderer.
*
* In parts based upon this gist: https://gist.github.com/crazy4groovy/3160121
*/
(function() { // global closure
var page = require('webpage').create(), // imports
fs = require('fs'),
system = require('system'),
// arguments
baseExamplesUrl = system.args[1],
exampleDir = system.args[2],
// various settings
ignoreFiles = [
'index.html'
],
intervalMillisecs = 25,
renderMillisecs = 2000,
// basic variables
curDir = fs.workingDirectory,
exampleDirList = fs.list(exampleDir),
pageindex = 0,
fileName = '',
htmlFiles = [],
lenHtmlFiles = 0,
loadInProgress = false;
// simple object with helper functions
var util = {
/**
* Returns the basename of a file given a path.
*/
baseName: function(path) {
var parts = path.split(fs.separator);
return parts[parts.length - 1];
},
/**
* Super basic test whether a file can be considered a HTML-file.
*/
isHtmlFile: function(filename) {
return (/\.html?$/).test(filename);
},
/**
* Appends a slash to given string if it isn't there already.
*/
appendSlash: function(str) {
return ((/\/$/).test(str)) ? str : str + '/';
},
/**
* Generates an URL out of given baseurl and path.
*/
buildUrl: function(baseurl, path) {
var name = util.baseName(path),
mode = 'raw';
return util.appendSlash(baseurl) + name + '?mode=' + mode;
},
/**
* Simple progressbar logger that uses our globals pageindex & lenHtmlFiles.
*/
logProgress: function() {
var doneSymbol = '-',
todoSymbol = ' ',
currentSymbol = '>',
barStrLeft = '[',
barStrRight = ']',
progresStep = 5, // one doneSymbol equals this percentage
totalSteps = Math.round(100 / progresStep),
ratio = (lenHtmlFiles === 0) ? 0 : (pageindex / lenHtmlFiles),
percent = (ratio === 0) ? 0 : ratio * 100,
normalizedNumDone = Math.floor(ratio * totalSteps),
normalizedNumTodo = totalSteps - normalizedNumDone,
progressLine = '',
i = 0;
// the progress bar
progressLine += barStrLeft;
for (; i < normalizedNumDone; i++) {
progressLine += doneSymbol;
}
for (i = 0; i < normalizedNumTodo; i++) {
progressLine += (i === 0) ? currentSymbol : todoSymbol;
}
progressLine += barStrRight;
// the percentage information
// pad if necessary
if (percent < 10) {
progressLine += ' ';
} else if (percent < 100) {
progressLine += ' ';
}
progressLine += ' ' + percent.toFixed(1) + ' % done';
// additional information
if (fileName !== '') {
progressLine += ', ' + util.baseName(fileName) + '';
}
console.log(progressLine);
}
};
// iterate over all files in examples directory
// and find the HTML files.
for (var i = 0; i < exampleDirList.length; i++) {
var fullpath = exampleDir + fs.separator + exampleDirList[i];
if (fs.isFile(fullpath) && util.isHtmlFile(fullpath) &&
ignoreFiles.indexOf(util.baseName(fullpath)) === -1) {
//TODO: make this more async (i.e. pop on/off stack WHILE rending pages)
htmlFiles.push(fullpath);
}
}
lenHtmlFiles = htmlFiles.length;
console.log('Capturing ' + lenHtmlFiles + ' example screenshots.');
// The main interval function that is executed regularly and renders a
// page to a file
var interval = setInterval(function() {
if (!loadInProgress && pageindex < lenHtmlFiles) {
util.logProgress();
fileName = htmlFiles[pageindex];
page.viewportSize = { width: 800, height: 600 };
page.clipRect = {
top: 0,
left: 0,
width: page.viewportSize.width,
height: page.viewportSize.height
};
page.open(util.buildUrl(baseExamplesUrl, htmlFiles[pageindex]));
}
if (pageindex == lenHtmlFiles) {
util.logProgress();
console.log(lenHtmlFiles + ' screenshots captured.');
phantom.exit();
}
}, intervalMillisecs);
// set loadInProgress flag so we only process one image at time.
page.onLoadStarted = function() {
loadInProgress = true;
};
// When the page is loaded, render it to an image
page.onLoadFinished = function() {
var dest = exampleDir + fs.separator + util.baseName(fileName) + '.png';
window.setTimeout(function() {
loadInProgress = false;
page.render(dest); // actually render the page.
pageindex++;
}, renderMillisecs);
};
})(); // eof global closure

View File

@@ -1,69 +0,0 @@
/**
* This loader is used for the hosted examples. It is used in place of the
* development loader (examples/loader.js).
*
* 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 using OpenLayers's Makefile. They are
* located in the ../build/ directory, relative to this script.
*
* The script must be named loader.js.
*
* Usage:
*
* <script src="../loader.js?id=my-demo"></script>
*/
(function() {
var i, pair;
var href = window.location.href, start, end, paramsString, pairs,
pageParams = {};
if (href.indexOf('?') > 0) {
start = href.indexOf('?') + 1;
end = href.indexOf('#') > 0 ? href.indexOf('#') : href.length;
paramsString = href.substring(start, end);
pairs = paramsString.split(/[&;]/);
for (i = 0; i < pairs.length; ++i) {
pair = pairs[i].split('=');
if (pair[0]) {
pageParams[decodeURIComponent(pair[0])] =
decodeURIComponent(pair[1]);
}
}
}
var scripts = document.getElementsByTagName('script');
var src, index, search, chunks, scriptParams = {};
for (i = scripts.length - 1; i >= 0; --i) {
src = scripts[i].getAttribute('src');
if (~(index = src.indexOf('loader.js?'))) {
search = src.substr(index + 10);
chunks = search ? search.split('&') : [];
for (i = chunks.length - 1; i >= 0; --i) {
pair = chunks[i].split('=');
if (pair[0]) {
scriptParams[decodeURIComponent(pair[0])] =
decodeURIComponent(pair[1]);
}
}
break;
}
}
var raw = pageParams.mode && pageParams.mode.toLowerCase() === 'raw';
var scriptId = encodeURIComponent(scriptParams.id);
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>');
document.write('<scr' + 'ipt type="text/javascript" src="../build/ol-deps.js"></scr' + 'ipt>');
document.write('<scr' + 'ipt type="text/javascript" src="' + scriptId + '-require.js"></scr' + 'ipt>');
}
document.write('<scr' + 'ipt type="text/javascript" src="' + scriptId + '.js"></scr' + 'ipt>');
}());

View File

@@ -1,39 +0,0 @@
import os
import re
import sys
def split_example_file(example, dst_dir):
lines = open(example, 'rU').readlines()
target_lines = []
target_require_lines = []
found_requires = False
found_code = False
for line in lines:
m = re.match(r'goog.require\(\'(.*)\'\);', line)
if m:
found_requires = True
target_require_lines.append(line)
elif found_requires:
if found_code or line not in ('\n', '\r\n'):
found_code = True
target_lines.append(line)
target = open(
os.path.join(dst_dir, os.path.basename(example)), 'wb')
target_require = open(
os.path.join(dst_dir, os.path.basename(example)
.replace('.js', '-require.js')),
'wb')
target.writelines(target_lines)
target.close()
target_require.writelines(target_require_lines)
target_require.close()
if __name__ == '__main__':
split_example_file(*sys.argv[1:])

View File

@@ -1,5 +1,213 @@
## Upgrade notes
### Next version
### v5.2.0
#### Removal of the `snapToPixel` option for `ol/style/Image` subclasses
The `snapToPixel` option has been removed, and the `getSnapToPixel` and `setSnapToPixel` methods are deprecated.
The renderer now snaps to integer pixels when no interaction or animation is running to get crisp rendering. During interaction or animation, it does not snap to integer pixels to avoid jitter.
When rendering with the Immediate API, symbols will no longer be snapped to integer pixels. To get crisp images, set `context.imageSmoothingEnabled = false` before rendering with the Immediate API, and `context.imageSmoothingEnabled = true` afterwards.
### v5.1.0
#### Geometry constructor and `setCoordinates` no longer accept `null` coordinates
Geometries (`ol/geom/*`) now need to be constructed with valid coordinates (center for `ol/geom/Circle`) as first constructor argument. The same applies to the `setCoordinates()` (`setCenter() for `ol/geom/Circle`) method.
### v5.0.0
#### Renamed `ol/source/TileUTFGrid` to `ol/source/UTFGrid`
The module name is now `ol/source/UTFGrid` (`ol.source.UTFGrid` in the full build).
#### Renaming of the `defaultDataProjection` in the options and property of the `ol/format/Feature` class and its subclasses
The `defaultDataProjection` option is now named `dataProjection`. The protected property available on the class is also renamed.
#### `transition` option of `ol/source/VectorTile` is ignored
The `transition` option to get an opacity transition to fade in tiles has been disabled for `ol/source/VectorTile`. Vector tiles are now always rendered without an opacity transition.
#### `ol/style/Fill` with `CanvasGradient` or `CanvasPattern`
The origin for gradients and patterns has changed from the top-left corner of the extent of the geometry being filled to 512 css pixel increments from map coordinate `[0, 0]`. This allows repeat patterns to be aligned properly with vector tiles. For seamless repeat patterns, width and height of the pattern image must be a factor of two (2, 4, 8, ..., 512).
#### Removal of the renderer option for maps
The `renderer` option has been removed from the `Map` constructor. The purpose of this change is to avoid bundling code in your application that you do not need. Previously, code for both the Canvas and WebGL renderers was included in all applications - even though most people only use one renderer. The `Map` constructor now gives you a Canvas (2D) based renderer. If you want to try the WebGL renderer, you can import the constructor from `ol/WebGLMap`.
Old code:
```js
import Map from 'ol/Map';
const canvasMap = new Map({
renderer: ['canvas']
// other options...
});
const webglMap = new Map({
renderer: ['webgl']
// other options...
});
```
New code:
```js
import Map from 'ol/Map';
import WebGLMap from 'ol/WebGLMap';
const canvasMap = new Map({
// options...
});
const webglMap = new WebGLMap({
// options...
});
```
#### Removal of ol.FeatureStyleFunction
The signature of the vector style function passed to the feature has changed. The function now always takes the `feature` and the `resolution` as arguments, the `feature` is no longer bound to `this`.
Old code:
```js
feature.setStyle(function(resolution) {
var text = this.get('name');
...
});
```
New code:
```js
feature.setStyle(function(feature, resolution) {
var text = feature.get('name');
...
});
```
#### Changed behavior of the `Draw` interaction
For better drawing experience, two changes were made to the behavior of the Draw interaction:
1. On long press, the current vertex can be dragged to its desired position.
2. On touch move (e.g. when panning the map on a mobile device), no draw cursor is shown, and the geometry being drawn is not updated. But because of 1., the draw cursor will appear on long press. Mouse moves are not affected by this change.
#### Changes in proj4 integration
Because relying on a globally available proj4 is not practical with ES modules, we have made a change to the way we integrate proj4:
* The `setProj4()` function from the `ol/proj` module was removed.
* A new `ol/proj/proj4` module with a `register()` function was added. Regardless of whether the application imports `proj4` or uses a global `proj4`, this function needs to be called with the proj4 instance as argument whenever projection definitions were added to proj4's registry with (`proj4.defs`).
It is also recommended to no longer use a global `proj4`. Instead,
npm install proj4
and import it:
```js
import proj4 from 'proj4';
```
Applications can be updated by importing the `register` function from the `ol/proj/proj4` module
```js
import {register} from 'ol/proj/proj4'
```
and calling it before using projections, and any time the proj4 registry was changed by `proj4.defs()` calls:
```js
register(proj4);
```
#### Removal of logos
The map and sources no longer accept a `logo` option. Instead, if you wish to append a logo to your map, add the desired markup directly in your HTML. In addition, you can use the `attributions` property of a source to display arbitrary markup per-source with the attribution control.
#### Replacement of `ol/Sphere` constructor with `ol/sphere` functions
The `ol/Sphere` constructor has been removed. If you were using the `getGeodesicArea` method, use the `getArea` function instead. If you were using the `haversineDistance` method, use the `getDistance` function instead.
Examples before:
```js
// using ol@4
import Sphere from 'ol/sphere';
var sphere = new Sphere(Sphere.DEFAULT_RADIUS);
var area = sphere.getGeodesicArea(polygon);
var distance = sphere.haversineDistance(g1, g2);
```
Examples after:
```js
// using ol@5
import {circular as circularPolygon} from 'ol/geom/Polygon';
import {getArea, getDistance} from 'ol/sphere';
var area = getArea(polygon);
var distance = getDistance(g1, g2);
var circle = circularPolygon(center, radius);
```
#### New signature for the `circular` function for creating polygons
The `circular` function exported from `ol/geom/Polygon` no longer requires a `Sphere` as the first argument.
Example before:
```js
// using ol@4
import Polygon from 'ol/geom/polygon';
import Sphere from 'ol/sphere';
var poly = Polygon.circular(new Sphere(Sphere.DEFAULT_RADIUS), center, radius);
```
Example after:
```js
// using ol@5
import {circular as circularPolygon} from 'ol/geom/Polygon';
var poly = circularPolygon(center, radius);
```
#### Removal of optional this arguments.
The optional this (i.e. opt_this) arguments were removed from the following methods. Please use closures, the es6 arrow function or the bind method to achieve this effect (Bind is explained here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).
* Collection#forEach
* geom/LineString#forEachSegment
* Observable#on, #once, #un
* Map#forEachLayerAtPixel
* source/TileUTFGrid#forDataAtCoordinateAndResolution
* source/Vector#forEachFeature, #forEachFeatureInExtent, #forEachFeatureIntersectingExtent
#### `Map#forEachLayerAtPixel` parameters have changed
If you are using the layer filter, please note that you now have to pass in the layer filter via an `AtPixelOptions` object. If you are not using the layer filter the usage has not changed.
Old syntax:
```
map.forEachLayerAtPixel(pixel, callback, callbackThis, layerFilterFn, layerFilterThis);
```
New syntax:
```
map.forEachLayerAtPixel(pixel, callback, {
layerFilter: layerFilterFn
});
```
To bind a function to a this, please use the bind method of the function (See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).
This change is due to the introduction of the `hitTolerance` parameter which can be passed in via this `AtPixelOptions` object, too.
### v4.6.0
#### Renamed `exceedLength` option of `ol.style.Text` to `overflow`

7
changelog/v4.6.4.md Normal file
View File

@@ -0,0 +1,7 @@
# 4.6.4
The v4.6.4 release fixes a feature selection issue when `renderMode: 'image'` is set on an `ol.layer.Vector`.
## Fixes
* [#7559](https://github.com/openlayers/openlayers/pull/7559) - Handle skipping and unskipping features with renderMode: 'image' ([@ahocevar](https://github.com/ahocevar))

7
changelog/v4.6.5.md Normal file
View File

@@ -0,0 +1,7 @@
# 4.6.5
The v4.6.5 release fixes a hit detection issue when `declutter: true` is set on an `ol.layer.VectorTile`.
## Fixes
* [#7669](https://github.com/openlayers/openlayers/pull/7559) - Use declutter tree only for text and image replays ([@ahocevar](https://github.com/ahocevar))

667
changelog/v5.0.0.md Normal file
View File

@@ -0,0 +1,667 @@
# v5.0.0
The main theme of the v5.0.0 release is an improved developer/user experience with OpenLayers. Toward this end, we have reworked the library as a set of ES Modules, completely removing any dependency on the Closure Compiler, and improving compatibility with mainstream module bundlers.
See the [hosted examples](https://openlayers.org/en/latest/examples/), [API docs](https://openlayers.org/en/latest/apidoc/), and [bundle tutorial](https://openlayers.org/en/latest/doc/tutorials/bundle.html) for the new syntax, but basic usage looks like this:
```js
import 'ol/ol.css';
import {Map, View} from 'ol';
import TileLayer from 'ol/layer/Tile';
import OSM from 'ol/source/OSM';
const map = new Map({
target: 'map',
layers: [
new TileLayer({
source: new OSM()
})
],
view: new View({
center: [0, 0],
zoom: 0
})
});
```
See below for specific notes on upgrading from 4.x releases. We'll be working on updating the website with improved documentation and examples. Take a look at the issue tracker if you're interested in contributing.
### Upgrade Notes
#### Renamed `ol/source/TileUTFGrid` to `ol/source/UTFGrid`
The module name is now `ol/source/UTFGrid` (`ol.source.UTFGrid` in the full build).
#### Renaming of the `defaultDataProjection` in the options and property of the `ol/format/Feature` class and its subclasses
The `defaultDataProjection` option is now named `dataProjection`. The protected property available on the class is also renamed.
#### `transition` option of `ol/source/VectorTile` is ignored
The `transition` option to get an opacity transition to fade in tiles has been disabled for `ol/source/VectorTile`. Vector tiles are now always rendered without an opacity transition.
#### `ol/style/Fill` with `CanvasGradient` or `CanvasPattern`
The origin for gradients and patterns has changed from the top-left corner of the extent of the geometry being filled to 512 css pixel increments from map coordinate `[0, 0]`. This allows repeat patterns to be aligned properly with vector tiles. For seamless repeat patterns, width and height of the pattern image must be a factor of two (2, 4, 8, ..., 512).
#### Removal of the renderer option for maps
The `renderer` option has been removed from the `Map` constructor. The purpose of this change is to avoid bundling code in your application that you do not need. Previously, code for both the Canvas and WebGL renderers was included in all applications - even though most people only use one renderer. The `Map` constructor now gives you a Canvas (2D) based renderer. If you want to try the WebGL renderer, you can import the constructor from `ol/WebGLMap`.
Old code:
```js
import Map from 'ol/Map';
const canvasMap = new Map({
renderer: ['canvas']
// other options...
});
const webglMap = new Map({
renderer: ['webgl']
// other options...
});
```
New code:
```js
import Map from 'ol/Map';
import WebGLMap from 'ol/WebGLMap';
const canvasMap = new Map({
// options...
});
const webglMap = new WebGLMap({
// options...
});
```
#### Removal of ol.FeatureStyleFunction
The signature of the vector style function passed to the feature has changed. The function now always takes the `feature` and the `resolution` as arguments, the `feature` is no longer bound to `this`.
Old code:
```js
feature.setStyle(function(resolution) {
var text = this.get('name');
...
});
```
New code:
```js
feature.setStyle(function(feature, resolution) {
var text = feature.get('name');
...
});
```
#### Changed behavior of the `Draw` interaction
For better drawing experience, two changes were made to the behavior of the Draw interaction:
1. On long press, the current vertex can be dragged to its desired position.
2. On touch move (e.g. when panning the map on a mobile device), no draw cursor is shown, and the geometry being drawn is not updated. But because of 1., the draw cursor will appear on long press. Mouse moves are not affected by this change.
#### Changes in proj4 integration
Because relying on a globally available proj4 is not practical with ES modules, we have made a change to the way we integrate proj4:
* The `setProj4()` function from the `ol/proj` module was removed.
* A new `ol/proj/proj4` module with a `register()` function was added. Regardless of whether the application imports `proj4` or uses a global `proj4`, this function needs to be called with the proj4 instance as argument whenever projection definitions were added to proj4's registry with (`proj4.defs`).
It is also recommended to no longer use a global `proj4`. Instead,
npm install proj4
and import it:
```js
import proj4 from 'proj4';
```
Applications can be updated by importing the `register` function from the `ol/proj/proj4` module
```js
import {register} from 'ol/proj/proj4'
```
and calling it before using projections, and any time the proj4 registry was changed by `proj4.defs()` calls:
```js
register(proj4);
```
#### Removal of logos
The map and sources no longer accept a `logo` option. Instead, if you wish to append a logo to your map, add the desired markup directly in your HTML. In addition, you can use the `attributions` property of a source to display arbitrary markup per-source with the attribution control.
#### Replacement of `ol/Sphere` constructor with `ol/sphere` functions
The `ol/Sphere` constructor has been removed. If you were using the `getGeodesicArea` method, use the `getArea` function instead. If you were using the `haversineDistance` method, use the `getDistance` function instead.
Examples before:
```js
// using ol@4
import Sphere from 'ol/sphere';
var sphere = new Sphere(Sphere.DEFAULT_RADIUS);
var area = sphere.getGeodesicArea(polygon);
var distance = sphere.haversineDistance(g1, g2);
```
Examples after:
```js
// using ol@5
import {circular as circularPolygon} from 'ol/geom/Polygon';
import {getArea, getDistance} from 'ol/sphere';
var area = getArea(polygon);
var distance = getDistance(g1, g2);
var circle = circularPolygon(center, radius);
```
#### New signature for the `circular` function for creating polygons
The `circular` function exported from `ol/geom/Polygon` no longer requires a `Sphere` as the first argument.
Example before:
```js
// using ol@4
import Polygon from 'ol/geom/polygon';
import Sphere from 'ol/sphere';
var poly = Polygon.circular(new Sphere(Sphere.DEFAULT_RADIUS), center, radius);
```
Example after:
```js
// using ol@5
import {circular as circularPolygon} from 'ol/geom/Polygon';
var poly = circularPolygon(center, radius);
```
#### Removal of optional this arguments.
The optional this (i.e. opt_this) arguments were removed from the following methods. Please use closures, the es6 arrow function or the bind method to achieve this effect (Bind is explained here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).
* Collection#forEach
* geom/LineString#forEachSegment
* Observable#on, #once, #un
* Map#forEachLayerAtPixel
* source/TileUTFGrid#forDataAtCoordinateAndResolution
* source/Vector#forEachFeature, #forEachFeatureInExtent, #forEachFeatureIntersectingExtent
#### `Map#forEachLayerAtPixel` parameters have changed
If you are using the layer filter, please note that you now have to pass in the layer filter via an `AtPixelOptions` object. If you are not using the layer filter the usage has not changed.
Old syntax:
```
map.forEachLayerAtPixel(pixel, callback, callbackThis, layerFilterFn, layerFilterThis);
```
New syntax:
```
map.forEachLayerAtPixel(pixel, callback, {
layerFilter: layerFilterFn
});
```
To bind a function to a this, please use the bind method of the function (See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).
This change is due to the introduction of the `hitTolerance` parameter which can be passed in via this `AtPixelOptions` object, too.
### New Features and Fixes
* [#8314](https://github.com/openlayers/openlayers/pull/8314) - Accept hitTolerance in map.forEachLayerAtPixel() ([@simonseyock](https://github.com/simonseyock))
* [#7750](https://github.com/openlayers/openlayers/pull/7750) - Don't assume fill for canvas polygon hit detection. ([@schmidtk](https://github.com/schmidtk))
* [#8305](https://github.com/openlayers/openlayers/pull/8305) - Update quickstart and tutorials for v5 ([@ahocevar](https://github.com/ahocevar))
* [#8301](https://github.com/openlayers/openlayers/pull/8301) - Do not render vectors in image mode ([@ahocevar](https://github.com/ahocevar))
* [#8302](https://github.com/openlayers/openlayers/pull/8302) - Ignore node_modules everywhere ([@ahocevar](https://github.com/ahocevar))
* [#8299](https://github.com/openlayers/openlayers/pull/8299) - Make classes in ol/ available as named exports from ol ([@ahocevar](https://github.com/ahocevar))
* [#8298](https://github.com/openlayers/openlayers/pull/8298) - Add README for ol package ([@ahocevar](https://github.com/ahocevar))
* [#8295](https://github.com/openlayers/openlayers/pull/8295) - Prepare for building/publishing v5 ([@ahocevar](https://github.com/ahocevar))
* [#8296](https://github.com/openlayers/openlayers/pull/8296) - Fix style documentation ([@fredj](https://github.com/fredj))
* [#8294](https://github.com/openlayers/openlayers/pull/8294) - Remove non-functional type checks from testing ([@ahocevar](https://github.com/ahocevar))
* [#8292](https://github.com/openlayers/openlayers/pull/8292) - Remove now unneeded single quotes in examples ([@fredj](https://github.com/fredj))
* [#8291](https://github.com/openlayers/openlayers/pull/8291) - Graticule code cleanup ([@fredj](https://github.com/fredj))
* [#8287](https://github.com/openlayers/openlayers/pull/8287) - Rename ol/source/TileUTFGrid to ol/source/UTFGrid ([@fredj](https://github.com/fredj))
* [#8286](https://github.com/openlayers/openlayers/pull/8286) - Fix class name property in Overlay documentation ([@fredj](https://github.com/fredj))
* [#8281](https://github.com/openlayers/openlayers/pull/8281) - Rename default data projection ([@gberaudo](https://github.com/gberaudo))
* [#8283](https://github.com/openlayers/openlayers/pull/8283) - Remove references to tutorials/custom-builds.html ([@fredj](https://github.com/fredj))
* [#8280](https://github.com/openlayers/openlayers/pull/8280) - Add missing property in VectorTile options, remove params from createRenderer ([@fredj](https://github.com/fredj))
* [#8277](https://github.com/openlayers/openlayers/pull/8277) - Fix code block in comment ([@ahocevar](https://github.com/ahocevar))
* [#8273](https://github.com/openlayers/openlayers/pull/8273) - Remove the externs/ directory ([@ahocevar](https://github.com/ahocevar))
* [#8246](https://github.com/openlayers/openlayers/pull/8246) - Don't go back to not moving when dragging ([@ahocevar](https://github.com/ahocevar))
* [#8258](https://github.com/openlayers/openlayers/pull/8258) - Use Webpack 4 for tests (and examples) ([@ahocevar](https://github.com/ahocevar))
* [#8250](https://github.com/openlayers/openlayers/pull/8250) - Fix various jsdoc types ([@fredj](https://github.com/fredj))
* [#8245](https://github.com/openlayers/openlayers/pull/8245) - Fix vector tile docs and types ([@ahocevar](https://github.com/ahocevar))
* [#8233](https://github.com/openlayers/openlayers/pull/8233) - Use rollup instead of webpack for the full build ([@ahocevar](https://github.com/ahocevar))
* [#8231](https://github.com/openlayers/openlayers/pull/8231) - Fix JSTS usage with OL classes injected ([@bjornharrtell](https://github.com/bjornharrtell))
* [#8229](https://github.com/openlayers/openlayers/pull/8229) - Support layers instead of renderers for ol/source/Raster ([@ahocevar](https://github.com/ahocevar))
* [#8227](https://github.com/openlayers/openlayers/pull/8227) - Better vectortile experience ([@ahocevar](https://github.com/ahocevar))
* [#8225](https://github.com/openlayers/openlayers/pull/8225) - renderMode: 'image' fixes for ol/layer/Vector ([@ahocevar](https://github.com/ahocevar))
* [#8226](https://github.com/openlayers/openlayers/pull/8226) - Accept renderers as sources for the Raster source ([@ahocevar](https://github.com/ahocevar))
* [#8210](https://github.com/openlayers/openlayers/pull/8210) - Align patterns and gradients to a grid ([@ahocevar](https://github.com/ahocevar))
* [#8201](https://github.com/openlayers/openlayers/pull/8201) - Remove babelrc, transform using babel-core ([@ahocevar](https://github.com/ahocevar))
* [#8203](https://github.com/openlayers/openlayers/pull/8203) - Type checking complete ([@ahocevar](https://github.com/ahocevar))
* [#8204](https://github.com/openlayers/openlayers/pull/8204) - Document ol/control~defaults in the right place ([@ahocevar](https://github.com/ahocevar))
* [#8200](https://github.com/openlayers/openlayers/pull/8200) - Set textAlign to the canvas context ([@fredj](https://github.com/fredj))
* [#8194](https://github.com/openlayers/openlayers/pull/8194) - miscellaneous code cleanup ([@fredj](https://github.com/fredj))
* [#8189](https://github.com/openlayers/openlayers/pull/8189) - More apidoc fixes ([@ahocevar](https://github.com/ahocevar))
* [#8191](https://github.com/openlayers/openlayers/pull/8191) - Do not scale text outline width ([@ahocevar](https://github.com/ahocevar))
* [#8187](https://github.com/openlayers/openlayers/pull/8187) - Hide attribution control if there are no attributions ([@tschaub](https://github.com/tschaub))
* [#8186](https://github.com/openlayers/openlayers/pull/8186) - Updates to get the examples building ([@tschaub](https://github.com/tschaub))
* [#8180](https://github.com/openlayers/openlayers/pull/8180) - Fix some JSDoc issues ([@ahocevar](https://github.com/ahocevar))
* [#8175](https://github.com/openlayers/openlayers/pull/8175) - More typing fixes ([@fredj](https://github.com/fredj))
* [#8177](https://github.com/openlayers/openlayers/pull/8177) - Remove documentation related to the closure compiler ([@gberaudo](https://github.com/gberaudo))
* [#8174](https://github.com/openlayers/openlayers/pull/8174) - Fix typo in ol/style/Image~Options typedef ([@fredj](https://github.com/fredj))
* [#8172](https://github.com/openlayers/openlayers/pull/8172) - Ignore 'this' type in function typedef ([@fredj](https://github.com/fredj))
* [#8173](https://github.com/openlayers/openlayers/pull/8173) - Fix typing in ol/xml module ([@fredj](https://github.com/fredj))
* [#8169](https://github.com/openlayers/openlayers/pull/8169) - Shorter module paths for default exports ([@fredj](https://github.com/fredj))
* [#8171](https://github.com/openlayers/openlayers/pull/8171) - Remove wrong override tags ([@fredj](https://github.com/fredj))
* [#8170](https://github.com/openlayers/openlayers/pull/8170) - Basic apidocs ([@ahocevar](https://github.com/ahocevar))
* [#8167](https://github.com/openlayers/openlayers/pull/8167) - Remove externs/oli.js ([@tschaub](https://github.com/tschaub))
* [#8166](https://github.com/openlayers/openlayers/pull/8166) - Updated type annotations ([@tschaub](https://github.com/tschaub))
* [#8165](https://github.com/openlayers/openlayers/pull/8165) - Update linter config ([@tschaub](https://github.com/tschaub))
* [#8163](https://github.com/openlayers/openlayers/pull/8163) - Fix type syntax ([@ahocevar](https://github.com/ahocevar))
* [#8161](https://github.com/openlayers/openlayers/pull/8161) - Fix skipping of texts with background ([@ahocevar](https://github.com/ahocevar))
* [#8156](https://github.com/openlayers/openlayers/pull/8156) - fix assert 36 on error documentation #8147 ([@mainakae](https://github.com/mainakae))
* [#8143](https://github.com/openlayers/openlayers/pull/8143) - Shorter module paths for default exports ([@openlayers](https://github.com/openlayers))
* [#8137](https://github.com/openlayers/openlayers/pull/8137) - Avoid `this` at top level of modules ([@tschaub](https://github.com/tschaub))
* [#8138](https://github.com/openlayers/openlayers/pull/8138) - Update tasks to use native async/await ([@tschaub](https://github.com/tschaub))
* [#8139](https://github.com/openlayers/openlayers/pull/8139) - Add @module annotation for ol/control/util ([@tschaub](https://github.com/tschaub))
* [#8135](https://github.com/openlayers/openlayers/pull/8135) - Break the circular dependency: overview map, map, controls, overview map ([@tschaub](https://github.com/tschaub))
* [#8132](https://github.com/openlayers/openlayers/pull/8132) - Add minZoom to the createResolutionConstraint function return type ([@fredj](https://github.com/fredj))
* [#8129](https://github.com/openlayers/openlayers/pull/8129) - Fix some types ([@ahocevar](https://github.com/ahocevar))
* [#8127](https://github.com/openlayers/openlayers/pull/8127) - Move RasterOperationType into ol/source/Raster ([@fredj](https://github.com/fredj))
* [#8123](https://github.com/openlayers/openlayers/pull/8123) - More Jsdoc module fixes ([@fredj](https://github.com/fredj))
* [#8125](https://github.com/openlayers/openlayers/pull/8125) - Shorter module paths for default exports ([@ahocevar](https://github.com/ahocevar))
* [#8122](https://github.com/openlayers/openlayers/pull/8122) - Remove unused 'format' options from Cluster source constructor ([@fredj](https://github.com/fredj))
* [#8121](https://github.com/openlayers/openlayers/pull/8121) - More Jsdoc module fixes ([@fredj](https://github.com/fredj))
* [#8117](https://github.com/openlayers/openlayers/pull/8117) - Re-export style constructors from ol/style ([@tschaub](https://github.com/tschaub))
* [#8115](https://github.com/openlayers/openlayers/pull/8115) - Re-export layer constructors from ol/layer ([@tschaub](https://github.com/tschaub))
* [#8114](https://github.com/openlayers/openlayers/pull/8114) - Re-export interaction constructors from ol/interaction ([@tschaub](https://github.com/tschaub))
* [#8116](https://github.com/openlayers/openlayers/pull/8116) - Re-export source constructors from ol/source ([@tschaub](https://github.com/tschaub))
* [#8113](https://github.com/openlayers/openlayers/pull/8113) - Re-export geometry constructors from ol/geom ([@tschaub](https://github.com/tschaub))
* [#8112](https://github.com/openlayers/openlayers/pull/8112) - Re-export format constructors from ol/format ([@tschaub](https://github.com/tschaub))
* [#8111](https://github.com/openlayers/openlayers/pull/8111) - Re-export control constructors ([@tschaub](https://github.com/tschaub))
* [#8118](https://github.com/openlayers/openlayers/pull/8118) - Use list for cloak entries ([@tschaub](https://github.com/tschaub))
* [#8109](https://github.com/openlayers/openlayers/pull/8109) - Make any falsey undefinedHTML retain the mouse position ([@tschaub](https://github.com/tschaub))
* [#8103](https://github.com/openlayers/openlayers/pull/8103) - Fix some jsdoc path types ([@ahocevar](https://github.com/ahocevar))
* [#7784](https://github.com/openlayers/openlayers/pull/7784) - Adds option to retain MousePosition when pointer leaves viewport ([@pedros007](https://github.com/pedros007))
* [#8101](https://github.com/openlayers/openlayers/pull/8101) - More Jsdoc module fixes ([@fredj](https://github.com/fredj))
* [#7908](https://github.com/openlayers/openlayers/pull/7908) - ScaleLine fix for non-degree based units ([@hyperknot](https://github.com/hyperknot))
* [#8099](https://github.com/openlayers/openlayers/pull/8099) - More Jsdoc module fixes ([@openlayers](https://github.com/openlayers))
* [#8098](https://github.com/openlayers/openlayers/pull/8098) - Remove externs/olx.js and src/ol/typedefs.js ([@tschaub](https://github.com/tschaub))
* [#8096](https://github.com/openlayers/openlayers/pull/8096) - Fix rotation default ([@ahocevar](https://github.com/ahocevar))
* [#8081](https://github.com/openlayers/openlayers/pull/8081) - Move olx.render.* and related typedefs to ol/render/* ([@pfirpfel](https://github.com/pfirpfel))
* [#8087](https://github.com/openlayers/openlayers/pull/8087) - Move various typedefs out of typdefs.js ([@pfirpfel](https://github.com/pfirpfel))
* [#8052](https://github.com/openlayers/openlayers/pull/8052) - More Jsdoc module fixes ([@fredj](https://github.com/fredj))
* [#8048](https://github.com/openlayers/openlayers/pull/8048) - Remove all comments from shaders ([@fredj](https://github.com/fredj))
* [#8089](https://github.com/openlayers/openlayers/pull/8089) - Allow unprefixed WMTS tileMatrix identifiers ([@fredj](https://github.com/fredj))
* [#8088](https://github.com/openlayers/openlayers/pull/8088) - Correct type for TextPlacement (jsdoc) ([@camptocamp](https://github.com/camptocamp))
* [#8083](https://github.com/openlayers/openlayers/pull/8083) - Move structs typedefs to ol/structs/* ([@pfirpfel](https://github.com/pfirpfel))
* [#8077](https://github.com/openlayers/openlayers/pull/8077) - Add hasFeature method to ol.source.Vector ([@icholy](https://github.com/icholy))
* [#8080](https://github.com/openlayers/openlayers/pull/8080) - #8079 Mark functions setRotateWithView and setSnapToPixel of ol/style/Image with @api ([@iagafonov](https://github.com/iagafonov))
* [#8084](https://github.com/openlayers/openlayers/pull/8084) - Move ol.Reproj* typedefs to ol/reproj ([@pfirpfel](https://github.com/pfirpfel))
* [#8082](https://github.com/openlayers/openlayers/pull/8082) - Remove unused typedefs ([@pfirpfel](https://github.com/pfirpfel))
* [#8076](https://github.com/openlayers/openlayers/pull/8076) - Move olx.style.* and ol.Style* to ol/style/* ([@pfirpfel](https://github.com/pfirpfel))
* [#8075](https://github.com/openlayers/openlayers/pull/8075) - Move olx.tilegrid.* to ol/tilegrid/* ([@pfirpfel](https://github.com/pfirpfel))
* [#8073](https://github.com/openlayers/openlayers/pull/8073) - Remove dependency on deprecated sinon@5 ([@tschaub](https://github.com/tschaub))
* [#7994](https://github.com/openlayers/openlayers/pull/7994) - Explicit renderer dependencies ([@tschaub](https://github.com/tschaub))
* [#7863](https://github.com/openlayers/openlayers/pull/7863) - Add note about null geom in VectorSource.forEachFeature ([@fredj](https://github.com/fredj))
* [#8055](https://github.com/openlayers/openlayers/pull/8055) - Mark optional property with square brackets ([@fredj](https://github.com/fredj))
* [#8054](https://github.com/openlayers/openlayers/pull/8054) - Generate correct includes list for `build-index` script on windows hosts. ([@lilliputten](https://github.com/lilliputten))
* [#8053](https://github.com/openlayers/openlayers/pull/8053) - Don't import from 'functions' multiple times ([@fredj](https://github.com/fredj))
* [#8041](https://github.com/openlayers/openlayers/pull/8041) - Remove olx typedefs ol/source ([@fgravin](https://github.com/fgravin))
* [#8026](https://github.com/openlayers/openlayers/pull/8026) - [doc] dispatchChangeEvent -> changed ([@nyurik](https://github.com/nyurik))
* [#8003](https://github.com/openlayers/openlayers/pull/8003) - Add an example showing Chaikins smoothing algorithm ([@marcjansen](https://github.com/marcjansen))
* [#8044](https://github.com/openlayers/openlayers/pull/8044) - Rename constructor options typedef to 'Options' ([@fredj](https://github.com/fredj))
* [#8042](https://github.com/openlayers/openlayers/pull/8042) - Only process loaded tiles ([@ahocevar](https://github.com/ahocevar))
* [#8036](https://github.com/openlayers/openlayers/pull/8036) - Move the temporary arrays to the module level ([@fredj](https://github.com/fredj))
* [#8032](https://github.com/openlayers/openlayers/pull/8032) - Start removing externs for `ol/source` ([@romanzoller](https://github.com/romanzoller))
* [#8038](https://github.com/openlayers/openlayers/pull/8038) - Fix ZoomToExtent default tipLabel value ([@fredj](https://github.com/fredj))
* [#8034](https://github.com/openlayers/openlayers/pull/8034) - More Jsdoc module fixes ([@fredj](https://github.com/fredj))
* [#8029](https://github.com/openlayers/openlayers/pull/8029) - More Jsdoc module fixes ([@fredj](https://github.com/fredj))
* [#8030](https://github.com/openlayers/openlayers/pull/8030) - Set `user-select: text` for .ol-selectable ([@walkermatt](https://github.com/walkermatt))
* [#8025](https://github.com/openlayers/openlayers/pull/8025) - Move olx.layer.* to ol/layer/* ([@romanzoller](https://github.com/romanzoller))
* [#8023](https://github.com/openlayers/openlayers/pull/8023) - Module type changes for ol.webgl ([@fredj](https://github.com/fredj))
* [#8021](https://github.com/openlayers/openlayers/pull/8021) - Move olx.ViewState to ol/View ([@fredj](https://github.com/fredj))
* [#8012](https://github.com/openlayers/openlayers/pull/8012) - More Jsdoc module fixes ([@fredj](https://github.com/fredj))
* [#8015](https://github.com/openlayers/openlayers/pull/8015) - Remove some typedefs from src/ol/typedefs.js ([@fredj](https://github.com/fredj))
* [#8016](https://github.com/openlayers/openlayers/pull/8016) - Move olx.layer.BaseOptions to ol/layer/Base ([@romanzoller](https://github.com/romanzoller))
* [#8005](https://github.com/openlayers/openlayers/pull/8005) - Add vector tile selection example ([@chrismayer](https://github.com/chrismayer))
* [#7999](https://github.com/openlayers/openlayers/pull/7999) - More Jsdoc module fixes ([@fredj](https://github.com/fredj))
* [#7998](https://github.com/openlayers/openlayers/pull/7998) - More Jsdoc module fixes ([@fredj](https://github.com/fredj))
* [#7992](https://github.com/openlayers/openlayers/pull/7992) - Fix freeze on export PDF example ([@trenneman](https://github.com/trenneman))
* [#7997](https://github.com/openlayers/openlayers/pull/7997) - Jsdoc module ([@fredj](https://github.com/fredj))
* [#7986](https://github.com/openlayers/openlayers/pull/7986) - Use module syntax for type annotations ([@fredj](https://github.com/fredj))
* [#7996](https://github.com/openlayers/openlayers/pull/7996) - 4.6.5 ([@openlayers](https://github.com/openlayers))
* [#7993](https://github.com/openlayers/openlayers/pull/7993) - Module types ([@tschaub](https://github.com/tschaub))
* [#7989](https://github.com/openlayers/openlayers/pull/7989) - Redistribute olx types for ol/interaction ([@ahocevar](https://github.com/ahocevar))
* [#7991](https://github.com/openlayers/openlayers/pull/7991) - Fix some type paths ([@ahocevar](https://github.com/ahocevar))
* [#7985](https://github.com/openlayers/openlayers/pull/7985) - Use path type instead of ol.tilegrid ([@fredj](https://github.com/fredj))
* [#7983](https://github.com/openlayers/openlayers/pull/7983) - Use path type instead of ol.Extent ([@ahocevar](https://github.com/ahocevar))
* [#7980](https://github.com/openlayers/openlayers/pull/7980) - Use module syntax for type annotations ([@fredj](https://github.com/fredj))
* [#7979](https://github.com/openlayers/openlayers/pull/7979) - Mark optional property with square brackets ([@fredj](https://github.com/fredj))
* [#7975](https://github.com/openlayers/openlayers/pull/7975) - Mark optional property with square brackets ([@fredj](https://github.com/fredj))
* [#7960](https://github.com/openlayers/openlayers/pull/7960) - Fix memory leak in CanvasImageRenderer ([@PetroDE](https://github.com/PetroDE))
* [#7974](https://github.com/openlayers/openlayers/pull/7974) - Fix spelling ([@fredj](https://github.com/fredj))
* [#7973](https://github.com/openlayers/openlayers/pull/7973) - Remove setAttributeNS function from ol/xml ([@fredj](https://github.com/fredj))
* [#7971](https://github.com/openlayers/openlayers/pull/7971) - Use module syntax for type annotations ([@tschaub](https://github.com/tschaub))
* [#7968](https://github.com/openlayers/openlayers/pull/7968) - More types in the right places ([@tschaub](https://github.com/tschaub))
* [#7966](https://github.com/openlayers/openlayers/pull/7966) - Remove namespaces from olx.js ([@tschaub](https://github.com/tschaub))
* [#7965](https://github.com/openlayers/openlayers/pull/7965) - Redistribute types from externs/olx.js ([@tschaub](https://github.com/tschaub))
* [#7608](https://github.com/openlayers/openlayers/pull/7608) - Facilitate the removal of externs/olx.js ([@tschaub](https://github.com/tschaub))
* [#7964](https://github.com/openlayers/openlayers/pull/7964) - Coordinate type typo ([@tschaub](https://github.com/tschaub))
* [#7961](https://github.com/openlayers/openlayers/pull/7961) - Correct type for style ([@tschaub](https://github.com/tschaub))
* [#7958](https://github.com/openlayers/openlayers/pull/7958) - miscellaneous fixes to the types annotation ([@fredj](https://github.com/fredj))
* [#7953](https://github.com/openlayers/openlayers/pull/7953) - Get rid of externs/olx.js and src/ol/typedefs.js typedefs for ol/ and ol/events/ ([@ahocevar](https://github.com/ahocevar))
* [#7956](https://github.com/openlayers/openlayers/pull/7956) - Make sure namespaces are populated after they were created ([@ahocevar](https://github.com/ahocevar))
* [#7952](https://github.com/openlayers/openlayers/pull/7952) - Fix typo in jsdoc type ([@fredj](https://github.com/fredj))
* [#7948](https://github.com/openlayers/openlayers/pull/7948) - Better type definition ([@fredj](https://github.com/fredj))
* [#7946](https://github.com/openlayers/openlayers/pull/7946) - New typedef syntax and module path types for some modules ([@ahocevar](https://github.com/ahocevar))
* [#7944](https://github.com/openlayers/openlayers/pull/7944) - Make wrap work with points in the vector-labels example ([@ahocevar](https://github.com/ahocevar))
* [#7933](https://github.com/openlayers/openlayers/pull/7933) - Better code indentation ([@fredj](https://github.com/fredj))
* [#7930](https://github.com/openlayers/openlayers/pull/7930) - Use listen function instead of on ([@openlayers](https://github.com/openlayers))
* [#7929](https://github.com/openlayers/openlayers/pull/7929) - Remove unused devDependencies ([@openlayers](https://github.com/openlayers))
* [#7927](https://github.com/openlayers/openlayers/pull/7927) - Remove unused deps, unused tasks, and outdated info ([@tschaub](https://github.com/tschaub))
* [#7923](https://github.com/openlayers/openlayers/pull/7923) - Fix exports and use of constants ([@ahocevar](https://github.com/ahocevar))
* [#7914](https://github.com/openlayers/openlayers/pull/7914) - Some easy window cleanups ([@gberaudo](https://github.com/gberaudo))
* [#7915](https://github.com/openlayers/openlayers/pull/7915) - Untie feature loader and XML code ([@gberaudo](https://github.com/gberaudo))
* [#7918](https://github.com/openlayers/openlayers/pull/7918) - Move the nullFunction to ol/functions ([@fredj](https://github.com/fredj))
* [#7910](https://github.com/openlayers/openlayers/pull/7910) - Better code indentation ([@fredj](https://github.com/fredj))
* [#7904](https://github.com/openlayers/openlayers/pull/7904) - Add focus condition, e.g. for wheel zoom ([@ahocevar](https://github.com/ahocevar))
* [#7902](https://github.com/openlayers/openlayers/pull/7902) - Add a unicode symbol for symbol font detection ([@ahocevar](https://github.com/ahocevar))
* [#7899](https://github.com/openlayers/openlayers/pull/7899) - Use nomnom@1.8.1 ([@tschaub](https://github.com/tschaub))
* [#7897](https://github.com/openlayers/openlayers/pull/7897) - Better variables scoping ([@fredj](https://github.com/fredj))
* [#7894](https://github.com/openlayers/openlayers/pull/7894) - More named exports, fewer static members ([@tschaub](https://github.com/tschaub))
* [#7881](https://github.com/openlayers/openlayers/pull/7881) - Better variables scoping ([@fredj](https://github.com/fredj))
* [#7888](https://github.com/openlayers/openlayers/pull/7888) - Rework away static members from pointer related classes ([@bjornharrtell](https://github.com/bjornharrtell))
* [#7880](https://github.com/openlayers/openlayers/pull/7880) - Named exports from ol/style/Style ([@tschaub](https://github.com/tschaub))
* [#7872](https://github.com/openlayers/openlayers/pull/7872) - More named export ([@fredj](https://github.com/fredj))
* [#7874](https://github.com/openlayers/openlayers/pull/7874) - Cleaning up exports ([@tschaub](https://github.com/tschaub))
* [#7871](https://github.com/openlayers/openlayers/pull/7871) - Memory optimization ([@fredj](https://github.com/fredj))
* [#7870](https://github.com/openlayers/openlayers/pull/7870) - Use exported function from ol/webgl ([@fredj](https://github.com/fredj))
* [#7868](https://github.com/openlayers/openlayers/pull/7868) - Named export ([@fredj](https://github.com/fredj))
* [#7861](https://github.com/openlayers/openlayers/pull/7861) - Named exports from ol/structs/PriorityQueue ([@fredj](https://github.com/fredj))
* [#7860](https://github.com/openlayers/openlayers/pull/7860) - Don't export private constant from ol/webgl ([@openlayers](https://github.com/openlayers))
* [#7855](https://github.com/openlayers/openlayers/pull/7855) - More named exports ([@tschaub](https://github.com/tschaub))
* [#7851](https://github.com/openlayers/openlayers/pull/7851) - Replacing static functions with named exports ([@tschaub](https://github.com/tschaub))
* [#7852](https://github.com/openlayers/openlayers/pull/7852) - Rename extent ([@nicholas-l](https://github.com/nicholas-l))
* [#7840](https://github.com/openlayers/openlayers/pull/7840) - More export renaming ([@raiyni](https://github.com/raiyni))
* [#7843](https://github.com/openlayers/openlayers/pull/7843) - Better code indentation ([@fredj](https://github.com/fredj))
* [#7842](https://github.com/openlayers/openlayers/pull/7842) - Allow setting the label cache size ([@ahocevar](https://github.com/ahocevar))
* [#7791](https://github.com/openlayers/openlayers/pull/7791) - Named exports from ol/tilecoord ([@marcjansen](https://github.com/marcjansen))
* [#7835](https://github.com/openlayers/openlayers/pull/7835) - Add and use a constant for the collapsed CSS class ([@marcjansen](https://github.com/marcjansen))
* [#7834](https://github.com/openlayers/openlayers/pull/7834) - Named exports from ol/transform ([@marcjansen](https://github.com/marcjansen))
* [#7831](https://github.com/openlayers/openlayers/pull/7831) - Add new maxTilesLoading option to ol/PluggableMap ([@fredj](https://github.com/fredj))
* [#7833](https://github.com/openlayers/openlayers/pull/7833) - Fix createEmptyTexture function call in ol/webgl/Context ([@fredj](https://github.com/fredj))
* [#7832](https://github.com/openlayers/openlayers/pull/7832) - Webgl Layer and Context named exports ([@fgravin](https://github.com/fgravin))
* [#7826](https://github.com/openlayers/openlayers/pull/7826) - Better code indentation and modules renaming ([@fredj](https://github.com/fredj))
* [#7828](https://github.com/openlayers/openlayers/pull/7828) - Refactor constraints static methods to module functions ([@bjornharrtell](https://github.com/bjornharrtell))
* [#7827](https://github.com/openlayers/openlayers/pull/7827) - Named exports from ol/render/canvas ([@tschaub](https://github.com/tschaub))
* [#7823](https://github.com/openlayers/openlayers/pull/7823) - Replace static members with named exports ([@fredj](https://github.com/fredj))
* [#7820](https://github.com/openlayers/openlayers/pull/7820) - ol/geom/flat/* exports ([@raiyni](https://github.com/raiyni))
* [#7824](https://github.com/openlayers/openlayers/pull/7824) - Fix code indentation ([@fredj](https://github.com/fredj))
* [#7821](https://github.com/openlayers/openlayers/pull/7821) - Add new canvas instruction array in ol/render/canvas/Instruction ([@fredj](https://github.com/fredj))
* [#7817](https://github.com/openlayers/openlayers/pull/7817) - Remove more private static members ([@tschaub](https://github.com/tschaub))
* [#7814](https://github.com/openlayers/openlayers/pull/7814) - Remove more private static members ([@tschaub](https://github.com/tschaub))
* [#7816](https://github.com/openlayers/openlayers/pull/7816) - Use toString instead of asString in asColorLike ([@openlayers](https://github.com/openlayers))
* [#7811](https://github.com/openlayers/openlayers/pull/7811) - Remove ol.FeatureStyleFunction support ([@fredj](https://github.com/fredj))
* [#7815](https://github.com/openlayers/openlayers/pull/7815) - Remove private statics from webgl related modules ([@bjornharrtell](https://github.com/bjornharrtell))
* [#7803](https://github.com/openlayers/openlayers/pull/7803) - Remove private static members from constructors ([@tschaub](https://github.com/tschaub))
* [#7808](https://github.com/openlayers/openlayers/pull/7808) - Make sure the requested image size matches the desired ratio ([@ahocevar](https://github.com/ahocevar))
* [#7807](https://github.com/openlayers/openlayers/pull/7807) - Run typecheck after tests, because of its current verbosity ([@ahocevar](https://github.com/ahocevar))
* [#7805](https://github.com/openlayers/openlayers/pull/7805) - Remove private static members from constructors ([@fredj](https://github.com/fredj))
* [#7806](https://github.com/openlayers/openlayers/pull/7806) - Fix rotate import ([@ahocevar](https://github.com/ahocevar))
* [#7800](https://github.com/openlayers/openlayers/pull/7800) - More named exports ([@tschaub](https://github.com/tschaub))
* [#7741](https://github.com/openlayers/openlayers/pull/7741) - Type checking and full build creation ([@ahocevar](https://github.com/ahocevar))
* [#7797](https://github.com/openlayers/openlayers/pull/7797) - Better default export names for WebGL modules ([@tschaub](https://github.com/tschaub))
* [#7794](https://github.com/openlayers/openlayers/pull/7794) - Call animation callback in a timeout ([@tschaub](https://github.com/tschaub))
* [#7793](https://github.com/openlayers/openlayers/pull/7793) - More renaming of default exports ([@tschaub](https://github.com/tschaub))
* [#7799](https://github.com/openlayers/openlayers/pull/7799) - Use tmpSize to reduce garbage generation ([@fredj](https://github.com/fredj))
* [#7788](https://github.com/openlayers/openlayers/pull/7788) - Fix shaders generation ([@fredj](https://github.com/fredj))
* [#7789](https://github.com/openlayers/openlayers/pull/7789) - Use STATIC_DRAW as default WebGL buffer usage ([@fredj](https://github.com/fredj))
* [#7787](https://github.com/openlayers/openlayers/pull/7787) - More renaming ([@fredj](https://github.com/fredj))
* [#7782](https://github.com/openlayers/openlayers/pull/7782) - Named exports from specific proj modules ([@tschaub](https://github.com/tschaub))
* [#7780](https://github.com/openlayers/openlayers/pull/7780) - More named exports ([@tschaub](https://github.com/tschaub))
* [#7783](https://github.com/openlayers/openlayers/pull/7783) - Named exports from ol/xml ([@raiyni](https://github.com/raiyni))
* [#7774](https://github.com/openlayers/openlayers/pull/7774) - Pass destination extent to avoid garbage generation ([@fredj](https://github.com/fredj))
* [#7771](https://github.com/openlayers/openlayers/pull/7771) - Named exports from loadingstrategy ([@marcjansen](https://github.com/marcjansen))
* [#7772](https://github.com/openlayers/openlayers/pull/7772) - Named exports from filter module ([@marcjansen](https://github.com/marcjansen))
* [#7770](https://github.com/openlayers/openlayers/pull/7770) - Rename _ol_render_Box_ to RenderBox ([@marcjansen](https://github.com/marcjansen))
* [#7763](https://github.com/openlayers/openlayers/pull/7763) - Use the temporary extent in VectorTileLayer ([@fredj](https://github.com/fredj))
* [#7765](https://github.com/openlayers/openlayers/pull/7765) - Named exports from events condition ([@marcjansen](https://github.com/marcjansen))
* [#7767](https://github.com/openlayers/openlayers/pull/7767) - Transformation functions: Fix spelling and use the symbol × ([@marcjansen](https://github.com/marcjansen))
* [#7764](https://github.com/openlayers/openlayers/pull/7764) - Named exports from ol/has ([@tschaub](https://github.com/tschaub))
* [#7761](https://github.com/openlayers/openlayers/pull/7761) - Rename _ol_render_canvas_Instruction_ to CanvasInstruction ([@fredj](https://github.com/fredj))
* [#7749](https://github.com/openlayers/openlayers/pull/7749) - Check if the sketch feature is defined in finishDrawing ([@fredj](https://github.com/fredj))
* [#7745](https://github.com/openlayers/openlayers/pull/7745) - More named exports ([@fredj](https://github.com/fredj))
* [#7743](https://github.com/openlayers/openlayers/pull/7743) - Set enableHighAccuracy in geolocation example ([@fredj](https://github.com/fredj))
* [#7738](https://github.com/openlayers/openlayers/pull/7738) - Named exports from ol/events ([@tschaub](https://github.com/tschaub))
* [#7724](https://github.com/openlayers/openlayers/pull/7724) - Update prism library ([@fredj](https://github.com/fredj))
* [#7727](https://github.com/openlayers/openlayers/pull/7727) - Deactivate transition effect for semi transparent layer example ([@fredj](https://github.com/fredj))
* [#7726](https://github.com/openlayers/openlayers/pull/7726) - Named exports from ol/string ([@fredj](https://github.com/fredj))
* [#7725](https://github.com/openlayers/openlayers/pull/7725) - Remove extra comment ([@fredj](https://github.com/fredj))
* [#7721](https://github.com/openlayers/openlayers/pull/7721) - More renaming ([@fredj](https://github.com/fredj))
* [#7716](https://github.com/openlayers/openlayers/pull/7716) - Better variables scoping ([@fredj](https://github.com/fredj))
* [#7698](https://github.com/openlayers/openlayers/pull/7698) - Fix for loop in color test ([@fredj](https://github.com/fredj))
* [#7703](https://github.com/openlayers/openlayers/pull/7703) - Improved drawing experience on touch devices ([@ahocevar](https://github.com/ahocevar))
* [#7713](https://github.com/openlayers/openlayers/pull/7713) - Better variables scoping ([@fredj](https://github.com/fredj))
* [#7711](https://github.com/openlayers/openlayers/pull/7711) - Do not use (I)CLA anymore ([@bartvde](https://github.com/bartvde))
* [#7709](https://github.com/openlayers/openlayers/pull/7709) - More named export ([@fredj](https://github.com/fredj))
* [#7705](https://github.com/openlayers/openlayers/pull/7705) - More renaming ([@fredj](https://github.com/fredj))
* [#7700](https://github.com/openlayers/openlayers/pull/7700) - Fix ScaleLine control for Projections in degrees ([@pedros007](https://github.com/pedros007))
* [#7697](https://github.com/openlayers/openlayers/pull/7697) - Use const and let ([@tschaub](https://github.com/tschaub))
* [#7695](https://github.com/openlayers/openlayers/pull/7695) - More renaming ([@tschaub](https://github.com/tschaub))
* [#7693](https://github.com/openlayers/openlayers/pull/7693) - More import renaming ([@fredj](https://github.com/fredj))
* [#7678](https://github.com/openlayers/openlayers/pull/7678) - Add jsDelivr hits badge ([@LukasDrgon](https://github.com/LukasDrgon))
* [#7686](https://github.com/openlayers/openlayers/pull/7686) - More import renaming ([@tschaub](https://github.com/tschaub))
* [#7669](https://github.com/openlayers/openlayers/pull/7669) - Use declutter tree only for text and image replays ([@ahocevar](https://github.com/ahocevar))
* [#7683](https://github.com/openlayers/openlayers/pull/7683) - Move IGCZ enum to src/ol/format/IGC.js ([@fredj](https://github.com/fredj))
* [#7682](https://github.com/openlayers/openlayers/pull/7682) - Add new condition to MouseWheelZoom interaction ([@fredj](https://github.com/fredj))
* [#7676](https://github.com/openlayers/openlayers/pull/7676) - Check fonts against two reference fonts ([@ahocevar](https://github.com/ahocevar))
* [#7668](https://github.com/openlayers/openlayers/pull/7668) - Hit detect text background ([@ahocevar](https://github.com/ahocevar))
* [#7661](https://github.com/openlayers/openlayers/pull/7661) - Background fill stroke ([@ahocevar](https://github.com/ahocevar))
* [#7654](https://github.com/openlayers/openlayers/pull/7654) - Add named export for transformWithOptions function ([@fredj](https://github.com/fredj))
* [#7652](https://github.com/openlayers/openlayers/pull/7652) - More renaming ([@fredj](https://github.com/fredj))
* [#7649](https://github.com/openlayers/openlayers/pull/7649) - Named Map export for ol/Map ([@raiyni](https://github.com/raiyni))
* [#7646](https://github.com/openlayers/openlayers/pull/7646) - Named export for Polyline format and SimpleGeometry ([@openlayers](https://github.com/openlayers))
* [#7650](https://github.com/openlayers/openlayers/pull/7650) - Rename _ol_PluggableMap_ to PluggableMap ([@fredj](https://github.com/fredj))
* [#7642](https://github.com/openlayers/openlayers/pull/7642) - Don't store private function into GPX ([@fredj](https://github.com/fredj))
* [#7643](https://github.com/openlayers/openlayers/pull/7643) - Replace ol/Sphere with ol/sphere ([@tschaub](https://github.com/tschaub))
* [#7644](https://github.com/openlayers/openlayers/pull/7644) - Named exports from ol/math module ([@raiyni](https://github.com/raiyni))
* [#7636](https://github.com/openlayers/openlayers/pull/7636) - Named exports from the ol/array module ([@marcjansen](https://github.com/marcjansen))
* [#7614](https://github.com/openlayers/openlayers/pull/7614) - Remove opt_this from the API ([@KlausBenndorf](https://github.com/KlausBenndorf))
* [#7640](https://github.com/openlayers/openlayers/pull/7640) - Remove unneeded and already skipped test ([@openlayers](https://github.com/openlayers))
* [#7637](https://github.com/openlayers/openlayers/pull/7637) - Named exports from the ol/color module ([@marcjansen](https://github.com/marcjansen))
* [#7639](https://github.com/openlayers/openlayers/pull/7639) - Don't store private function into GeoJSON ([@fredj](https://github.com/fredj))
* [#7635](https://github.com/openlayers/openlayers/pull/7635) - More module renaming ([@fredj](https://github.com/fredj))
* [#7632](https://github.com/openlayers/openlayers/pull/7632) - Named exports from ol/css module ([@marcjansen](https://github.com/marcjansen))
* [#7634](https://github.com/openlayers/openlayers/pull/7634) - Rename _ol_layer_Tile_ to TileLayer ([@marcjansen](https://github.com/marcjansen))
* [#7633](https://github.com/openlayers/openlayers/pull/7633) - Import assert function directly ([@marcjansen](https://github.com/marcjansen))
* [#7631](https://github.com/openlayers/openlayers/pull/7631) - More named export and rename ([@fredj](https://github.com/fredj))
* [#7627](https://github.com/openlayers/openlayers/pull/7627) - Nicer import name ([@fredj](https://github.com/fredj))
* [#7622](https://github.com/openlayers/openlayers/pull/7622) - Named export ([@fredj](https://github.com/fredj))
* [#7624](https://github.com/openlayers/openlayers/pull/7624) - Remove eslint-plugin-openlayers-internal rules ([@fredj](https://github.com/fredj))
* [#7625](https://github.com/openlayers/openlayers/pull/7625) - Named export for ol/control and ol/interaction ([@fredj](https://github.com/fredj))
* [#7623](https://github.com/openlayers/openlayers/pull/7623) - Named export for ol/tileurlfunction ([@fredj](https://github.com/fredj))
* [#7621](https://github.com/openlayers/openlayers/pull/7621) - Replace ZeroClipboard with Clipboard.js ([@fredj](https://github.com/fredj))
* [#7620](https://github.com/openlayers/openlayers/pull/7620) - Rename variables in format modules ([@tschaub](https://github.com/tschaub))
* [#7619](https://github.com/openlayers/openlayers/pull/7619) - More variable renaming ([@fredj](https://github.com/fredj))
* [#7612](https://github.com/openlayers/openlayers/pull/7612) - Better import name for _ol_ext_* import ([@fredj](https://github.com/fredj))
* [#7611](https://github.com/openlayers/openlayers/pull/7611) - Change olx.SphereMetricOptions to SphereMetricOptions ([@fredj](https://github.com/fredj))
* [#7615](https://github.com/openlayers/openlayers/pull/7615) - Remove logos ([@tschaub](https://github.com/tschaub))
* [#7610](https://github.com/openlayers/openlayers/pull/7610) - More variable renaming ([@fredj](https://github.com/fredj))
* [#7609](https://github.com/openlayers/openlayers/pull/7609) - Redistribute a few types and docs ([@tschaub](https://github.com/tschaub))
* [#7598](https://github.com/openlayers/openlayers/pull/7598) - Modular proj4 integration ([@ahocevar](https://github.com/ahocevar))
* [#7607](https://github.com/openlayers/openlayers/pull/7607) - Rename interaction variables ([@tschaub](https://github.com/tschaub))
* [#7599](https://github.com/openlayers/openlayers/pull/7599) - Rename event variables ([@marcjansen](https://github.com/marcjansen))
* [#7605](https://github.com/openlayers/openlayers/pull/7605) - Better import and class name in ol/format/filter/ ([@fredj](https://github.com/fredj))
* [#7604](https://github.com/openlayers/openlayers/pull/7604) - Named exports from ol/functions ([@fredj](https://github.com/fredj))
* [#7603](https://github.com/openlayers/openlayers/pull/7603) - Simplify default export ([@fredj](https://github.com/fredj))
* [#7602](https://github.com/openlayers/openlayers/pull/7602) - Remove now unused DEVICE_ORIENTATION ([@fredj](https://github.com/fredj))
* [#7597](https://github.com/openlayers/openlayers/pull/7597) - More es6 named export ([@fredj](https://github.com/fredj))
* [#7600](https://github.com/openlayers/openlayers/pull/7600) - Simplify default export of ol/events/KeyCode ([@marcjansen](https://github.com/marcjansen))
* [#7594](https://github.com/openlayers/openlayers/pull/7594) - Rename control variables ([@tschaub](https://github.com/tschaub))
* [#7593](https://github.com/openlayers/openlayers/pull/7593) - Simplify default export ([@tschaub](https://github.com/tschaub))
* [#7591](https://github.com/openlayers/openlayers/pull/7591) - Rename geometry variables ([@tschaub](https://github.com/tschaub))
* [#7586](https://github.com/openlayers/openlayers/pull/7586) - Named exports from ol/dom ([@fredj](https://github.com/fredj))
* [#7581](https://github.com/openlayers/openlayers/pull/7581) - Named exports from ol/proj ([@tschaub](https://github.com/tschaub))
* [#7585](https://github.com/openlayers/openlayers/pull/7585) - Remove leftovers olx.animation typedefs ([@fredj](https://github.com/fredj))
* [#7584](https://github.com/openlayers/openlayers/pull/7584) - Named exports from ol/easing ([@fredj](https://github.com/fredj))
* [#7582](https://github.com/openlayers/openlayers/pull/7582) - Remove default export from ol/extent ([@ahocevar](https://github.com/ahocevar))
* [#7580](https://github.com/openlayers/openlayers/pull/7580) - No default export from lowercase modules ([@tschaub](https://github.com/tschaub))
* [#7575](https://github.com/openlayers/openlayers/pull/7575) - Add named exports for extent ([@ahocevar](https://github.com/ahocevar))
* [#7579](https://github.com/openlayers/openlayers/pull/7579) - VectorImageTile: call changed() before removing listeners on dispose ([@mbleichner](https://github.com/mbleichner))
* [#7578](https://github.com/openlayers/openlayers/pull/7578) - Remove deprecated functionality from 4.x ([@tschaub](https://github.com/tschaub))
* [#7577](https://github.com/openlayers/openlayers/pull/7577) - Redistribute things in ol/index.js ([@tschaub](https://github.com/tschaub))
* [#7576](https://github.com/openlayers/openlayers/pull/7576) - Named exports from ol/index.js ([@tschaub](https://github.com/tschaub))
* [#7570](https://github.com/openlayers/openlayers/pull/7570) - Transform sources to ES modules ([@tschaub](https://github.com/tschaub))
* [#7569](https://github.com/openlayers/openlayers/pull/7569) - Remove unnecessary require ([@tschaub](https://github.com/tschaub))
* [#7568](https://github.com/openlayers/openlayers/pull/7568) - Remove unneeded configs from test ([@ahocevar](https://github.com/ahocevar))
* [#7566](https://github.com/openlayers/openlayers/pull/7566) - Proper projection construction ([@tschaub](https://github.com/tschaub))
* [#7565](https://github.com/openlayers/openlayers/pull/7565) - Release v4.6.4 ([@openlayers](https://github.com/openlayers))
* [#7563](https://github.com/openlayers/openlayers/pull/7563) - Use full precision for the declutter box ([@ahocevar](https://github.com/ahocevar))
* [#7559](https://github.com/openlayers/openlayers/pull/7559) - Handle skipping and unskipping features with renderMode: 'image' ([@ahocevar](https://github.com/ahocevar))
* [#7562](https://github.com/openlayers/openlayers/pull/7562) - Remove unused, confusing projection code ([@ahocevar](https://github.com/ahocevar))
* [#7555](https://github.com/openlayers/openlayers/pull/7555) - Release v4.6.3 ([@openlayers](https://github.com/openlayers))
* [#7554](https://github.com/openlayers/openlayers/pull/7554) - Only compose image vector frame when the replay group has changed ([@ahocevar](https://github.com/ahocevar))
* [#7550](https://github.com/openlayers/openlayers/pull/7550) - Update examples to d3.js v4 ([@fredj](https://github.com/fredj))
* [#7548](https://github.com/openlayers/openlayers/pull/7548) - Fix pull request link ([@openlayers](https://github.com/openlayers))
* [#7547](https://github.com/openlayers/openlayers/pull/7547) - Release v4.6.2 ([@openlayers](https://github.com/openlayers))
* [#7546](https://github.com/openlayers/openlayers/pull/7546) - Do not request features for wrapped extent ([@ahocevar](https://github.com/ahocevar))
* [#7545](https://github.com/openlayers/openlayers/pull/7545) - Release v4.6.1 ([@openlayers](https://github.com/openlayers))
* [#7543](https://github.com/openlayers/openlayers/pull/7543) - Donut polygon labels do not get a chance to get rendered ([@ahocevar](https://github.com/ahocevar))
* [#7542](https://github.com/openlayers/openlayers/pull/7542) - Still respect deprecated exceedLength option ([@ahocevar](https://github.com/ahocevar))
* [#7541](https://github.com/openlayers/openlayers/pull/7541) - Fix case of vectorrendertype.js ([@ahocevar](https://github.com/ahocevar))
<details>
<summary>Dependency Updates</summary>
* [#8315](https://github.com/openlayers/openlayers/pull/8315) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8309](https://github.com/openlayers/openlayers/pull/8309) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8311](https://github.com/openlayers/openlayers/pull/8311) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8310](https://github.com/openlayers/openlayers/pull/8310) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8297](https://github.com/openlayers/openlayers/pull/8297) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8293](https://github.com/openlayers/openlayers/pull/8293) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8285](https://github.com/openlayers/openlayers/pull/8285) - Update google-closure-compiler to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8275](https://github.com/openlayers/openlayers/pull/8275) - Update serve to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8271](https://github.com/openlayers/openlayers/pull/8271) - chore(package): update google-closure-compiler to version 20180610.0.1 ([@openlayers](https://github.com/openlayers))
* [#8270](https://github.com/openlayers/openlayers/pull/8270) - chore(package): update rollup to version 0.60.7 ([@openlayers](https://github.com/openlayers))
* [#8266](https://github.com/openlayers/openlayers/pull/8266) - chore(package): update rollup to version 0.60.4 ([@openlayers](https://github.com/openlayers))
* [#8261](https://github.com/openlayers/openlayers/pull/8261) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8260](https://github.com/openlayers/openlayers/pull/8260) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8252](https://github.com/openlayers/openlayers/pull/8252) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8248](https://github.com/openlayers/openlayers/pull/8248) - Update serve to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8247](https://github.com/openlayers/openlayers/pull/8247) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8241](https://github.com/openlayers/openlayers/pull/8241) - Update recast to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8230](https://github.com/openlayers/openlayers/pull/8230) - Update serve to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8208](https://github.com/openlayers/openlayers/pull/8208) - Update marked to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8205](https://github.com/openlayers/openlayers/pull/8205) - Update mocha to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8179](https://github.com/openlayers/openlayers/pull/8179) - Update google-closure-compiler to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8146](https://github.com/openlayers/openlayers/pull/8146) - Update coveralls to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8145](https://github.com/openlayers/openlayers/pull/8145) - Update fs-extra to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8140](https://github.com/openlayers/openlayers/pull/8140) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8131](https://github.com/openlayers/openlayers/pull/8131) - Update babel-plugin-jsdoc-closure to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8130](https://github.com/openlayers/openlayers/pull/8130) - Update babel-plugin-jsdoc-closure to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8128](https://github.com/openlayers/openlayers/pull/8128) - Update babel-plugin-jsdoc-closure to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8124](https://github.com/openlayers/openlayers/pull/8124) - Update babel-plugin-jsdoc-closure to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8102](https://github.com/openlayers/openlayers/pull/8102) - Update babel-plugin-jsdoc-closure to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8095](https://github.com/openlayers/openlayers/pull/8095) - Update babel-plugin-jsdoc-closure to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8094](https://github.com/openlayers/openlayers/pull/8094) - Update babel-plugin-jsdoc-closure to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8093](https://github.com/openlayers/openlayers/pull/8093) - chore(package): update serve to version 6.5.5 ([@openlayers](https://github.com/openlayers))
* [#8090](https://github.com/openlayers/openlayers/pull/8090) - chore(package): update url-polyfill to version 1.0.13 ([@openlayers](https://github.com/openlayers))
* [#8091](https://github.com/openlayers/openlayers/pull/8091) - chore(package): update karma-firefox-launcher to version 1.1.0 ([@openlayers](https://github.com/openlayers))
* [#8085](https://github.com/openlayers/openlayers/pull/8085) - Update mocha to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8071](https://github.com/openlayers/openlayers/pull/8071) - Update mocha to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8060](https://github.com/openlayers/openlayers/pull/8060) - Update google-closure-compiler to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8039](https://github.com/openlayers/openlayers/pull/8039) - Update google-closure-compiler to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8028](https://github.com/openlayers/openlayers/pull/8028) - Update marked to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8019](https://github.com/openlayers/openlayers/pull/8019) - Update mocha to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8017](https://github.com/openlayers/openlayers/pull/8017) - Update marked to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8018](https://github.com/openlayers/openlayers/pull/8018) - Update recast to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8014](https://github.com/openlayers/openlayers/pull/8014) - Update recast to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8009](https://github.com/openlayers/openlayers/pull/8009) - chore(package): update sinon to version 5.0.0 ([@openlayers](https://github.com/openlayers))
* [#8008](https://github.com/openlayers/openlayers/pull/8008) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8000](https://github.com/openlayers/openlayers/pull/8000) - Update karma-webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7990](https://github.com/openlayers/openlayers/pull/7990) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7984](https://github.com/openlayers/openlayers/pull/7984) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7981](https://github.com/openlayers/openlayers/pull/7981) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7977](https://github.com/openlayers/openlayers/pull/7977) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7972](https://github.com/openlayers/openlayers/pull/7972) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7963](https://github.com/openlayers/openlayers/pull/7963) - chore(package): update url-polyfill to version 1.0.11 ([@openlayers](https://github.com/openlayers))
* [#7962](https://github.com/openlayers/openlayers/pull/7962) - chore(package): update serve to version 6.5.2 ([@openlayers](https://github.com/openlayers))
* [#7959](https://github.com/openlayers/openlayers/pull/7959) - Update babel-plugin-jsdoc-closure to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7957](https://github.com/openlayers/openlayers/pull/7957) - Update recast to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7950](https://github.com/openlayers/openlayers/pull/7950) - Update mocha to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7945](https://github.com/openlayers/openlayers/pull/7945) - Update babel-plugin-jsdoc-closure to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7943](https://github.com/openlayers/openlayers/pull/7943) - Update mocha to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7940](https://github.com/openlayers/openlayers/pull/7940) - Update babel-plugin-jsdoc-closure to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7938](https://github.com/openlayers/openlayers/pull/7938) - Update mocha to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7925](https://github.com/openlayers/openlayers/pull/7925) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7921](https://github.com/openlayers/openlayers/pull/7921) - Update clean-css-cli to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7916](https://github.com/openlayers/openlayers/pull/7916) - chore(package): update html-webpack-plugin to version 3.0.1 ([@openlayers](https://github.com/openlayers))
* [#7905](https://github.com/openlayers/openlayers/pull/7905) - Update karma-webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7903](https://github.com/openlayers/openlayers/pull/7903) - Update marked to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7901](https://github.com/openlayers/openlayers/pull/7901) - Update karma-webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7898](https://github.com/openlayers/openlayers/pull/7898) - chore(package): update karma-webpack to version 2.0.11 ([@openlayers](https://github.com/openlayers))
* [#7893](https://github.com/openlayers/openlayers/pull/7893) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7891](https://github.com/openlayers/openlayers/pull/7891) - chore(package): update recast to version 0.14.4 ([@openlayers](https://github.com/openlayers))
* [#7886](https://github.com/openlayers/openlayers/pull/7886) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7882](https://github.com/openlayers/openlayers/pull/7882) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7876](https://github.com/openlayers/openlayers/pull/7876) - Update recast to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7877](https://github.com/openlayers/openlayers/pull/7877) - Update webpack-merge to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7865](https://github.com/openlayers/openlayers/pull/7865) - Update marked to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7866](https://github.com/openlayers/openlayers/pull/7866) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7867](https://github.com/openlayers/openlayers/pull/7867) - Update recast to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7858](https://github.com/openlayers/openlayers/pull/7858) - Update recast to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7850](https://github.com/openlayers/openlayers/pull/7850) - Update marked to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7849](https://github.com/openlayers/openlayers/pull/7849) - Update recast to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7848](https://github.com/openlayers/openlayers/pull/7848) - Update nomnom to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7847](https://github.com/openlayers/openlayers/pull/7847) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7845](https://github.com/openlayers/openlayers/pull/7845) - chore(package): update marked to version 0.3.14 ([@openlayers](https://github.com/openlayers))
* [#7841](https://github.com/openlayers/openlayers/pull/7841) - Greenkeeper/babel plugin jsdoc closure 1.2.0 ([@openlayers](https://github.com/openlayers))
* [#7822](https://github.com/openlayers/openlayers/pull/7822) - Update mocha to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7813](https://github.com/openlayers/openlayers/pull/7813) - Update recast to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7809](https://github.com/openlayers/openlayers/pull/7809) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7812](https://github.com/openlayers/openlayers/pull/7812) - chore(package): update sinon to version 4.3.0 ([@openlayers](https://github.com/openlayers))
* [#7777](https://github.com/openlayers/openlayers/pull/7777) - Update babel-minify-webpack-plugin to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7759](https://github.com/openlayers/openlayers/pull/7759) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7746](https://github.com/openlayers/openlayers/pull/7746) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7735](https://github.com/openlayers/openlayers/pull/7735) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7729](https://github.com/openlayers/openlayers/pull/7729) - Update jquery to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7732](https://github.com/openlayers/openlayers/pull/7732) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7731](https://github.com/openlayers/openlayers/pull/7731) - Update webpack-dev-server to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7728](https://github.com/openlayers/openlayers/pull/7728) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7720](https://github.com/openlayers/openlayers/pull/7720) - Update mocha to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7712](https://github.com/openlayers/openlayers/pull/7712) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7702](https://github.com/openlayers/openlayers/pull/7702) - Update webpack-dev-server to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7701](https://github.com/openlayers/openlayers/pull/7701) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7691](https://github.com/openlayers/openlayers/pull/7691) - Update webpack-dev-server to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7688](https://github.com/openlayers/openlayers/pull/7688) - Update marked to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7685](https://github.com/openlayers/openlayers/pull/7685) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7681](https://github.com/openlayers/openlayers/pull/7681) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7680](https://github.com/openlayers/openlayers/pull/7680) - Update webpack-dev-server to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7667](https://github.com/openlayers/openlayers/pull/7667) - Update mocha to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7656](https://github.com/openlayers/openlayers/pull/7656) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7655](https://github.com/openlayers/openlayers/pull/7655) - Update marked to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7651](https://github.com/openlayers/openlayers/pull/7651) - Update karma to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7647](https://github.com/openlayers/openlayers/pull/7647) - Update rbush to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7596](https://github.com/openlayers/openlayers/pull/7596) - Update karma-webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7589](https://github.com/openlayers/openlayers/pull/7589) - chore(package): update karma-webpack to version 2.0.8 ([@openlayers](https://github.com/openlayers))
* [#7571](https://github.com/openlayers/openlayers/pull/7571) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7567](https://github.com/openlayers/openlayers/pull/7567) - Update fs-extra to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7558](https://github.com/openlayers/openlayers/pull/7558) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7552](https://github.com/openlayers/openlayers/pull/7552) - Update jscodeshift to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7551](https://github.com/openlayers/openlayers/pull/7551) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
</details>

8
changelog/v5.0.1.md Normal file
View File

@@ -0,0 +1,8 @@
# 5.0.1
The v5.0.1 release helps reduce bundle sizes for bundlers that support the `"sideEffects": "false"`option in `package.json`, and fixes website documentation regarding cdn locations and debug build which has been replaced by source maps.
## Fixes
* [#8341](https://github.com/openlayers/openlayers/pull/8341) - Set sideEffects: false flag ([@ahocevar](https://github.com/ahocevar))
* [#8342](https://github.com/openlayers/openlayers/pull/8342) - Fix links and description in quickstart tutorial ([@ahocevar](https://github.com/ahocevar))

7
changelog/v5.0.2.md Normal file
View File

@@ -0,0 +1,7 @@
# 5.0.2
The v5.0.2 release updates the package readme with new example projects.
## Fixes
* [#8332](https://github.com/openlayers/openlayers/pull/8343) - Starter projects ([@tschaub](https://github.com/tschaub))

9
changelog/v5.0.3.md Normal file
View File

@@ -0,0 +1,9 @@
# 5.0.3
The v5.0.3 fixes a regression in the vector tile renderer and improves the built examples and release package.
## Fixes
* [#8364](https://github.com/openlayers/openlayers/pull/8364) - Make examples work in IE11 ([@ahocevar](https://github.com/ahocevar))
* [#8363](https://github.com/openlayers/openlayers/pull/8363) - Autogenerate src/ol/package.json ([@ahocevar](https://github.com/ahocevar))
* [#8371](https://github.com/openlayers/openlayers/pull/8371) - Skip rendering when there is no replay group ([@ahocevar](https://github.com/ahocevar))

64
changelog/v5.1.0.md Normal file
View File

@@ -0,0 +1,64 @@
# v5.1.0
The 5.1 release adds a few new features a handful of fixes. You should be able to upgrade without any additional work. See the one note below regarding `null` geometry coordinates.
We're working toward type checking with TypeScript. This will complete our move away from using the Closure Compiler for type checking and compilation. We're excited about the improved experience for application developers and will highlight some of the benefit in upcoming releases.
### Upgrade Notes
#### Geometry constructor and `setCoordinates` no longer accept `null` coordinates
Geometries (`ol/geom/*`) now need to be constructed with valid coordinates (center for `ol/geom/Circle`) as first constructor argument. The same applies to the `setCoordinates()` (`setCenter() for `ol/geom/Circle`) method.
### New Features and Fixes
* [#8409](https://github.com/openlayers/openlayers/pull/8409) - Add abstract translate to ol/geom/Geometry ([@pjeweb](https://github.com/pjeweb))
* [#8405](https://github.com/openlayers/openlayers/pull/8405) - Minor type fixes ([@tschaub](https://github.com/tschaub))
* [#8401](https://github.com/openlayers/openlayers/pull/8401) - Make webpack's css loader work ([@ahocevar](https://github.com/ahocevar))
* [#8403](https://github.com/openlayers/openlayers/pull/8403) - Markdown links ([@tschaub](https://github.com/tschaub))
* [#8402](https://github.com/openlayers/openlayers/pull/8402) - Type fixes from the typescript checks ([@fredj](https://github.com/fredj))
* [#8400](https://github.com/openlayers/openlayers/pull/8400) - ESLint config update ([@tschaub](https://github.com/tschaub))
* [#8399](https://github.com/openlayers/openlayers/pull/8399) - Copy ol.css to build dir when building package ([@ahocevar](https://github.com/ahocevar))
* [#8397](https://github.com/openlayers/openlayers/pull/8397) - Update rollup ([@tschaub](https://github.com/tschaub))
* [#8385](https://github.com/openlayers/openlayers/pull/8385) - Use class syntax ([@openlayers](https://github.com/openlayers))
* [#8383](https://github.com/openlayers/openlayers/pull/8383) - style/Icon: Add `setAnchor()` method ([@Turbo87](https://github.com/Turbo87))
* [#8368](https://github.com/openlayers/openlayers/pull/8368) - Make render listeners work with image render mode ([@ahocevar](https://github.com/ahocevar))
* [#8376](https://github.com/openlayers/openlayers/pull/8376) - copy ZM values to polygon in makeRegular ([@virtualcitySYSTEMS](https://github.com/virtualcitySYSTEMS))
* [#8372](https://github.com/openlayers/openlayers/pull/8372) - Release v5.0.3 ([@openlayers](https://github.com/openlayers))
* [#8364](https://github.com/openlayers/openlayers/pull/8364) - Make examples work in IE11 ([@ahocevar](https://github.com/ahocevar))
* [#8363](https://github.com/openlayers/openlayers/pull/8363) - Autogenerate src/ol/package.json ([@ahocevar](https://github.com/ahocevar))
* [#8371](https://github.com/openlayers/openlayers/pull/8371) - Skip rendering when there is no replay group ([@ahocevar](https://github.com/ahocevar))
* [#8362](https://github.com/openlayers/openlayers/pull/8362) - Smart flat coordinates ([@ahocevar](https://github.com/ahocevar))
* [#8352](https://github.com/openlayers/openlayers/pull/8352) - Set `sideEffects` to `false` instead of `"false"` ([@tschaub](https://github.com/tschaub))
* [#8351](https://github.com/openlayers/openlayers/pull/8351) - Fix typo in release notes ([@ahocevar](https://github.com/ahocevar))
* [#8350](https://github.com/openlayers/openlayers/pull/8350) - Updates for v5.0.2 ([@ahocevar](https://github.com/ahocevar))
* [#8349](https://github.com/openlayers/openlayers/pull/8349) - Release v5.0.1 ([@ahocevar](https://github.com/ahocevar))
* [#8343](https://github.com/openlayers/openlayers/pull/8343) - Starter projects ([@tschaub](https://github.com/tschaub))
* [#8347](https://github.com/openlayers/openlayers/pull/8347) - Fix typos in release notes ([@ahocevar](https://github.com/ahocevar))
* [#8346](https://github.com/openlayers/openlayers/pull/8346) - Release v5.0.1 ([@openlayers](https://github.com/openlayers))
* [#8342](https://github.com/openlayers/openlayers/pull/8342) - Fix links and description in quickstart tutorial ([@ahocevar](https://github.com/ahocevar))
* [#8344](https://github.com/openlayers/openlayers/pull/8344) - Updated issue and pr templates ([@tschaub](https://github.com/tschaub))
* [#8341](https://github.com/openlayers/openlayers/pull/8341) - Set sideEffects: false flag ([@ahocevar](https://github.com/ahocevar))
* [#8333](https://github.com/openlayers/openlayers/pull/8333) - Fix wrong return type for readHref function ([@openlayers](https://github.com/openlayers))
* [#8329](https://github.com/openlayers/openlayers/pull/8329) - Better jsdoc typing ([@fredj](https://github.com/fredj))
* [#8319](https://github.com/openlayers/openlayers/pull/8319) - Remove reference to setProj4 function in documentation ([@fredj](https://github.com/fredj))
<details>
<summary>Dependency Updates</summary>
* [#8410](https://github.com/openlayers/openlayers/pull/8410) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8408](https://github.com/openlayers/openlayers/pull/8408) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8386](https://github.com/openlayers/openlayers/pull/8386) - Update fs-extra to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8382](https://github.com/openlayers/openlayers/pull/8382) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8373](https://github.com/openlayers/openlayers/pull/8373) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8355](https://github.com/openlayers/openlayers/pull/8355) - Update recast to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8354](https://github.com/openlayers/openlayers/pull/8354) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8348](https://github.com/openlayers/openlayers/pull/8348) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8338](https://github.com/openlayers/openlayers/pull/8338) - Update recast to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8332](https://github.com/openlayers/openlayers/pull/8332) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8326](https://github.com/openlayers/openlayers/pull/8326) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8321](https://github.com/openlayers/openlayers/pull/8321) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8318](https://github.com/openlayers/openlayers/pull/8318) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
</details>

3
changelog/v5.1.1.md Normal file
View File

@@ -0,0 +1,3 @@
# 5.1.1
The 5.1.1 release is a patch to include the readme in the package. See the [5.1.0 notes](https://github.com/openlayers/openlayers/releases/tag/v5.1.0) for detail on the 5.1 release.

5
changelog/v5.1.2.md Normal file
View File

@@ -0,0 +1,5 @@
# 5.1.2
The 5.1.2 release is a patch to fix the API docs. See the [5.1.0 notes](https://github.com/openlayers/openlayers/releases/tag/v5.1.0) for detail on the 5.1 release.
* [#8413](https://github.com/openlayers/openlayers/pull/8413) - Remove extra curly in type ([@tschaub](https://github.com/tschaub))

6
changelog/v5.1.3.md Normal file
View File

@@ -0,0 +1,6 @@
# 5.1.3
The 5.1.3 release is a patch to fix the API docs and the legacy full build. See the [5.1.0 notes](https://github.com/openlayers/openlayers/releases/tag/v5.1.0) for detail on the 5.1 release.
* [#8417](https://github.com/openlayers/openlayers/pull/8417) - Minor doc updates ([@tschaub](https://github.com/tschaub))
* [#8418](https://github.com/openlayers/openlayers/pull/8418) - Set api annotation on classdesc, not constructor ([@ahocevar](https://github.com/ahocevar))

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

@@ -0,0 +1,86 @@
# v5.1.0
The 5.2 release adds a few new features a handful of fixes, including regressions that were reported after the 5.1 release. You should be able to upgrade without any additional work. See the one note below regarding `snapToPixel` on `ol/style/Image` and subclasses.
We're still working toward type checking with TypeScript. Until that is complete, we apologize for some flwas in the online API documentation. We're excited about the improved experience for application developers when the effort is finished, and will highlight some of the benefit in upcoming releases.
### Upgrade Notes
#### Removal of the `snapToPixel` option for `ol/style/Image` subclasses
The `snapToPixel` option has been removed, and the `getSnapToPixel` and `setSnapToPixel` methods are deprecated.
The renderer now snaps to integer pixels when no interaction or animation is running to get crisp rendering. During interaction or animation, it does not snap to integer pixels to avoid jitter.
When rendering with the Immediate API, symbols will no longer be snapped to integer pixels. To get crisp images, set `context.imageSmoothingEnabled = false` before rendering with the Immediate API, and `context.imageSmoothingEnabled = true` afterwards.
### New Features and Fixes
* [#8511](https://github.com/openlayers/openlayers/pull/8511) - Update IGN API key ([@openlayers](https://github.com/openlayers))
* [#8547](https://github.com/openlayers/openlayers/pull/8547) - Fix port number in developing doc ([@pgiraud](https://github.com/pgiraud))
* [#8546](https://github.com/openlayers/openlayers/pull/8546) - Update projection FAQ for v5 ([@ahocevar](https://github.com/ahocevar))
* [#8481](https://github.com/openlayers/openlayers/pull/8481) - Expose some internal functions ([@gberaudo](https://github.com/gberaudo))
* [#8510](https://github.com/openlayers/openlayers/pull/8510) - Fix WMTS URLs with dimensions ([@gberaudo](https://github.com/gberaudo))
* [#8524](https://github.com/openlayers/openlayers/pull/8524) - Fix compatiblity with XHTML content type ([@NeoRaider](https://github.com/NeoRaider))
* [#8532](https://github.com/openlayers/openlayers/pull/8532) - Add 'rendercomplete' event ([@ahocevar](https://github.com/ahocevar))
* [#8529](https://github.com/openlayers/openlayers/pull/8529) - Update link to base class in docs ([@TDesjardins](https://github.com/TDesjardins))
* [#8528](https://github.com/openlayers/openlayers/pull/8528) - Update link to base class in docs ([@TDesjardins](https://github.com/TDesjardins))
* [#8525](https://github.com/openlayers/openlayers/pull/8525) - Re-export Projection from ol/proj for convenience ([@tschaub](https://github.com/tschaub))
* [#8499](https://github.com/openlayers/openlayers/pull/8499) - Round center in viewState to pixels ([@ahocevar](https://github.com/ahocevar))
* [#8520](https://github.com/openlayers/openlayers/pull/8520) - Remove redundant if block ([@openlayers](https://github.com/openlayers))
* [#8515](https://github.com/openlayers/openlayers/pull/8515) - More convenient select and sketch layer management ([@ahocevar](https://github.com/ahocevar))
* [#8503](https://github.com/openlayers/openlayers/pull/8503) - Avoid block scope issues in transpiled code ([@ahocevar](https://github.com/ahocevar))
* [#8490](https://github.com/openlayers/openlayers/pull/8490) - WMTS getCapabilities readCoodinates more than one whitespace delimiter ([@MarquesDeAzevedo](https://github.com/MarquesDeAzevedo))
* [#8489](https://github.com/openlayers/openlayers/pull/8489) - Use .prototype. only where necessary ([@ahocevar](https://github.com/ahocevar))
* [#8478](https://github.com/openlayers/openlayers/pull/8478) - Check font availability with multiple font weights ([@ahocevar](https://github.com/ahocevar))
* [#8483](https://github.com/openlayers/openlayers/pull/8483) - Don't create Polygon with null coordinates ([@fredj](https://github.com/fredj))
* [#8471](https://github.com/openlayers/openlayers/pull/8471) - Add getUrl and getImageExtent to ImageStatic API ([@samuel-girard](https://github.com/samuel-girard))
* [#8470](https://github.com/openlayers/openlayers/pull/8470) - Update Tile loading API docs ([@scroach](https://github.com/scroach))
* [#8477](https://github.com/openlayers/openlayers/pull/8477) - Expose original getGutter ([@gberaudo](https://github.com/gberaudo))
* [#8466](https://github.com/openlayers/openlayers/pull/8466) - Add onFocusOnly option to interaction defaults ([@ahocevar](https://github.com/ahocevar))
* [#8465](https://github.com/openlayers/openlayers/pull/8465) - Do not prevent default on pointermove ([@ahocevar](https://github.com/ahocevar))
* [#8461](https://github.com/openlayers/openlayers/pull/8461) - Fix double backtick typo ([@lionralfs](https://github.com/lionralfs))
* [#8452](https://github.com/openlayers/openlayers/pull/8452) - Remove extra translate function in Geometry, add missing api tag ([@fredj](https://github.com/fredj))
* [#8451](https://github.com/openlayers/openlayers/pull/8451) - Remove unimplemented functions ([@fredj](https://github.com/fredj))
* [#8450](https://github.com/openlayers/openlayers/pull/8450) - Mark properties of ReadOptions and WriteOptions as optional ([@fredj](https://github.com/fredj))
* [#8443](https://github.com/openlayers/openlayers/pull/8443) - Explicit void ([@tschaub](https://github.com/tschaub))
* [#8437](https://github.com/openlayers/openlayers/pull/8437) - Avoid shadowing EventTarget ([@tschaub](https://github.com/tschaub))
* [#8439](https://github.com/openlayers/openlayers/pull/8439) - Fewer dots in types ([@tschaub](https://github.com/tschaub))
* [#8441](https://github.com/openlayers/openlayers/pull/8441) - Fix loaded script for the example-verbatim examples ([@fredj](https://github.com/fredj))
* [#8435](https://github.com/openlayers/openlayers/pull/8435) - Call setCoordinates on the point instance ([@fredj](https://github.com/fredj))
* [#8428](https://github.com/openlayers/openlayers/pull/8428) - Type name on same line as type ([@tschaub](https://github.com/tschaub))
* [#8422](https://github.com/openlayers/openlayers/pull/8422) - Improve JSDoc such that `ng build --prod` with angular/cli 6.0.8 succeeds again ([@jkoelewijn](https://github.com/jkoelewijn))
* [#8396](https://github.com/openlayers/openlayers/pull/8396) - Fix ol.interaction.Draw~createRegularPolygon ([@iamplex](https://github.com/iamplex))
* [#8420](https://github.com/openlayers/openlayers/pull/8420) - Keep function names when building examples ([@ahocevar](https://github.com/ahocevar))
* [#8419](https://github.com/openlayers/openlayers/pull/8419) - Release v5.1.3 ([@tschaub](https://github.com/tschaub))
* [#8417](https://github.com/openlayers/openlayers/pull/8417) - Minor doc updates ([@tschaub](https://github.com/tschaub))
* [#8418](https://github.com/openlayers/openlayers/pull/8418) - Set api annotation on classdesc, not constructor ([@ahocevar](https://github.com/ahocevar))
* [#8414](https://github.com/openlayers/openlayers/pull/8414) - Updates for 5.1.2 ([@tschaub](https://github.com/tschaub))
* [#8413](https://github.com/openlayers/openlayers/pull/8413) - Remove extra curly in type ([@tschaub](https://github.com/tschaub))
* [#8412](https://github.com/openlayers/openlayers/pull/8412) - Changes for 5.1.1. ([@tschaub](https://github.com/tschaub))
<details>
<summary>Dependency Updates</summary>
* [#8543](https://github.com/openlayers/openlayers/pull/8543) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8541](https://github.com/openlayers/openlayers/pull/8541) - Update proj4 to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8542](https://github.com/openlayers/openlayers/pull/8542) - Update rollup-plugin-commonjs to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8533](https://github.com/openlayers/openlayers/pull/8533) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8530](https://github.com/openlayers/openlayers/pull/8530) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8522](https://github.com/openlayers/openlayers/pull/8522) - Update marked to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8505](https://github.com/openlayers/openlayers/pull/8505) - Update karma to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8501](https://github.com/openlayers/openlayers/pull/8501) - Update rollup-plugin-commonjs to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8495](https://github.com/openlayers/openlayers/pull/8495) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8493](https://github.com/openlayers/openlayers/pull/8493) - Update clean-css-cli to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8491](https://github.com/openlayers/openlayers/pull/8491) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8486](https://github.com/openlayers/openlayers/pull/8486) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8476](https://github.com/openlayers/openlayers/pull/8476) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8475](https://github.com/openlayers/openlayers/pull/8475) - Update clean-css-cli to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8469](https://github.com/openlayers/openlayers/pull/8469) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8453](https://github.com/openlayers/openlayers/pull/8453) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8447](https://github.com/openlayers/openlayers/pull/8447) - Update rollup-plugin-commonjs to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8426](https://github.com/openlayers/openlayers/pull/8426) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
</details>

View File

@@ -1,45 +0,0 @@
{
"exports": [],
"src": [
"src/**/*.js",
"build/ol.ext/*.js",
"build/examples/{{id}}.js"
],
"compile": {
"js": [
"externs/olx.js",
"externs/oli.js"
],
"externs": [
"externs/bingmaps.js",
"externs/cartodb.js",
"externs/bootstrap.js",
"externs/closure-compiler.js",
"externs/esrijson.js",
"externs/example.js",
"externs/geojson.js",
"externs/jquery-1.9.js",
"externs/proj4js.js",
"externs/tilejson.js",
"externs/topojson.js"
],
"jscomp_error": [
"*"
],
"jscomp_off": [
"lintChecks",
"analyzerChecks",
"missingProvide",
"unknownDefines"
],
"extra_annotation_name": [
"api", "observable"
],
"rewrite_polyfills": "false",
"compilation_level": "ADVANCED",
"warning_level": "VERBOSE",
"output_wrapper": "(function(){%output%})();",
"use_types_for_optimization": true,
"manage_closure_dependencies": true
}
}

View File

@@ -1,45 +0,0 @@
{
"exports": [],
"src": [
"src/**/*.js",
"build/ol.ext/*.js",
"build/compiled-examples/all.js"
],
"compile": {
"js": [
"externs/olx.js",
"externs/oli.js"
],
"externs": [
"externs/bingmaps.js",
"externs/bootstrap.js",
"externs/cartodb.js",
"externs/closure-compiler.js",
"externs/esrijson.js",
"externs/example.js",
"externs/geojson.js",
"externs/jquery-1.9.js",
"externs/proj4js.js",
"externs/tilejson.js",
"externs/topojson.js"
],
"jscomp_error": [
"*"
],
"jscomp_off": [
"lintChecks",
"analyzerChecks",
"unusedLocalVariables"
],
"extra_annotation_name": [
"api", "observable"
],
"rewrite_polyfills": "false",
"compilation_level": "ADVANCED",
"warning_level": "VERBOSE",
"output_wrapper": "(function(){%output%})();",
"use_types_for_optimization": true,
"manage_closure_dependencies": true
}
}

View File

@@ -1,38 +1,36 @@
{
"opts": {
"recurse": true,
"template": "config/jsdoc/api/template"
"opts": {
"recurse": true,
"template": "config/jsdoc/api/template"
},
"tags": {
"allowUnknownTags": true
},
"source": {
"includePattern": ".+\\.js(doc)?$",
"excludePattern": "(^|\\/|\\\\)_",
"include": [
"src/ol"
]
},
"plugins": [
"plugins/markdown",
"config/jsdoc/api/plugins/normalize-exports",
"config/jsdoc/api/plugins/inline-options",
"config/jsdoc/api/plugins/events",
"config/jsdoc/api/plugins/observable",
"config/jsdoc/api/plugins/api"
],
"markdown": {
"parser": "gfm"
},
"templates": {
"cleverLinks": true,
"monospaceLinks": true,
"default": {
"outputSourceFiles": false
},
"tags": {
"allowUnknownTags": true
},
"source": {
"includePattern": ".+\\.js(doc)?$",
"excludePattern": "(^|\\/|\\\\)_",
"include": [
"src",
"externs/oli.js",
"externs/olx.js"
]
},
"plugins": [
"plugins/markdown",
"config/jsdoc/api/plugins/inheritdoc",
"config/jsdoc/api/plugins/typedefs",
"config/jsdoc/api/plugins/events",
"config/jsdoc/api/plugins/observable",
"config/jsdoc/api/plugins/api"
],
"markdown": {
"parser": "gfm"
},
"templates": {
"cleverLinks": true,
"monospaceLinks": true,
"default": {
"outputSourceFiles": false
},
"applicationName": "OpenLayers"
},
"jsVersion": 180
"applicationName": "OpenLayers"
},
"jsVersion": 180
}

View File

@@ -1,43 +1,43 @@
<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>A [map](module-ol_Map-Map.html) is made of [layers](module-ol_layer_Base-BaseLayer.html), a [view](module-ol_View-View.html) to visualize them, [interactions](module-ol_interaction_Interaction-Interaction.html) to modify map content and [controls](module-ol_control_Control-Control.html) with UI components.</p>
[Overview](module-ol_Map-Map.html)<br>
[Creation](module-ol_Map-Map.html#Map)<br>
[Events](module-ol_MapBrowserEvent-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)<br>
[ol.layer.VectorTile](ol.layer.VectorTile.html)</td>
[View](module-ol_View-View.html) with center, projection, resolution and rotation</td>
<td><p>Layers are lightweight containers that get their data from [sources](module-ol_source_Source-Source.html).</p>
[layer/Tile](module-ol_layer_Tile-TileLayer.html)<br>
[layer/Image](module-ol_layer_Image-ImageLayer.html)<br>
[layer/Vector](module-ol_layer_Vector-VectorLayer.html)<br>
[layer/VectorTile](module-ol_layer_VectorTile-VectorTileLayer.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>[Map default controls](module-ol_control_util.html#.defaults)<br>
[All controls](module-ol_control_Control-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>[Vector tile sources](ol.source.VectorTile.html) for [ol.layer.VectorTile](ol.layer.VectorTile.html)
<br>[Formats](ol.format.Feature.html) for reading/writing vector data
<br>[ol.format.WMSCapabilities](ol.format.WMSCapabilities.html)</td></tr>
[Map default interactions](module-ol_interaction.html#~defaults)<br>
Interactions for [vector features](module-ol_Feature-Feature.html)
<ul><li>[interaction/Select](module-ol_interaction_Select-Select.html)</li>
<li>[interaction/Draw](module-ol_interaction_Draw-Draw.html)</li>
<li>[interaction/Modify](module-ol_interaction_Modify-Modify.html)</li></ul>
[All interactions](module-ol_interaction_Interaction-Interaction.html)</td>
<td>[Tile sources](module-ol_source_Tile-TileSource.html) for [layer/Tile](module-ol_layer_Tile-TileLayer.html)
<br>[Image sources](module-ol_source_Image-ImageSource.html) for [layer/Image](module-ol_layer_Image-ImageLayer.html)
<br>[Vector sources](module-ol_source_Vector-VectorSource.html) for [layer/Vector](module-ol_layer_Vector-VectorLayer.html)
<br>[Vector tile sources](module-ol_source_VectorTile-VectorTile.html) for [layer/VectorTile](module-ol_layer_VectorTile-VectorTileLayer.html)
<br>[Formats](module-ol_format_Feature-FeatureFormat.html) for reading/writing vector data
<br>[format/WMSCapabilities](module-ol_format_WMSCapabilities-WMSCapabilities.html)</td></tr>
<tr><th>Projections</th><th>Observable objects</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>Changes to all [ol.Objects](ol.Object.html) can be observed by calling the [object.on('propertychange')](ol.Object.html#on) method. Listeners receive an [ol.Object.Event](ol.Object.Event.html) with information on the changed property and old value.</p>
<tr><td><p>All coordinates and extents need to be provided in view projection (default: EPSG:3857). To transform, use [proj.transform()](module-ol_proj.html#.transform) and [proj.transformExtent()](module-ol_proj.html#.transformExtent).</p>
[ol/proj](module-ol_proj.html)</td>
<td><p>Changes to all [ol/Object](module-ol_Object-BaseObject.html)s can be observed by calling the [object.on('propertychange')](module-ol_Object-BaseObject.html#on) method. Listeners receive an [ol/Object~ObjectEvent](module-ol_Object-ObjectEvent.html) with information on the changed property and old value.</p>
<td>
[ol.Geolocation](ol.Geolocation.html)<br>
[ol.Overlay](ol.Overlay.html)<br></td>
[ol/Geolocation](module-ol_Geolocation.html)<br>
[ol/Overlay](module-ol_Overlay-Overlay.html)<br></td>
</tr></table>
&nbsp;
@@ -52,11 +52,4 @@ The OpenLayers API consists of
Within a major release series, the API will not be changed. Any changes to the API will be accompanied by a new major release.
*Note*: The API change policy does not cover CSS class names that are used to style the
OpenLayers UI.
*Note for Closure Compiler users compiling their application code together with OpenLayers*:
The names of types other than those in the list above (e.g. `ol.Coordinate`) are subject to change. It
is therefore recommended to either use the resolved type as listed in the API docs (e.g.
`Array.<number>` instead of `ol.Coordinate`), or pay attention to the upgrade notes, which will list
the changes for those types.
*Note*: The API change policy does not cover CSS class names that are used to style the OpenLayers UI. It also does not cover any typedefs and enums.

View File

@@ -1,5 +1,6 @@
/**
* Define an @api tag
* @param {Object} dictionary The tag dictionary.
*/
exports.defineTags = function(dictionary) {
dictionary.defineTag('api', {
@@ -8,32 +9,32 @@ exports.defineTags = function(dictionary) {
canHaveName: false,
onTagged: function(doclet, tag) {
includeTypes(doclet);
doclet.stability = "stable";
doclet.stability = 'stable';
}
});
};
/*
* Based on @api annotations, and assuming that items with no @api annotation
* should not be documented, this plugin removes undocumented symbols
* from the documentation.
*/
var api = [];
var classes = {};
var types = {};
const api = [];
const classes = {};
const types = {};
const modules = {};
function hasApiMembers(doclet) {
return doclet.longname.split('#')[0] == this.longname;
}
function includeAugments(doclet) {
var augments = doclet.augments;
const augments = doclet.augments;
if (augments) {
var cls;
for (var i = augments.length - 1; i >= 0; --i) {
let cls;
for (let i = augments.length - 1; i >= 0; --i) {
cls = classes[augments[i]];
if (cls) {
includeAugments(cls);
@@ -57,10 +58,8 @@ function includeAugments(doclet) {
}
});
}
if (cls.longname.indexOf('oli.') !== 0) {
cls._hideConstructor = true;
delete cls.undocumented;
}
cls._hideConstructor = true;
delete cls.undocumented;
}
}
}
@@ -68,25 +67,25 @@ function includeAugments(doclet) {
function extractTypes(item) {
item.type.names.forEach(function(type) {
var match = type.match(/^(.*<)?([^>]*)>?$/);
const match = type.match(/^(.*<)?([^>]*)>?$/);
if (match) {
modules[match[2]] = true;
types[match[2]] = true;
}
});
}
function includeTypes(doclet) {
if (doclet.params && doclet.kind != 'class') {
if (doclet.params) {
doclet.params.forEach(extractTypes);
}
if (doclet.returns) {
doclet.returns.forEach(extractTypes);
}
if (doclet.isEnum) {
types[doclet.meta.code.name] = true;
if (doclet.properties) {
doclet.properties.forEach(extractTypes);
}
if (doclet.type && doclet.meta.code.type == 'MemberExpression') {
// types in olx.js
extractTypes(doclet);
}
}
@@ -94,13 +93,9 @@ function includeTypes(doclet) {
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.meta.filename == 'olx.js' && doclet.kind == 'typedef') {
doclet.undocumented = false;
}
const doclet = e.doclet;
if (doclet.stability) {
modules[doclet.longname.split('~').shift()] = true;
api.push(doclet);
}
// Mark explicity defined namespaces - needed in parseComplete to keep
@@ -109,14 +104,15 @@ exports.handlers = {
doclet.namespace_ = true;
}
if (doclet.kind == 'class') {
modules[doclet.longname.split('~').shift()] = true;
classes[doclet.longname] = doclet;
}
},
parseComplete: function(e) {
var doclets = e.doclets;
for (var i = doclets.length - 1; i >= 0; --i) {
var doclet = doclets[i];
const doclets = e.doclets;
for (let i = doclets.length - 1; i >= 0; --i) {
const doclet = doclets[i];
if (doclet.stability || doclet.namespace_) {
if (doclet.kind == 'class') {
includeAugments(doclet);
@@ -134,6 +130,13 @@ exports.handlers = {
// Always document namespaces and items with stability annotation
continue;
}
if (doclet.kind == 'module' && doclet.longname in modules) {
// Document all modules that are referenced by the API
continue;
}
if (doclet.isEnum || doclet.kind == 'typedef') {
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

View File

@@ -1,11 +1,11 @@
var events = {};
var classes = {};
const events = {};
const classes = {};
exports.handlers = {
newDoclet: function(e) {
var doclet = e.doclet;
var cls;
const doclet = e.doclet;
let cls;
if (doclet.kind == 'event') {
cls = doclet.longname.split('#')[0];
if (!(cls in events)) {
@@ -18,8 +18,8 @@ exports.handlers = {
},
parseComplete: function(e) {
var doclets = e.doclets;
var doclet, i, ii, j, jj, event, fires;
const doclets = e.doclets;
let doclet, i, ii, j, jj, event, fires;
for (i = 0, ii = doclets.length - 1; i < ii; ++i) {
doclet = doclets[i];
if (doclet.fires) {
@@ -28,7 +28,7 @@ exports.handlers = {
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]);
fires.push.apply(fires, events[event]);
} else {
fires.push(doclet.fires[j]);
}

View File

@@ -1,109 +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.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,49 @@
/**
* @filedesc
* Inlines option params from typedefs
*/
const properties = {};
exports.handlers = {
/**
* Collects all typedefs, keyed by longname
* @param {Object} e Event object.
*/
newDoclet: function(e) {
if (e.doclet.kind == 'typedef' && e.doclet.properties) {
properties[e.doclet.longname] = e.doclet.properties;
}
},
/**
* Adds `options.*` params for options that match the longname of one of the
* collected typedefs.
* @param {Object} e Event object.
*/
parseComplete: function(e) {
const doclets = e.doclets;
for (let i = 0, ii = doclets.length; i < ii; ++i) {
const doclet = doclets[i];
if (doclet.params) {
const params = doclet.params;
for (let j = 0, jj = params.length; j < jj; ++j) {
const param = params[j];
if (param.type && param.type.names) {
const type = param.type.names[0];
if (type in properties) {
param.type.names[0] = type;
params.push.apply(params, properties[type].map(p => {
const property = Object.assign({}, p);
property.name = `${param.name}.${property.name}`;
return property;
}));
}
}
}
}
}
}
};

View File

@@ -0,0 +1,106 @@
/**
* @filedesc
* Expands module path type to point to default export when no name is given
*/
const fs = require('fs');
const path = require('path');
let moduleRoot;
function addDefaultExportPath(obj) {
if (!Array.isArray(obj)) {
obj = obj.names;
}
obj.forEach((name, index) => {
const matches = name.match(/module\:([^>|),\.<]|)+/g);
if (matches) {
matches.forEach(module => {
if (!/[~\.]/.test(module)) {
const checkFile = path.resolve(moduleRoot, module.replace(/^module\:/, ''));
const file = fs.readFileSync(require.resolve(checkFile), 'utf-8');
const lines = file.split('\n');
let hasDefaultExport = false;
for (let i = 0, ii = lines.length; i < ii; ++i) {
hasDefaultExport = hasDefaultExport || /^export default [^\{]/.test(lines[i]);
const match = lines[i].match(/^export default ([A-Za-z_$][A-Za-z0-9_$]+);$/);
if (match) {
// Use variable name if default export is assigned to a variable.
obj[index] = name = name.replace(module, `${module}~${match[1]}`);
return;
}
}
if (hasDefaultExport) {
// Duplicate last part if default export is not assigned to a variable.
obj[index] = name = name.replace(module, `${module}~${module.split('/').pop()}`);
}
}
});
}
});
}
function replaceLinks(comment) {
const matches = comment.match(/\{@link [^\} #]+}/g);
if (matches) {
const modules = matches.map(m => {
const mm = m.match(/(module:[^\}]+)}$/);
if (mm) {
return mm[1];
}
}).filter(m => !!m);
const newModules = modules.concat();
addDefaultExportPath(newModules);
modules.forEach((module, i) => {
comment = comment.replace(module, newModules[i]);
});
}
return comment;
}
exports.handlers = {
/**
* Adds default export to module path types without name
* @param {Object} e Event object.
*/
newDoclet: function(e) {
const doclet = e.doclet;
if (doclet.kind == 'module') {
const levelsUp = doclet.longname.replace(/^module\:/, '').split('/');
if (doclet.meta.filename != 'index.js') {
levelsUp.pop();
}
const pathArgs = [doclet.meta.path].concat(levelsUp.map(() => '../'));
moduleRoot = path.resolve.apply(null, pathArgs);
} else {
if (doclet.description) {
doclet.description = replaceLinks(doclet.description);
}
if (doclet.classdesc) {
doclet.classdesc = replaceLinks(doclet.classdesc);
}
const module = doclet.longname.split('#').shift();
if (module.indexOf('module:') == 0 && module.indexOf('.') !== -1) {
doclet.longname = doclet.longname.replace(module, module.replace('.', '~'));
}
if (doclet.augments) {
addDefaultExportPath(doclet.augments);
}
if (doclet.params) {
doclet.params.forEach(p => addDefaultExportPath(p.type));
}
if (doclet.returns) {
doclet.returns.forEach(r => addDefaultExportPath(r.type));
}
if (doclet.properties) {
doclet.properties.forEach(p => addDefaultExportPath(p.type));
}
if (doclet.type) {
addDefaultExportPath(doclet.type);
}
}
}
};

View File

@@ -1,25 +1,25 @@
var classes = {};
var observables = {};
const classes = {};
const observables = {};
exports.handlers = {
newDoclet: function(e) {
var doclet = e.doclet;
const 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;
const doclets = e.doclets;
let 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/, '');
let name = doclet.name.replace(/^[sg]et/, '');
name = name.substr(0, 1).toLowerCase() + name.substr(1);
var key = doclet.longname.split('#')[0] + '#' + name;
const key = doclet.longname.split('#')[0] + '#' + name;
doclet.observable = key;
if (!observables[key]) {
observables[key] = {};
@@ -27,7 +27,7 @@ exports.handlers = {
observable = observables[key];
observable.name = name;
observable.readonly = typeof observable.readonly == 'boolean' ?
observable.readonly : true;
observable.readonly : true;
if (doclet.name.indexOf('get') === 0) {
observable.type = doclet.returns[0].type;
observable.description = doclet.returns[0].description;
@@ -47,7 +47,7 @@ exports.handlers = {
if (!cls.fires) {
cls.fires = [];
}
event = 'ol.Object.Event#event:change:' + name;
event = 'module:ol/Object~ObjectEvent#event:change:' + name;
if (cls.fires.indexOf(event) == -1) {
cls.fires.push(event);
}

View File

@@ -1,49 +1,27 @@
/*
* Converts olx.js @type annotations into properties of the previous @typedef.
* Changes @enum annotations into @typedef.
*/
var lastOlxTypedef = null;
var olxTypes = {};
// names of the olx typenames
var olxTypeNames = [];
// types that are undefined or typedefs containing undefined
var undefinedLikes = null;
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;
}
}
}
}
let undefinedLikes = null;
/**
* Changes the description of the param, if it is found to be a required
* option of an olxTypeName.
* Changes the description of the param if it is required.
* @param {Object} doclet The doclet.
* @returns {Object} The modified doclet.
*/
function markRequiredIfNeeded(doclet){
var memberof = doclet.memberof;
// only check doclets that belong to an olxTypeName
if (!memberof || olxTypeNames.indexOf(memberof) == -1) {
function markRequiredIfNeeded(doclet) {
const memberof = doclet.memberof;
if (!memberof) {
return doclet;
}
var types = doclet.type.names;
var isRequiredParam = true;
const types = doclet.type.names;
let isRequiredParam = true;
// iterate over all types that are like-undefined (see above for explanation)
for (var idx = undefinedLikes.length - 1; idx >= 0; idx--) {
var undefinedLike = undefinedLikes[idx];
for (let idx = undefinedLikes.length - 1; idx >= 0; idx--) {
const undefinedLike = undefinedLikes[idx];
// … if the current types contains a type that is undefined-like,
// it is not required.
if (types.indexOf(undefinedLike) != -1) {
@@ -52,9 +30,9 @@ function markRequiredIfNeeded(doclet){
}
if (isRequiredParam) {
var reqSnippet = '<span class="required-option">Required.</span></p>';
var endsWithP = /<\/p>$/i;
var description = doclet.description;
const reqSnippet = '<span class="required-option">Required.</span></p>';
const endsWithP = /<\/p>$/i;
let description = doclet.description;
if (description && endsWithP.test(description)) {
description = description.replace(endsWithP, ' ' + reqSnippet);
} else if (doclet.description === undefined) {
@@ -69,13 +47,14 @@ function markRequiredIfNeeded(doclet){
* Iterates over all doclets and finds the names of types that contain
* undefined. Stores the names in the global variable undefinedLikes, so
* that e.g. markRequiredIfNeeded can use these.
* @param {Array} doclets The doclets.
*/
function findTypesLikeUndefined(doclets) {
undefinedLikes = ['undefined']; // include type 'undefined' explicitly
for (var i = doclets.length - 1; i >= 0; --i) {
var doclet = doclets[i];
if(doclet.kind === 'typedef') {
var types = doclet.type.names;
for (let i = doclets.length - 1; i >= 0; --i) {
const doclet = doclets[i];
if (doclet.kind === 'typedef') {
const types = doclet.type.names;
if (types.indexOf('undefined') !== -1) {
// the typedef contains 'undefined', so it self is undefinedLike.
undefinedLikes.push(doclet.longname);
@@ -87,20 +66,8 @@ function findTypesLikeUndefined(doclets) {
exports.handlers = {
newDoclet: function(e) {
var doclet = e.doclet;
if (doclet.meta.filename == 'olx.js') {
if (doclet.kind == 'typedef') {
lastOlxTypedef = doclet;
olxTypeNames.push(doclet.longname);
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) {
const doclet = e.doclet;
if (doclet.isEnum) {
// We never export enums, so we document them like typedefs
doclet.kind = 'typedef';
delete doclet.isEnum;
@@ -108,15 +75,10 @@ exports.handlers = {
},
parseComplete: function(e) {
var doclets = e.doclets;
const doclets = e.doclets;
findTypesLikeUndefined(doclets);
for (var i = doclets.length - 1; i >= 0; --i) {
var doclet = doclets[i];
var params = doclet.params;
if (params) {
addSubparams(params);
}
markRequiredIfNeeded(doclet);
for (let i = doclets.length - 1; i >= 0; --i) {
markRequiredIfNeeded(doclets[i]);
}
}

View File

@@ -47,21 +47,6 @@ ol.MapBrowserEventType = {
```
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
/**

View File

@@ -1,152 +1,164 @@
/*global env: true */
var template = require('jsdoc/lib/jsdoc/template'),
fs = require('jsdoc/lib/jsdoc/fs'),
path = require('jsdoc/lib/jsdoc/path'),
taffy = require('taffydb').taffy,
handle = require('jsdoc/lib/jsdoc/util/error').handle,
helper = require('jsdoc/lib/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;
const hasOwnProp = Object.prototype.hasOwnProperty;
// Work around an issue with hasOwnProperty in JSDoc's templateHelper.js.
//TODO Fix in JSDoc.
Object.prototype.hasOwnProperty = function(property) {
return property in this;
};
const template = require('jsdoc/lib/jsdoc/template');
const fs = require('jsdoc/lib/jsdoc/fs');
const path = require('jsdoc/lib/jsdoc/path');
const taffy = require('taffydb').taffy;
const handle = require('jsdoc/lib/jsdoc/util/error').handle;
const helper = require('jsdoc/lib/jsdoc/util/templateHelper');
const _ = require('underscore');
const htmlsafe = helper.htmlsafe;
const linkto = helper.linkto;
const resolveAuthorLinks = helper.resolveAuthorLinks;
const outdir = env.opts.destination;
// Work around an issue with hasOwnProperty in JSDoc's templateHelper.js.
//TODO Fix in JSDoc.
Object.prototype.hasOwnProperty = hasOwnProp;
let view;
let data;
function find(spec) {
return helper.find(data, spec);
return helper.find(data, spec);
}
function tutoriallink(tutorial) {
return helper.toTutorial(tutorial, null, { tag: 'em', classname: 'disabled', prefix: 'Tutorial: ' });
return helper.toTutorial(tutorial, null, {tag: 'em', classname: 'disabled', prefix: 'Tutorial: '});
}
function getAncestorLinks(doclet) {
return helper.getAncestorLinks(data, doclet);
return helper.getAncestorLinks(data, doclet);
}
function hashToLink(doclet, hash) {
if ( !/^(#.+)/.test(hash) ) { return hash; }
if (!/^(#.+)/.test(hash)) {
return hash;
}
var url = helper.createLink(doclet);
let url = helper.createLink(doclet);
url = url.replace(/(#.+|$)/, hash);
return '<a href="' + url + '">' + hash + '</a>';
url = url.replace(/(#.+|$)/, hash);
return '<a href="' + url + '">' + hash + '</a>';
}
function needsSignature(doclet) {
var needsSig = false;
let needsSig = false;
// function and class definitions always get a signature
if (doclet.kind === 'function' || doclet.kind === 'class') {
needsSig = true;
}
// function and class definitions always get a signature
if (doclet.kind === 'function' || doclet.kind === 'class') {
needsSig = true;
} else if (doclet.kind === 'typedef' && doclet.type && doclet.type.names &&
doclet.type.names.length) {
// 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;
}
}
for (let i = 0, l = doclet.type.names.length; i < l; i++) {
if (doclet.type.names[i].toLowerCase() === 'function') {
needsSig = true;
break;
}
}
}
return needsSig;
return needsSig;
}
function addSignatureParams(f) {
var params = helper.getSignatureParams(f, 'optional');
const params = helper.getSignatureParams(f, 'optional');
f.signature = (f.signature || '') + '('+params.join(', ')+')';
f.signature = (f.signature || '') + '(' + params.join(', ') + ')';
}
function addSignatureReturns(f) {
var returnTypes = helper.getSignatureReturns(f);
const returnTypes = helper.getSignatureReturns(f);
f.signature = '<span class="signature">'+(f.signature || '') + '</span>';
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>';
}
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);
const types = helper.getSignatureTypes(f);
f.signature = (f.signature || '') + '<span class="type-signature">'+(types.length? ' :'+types.join('|') : '')+' </span>';
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');
// always use forward slashes
const regexp = new RegExp('\\\\', 'g');
Object.keys(files).forEach(function(file) {
files[file].shortened = files[file].resolved.replace(commonPrefix, '')
.replace(regexp, '/');
});
Object.keys(files).forEach(function(file) {
files[file].shortened = files[file].resolved.replace(commonPrefix, '')
.replace(regexp, '/');
});
return files;
return files;
}
function resolveSourcePath(filepath) {
return path.resolve(process.cwd(), filepath);
return path.resolve(process.cwd(), filepath);
}
function getPathFromDoclet(doclet) {
if (!doclet.meta) {
return;
}
if (!doclet.meta) {
return;
}
var filepath = doclet.meta.path && doclet.meta.path !== 'null' ?
doclet.meta.path + '/' + doclet.meta.filename.split(/[\/\\]/).pop() :
doclet.meta.filename;
const filepath = doclet.meta.path && doclet.meta.path !== 'null' ?
doclet.meta.path + '/' + doclet.meta.filename.split(/[\/\\]/).pop() :
doclet.meta.filename;
return filepath;
return filepath;
}
function generate(title, docs, filename, resolveLinks) {
resolveLinks = resolveLinks === false ? false : true;
resolveLinks = resolveLinks === false ? false : true;
var docData = {
filename: filename,
title: title,
docs: docs,
packageInfo: ( find({kind: 'package'}) || [] ) [0]
};
const docData = {
filename: filename,
title: title,
docs: docs,
packageInfo: (find({kind: 'package'}) || []) [0]
};
var outpath = path.join(outdir, filename),
html = view.render('container.tmpl', docData);
const outpath = path.join(outdir, filename);
let html = view.render('container.tmpl', docData);
if (resolveLinks) {
html = helper.resolveLinks(html); // turn {@link foo} into <a href="foodoc.html">foo</a>
}
if (resolveLinks) {
html = helper.resolveLinks(html); // turn {@link foo} into <a href="foodoc.html">foo</a>
}
fs.writeFileSync(outpath, html, 'utf8');
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);
Object.keys(sourceFiles).forEach(function(file) {
let source;
// links are keyed to the shortened path in each doclet's `meta.filename` property
const 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);
}
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);
});
generate('Source: ' + sourceFiles[file].shortened, [source], sourceOutfile,
false);
});
}
/**
@@ -156,351 +168,353 @@ function generateSourceFiles(sourceFiles) {
* for display purposes. This function mutates the original arrays.
*
* @private
* @param {Array.<module:jsdoc/doclet.Doclet>} doclets - The array of classes and functions to
* @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.
* @param {Array<module:jsdoc/doclet.Doclet>} modules - The array of module doclets to search.
*/
function attachModuleSymbols(doclets, modules) {
var symbols = {};
const symbols = {};
// build a lookup table
doclets.forEach(function(symbol) {
symbols[symbol.longname] = symbol;
});
// 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("') + '")';
}
});
modules.forEach(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
* @param {Array<Object>} members.classes Classes.
* @param {Array<Object>} members.externals Externals.
* @param {Array<Object>} members.globals Globals.
* @param {Array<Object>} members.mixins Mixins.
* @param {Array<Object>} members.modules Modules.
* @param {Array<Object>} members.namespaces Namespaces.
* @param {Array<Object>} members.tutorials Tutorials.
* @param {Array<Object>} members.events 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
})
});
}
const nav = [];
// merge namespaces and classes, then sort
const merged = members.modules.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 interfaces from sidebar
if (v.interface !== true) {
if (v.kind == 'module') {
nav.push({
type: 'module',
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
})
});
}
});
return nav;
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
* @param {Object} taffyData See <http://taffydb.com/>.
* @param {Object} opts Options.
* @param {Object} tutorials Tutorials.
*/
exports.publish = function(taffyData, opts, tutorials) {
data = taffyData;
data = taffyData;
var conf = env.conf.templates || {};
conf['default'] = conf['default'] || {};
const conf = env.conf.templates || {};
conf['default'] = conf['default'] || {};
var templatePath = opts.template;
view = new template.Template(templatePath + '/tmpl');
const 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
// claim some special filenames in advance, so the All-Powerful Overseer of Filename Uniqueness
// doesn't try to hand them out later
const 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);
const globalUrl = helper.getUniqueFilename('global');
helper.registerLink('global', globalUrl);
// set up templating
view.layout = 'layout.tmpl';
// set up templating
view.layout = 'layout.tmpl';
// set up tutorials for helper
helper.setTutorials(tutorials);
// set up tutorials for helper
helper.setTutorials(tutorials);
data = helper.prune(data);
data.sort('longname, version, since');
helper.addEventListeners(data);
data = helper.prune(data);
data.sort('longname, version, since');
helper.addEventListeners(data);
var sourceFiles = {};
var sourceFilePaths = [];
data().each(function(doclet) {
doclet.attribs = '';
let sourceFiles = {};
const sourceFilePaths = [];
data().each(function(doclet) {
doclet.attribs = '';
if (doclet.examples) {
doclet.examples = doclet.examples.map(function(example) {
var caption, code;
if (doclet.examples) {
doclet.examples = doclet.examples.map(function(example) {
let 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);
});
if (example.match(/^\s*<caption>([\s\S]+?)<\/caption>(\s*[\n\r])([\s\S]+)$/i)) {
caption = RegExp.$1;
code = RegExp.$3;
}
// 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);
}
});
return {
caption: caption || '',
code: code || example
};
});
}
if (doclet.see) {
doclet.see.forEach(function(seeItem, i) {
doclet.see[i] = hashToLink(doclet, seeItem);
});
}
fs.mkPath(outdir);
// build a list of source files
let sourcePath;
let resolvedSourcePath;
if (doclet.meta) {
sourcePath = getPathFromDoclet(doclet);
resolvedSourcePath = resolveSourcePath(sourcePath);
sourceFiles[sourcePath] = {
resolved: resolvedSourcePath,
shortened: null
};
sourceFilePaths.push(resolvedSourcePath);
}
});
// copy the template's static files to outdir
var fromDir = path.join(templatePath, 'static');
var staticFiles = fs.ls(fromDir, 3);
fs.mkPath(outdir);
staticFiles.forEach(function(fileName) {
var toDir = fs.toDir( fileName.replace(fromDir, outdir) );
// copy the template's static files to outdir
const fromDir = path.join(templatePath, 'static');
const staticFiles = fs.ls(fromDir, 3);
staticFiles.forEach(function(fileName) {
const toDir = fs.toDir(fileName.replace(fromDir, outdir));
fs.mkPath(toDir);
fs.copyFileSync(fileName, toDir);
});
// copy user-specified static files to outdir
let staticFilePaths;
let staticFileFilter;
let staticFileScanner;
if (conf['default'].staticFiles) {
staticFilePaths = conf['default'].staticFiles.paths || [];
staticFileFilter = new (require('jsdoc/lib/jsdoc/src/filter')).Filter(conf['default'].staticFiles);
staticFileScanner = new (require('jsdoc/lib/jsdoc/src/scanner')).Scanner();
staticFilePaths.forEach(function(filePath) {
const extraStaticFiles = staticFileScanner.scan([filePath], 10, staticFileFilter);
extraStaticFiles.forEach(function(fileName) {
const sourcePath = fs.statSync(filePath).isDirectory() ? filePath :
path.dirname(filePath);
const toDir = fs.toDir(fileName.replace(sourcePath, 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/lib/jsdoc/src/filter')).Filter(conf['default'].staticFiles);
staticFileScanner = new (require('jsdoc/lib/jsdoc/src/scanner')).Scanner();
if (sourceFilePaths.length) {
sourceFiles = shortenPaths(sourceFiles, path.commonPrefix(sourceFilePaths));
}
data().each(function(doclet) {
const url = helper.createLink(doclet);
helper.registerLink(doclet.longname, url);
staticFilePaths.forEach(function(filePath) {
var extraStaticFiles = staticFileScanner.scan([filePath], 10, staticFileFilter);
// replace the filename with a shortened version of the full path
let docletPath;
if (doclet.meta) {
docletPath = getPathFromDoclet(doclet);
docletPath = sourceFiles[docletPath].shortened;
if (docletPath) {
doclet.meta.filename = docletPath;
}
}
});
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);
});
});
data().each(function(doclet) {
const url = helper.longnameToUrl[doclet.longname];
if (url.indexOf('#') > -1) {
doclet.id = helper.longnameToUrl[doclet.longname].split(/#/).pop();
} else {
doclet.id = doclet.name;
}
if (sourceFilePaths.length) {
sourceFiles = shortenPaths( sourceFiles, path.commonPrefix(sourceFilePaths) );
if (needsSignature(doclet)) {
addSignatureParams(doclet);
addSignatureReturns(doclet);
}
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;
}
}
});
// do this after the urls have all been generated
data().each(function(doclet) {
doclet.ancestors = getAncestorLinks(doclet);
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 (doclet.kind === 'member') {
addSignatureTypes(doclet);
}
if (members.globals.length) { generate('Global', [{kind: 'globalobj'}], globalUrl); }
if (doclet.kind === 'constant') {
addSignatureTypes(doclet);
doclet.kind = 'member';
}
});
// index page displays information from package.json and lists files
var files = find({kind: 'file'});
const members = helper.getMembers(data);
members.tutorials = tutorials.children;
generate('Index',
[{kind: 'mainpage', readme: opts.readme, longname: (opts.mainpagetitle) ? opts.mainpagetitle : 'Main Page'}].concat(files),
// 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
const files = find({kind: 'file'});
generate('Index',
[{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);
// set up the lists that we'll use to generate pages
const classes = taffy(members.classes);
const modules = taffy(members.modules);
const namespaces = taffy(members.namespaces);
const mixins = taffy(members.mixins);
const 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]);
}
for (const longname in helper.longnameToUrl) {
if (hasOwnProp.call(helper.longnameToUrl, longname)) {
const 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]);
}
const 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]);
}
const 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]);
}
const 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]);
}
}
const 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
};
// TODO: move the tutorial functions to templateHelper.js
function generateTutorial(title, tutorial, filename) {
const tutorialData = {
title: title,
header: tutorial.title,
content: tutorial.parse(),
children: tutorial.children
};
var tutorialPath = path.join(outdir, filename),
html = view.render('tutorial.tmpl', tutorialData);
let 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>
// yes, you can use {@link} in tutorials too!
html = helper.resolveLinks(html); // turn {@link foo} into <a href="foodoc.html">foo</a>
const tutorialPath = path.join(outdir, filename);
fs.writeFileSync(tutorialPath, html, 'utf8');
}
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);
// 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

@@ -85,7 +85,7 @@ $(function () {
var srcLinks = $('div.tag-source');
srcLinks.each(function(i, el) {
var textParts = el.innerHTML.trim().split(', ');
var link = 'https://github.com/openlayers/openlayers/blob/v' + currentVersion + '/' +
var link = 'https://github.com/openlayers/openlayers/blob/v' + currentVersion + '/src/ol/' +
textParts[0];
el.innerHTML = '<a href="' + link + '">' + textParts[0] + '</a>, ' +
'<a href="' + link + textParts[1].replace('line ', '#L') + '">' +

View File

@@ -20,12 +20,10 @@
<br>
<?js if (doc.stability || doc.kind == 'namespace') {
var ancestors = doc.ancestors.map(a => a.replace(/>\./g, '>').replace(/\.</g, '<')).join('/');
var name = doc.name.toLowerCase();
var parts = [];
if (ancestors) {
parts.push(ancestors);
parts.push(ancestors.split('~').shift());
}
parts.push(name);
var importPath = parts.join('/');
?>
<pre class="prettyprint source"><code>import <?js= doc.name ?> from '<?js= importPath ?>';</code></pre>

View File

@@ -4,6 +4,13 @@ var version = obj.packageInfo.version;
<!DOCTYPE html>
<html lang="en">
<head>
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-2577926-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-2577926-1');
</script>
<meta charset="utf-8">
<title>OpenLayers v<?js= version ?> API - <?js= title ?></title>
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=fetch"></script>

View File

@@ -11,7 +11,7 @@ var self = this;
?>
<li class="item" data-name="<?js= item.longname ?>">
<span class="title">
<?js= self.linkto(item.longname, item.longname) ?>
<?js= self.linkto(item.longname, item.longname.replace('module:', '')) ?>
<?js if (item.type === 'namespace' &&
(item.members.length + item.typedefs.length + item.methods.length +
item.events.length > 0)) { ?>

View File

@@ -8,7 +8,7 @@
<th>Name</th>
<th>Type</th>
<th>Settable</th>
<th><a href="ol.Object.Event.html">ol.Object.Event</a> type</th>
<th><a href="module-ol_Object-ObjectEvent.html">ol/Object~ObjectEvent</a> type</th>
<th class="last">Description</th>
</tr>
</thead>

View File

@@ -8,7 +8,7 @@ exports.defineTags = function(dictionary) {
dictionary.defineTag('api', {
onTagged: function(doclet, tag) {
doclet.api = tag.text || 'experimental';
doclet.api = true;
}
});

View File

@@ -6,7 +6,7 @@
*/
var DEFAULT_VALUE = /default\s+is\s+`?(true|false)`?/i;
const DEFAULT_VALUE = /default\s+is\s+`?(true|false)`?/i;
/**
@@ -19,9 +19,9 @@ exports.defineTags = function(dictionary) {
canHaveType: true,
mustHaveValue: true,
onTagged: function(doclet, tag) {
var types = tag.value.type.names;
const types = tag.value.type.names;
if (types.length === 1 && types[0] === 'boolean') {
var match = tag.value.description.match(DEFAULT_VALUE);
const match = tag.value.description.match(DEFAULT_VALUE);
if (match) {
doclet.define = {
default: match[1] === 'true'

View File

@@ -2,8 +2,8 @@
* @fileoverview Generates JSON output based on exportable symbols (those with
* an api tag) and boolean defines (with a define tag and a default value).
*/
var assert = require('assert');
var path = require('path');
const assert = require('assert');
const path = require('path');
/**
@@ -15,67 +15,52 @@ var path = require('path');
exports.publish = function(data, opts) {
function getTypes(data) {
var types = [];
const types = [];
data.forEach(function(name) {
types.push(name.replace(/^function$/, 'Function'));
});
return types;
}
// get all doclets with the "api" property or define (excluding events) or
// with olx namespace
var classes = {};
var docs = data(
[
{define: {isObject: true}},
function() {
if (this.kind == 'class') {
if (!('extends' in this) || typeof this.api == 'string') {
classes[this.longname] = this;
return true;
}
// get all doclets with the "api" property or define (excluding events)
const classes = {};
const docs = data(
[
{define: {isObject: true}},
function() {
if (this.kind == 'class') {
if (!('extends' in this) || typeof this.api == 'boolean') {
classes[this.longname] = this;
return true;
}
return (typeof this.api == 'string' ||
this.meta && (/[\\\/]externs$/).test(this.meta.path));
}
],
{kind: {'!is': 'file'}},
{kind: {'!is': 'event'}}).get();
return (typeof this.api == 'boolean' ||
this.meta && (/[\\\/]externs$/).test(this.meta.path));
}
],
{kind: {'!is': 'file'}},
{kind: {'!is': 'event'}}).get();
// get symbols data, filter out those that are members of private classes
var symbols = [];
var defines = [];
var typedefs = [];
var externs = [];
var base = [];
var augments = {};
var symbolsByName = {};
const symbols = [];
const defines = [];
const typedefs = [];
const externs = [];
let base = [];
const augments = {};
const symbolsByName = {};
docs.filter(function(doc) {
var include = true;
var constructor = doc.memberof;
if (constructor && constructor.substr(-1) === '_') {
let include = true;
const constructor = doc.memberof;
if (constructor && constructor.substr(-1) === '_' && constructor.indexOf('module:') === -1) {
assert.strictEqual(doc.inherited, true,
'Unexpected export on private class: ' + doc.longname);
'Unexpected export on private class: ' + doc.longname);
include = false;
}
return include;
}).forEach(function(doc) {
var isExterns = (/[\\\/]externs$/).test(doc.meta.path);
if (isExterns && doc.longname.indexOf('olx.') === 0) {
if (doc.kind == 'typedef') {
typedefs.push({
name: doc.longname,
types: ['{}']
});
} else {
var typedef = typedefs[typedefs.length - 1];
var type = typedef.types[0];
typedef.types[0] = type
.replace(/\}$/, ', ' + doc.longname.split('#')[1] +
': (' + getTypes(doc.type.names).join('|') + ')}')
.replace('{, ', '{');
}
} else if (doc.define) {
const isExterns = (/[\\\/]externs$/).test(doc.meta.path);
if (doc.define) {
defines.push({
name: doc.longname,
description: doc.description,
@@ -88,11 +73,10 @@ exports.publish = function(data, opts) {
types: getTypes(doc.type.names)
});
} else {
var symbol = {
const symbol = {
name: doc.longname,
kind: doc.kind,
description: doc.classdesc || doc.description,
stability: doc.api,
path: path.join(doc.meta.path, doc.meta.filename)
};
if (doc.augments) {
@@ -105,9 +89,9 @@ exports.publish = function(data, opts) {
symbol.types = getTypes(doc.type.names);
}
if (doc.params) {
var params = [];
const params = [];
doc.params.forEach(function(param) {
var paramInfo = {
const paramInfo = {
name: param.name
};
params.push(paramInfo);
@@ -142,10 +126,10 @@ exports.publish = function(data, opts) {
});
}
var target = isExterns ? externs : (doc.api ? symbols : base);
var existingSymbol = symbolsByName[symbol.name];
const target = isExterns ? externs : (doc.api ? symbols : base);
const existingSymbol = symbolsByName[symbol.name];
if (existingSymbol) {
var idx = target.indexOf(existingSymbol);
const idx = target.indexOf(existingSymbol);
target.splice(idx, 1);
}
target.push(symbol);
@@ -169,13 +153,13 @@ exports.publish = function(data, opts) {
return new Promise(function(resolve, reject) {
process.stdout.write(
JSON.stringify({
symbols: symbols,
defines: defines,
typedefs: typedefs,
externs: externs,
base: base
}, null, 2));
JSON.stringify({
symbols: symbols,
defines: defines,
typedefs: typedefs,
externs: externs,
base: base
}, null, 2));
});
};

View File

@@ -4,7 +4,7 @@
*/
exports.defineTags = function(dictionary) {
var classTag = dictionary.lookUp('class');
const classTag = dictionary.lookUp('class');
dictionary.defineTag('interface', {
mustHaveValue: false,
onTagged: function(doclet, tag) {

View File

@@ -1,4 +0,0 @@
{
"exports": ["*"],
"umd": true
}

View File

@@ -1,38 +0,0 @@
{
"exports": ["*"],
"umd": true,
"compile": {
"externs": [
"externs/bingmaps.js",
"externs/cartodb.js",
"externs/closure-compiler.js",
"externs/esrijson.js",
"externs/geojson.js",
"externs/oli.js",
"externs/olx.js",
"externs/proj4js.js",
"externs/tilejson.js",
"externs/topojson.js"
],
"define": [
"ol.DEBUG_WEBGL=false"
],
"jscomp_error": [
"*"
],
"jscomp_off": [
"lintChecks",
"analyzerChecks"
],
"extra_annotation_name": [
"api", "observable"
],
"rewrite_polyfills": "false",
"compilation_level": "ADVANCED",
"warning_level": "VERBOSE",
"use_types_for_optimization": true,
"manage_closure_dependencies": true,
"create_source_map": "build/ol.js.map",
"source_map_format": "V3"
}
}

View File

@@ -1,3 +0,0 @@
# Configuration Files
This directory includes configuration files for the build scripts in and documentation templates.

21
config/rollup.js Normal file
View File

@@ -0,0 +1,21 @@
// Rollup configuration for the full build
import noderesolve from 'rollup-plugin-node-resolve';
import commonjs from 'rollup-plugin-commonjs';
import {uglify} from 'rollup-plugin-uglify';
import buble from 'rollup-plugin-buble';
import sourcemaps from 'rollup-plugin-sourcemaps';
export default {
input: 'build/index.js',
output: [
{file: 'build/ol.js', format: 'iife', sourcemap: true}
],
plugins: [
noderesolve(),
commonjs(),
buble(),
uglify(),
sourcemaps()
]
};

View File

@@ -43,7 +43,7 @@ Unknown `serverType` configured.
### 10
The default `geometryFunction` can only handle `ol.geom.Point` geometries.
The default `geometryFunction` can only handle `ol/geom/Point` geometries.
### 11
@@ -139,7 +139,7 @@ Invalid geometry layout. Must be `XY`, `XYZ`, `XYM` or `XYZM`.
### 36
Unknown SRS type. Expected `"name"` or `"EPSG"`.
Unknown SRS type. Expected `"name"`.
### 37
@@ -165,14 +165,6 @@ Expected an `ol.style.Style` or an array of `ol.style.Style`.
Expected `layers` to be an array or an `ol.Collection`.
### 44
`logo.href` should be a string.
### 45
`logo.src` should be a string.
### 46
Incorrect format for `renderer` option.

View File

@@ -5,7 +5,7 @@ layout: doc.hbs
# Frequently Asked Questions (FAQ)
Certain questions arise more often than others when users ask for help. This
Certain questions arise more often than others when users ask for help. This
document tries to list some of the common questions that frequently get asked,
e.g. on [Stack Overflow](http://stackoverflow.com/questions/tagged/openlayers).
@@ -21,9 +21,6 @@ Table of contents:
* [Why aren't there any features in my source?](#why-aren-t-there-any-features-in-my-source-)
* [How do I force a re-render of the map?](#how-do-i-force-a-re-render-of-the-map-)
* [Why are my features not found?](#why-are-my-features-not-found-)
* [How do I create a custom build of OpenLayers?](#how-do-i-create-a-custom-build-of-openlayers-)
* [Do I need to write my own code using Closure library?](#do-i-need-to-write-my-own-code-using-closure-library-)
* [Do I need to compress my code with Closure compiler?](#do-i-need-to-compress-my-code-with-closure-compiler-)
## What projection is OpenLayers using?
@@ -68,20 +65,19 @@ var map = new ol.Map({
```
```javascript
// To use other projections, you have to register the projection in OpenLayers:
// To use other projections, you have to register the projection in OpenLayers.
// This can easily be done with [https://proj4js.org](proj4)
//
// By default OpenLayers does not know about the EPSG:21781 (Swiss) projection.
// So we create a projection instance for EPSG:21781 and pass it to
// ol.proj.addProjection to make it available to the library for lookup by its
// code.
var swissProjection = new ol.proj.Projection({
code: 'EPSG:21781',
// The extent is used to determine zoom level 0. Recommended values for a
// projection's validity extent can be found at https://epsg.io/.
extent: [485869.5728, 76443.1884, 837076.5648, 299941.7864],
units: 'm'
});
ol.proj.addProjection(swissProjection);
proj4.defs('EPSG:21781',
'+proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 ' +
'+x_0=600000 +y_0=200000 +ellps=bessel ' +
'+towgs84=660.077,13.551,369.344,2.484,1.783,2.939,5.66 +units=m +no_defs');
ol.proj.proj4.register(proj4);
var swissProjection = ol.proj.get('EPSG:21781');
// we can now use the projection:
var map = new ol.Map({
@@ -290,7 +286,7 @@ been populated with features), you should use an event listener function on the
vector.getSource().on('change', function(evt){
var source = evt.target;
if (source.getState() === 'ready') {
var numFeatures = source.getFeatures().length;
var numFeatures = source.getFeatures().length;
console.log("Count after change: " + numFeatures);
}
});
@@ -335,37 +331,3 @@ var vectorLayer = new ol.layer.Vector({
```
The recommended value is the size of the largest symbol, line width or label.
## How do I create a custom build of OpenLayers?
Please refer to the [official create custom builds tutorial](tutorials/custom-builds.html)
which explains how to create a custom build of OpenLayers with just those parts
included that you want.
## Do I need to write my own code using Closure library?
OpenLayers is built on top of the [Google Closure JavaScript
library](https://developers.google.com/closure/library/), but this
does not mean that you must use that library in your application code.
OpenLayers should play well with all sorts of JavaScript libraries out there,
and you are in no way forced to use a specific one. Choose one that looks
right for you.
## Do I need to compress my code with Closure compiler?
No, you don't need to do compress your code with the [Google Closure
compiler](https://developers.google.com/closure/compiler/).
It may be a good choice though, because when your application code and the
OpenLayers source code is compiled together using closure compiler, the
resulting build will most probably be the smallest in terms of byte-size. For
more details refer to the
[compile application and OpenLayers together tutorial](tutorials/closure.html).
If you don't want to use the closure compiler, or you can't, you are not at all
forced to use it.

View File

@@ -5,6 +5,11 @@ layout: doc.hbs
# Quick Start
This primer shows you how to put a simple map on a web page.
**For production, we strongly recommend bundling the application together with its dependencies, as explained in the [Building an OpenLayers Application](./tutorials/bundle.html) tutorial.**
## Put a map on a page
Below you'll find a complete working example. Create a new file, copy in the contents below, and open in a browser:
@@ -13,14 +18,14 @@ Below you'll find a complete working example. Create a new file, copy in the co
<!doctype html>
<html lang="en">
<head>
<link rel="stylesheet" href="https://openlayers.org/en/{{ latest }}/css/ol.css" type="text/css">
<link rel="stylesheet" href="https://cdn.rawgit.com/openlayers/openlayers.github.io/master/en/{{ latest }}/css/ol.css" type="text/css">
<style>
.map {
height: 400px;
width: 100%;
}
</style>
<script src="https://openlayers.org/en/{{ latest }}/build/ol.js" type="text/javascript"></script>
<script src="https://cdn.rawgit.com/openlayers/openlayers.github.io/master/en/{{ latest }}/build/ol.js"></script>
<title>OpenLayers example</title>
</head>
<body>
@@ -55,7 +60,7 @@ To include a map a web page you will need 3 things:
### Include OpenLayers
```xml
<script src="https://openlayers.org/en/{{ latest }}/build/ol.js" type="text/javascript"></script>
<script src="https://cdn.rawgit.com/openlayers/openlayers.github.io/master/en/{{ latest }}/build/ol.js"></script>
```
The first part is to include the JavaScript library. For the purpose of this tutorial, here we simply point to the openlayers.org website to get the whole library. In a production environment, we would build a custom version of the library including only the module needed for our application.
@@ -125,7 +130,7 @@ The `layers: [ ... ]` array is used to define the list of layers available in th
]
```
Layers in OpenLayers are defined with a type (Image, Tile or Vector) which contains a source. The source is the protocol used to get the map tiles. You can consult the list of [available layer sources here](/en/{{ latest }}/apidoc/ol.source.html)
Layers in OpenLayers are defined with a type (Image, Tile or Vector) which contains a source. The source is the protocol used to get the map tiles.
The next part of the `Map` object is the `View`. The view allows to specify the center, resolution, and rotation of the map. The simplest way to define a view is to define a center point and a zoom level. Note that zoom level 0 is zoomed out.

View File

@@ -0,0 +1,49 @@
---
title: Introduction
layout: doc.hbs
---
# Introduction
## Objectives
OpenLayers is a modular, high-performance, feature-packed library for displaying and interacting with maps and geospatial data.
The library comes with built-in support for a wide range of commercial and free image and vector tile sources, and the most popular open and proprietary vector data formats. With OpenLayers's map projection support, data can be in any projection.
## Public API
OpenLayers is available as [`ol` npm package](https://npmjs.com/package/ol), which provides all modules of the officially supported [API](../../apidoc).
## Renderers and Browser Support
By default, OpenLayers uses a performance optimized Canvas renderer. An experimental WebGL renderer (without text rendering support) is also avaialble.
OpenLayers runs on all modern browsers that support [HTML5](https://html.spec.whatwg.org/multipage/) and [ECMAScript 5](http://www.ecma-international.org/ecma-262/5.1/). This includes Chrome, Firefox, Safari and Edge. For older browsers and platforms like Internet Explorer (down to version 9) and Android 4.x, [polyfills](http://polyfill.io), the application bundle needs to be transpiled (e.g. using [Babel](https://babeljs.io)) and bundled with polyfills for `requestAnimationFrame`, `Element.prototype.classList` and `URL`.
The library is intended for use on both desktop/laptop and mobile devices, and supports pointer and touch interactions.
## Module and Naming Conventions
OpenLayers modules with CamelCase names provide classes as default exports, and may contain additional constants or functions as named exports:
```js
import Map from 'ol/Map';
import View from 'ol/View';
```
Class hierarchies grouped by their parent are provided in a subfolder of the package, e.g. `layer/`.
For convenience, these are also available as named exports, e.g.
```js
import {Map, View} from 'ol';
import {Tile, Vector} from 'ol/layer';
```
In addition to these re-exported classes, modules with lowercase names also provide constants or functions as named exports:
```js
import {inherits} from 'ol';
import {fromLonLat} from 'ol/proj';
```

View File

@@ -1,87 +0,0 @@
---
title: Basic project setup using NPM and Browserify
layout: doc.hbs
---
# Introduction
When going beyond modifying existing examples you might be looking for a way to setup your own code with dependency management together with external dependencies like OpenLayers.
This tutorial serves as a suggested project setup using NPM and Browserify for the most basic needs. There are several other options, and in particular you might be interested in a more modern one (ES2015) [using Webpack with OpenLayers](https://gist.github.com/tschaub/79025aef325cd2837364400a105405b8).
## Initial steps
Create a new empty directory for your project and navigate to it by running `mkdir new-project && cd new-project`. Initialize your project using `npm init` and answer the questions asked.
Add OpenLayers as dependency to your application with `npm install --save ol`.
At this point you can ask NPM to add required development dependencies by running
```
npm install --save-dev cssify browserify cssify http-server uglify-js watchify
npm install --save-dev babelify babel-plugin-transform-es2015-modules-commonjs
```
We will be using `cssify` to include the css definitions required by OpenLayers in our bundle. `watchify`, `http-server` and `uglify-js` are used to monitor for changes and to build into a minified bundle. `babelify` and `babel-plugin-transform-es2015-modules-commonjs` are used to make the `ol` package, which was created using ES2015 modules, work with CommonJS.
## Application code and index.html
Place your application code in `index.js`. Here is a simple starting point:
```js
require('ol/ol.css');
var ol_Map = require('ol/map').default;
var ol_layer_Tile = require('ol/layer/tile').default;
var ol_source_OSM = require('ol/source/osm').default;
var ol_View = require('ol/view').default;
var map = new ol_Map({
target: 'map',
layers: [
new ol_layer_Tile({
source: new ol_source_OSM()
})
],
view: new ol_View({
center: [0, 0],
zoom: 0
})
});
```
You will also need an `ìndex.html` file that will use your bundle. Here is a simple example:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Using Browserify with OpenLayers</title>
<style>
#map {
width: 400px;
height: 250px;
}
</style>
</head>
<body>
<div id="map"></div>
<script src="bundle.js"></script>
</body>
</html>
```
## Creating a bundle
With simple scripts you can introduce the commands `npm run build` and `npm start` to manually build your bundle and watch for changes, respectively. Add the following to the script section in `package.json`:
```json
"scripts": {
"start": "watchify index.js -g cssify --outfile bundle.js & http-server",
"build": "browserify -g cssify index.js | uglifyjs --compress --output bundle.js"
}
```
Now to test your application open http://localhost:8080/ in your browser. `watchify` will update `bundle.js` whenever you change something. You simply need to reload the page in your browser to see the changes.
```
$ npm start
```
Note that `bundle.js` will contain your application code and all dependencies used in your application. From OpenLayers, it only contains the required components.

93
doc/tutorials/bundle.md Normal file
View File

@@ -0,0 +1,93 @@
---
title: Basic project setup using NPM and Parcel
layout: doc.hbs
---
# Introduction
Modern JavaScript works best when using and authoring modules. The recommended way of using OpenLayers is installing the [`ol`](https://npmjs.com/package/ol) package. This tutorial walks you through setting up a simple dev environment, which requires [node](https://nodejs.org) for everything to work.
In this tutorial, we will be using [Parcel](https://parceljs.org) to bundle our application. There are several other options, some of which are linked from the [README](https://npmjs.com/package/ol).
## Initial steps
Create a new empty directory for your project and navigate to it by running `mkdir new-project && cd new-project`. Initialize your project using `npm init` and answer the questions asked.
Add OpenLayers as dependency to your application with
npm install ol
At this point you can ask NPM to add required development dependencies by running
npm install --save-dev parcel-bundler
## Application code and index.html
Place your application code in `index.js`. Here is a simple starting point:
```js
import 'ol/ol.css';
import {Map, View} from 'ol';
import TileLayer from 'ol/layer/Tile';
import OSM from 'ol/source/OSM';
const map = new Map({
target: 'map',
layers: [
new TileLayer({
source: new OSM()
})
],
view: new View({
center: [0, 0],
zoom: 0
})
});
```
You will also need an `index.html` file that will use your bundle. Here is a simple example:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Using Parcel with OpenLayers</title>
<style>
#map {
width: 400px;
height: 250px;
}
</style>
</head>
<body>
<div id="map"></div>
<script src="./index.js"></script>
</body>
</html>
```
## Creating a bundle
With simple scripts you can introduce the commands `npm run build` and `npm start` to manually build your bundle and watch for changes, respectively. Add the following to the script section in `package.json`:
```json
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "parcel index.html",
"build": "parcel build --public-url . index.html"
}
```
That's it. Now to run your application, enter
npm start
in your console. To test your application, open http://localhost:1234/ in your browser. Whenever you change something, the page will reload automatically to show the result of your changes.
Note that a single JavaScript file with all your application code and all dependencies used in your application has been created. From the OpenLayers package, it only contains the required components.
To create a production bundle of your application, simply type
npm run build
and copy the `dist/` folder to your production server.

View File

@@ -1,305 +0,0 @@
---
title: Compiling Application with Closure Compiler
layout: doc.hbs
---
# Compiling Application with Closure Compiler
**Note**: When building an application with dependencies that are available as [npm](https://npmjs.com/) packages, it will probably be easier to use the [ol](https://npmjs.com/package/ol) package and follow the instructions there.
The OpenLayers code uses the Closure Library, and it is compiled with the
Closure Compiler. Using OpenLayers in an application does not require using
Closure. But using Closure in an OpenLayers application is possible. And this
is what this tutorial is about.
When you want to include OpenLayers as separate script without bundling with your application, follow the [Creating custom builds](./custom-builds.html) tutorial instead.
This tutorial will teach you how to set up an OpenLayers application based on
the [`closure-util`](https://github.com/openlayers/closure-util) node package,
which provides utilities for working with Closure. Using `closure-util` is one
way to use Closure in a web application, but there are others. This tutorial
just covers the "`closure-util`" way.
The `closure-util` documentation is available on the [`closure-util` readme
page](https://github.com/openlayers/closure-util/blob/master/readme.md). You
don't need to read the `closure-util` documentation to follow this tutorial,
but it's available in `closure-util`'s [readme
file](https://github.com/openlayers/closure-util/blob/master/readme.md) if you
need it.
Also, the sample application built in this tutorial is
[available](https://github.com/openlayers/openlayers-closure-application) on
GitHub.
## Advantages of using Closure
This tutorial will show you how to use the Closure Compiler to compile an
application and OpenLayers together. Compiling the application code together
with the OpenLayers code has a number of advantages.
First of all, it allows you to only "pay" for the OpenLayers code your
application uses, as the compiler will exclude the OpenLayers code that the
application doesn't use. And there is no need to write and maintain a list of
"exports", which is necessary when creating custom builds of OpenLayers.
Also, compiling the application and OpenLayers together allows using
OpenLayers functions and objects that are not part of the official OpenLayers
3 API. Using non-API functions and objects may be risky, but it is mitigated by
the fact that the compiler will complain if you use functions or objects
that are not in OpenLayers anymore.
## Setting up the Application
First, create a directory for the application. We will name that directory
`openlayers-closure-application` in this tutorial.
$ mkdir openlayers-closure-application
Now change to that directory:
$ cd openlayers-closure-application
Our application will be a `node` application, and the `openlayers` and
`closure-util` node packages will be downloaded from the node package registry
using the `npm` command line tool.
So we're going to create a `package.json` file for the application, which every
node application includes. This file basically includes metadata for the
application.
Create the application's `package.json` file:
$ npm init
You can pretty much use the default answers to the questions `npm init` asks
you.
Now install OpenLayers using:
$ npm install openlayers --save
The `--save` flag persists the `openlayers` dependency in the application's
`package.json` file. You can edit `package.json` to verify that the dependency
was added.
`closure-util` is a dependency of the `openlayers` package, so it should have
been installed with `openlayers`. Use the following to verify that
`closure-util` is installed:
$ ./node_modules/openlayers/node_modules/.bin/closure-util
command argument is required
Usage: node closure-util <command> [options]
command
update-compiler Update the Compiler
update-library Update the Library
update Update both the Library and the Compiler
build Build with Closure Compiler
serve Start the development server
Options:
-l LEVEL, --loglevel LEVEL Log level [info]
## Create an OpenLayers map
You're now going to create a JavaScript file that creates an OpenLayers map.
This is the file that we will define the application's entry point.
First of all create an `src` directory at the root of the application:
$ mkdir src
Now add a file `main.js` to `src`, with the following content:
```js
goog.provide('app');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.layer.Tile');
goog.require('ol.source.OSM');
/**
* @type {ol.PluggableMap}
*/
app.map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
view: new ol.View({
center: [0, 0],
zoom: 4
})
});
```
`goog.provide('app')` creates the namespace `app` for the application. The
`goog.require` statements that follow define the OpenLayers constructors and
namespaces that the application uses. The rest of the code just creates the
OpenLayers map as you would do in any OpenLayers application.
## Compiling the Application
We're now going to compile the application and OpenLayers together, using the
Closure Compiler and `closure-util`. For this we need to create a JSON config
file, that we will then pass as an input file to the `closure-util` command.
The minimum config file looks like this:
```json
{
"lib": [
"node_modules/openlayers/src/**/*.js",
"node_modules/openlayers/build/ol.ext/**/*.js",
"src/**/*.js"
],
"compile": {
"closure_entry_point": "app",
"externs": [
"node_modules/openlayers/externs/bingmaps.js",
"node_modules/openlayers/externs/cartodb.js",
"node_modules/openlayers/externs/closure-compiler.js",
"node_modules/openlayers/externs/esrijson.js",
"node_modules/openlayers/externs/geojson.js",
"node_modules/openlayers/externs/proj4js.js",
"node_modules/openlayers/externs/tilejson.js",
"node_modules/openlayers/externs/topojson.js"
],
"define": [
"ol.ENABLE_WEBGL=false"
],
"js": [
"node_modules/openlayers/src/ol/typedefs.js",
"node_modules/openlayers/externs/olx.js",
"node_modules/openlayers/externs/oli.js"
],
"extra_annotation_name": [
"api", "observable"
],
"rewrite_polyfills": "false",
"compilation_level": "ADVANCED",
"warning_level": "VERBOSE",
"output_wrapper": "(function(){%output%})();",
"use_types_for_optimization": true
}
}
```
Create a `config.json` file with the above content at the root of the
application directory.
We can now use `closure-util` to compile the code:
$ ./node_modules/openlayers/node_modules/.bin/closure-util build config.json app.js
The resulting `app.js` file, which you can view in your editor if you're
curious, includes a minified version of the application code (`main.js`), and
the OpenLayers code that the application code uses.
Here is a version of `config.json` with more compilation checks enabled:
```json
{
"lib": [
"node_modules/openlayers/src/**/*.js",
"node_modules/openlayers/build/ol.ext/**/*.js",
"src/**/*.js"
],
"compile": {
"closure_entry_point": "app",
"externs": [
"node_modules/openlayers/externs/bingmaps.js",
"node_modules/openlayers/externs/cartodb.js",
"node_modules/openlayers/externs/closure-compiler.js",
"node_modules/openlayers/externs/esrijson.js",
"node_modules/openlayers/externs/geojson.js",
"node_modules/openlayers/externs/proj4js.js",
"node_modules/openlayers/externs/tilejson.js",
"node_modules/openlayers/externs/topojson.js"
],
"define": [
"ol.ENABLE_WEBGL=false"
],
"js": [
"node_modules/openlayers/src/ol/typedefs.js",
"node_modules/openlayers/externs/olx.js",
"node_modules/openlayers/externs/oli.js"
],
"jscomp_error": [
"*"
],
"jscomp_off": [
"unknownDefines",
"lintChecks",
"analyzerChecks"
],
"extra_annotation_name": [
"api", "observable"
],
"compilation_level": "ADVANCED",
"warning_level": "VERBOSE",
"output_wrapper": "(function(){%output%})();",
"use_types_for_optimization": true
}
}
```
## Create an HTML file for the Application
You can now go ahead and create a simple HTML for the application. Create
a `index.html` file with the following content at the root the application
directory:
```html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
<link rel="stylesheet" href="node_modules/openlayers/css/ol.css" type="text/css">
<title>Simple example</title>
<style>
#map {
width: 600px;
height: 400px;
}
</style>
</head>
<body>
<div id="map"></div>
<script src="app.js" type="text/javascript"></script>
</body>
</html>
```
Note that the page includes a `script` tag referencing the `app.js` file,
which is the file resulting from the compilation.
You are done!
## Run Application in Debug Mode
As a bonus, we're going to show how to use `closure-util` to run the
application in "debug" mode, where the original application and OpenLayers
scripts are loaded one by one in the page.
Start the `closure-util` development server:
$ ./node_modules/openlayers/node_modules/.bin/closure-util serve config.json
Now change the `script` tag to the following in the `index.html` file:
```html
<script src="@?main=src/main.js" type="text/javascript"></script>
```
Reload the page in your browser and you should see that scripts are now loaded
individually, making debugging much easier.

View File

@@ -6,68 +6,85 @@ layout: doc.hbs
# Basic Concepts
## Map
The core component of OpenLayers is the map (`ol.Map`). It is rendered to a `target` container (e.g. a `div` element on the web page that contains the map). All map properties can either be configured at construction time, or by using setter methods, e.g. `setTarget()`.
The core component of OpenLayers is the map (`ol/Map`). It is rendered to a `target` container (e.g. a `div` element on the web page that contains the map). All map properties can either be configured at construction time, or by using setter methods, e.g. `setTarget()`.
The markup below could be used to create a `<div>` that contains your map.
```xml
<div id="map" style="width: 100%, height: 400px"></div>
<script>
var map = new ol.Map({target: 'map'});
</script>
```
The script below constructs a map that is rendered in the `<div>` above, using the `map` id of the element as a selector.
```js
import Map from 'ol/Map';
var map = new Map({target: 'map'});
```
## View
`ol.Map` is not responsible for things like center, zoom level and projection of the map. Instead, these are properties of an `ol.View` instance.
The map is not responsible for things like center, zoom level and projection of the map. Instead, these are properties of a `ol/View` instance.
```js
map.setView(new ol.View({
center: [0, 0],
zoom: 2
}));
import View from 'ol/View';
map.setView(new View({
center: [0, 0],
zoom: 2
}));
```
An `ol.View` also has a `projection`. The projection determines the coordinate system of the `center` and the units for map resolution calculations. If not specified (like in the above snippet), the default projection is Spherical Mercator (EPSG:3857), with meters as map units.
A `View` also has a `projection`. The projection determines the coordinate system of the `center` and the units for map resolution calculations. If not specified (like in the above snippet), the default projection is Spherical Mercator (EPSG:3857), with meters as map units.
The `zoom` option is a convenient way to specify the map resolution. The available zoom levels are determined by `maxZoom` (default: 28), `zoomFactor` (default: 2) and `maxResolution` (default is calculated in such a way that the projection's validity extent fits in a 256x256 pixel tile). Starting at zoom level 0 with a resolution of `maxResolution` units per pixel, subsequent zoom levels are calculated by dividing the previous zoom level's resolution by `zoomFactor`, until zoom level `maxZoom` is reached.
## Source
To get remote data for a layer, OpenLayers uses `ol.source.Source` subclasses. These are available for free and commercial map tile services like OpenStreetMap or Bing, for OGC sources like WMS or WMTS, and for vector data in formats like GeoJSON or KML.
To get remote data for a layer, OpenLayers uses `ol/source/Source` subclasses. These are available for free and commercial map tile services like OpenStreetMap or Bing, for OGC sources like WMS or WMTS, and for vector data in formats like GeoJSON or KML.
```js
var osmSource = new ol.source.OSM();
import OSM from 'ol/source/OSM';
var osmSource = OSM();
```
## Layer
A layer is a visual representation of data from a `source`. OpenLayers has three basic types of layers: `ol.layer.Tile`, `ol.layer.Image` and `ol.layer.Vector`.
`ol.layer.Tile` is for layer sources that provide pre-rendered, tiled images in grids that are organized by zoom levels for specific resolutions.
A layer is a visual representation of data from a `source`. OpenLayers has four basic types of layers:
`ol.layer.Image` is for server rendered images that are available for arbitrary extents and resolutions.
`ol.layer.Vector` is for vector data that is rendered client-side.
* `ol/layer/Tile` - Renders sources that provide tiled images in grids that are organized by zoom levels for specific resolutions.
* `ol/layer/Image` - Renders sources that provide map images at arbitrary extents and resolutions.
* `ol/layer/Vector` - Renders vector data client-side.
* `ol/layer/VectorTile` - Renders data that is provided as vector tiles.
```js
var osmLayer = new ol.layer.Tile({source: osmSource});
map.addLayer(osmLayer);
import TileLayer from 'ol/layer/Tile';
var osmLayer = new TileLayer({source: osmSource});
map.addLayer(osmLayer);
```
## Putting it all together
The above snippets can be combined into a single script that renders a map with a single tile layer:
The above snippets can be conflated to a self contained map configuration with view and layers:
```js
import Map from 'ol/Map';
import View from 'ol/View';
import OSM from 'ol/source/OSM';
import TileLayer from 'ol/source/Tile';
```xml
<div id="map" style="width: 100%, height: 400px"></div>
<script>
new ol.Map({
layers: [
new ol.layer.Tile({source: new ol.source.OSM()})
],
view: new ol.View({
center: [0, 0],
zoom: 2
}),
target: 'map'
});
</script>
new Map({
layers: [
new TileLayer({source: new OSM()})
],
view: new View({
center: [0, 0],
zoom: 2
}),
target: 'map'
});
```

View File

@@ -1,237 +0,0 @@
---
title: Custom builds
layout: doc.hbs
---
# Creating custom builds
OpenLayers is a big library providing a lot of functionality. So it is unlikely that an application will need and use all the functionality OpenLayers provides. This is why creating application-specific OpenLayers builds, with just the functionality your application needs, is often a good idea.
An alternative to creating custom builds is to compile your application code together with OpenLayers. See the [Compiling Application with Closure Compiler](closure.html) tutorial for more information.
This particular tutorial explains how to create custom builds of OpenLayers.
## Requirements
OpenLayers's build tools use Node and Java, so you need to have Node and Java installed on your machine. You can run `node --version` and `java -version` to test that Node and Java are installed, respectively. See [developing guide](https://github.com/openlayers/openlayers/blob/master/DEVELOPING.md) for minimum version numbers required.
## Download OpenLayers
Obviously, creating a custom build requires the OpenLayers source and specific build scripts.
To get the OpenLayers source and the build scripts you can clone the openlayers [repository](https://github.com/openlayers/openlayers), or you can download one of the release archives. You can also download the `openlayers` Node package from the Node package registry, using NPM (the Node Package Manager). This is the method we are going to use in this tutorial.
Create a directory:
$ mkdir openlayers
Download the OpenLayers distribution using NPM:
$ npm install openlayers
This will download the latest stable version of OpenLayers, and install it under `node_modules`. You can list the content of `node_modules` to verify that it effectively contains a directory named "openlayers".
The Node packages onto which the `openlayers` package depends are installed under `node_modules/openlayers/node_modules`. That directory should, for example, include `closure-util`, which is the utility library OpenLayers uses for Closure.
You should now have everything you need to create custom builds of OpenLayers!
## Create a build configuration file
Creating a custom build requires writing a build configuration file. The format of build configuration files is JSON. Here is a simple example of a build configuration file:
```json
{
"exports": [
"ol.Map",
"ol.View",
"ol.control.defaults",
"ol.layer.Tile",
"ol.source.OSM"
],
"compile": {
"externs": [
"externs/bingmaps.js",
"externs/cartodb.js",
"externs/closure-compiler.js",
"externs/esrijson.js",
"externs/geojson.js",
"externs/oli.js",
"externs/olx.js",
"externs/proj4js.js",
"externs/tilejson.js",
"externs/topojson.js"
],
"extra_annotation_name": [
"api", "observable"
],
"compilation_level": "ADVANCED",
"manage_closure_dependencies": true,
"rewrite_polyfills": false
}
}
```
Create a file named `ol-custom.json` with that content, and save it under the `node_modules/openlayers/build` directory. (You can save it to any location really.)
The most relevant part of this configuration object is the `"exports"` array. This array declares the functions/constructors you use in your JavaScript code. For example, the above configuration file is what you'd use for the following JavaScript code:
```js
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
controls: ol.control.defaults({
attributionOptions: {
collapsible: false
}
}),
view: new ol.View({
center: [0, 0],
zoom: 4
})
});
```
Note that this JavaScript code corresponds to OpenLayers's [`simple`](https://openlayers.org/en/master/examples/simple.html) example.
You are now ready to create your first OpenLayers build. Use the following command to create the build:
$ cd node_modules/openlayers
$ node tasks/build.js build/ol-custom.json build/ol-custom.js
The build command may take some time, but it should end with an output in the console such as the following:
info ol Parsing dependencies
info ol Compiling 364 sources
The build command should have created an `ol-custom.js` file in the `node_modules/openlayers/build` directory. You can verify that the file was created. You can even open it in your editor if you're curious.
As a test, you can use the following HTML file to verify that your custom build works as expected:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>OpenLayers example</title>
<link rel="stylesheet" href="node_modules/openlayers/css/ol.css" />
<style>
#map {
width: 600px;
height: 400px;
}
</style>
</head>
<body>
<div id="map"></div>
<script src="node_modules/openlayers/build/ol-custom.js"></script>
<script>
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
view: new ol.View({
center: [0, 0],
zoom: 4
})
});
</script>
</body>
</html>
```
## More on the config file
### `define`'s
Closure allows you to define constants that can be set at compile time. The OpenLayers code defines several such values.
Setting some of these to `false` means that the portions of the code relating to this setting become "dead", i.e. are never executed. As Closure Compiler's `ADVANCED` mode removes dead code, this makes the size of the advanced compiled file smaller.
You might have noticed that the build file you've just created is considerably smaller than the full build, but it can be reduced further. This is because both renderers and other optional code are included by default. We only need one renderer, and we do not use the optional code, so can exclude what we don't use by setting properties with `define`s. So add a define section to the config above:
```
"define": [
"ol.ENABLE_WEBGL=false",
"ol.ENABLE_PROJ4JS=false",
"ol.ENABLE_RASTER_REPROJECTION=false"
],
```
and re-run the build script. The build size should now be smaller.
### Externs
The Closure documentation explains that "externs" are for external names used in the code being compiled. The compiler includes externs for built-ins such as `document`. The `externs` directory of the OpenLayers code includes files for all those used in some part of the library. For example, if you use Bing Maps, you should include the Bing externs file in the `externs` section of the config file.
`oli.js` and `olx.js` are externs files for the OpenLayers API. For example `olx.js` includes extern definitions for OpenLayers's constructor options. `closure-compiler.js` fixes any issues that may arise with a specific compiler version. You should always use these three files as externs when creating custom builds.
### Other compiler options
There are a couple of other compiler options in the config file above. `manage_closure_dependencies` and `rewrite_polyfills` should always be used.
You can specify any of the other compiler options here as needed, such as the renaming reports, output manifest, or source maps. There is a full list of available options in [closure-util](https://github.com/openlayers/closure-util/blob/master/compiler-options.txt).
Note that `build.js` currently requires you to enter an output file and will write the output from the compiler to it; it does not use the `js_output_file` compiler option. If you specify this in the config file, there will be no compiler output, so `build.js`'s output file will be empty.
## A more complicated example
Now let's try a more complicated example: [`heatmaps-earthquakes`](https://openlayers.org/en/master/examples/heatmap-earthquakes.html). The build configuration file looks like this:
```json
{
"exports": [
"ol.layer.Heatmap",
"ol.source.Vector",
"ol.format.KML",
"ol.layer.Heatmap#getSource",
"ol.source.Vector#on",
"ol.source.Vector.Event#feature",
"ol.Feature#get",
"ol.Feature#set",
"ol.layer.Tile",
"ol.source.Stamen",
"ol.Map",
"ol.View",
"ol.layer.Heatmap#setRadius",
"ol.layer.Heatmap#setBlur"
],
"compile": {
"externs": [
"externs/bingmaps.js",
"externs/cartodb.js",
"externs/closure-compiler.js",
"externs/esrijson.js",
"externs/geojson.js",
"externs/olx.js",
"externs/oli.js",
"externs/proj4js.js",
"externs/tilejson.js",
"externs/topojson.js"
],
"define": [
"ol.ENABLE_WEBGL=false",
"ol.ENABLE_PROJ4JS=false",
"ol.ENABLE_RASTER_REPROJECTION=false"
],
"compilation_level": "ADVANCED",
"manage_closure_dependencies": true,
"rewrite_polyfills": false
}
}
```
The exports are given here in the order in which they occur in the `heatmaps-earthquakes` example's JavaScript code. In this example we not only use the `ol.` functions and constructors, but also `prototype` methods where the `ol` namespace is not directly used. In the code, we have for example `vector.getSource().on()`. This means we are using the `getSource` method of `layer.Heatmap` and the `on` method of `source.KML`, so this is what has to be exported. Similarly, `event.feature.get()` means we are using the `feature` property of `source.Vector.Event` and the `get` method of `Feature`. If any of these names are left out, the compile will complete successfully, but the missing names will be obfuscated and you will get a 'property undefined' error when you try and run the script.
## Maintaining the code
If you installed OpenLayers from the Node package, you can use `npm` to upgrade to the latest version. If you cloned the Github repo, simply pulling in the latest code may not be enough, as some of the packages used, for example, the compiler, may need upgrading too. Do this by using `npm install` rather than `npm update`.
## Conclusion
This tutorial should have given you the information you need to create custom builds, i.e. builds tailored to your application. See the [tasks readme](https://github.com/openlayers/openlayers/tree/master/tasks/readme.md) for more information on the build scripts and the properties you can use in the build configuration file.

View File

@@ -5,9 +5,7 @@ layout: doc.hbs
# Tutorials
* [Introduction to OpenLayers](introduction.html)
* [Building an OpenLayers Application](bundle.html)
* [Basic Concepts](concepts.html)
* [Create Custom Builds](custom-builds.html)
* [Bundle Application and OpenLayers using Browserify](browserify.html)
* [Compile Application and OpenLayers together](closure.html)
* [Some Background on OpenLayers](background.html)
* [Raster Reprojection](raster-reprojection.html)

View File

@@ -1,42 +0,0 @@
---
title: Introduction
layout: doc.hbs
---
# Introduction
## Objectives
With version 3, the OpenLayers web mapping library was fundamentally redesigned. The widely used version 2 dates from the early days of Javascript development, and was increasingly showing its age. So it has been rewritten from the ground up to use modern design patterns.
The initial release aims to support much of the functionality provided by version 2, with support for a wide range of commercial and free tile sources, and the most popular open-source vector data formats. As with version 2, data can be in any projection. The initial release also adds some additional functionality, such as the ability to easily rotate or animate maps.
It is also designed such that major new features, such as displaying 3D maps, or using WebGL to quickly display large vector data sets, can be added in later releases.
## Google Closure
OpenLayers was written in a way so it can be compiled with [__Closure Compiler__](https://developers.google.com/closure/compiler/). Its 'advanced' compilation mode offers a level of compression that exceeds anything else available.
## Public API
Using the advanced optimizations of the Closure Compiler means that properties and methods are renamed &ndash; `longMeaningfulName` might become `xB` &ndash; and so are effectively unusable in applications using the library. To be usable, they have to be explicitly `exported`. This means the exported names, those not renamed, effectively become the public API of the library. These __exportable__ properties and methods are marked in the source, and documented in the [API docs](../../apidoc). This is the officially supported API of the library. A build containing all these exportable names is known as a __full build__. A hosted version of this is available, which can be used by any application.
## Custom Builds
Unlike in, say, Node, where a module's exports are fixed in the source, with Closure Compiler, exports can be defined at compile time. This makes it easy to create builds that are customized to the needs of a particular site or application: a __custom build__ only exports those properties and methods needed by the site or application. As the full build is large, and will probably become larger as new features are added to the API, it's recommended that sites create a custom build for production software.
## Renderers and Browser Support
The library currently includes two renderers: Canvas and WebGL. Both of them support both raster data from tile/image servers, and vector data; WebGL however does not support labels. Clearly only those browsers that [support Canvas](http://caniuse.com/canvas) can use the Canvas renderer. Equally, the WebGL renderer can only be used on those devices and [browsers](http://caniuse.com/webgl) that support WebGL.
OpenLayers runs on all modern browsers that support [HTML5](https://html.spec.whatwg.org/multipage/) and [ECMAScript 5](http://www.ecma-international.org/ecma-262/5.1/). This includes Chrome, Firefox, Safari and Edge. For older browsers and platforms like Internet Explorer (down to version 9) and Android 4.x, [polyfills](http://polyfill.io) for `requestAnimationFrame` and `Element.prototype.classList` are required, and using the KML format requires a polyfill for `URL`.
The library is intended for use on both desktop/laptop and mobile devices.
## Objects and Naming Conventions
The top-level namespace is `ol` (basically, `var ol = {};`). Subdivisions of this are:
* further namespaces, such as `ol.layer`; these have a lower-case initial
* simple objects containing static properties and methods, such as `ol.easing`; these also have a lower-case initial
* types, which have an upper-case initial. These are mainly 'classes', which here means a constructor function with prototypal inheritance, such as `ol.Map` or `ol.layer.Vector` (the Vector class within the layer namespace). There are however other, simpler, types, such as `ol.Extent`, which is an array.
Class namespaces, such as `ol.layer` have a base class type with the same name, such as `ol.layer.Layer`. These are mainly abstract classes, from which the other subclasses inherit.
Source files are similarly organised, with a directory for each class namespace. Names are however all lower-case, for example, `ol/layer/vector.js`.
OpenLayers follows the convention that the names of private properties and methods, that is, those that are not part of the API, end in an underscore. In general, instance properties are private and accessed using accessors.

View File

@@ -10,18 +10,22 @@ Transformation of the map projections of the image happens directly in a web bro
The view in any Proj4js supported coordinate reference system is possible and previously incompatible layers can now be combined and overlaid.
# Usage
The API usage is very simple. Just specify proper projection (using [EPSG](https://epsg.io) code) on `ol.View`:
``` javascript
var map = new ol.Map({
The API usage is very simple. Just specify proper projection (e.g. using [EPSG](https://epsg.io) code) on `ol/View`:
```js
import {Map, View} from 'ol';
import TileLayer from 'ol/layer/Tile';
import TileWMS from 'ol/source/TileWMS';
var map = new Map({
target: 'map',
view: new ol.View({
view: new View({
projection: 'EPSG:3857', //HERE IS THE VIEW PROJECTION
center: [0, 0],
zoom: 2
}),
layers: [
new ol.layer.Tile({
source: new ol.source.TileWMS({
new TileLayer({
source: new TileWMS({
projection: 'EPSG:4326', //HERE IS THE DATA SOURCE PROJECTION
url: 'http://demo.boundlessgeo.com/geoserver/wms',
params: {
@@ -32,7 +36,7 @@ var map = new ol.Map({
]
});
```
If a source (based on `ol.source.TileImage` or `ol.source.Image`) has a projection different from the current `ol.View`s projection then the reprojection happens automatically under the hood.
If a source (based on `ol/source/TileImage` or `ol/source/Image`) has a projection different from the current `ol/View`s projection then the reprojection happens automatically under the hood.
### Examples
- [Raster reprojection demo](https://openlayers.org/en/master/examples/reprojection.html)
@@ -41,26 +45,29 @@ If a source (based on `ol.source.TileImage` or `ol.source.Image`) has a projecti
- [Image reprojection](https://openlayers.org/en/master/examples/reprojection-image.html)
### Custom projection
The easiest way to use a custom projection is to add the [Proj4js](http://proj4js.org/) library to your project and then define the projection using a proj4 definition string.
The easiest way to use a custom projection is to add the [Proj4js](http://proj4js.org/) library to your project and then define the projection using a proj4 definition string. It can be installed with
npm install proj4
Following example shows definition of a [British National Grid](https://epsg.io/27700):
``` html
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.4.4/proj4.js"></script>
```
```js
import proj4 from 'proj4';
import {get as getProjection, register} from 'ol/proj';
``` javascript
proj4.defs('EPSG:27700', '+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 ' +
'+x_0=400000 +y_0=-100000 +ellps=airy ' +
'+towgs84=446.448,-125.157,542.06,0.15,0.247,0.842,-20.489 ' +
'+units=m +no_defs');
var proj27700 = ol.proj.get('EPSG:27700');
register(proj4);
var proj27700 = getProjection('EPSG:27700');
proj27700.setExtent([0, 0, 700000, 1300000]);
```
### Change of the view projection
To switch the projection used to display the map you have to set a new `ol.View` with selected projection on the `ol.Map`:
To switch the projection used to display the map you have to set a new `ol/View` with selected projection on the `ol/Map`:
``` javascript
map.setView(new ol.View({
map.setView(new View({
projection: 'EPSG:27700',
center: [400000, 650000],
zoom: 4
@@ -69,16 +76,16 @@ map.setView(new ol.View({
## TileGrid and Extents
When reprojection is needed, new tiles (in the target projection) are under the hood created from the original source tiles.
The TileGrid of the reprojected tiles is by default internally constructed using `ol.tilegrid.getForProjection(projection)`.
The TileGrid of the reprojected tiles is by default internally constructed using `ol/tilegrid~getForProjection(projection)`.
The projection should have extent defined (see above) for this to work properly.
Alternatively, a custom target TileGrid can be constructed manually and set on the source instance using `ol.source.TileImage#setTileGridForProjection(projection, tilegrid)`.
Alternatively, a custom target TileGrid can be constructed manually and set on the source instance using `ol/source/TileImage~setTileGridForProjection(projection, tilegrid)`.
This TileGrid will then be used when reprojecting to the specified projection instead of creating the default one.
In certain cases, this can be used to optimize performance (by tweaking tile sizes) or visual quality (by specifying resolutions).
# How it works
The reprojection process is based on triangles -- the target raster is divided into a limited number of triangles with vertices transformed using `ol.proj` capabilities ([proj4js](http://proj4js.org/) is usually utilized to define custom transformations).
The reprojection process is based on triangles -- the target raster is divided into a limited number of triangles with vertices transformed using `ol/proj` capabilities ([proj4js](http://proj4js.org/) is usually utilized to define custom transformations).
The reprojection of pixels inside the triangle is approximated with an affine transformation (with rendering hardware-accelerated by the canvas 2d context):
<img src="raster-reprojection-resources/how-it-works.jpg" alt="How it works" width="600" />
@@ -102,12 +109,8 @@ For debugging, rendering of the reprojection edges can be enabled by `ol.source.
# Advanced
### Disabling reprojection
In case you are creating a custom build of OpenLayers and do not need the reprojection code, you can reduce the build size by setting `ol.ENABLE_RASTER_REPROJECTION` to `false`, which completely disables the reprojection support.
See [Custom builds](custom-builds.html#defines) tutorial on how to do this.
### Triangulation precision threshold
The default [triangulation error threshold](#dynamic-triangulation) in pixels is given by `ol.DEFAULT_RASTER_REPROJECTION_ERROR_THRESHOLD` (0.5 pixel).
The default [triangulation error threshold](#dynamic-triangulation) in pixels is given by `ERROR_THRESHOLD` (0.5 pixel).
In case a different threshold needs to be defined for different sources, the `reprojectionErrorThreshold` option can be passed when constructing the tile image source.
###Limiting visibility of reprojected map by extent
@@ -126,7 +129,7 @@ Setting such a limit is demonstrated in the [reprojection demo example](https://
### Resolution calculation
When determining source tiles to load, the ideal source resolution needs to be calculated.
The `ol.reproj.calculateSourceResolution(sourceProj, targetProj, targetCenter, targetResolution)` function calculates the ideal value in order to achieve pixel mapping as close as possible to 1:1 during reprojection, which is then used to select proper zoom level from the source.
The `ol/reproj~calculateSourceResolution(sourceProj, targetProj, targetCenter, targetResolution)` function calculates the ideal value in order to achieve pixel mapping as close as possible to 1:1 during reprojection, which is then used to select proper zoom level from the source.
It is, however, generally not practical to use the same source zoom level for the whole target zoom level -- different projections can have significantly different resolutions in different parts of the world (e.g. polar regions in EPSG:3857 vs EPSG:4326) and enforcing a single resolution for the whole zoom level would result in some tiles being scaled up/down, possibly requiring a huge number of source tiles to be loaded.
Therefore, the resolution mapping is calculated separately for each reprojected tile (in the middle of the tile extent).

View File

@@ -1,3 +1,10 @@
/*
* Jugl.js -- JavaScript Template Library
*
* Copyright 2007-2010 Tim Schaub
* Released under the MIT license. Please see
* http://github.com/tschaub/jugl/blob/master/license.txt for the full license.
*/
/*
* Jugl.js -- JavaScript Template Library
*

View File

@@ -1,36 +1,36 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.control');
goog.require('ol.layer.Tile');
goog.require('ol.source.OSM');
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import {defaults as defaultControls} from '../src/ol/control.js';
import TileLayer from '../src/ol/layer/Tile.js';
import OSM from '../src/ol/source/OSM.js';
var map = new ol.Map({
const map = new Map({
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
new TileLayer({
source: new OSM()
})
],
target: 'map',
controls: ol.control.defaults({
controls: defaultControls({
attributionOptions: {
collapsible: false
}
}),
view: new ol.View({
view: new View({
center: [0, 0],
zoom: 2
})
});
document.getElementById('zoom-out').onclick = function() {
var view = map.getView();
var zoom = view.getZoom();
const view = map.getView();
const zoom = view.getZoom();
view.setZoom(zoom - 1);
};
document.getElementById('zoom-in').onclick = function() {
var view = map.getView();
var zoom = view.getZoom();
const view = map.getView();
const zoom = view.getZoom();
view.setZoom(zoom + 1);
};

View File

@@ -1,27 +1,27 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.easing');
goog.require('ol.layer.Tile');
goog.require('ol.proj');
goog.require('ol.source.OSM');
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import {easeIn, easeOut} from '../src/ol/easing.js';
import TileLayer from '../src/ol/layer/Tile.js';
import {fromLonLat} from '../src/ol/proj.js';
import OSM from '../src/ol/source/OSM.js';
var london = ol.proj.fromLonLat([-0.12755, 51.507222]);
var moscow = ol.proj.fromLonLat([37.6178, 55.7517]);
var istanbul = ol.proj.fromLonLat([28.9744, 41.0128]);
var rome = ol.proj.fromLonLat([12.5, 41.9]);
var bern = ol.proj.fromLonLat([7.4458, 46.95]);
const london = fromLonLat([-0.12755, 51.507222]);
const moscow = fromLonLat([37.6178, 55.7517]);
const istanbul = fromLonLat([28.9744, 41.0128]);
const rome = fromLonLat([12.5, 41.9]);
const bern = fromLonLat([7.4458, 46.95]);
var view = new ol.View({
const view = new View({
center: istanbul,
zoom: 6
});
var map = new ol.Map({
const map = new Map({
target: 'map',
layers: [
new ol.layer.Tile({
new TileLayer({
preload: 4,
source: new ol.source.OSM()
source: new OSM()
})
],
// Improve user experience by loading tiles while animating. Will make
@@ -32,7 +32,9 @@ var map = new ol.Map({
// A bounce easing method (from https://github.com/DmitryBaranovskiy/raphael).
function bounce(t) {
var s = 7.5625, p = 2.75, l;
const s = 7.5625;
const p = 2.75;
let l;
if (t < (1 / p)) {
l = s * t * t;
} else {
@@ -75,15 +77,15 @@ onClick('rotate-right', function() {
onClick('rotate-around-rome', function() {
// Rotation animation takes the shortest arc, so animate in two parts
var rotation = view.getRotation();
const rotation = view.getRotation();
view.animate({
rotation: rotation + Math.PI,
anchor: rome,
easing: ol.easing.easeIn
easing: easeIn
}, {
rotation: rotation + 2 * Math.PI,
anchor: rome,
easing: ol.easing.easeOut
easing: easeOut
});
});
@@ -112,26 +114,26 @@ onClick('bounce-to-istanbul', function() {
onClick('spin-to-rome', function() {
// Rotation animation takes the shortest arc, so animate in two parts
var center = view.getCenter();
const center = view.getCenter();
view.animate({
center: [
center[0] + (rome[0] - center[0]) / 2,
center[1] + (rome[1] - center[1]) / 2
],
rotation: Math.PI,
easing: ol.easing.easeIn
easing: easeIn
}, {
center: rome,
rotation: 2 * Math.PI,
easing: ol.easing.easeOut
easing: easeOut
});
});
function flyTo(location, done) {
var duration = 2000;
var zoom = view.getZoom();
var parts = 2;
var called = false;
const duration = 2000;
const zoom = view.getZoom();
let parts = 2;
let called = false;
function callback(complete) {
--parts;
if (called) {
@@ -160,13 +162,13 @@ onClick('fly-to-bern', function() {
});
function tour() {
var locations = [london, bern, rome, moscow, istanbul];
var index = -1;
const locations = [london, bern, rome, moscow, istanbul];
let index = -1;
function next(more) {
if (more) {
++index;
if (index < locations.length) {
var delay = index === 0 ? 0 : 750;
const delay = index === 0 ? 0 : 750;
setTimeout(function() {
flyTo(locations[index], next);
}, delay);

View File

@@ -1,29 +1,27 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Image');
goog.require('ol.source.OSM');
goog.require('ol.source.ImageArcGISRest');
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import {Tile as TileLayer, Image as ImageLayer} from '../src/ol/layer.js';
import {OSM, ImageArcGISRest} from '../src/ol/source.js';
var url = 'https://sampleserver1.arcgisonline.com/ArcGIS/rest/services/' +
const url = 'https://sampleserver1.arcgisonline.com/ArcGIS/rest/services/' +
'Specialty/ESRI_StateCityHighway_USA/MapServer';
var layers = [
new ol.layer.Tile({
source: new ol.source.OSM()
const layers = [
new TileLayer({
source: new OSM()
}),
new ol.layer.Image({
source: new ol.source.ImageArcGISRest({
new ImageLayer({
source: new ImageArcGISRest({
ratio: 1,
params: {},
url: url
})
})
];
var map = new ol.Map({
const map = new Map({
layers: layers,
target: 'map',
view: new ol.View({
view: new View({
center: [-10997148, 4569099],
zoom: 4
})

View File

@@ -6,7 +6,7 @@ docs: >
This example shows how to use an ArcGIS REST MapService as tiles.
This source type supports Map and Image Services. For cached ArcGIS
services, better performance is available by using
<code>ol.source.XYZ</code> instead.
<code>ol/source/XYZ</code> instead.
tags: arcgis, tile, tilelayer"
---
<div id="map" class="map"></div>

View File

@@ -1,27 +1,26 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.layer.Tile');
goog.require('ol.source.OSM');
goog.require('ol.source.TileArcGISRest');
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import TileLayer from '../src/ol/layer/Tile.js';
import {OSM, TileArcGISRest} from '../src/ol/source.js';
var url = 'https://sampleserver1.arcgisonline.com/ArcGIS/rest/services/' +
const url = 'https://sampleserver1.arcgisonline.com/ArcGIS/rest/services/' +
'Specialty/ESRI_StateCityHighway_USA/MapServer';
var layers = [
new ol.layer.Tile({
source: new ol.source.OSM()
const layers = [
new TileLayer({
source: new OSM()
}),
new ol.layer.Tile({
new TileLayer({
extent: [-13884991, 2870341, -7455066, 6338219],
source: new ol.source.TileArcGISRest({
source: new TileArcGISRest({
url: url
})
})
];
var map = new ol.Map({
const map = new Map({
layers: layers,
target: 'map',
view: new ol.View({
view: new View({
center: [-10997148, 4569099],
zoom: 4
})

View File

@@ -1,29 +1,28 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.control');
goog.require('ol.control.Attribution');
goog.require('ol.layer.Tile');
goog.require('ol.source.OSM');
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import {defaults as defaultControls, Attribution} from '../src/ol/control.js';
import TileLayer from '../src/ol/layer/Tile.js';
import OSM from '../src/ol/source/OSM.js';
var attribution = new ol.control.Attribution({
const attribution = new Attribution({
collapsible: false
});
var map = new ol.Map({
const map = new Map({
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
new TileLayer({
source: new OSM()
})
],
controls: ol.control.defaults({attribution: false}).extend([attribution]),
controls: defaultControls({attribution: false}).extend([attribution]),
target: 'map',
view: new ol.View({
view: new View({
center: [0, 0],
zoom: 2
})
});
function checkSize() {
var small = map.getSize()[0] < 600;
const small = map.getSize()[0] < 600;
attribution.setCollapsible(small);
attribution.setCollapsed(small);
}

View File

@@ -3,10 +3,11 @@ layout: example.html
title: Bing Maps
shortdesc: Example of a Bing Maps layer.
docs: >
<p>When the Bing Maps tile service doesn't have tiles for a given resolution and region it returns "placeholder" tiles indicating that. Zoom the map beyond level 19 to see the "placeholder" tiles. If you want OpenLayers to display stretched tiles in place of "placeholder" tiles beyond zoom level 19 then set <code>maxZoom</code> to <code>19</code> in the options passed to <code>ol.source.BingMaps</code>.</p>
<p>When the Bing Maps tile service doesn't have tiles for a given resolution and region it returns "placeholder" tiles indicating that. Zoom the map beyond level 19 to see the "placeholder" tiles. If you want OpenLayers to display stretched tiles in place of "placeholder" tiles beyond zoom level 19 then set <code>maxZoom</code> to <code>19</code> in the options passed to <code>ol/source/BingMaps</code>.</p>
tags: "bing, bing-maps"
cloak:
As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5: Your Bing Maps Key from http://www.bingmapsportal.com/ here
- key: As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5
value: Your Bing Maps Key from http://www.bingmapsportal.com/ here
---
<div id="map" class="map"></div>
<select id="layer-select">

View File

@@ -1,10 +1,10 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.layer.Tile');
goog.require('ol.source.BingMaps');
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import TileLayer from '../src/ol/layer/Tile.js';
import BingMaps from '../src/ol/source/BingMaps.js';
var styles = [
const styles = [
'Road',
'RoadOnDemand',
'Aerial',
@@ -12,13 +12,13 @@ var styles = [
'collinsBart',
'ordnanceSurvey'
];
var layers = [];
var i, ii;
const layers = [];
let i, ii;
for (i = 0, ii = styles.length; i < ii; ++i) {
layers.push(new ol.layer.Tile({
layers.push(new TileLayer({
visible: false,
preload: Infinity,
source: new ol.source.BingMaps({
source: new BingMaps({
key: 'As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5',
imagerySet: styles[i]
// use maxZoom 19 to see stretched tiles instead of the BingMaps
@@ -27,22 +27,22 @@ for (i = 0, ii = styles.length; i < ii; ++i) {
})
}));
}
var map = new ol.Map({
const map = new Map({
layers: layers,
// Improve user experience by loading tiles while dragging/zooming. Will make
// zooming choppy on mobile or slow devices.
loadTilesWhileInteracting: true,
target: 'map',
view: new ol.View({
view: new View({
center: [-6655.5402445057125, 6709968.258934638],
zoom: 13
})
});
var select = document.getElementById('layer-select');
const select = document.getElementById('layer-select');
function onChange() {
var style = select.value;
for (var i = 0, ii = layers.length; i < ii; ++i) {
const style = select.value;
for (let i = 0, ii = layers.length; i < ii; ++i) {
layers[i].setVisible(styles[i] === style);
}
}

View File

@@ -1,29 +1,26 @@
goog.require('ol.Feature');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.geom.Point');
goog.require('ol.layer.Vector');
goog.require('ol.source.Vector');
goog.require('ol.style.Circle');
goog.require('ol.style.Fill');
goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
import Feature from '../src/ol/Feature.js';
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import Point from '../src/ol/geom/Point.js';
import VectorLayer from '../src/ol/layer/Vector.js';
import VectorSource from '../src/ol/source/Vector.js';
import {Circle as CircleStyle, Fill, Stroke, Style} from '../src/ol/style.js';
// Create separate layers for red, green an blue circles.
//
// Every layer has one feature that is styled with a circle, together the
// features form the corners of an equilateral triangle and their styles overlap
var redLayer = new ol.layer.Vector({
source: new ol.source.Vector({
features: [new ol.Feature(new ol.geom.Point([0, 0]))]
const redLayer = new VectorLayer({
source: new VectorSource({
features: [new Feature(new Point([0, 0]))]
}),
style: new ol.style.Style({
image: new ol.style.Circle({
fill: new ol.style.Fill({
style: new Style({
image: new CircleStyle({
fill: new Fill({
color: 'rgba(255,0,0,0.8)'
}),
stroke: new ol.style.Stroke({
stroke: new Stroke({
color: 'rgb(255,0,0)',
width: 15
}),
@@ -31,17 +28,17 @@ var redLayer = new ol.layer.Vector({
})
})
});
var greenLayer = new ol.layer.Vector({
source: new ol.source.Vector({
const greenLayer = new VectorLayer({
source: new VectorSource({
// 433.013 is roughly 250 * Math.sqrt(3)
features: [new ol.Feature(new ol.geom.Point([250, 433.013]))]
features: [new Feature(new Point([250, 433.013]))]
}),
style: new ol.style.Style({
image: new ol.style.Circle({
fill: new ol.style.Fill({
style: new Style({
image: new CircleStyle({
fill: new Fill({
color: 'rgba(0,255,0,0.8)'
}),
stroke: new ol.style.Stroke({
stroke: new Stroke({
color: 'rgb(0,255,0)',
width: 15
}),
@@ -49,16 +46,16 @@ var greenLayer = new ol.layer.Vector({
})
})
});
var blueLayer = new ol.layer.Vector({
source: new ol.source.Vector({
features: [new ol.Feature(new ol.geom.Point([500, 0]))]
const blueLayer = new VectorLayer({
source: new VectorSource({
features: [new Feature(new Point([500, 0]))]
}),
style: new ol.style.Style({
image: new ol.style.Circle({
fill: new ol.style.Fill({
style: new Style({
image: new CircleStyle({
fill: new Fill({
color: 'rgba(0,0,255,0.8)'
}),
stroke: new ol.style.Stroke({
stroke: new Stroke({
color: 'rgb(0,0,255)',
width: 15
}),
@@ -69,14 +66,14 @@ var blueLayer = new ol.layer.Vector({
// Create the map, the view is centered on the triangle. Zooming and panning is
// restricted to a sane area
var map = new ol.Map({
const map = new Map({
layers: [
redLayer,
greenLayer,
blueLayer
],
target: 'map',
view: new ol.View({
view: new View({
center: [250, 220],
extent: [0, 0, 500, 500],
resolution: 4,
@@ -86,19 +83,19 @@ var map = new ol.Map({
});
// Get the form elements and bind the listeners
var select = document.getElementById('blend-mode');
var affectRed = document.getElementById('affect-red');
var affectGreen = document.getElementById('affect-green');
var affectBlue = document.getElementById('affect-blue');
const select = document.getElementById('blend-mode');
const affectRed = document.getElementById('affect-red');
const affectGreen = document.getElementById('affect-green');
const affectBlue = document.getElementById('affect-blue');
/**
* This method sets the globalCompositeOperation to the value of the select
* field and it is bound to the precompose event of the layers.
*
* @param {ol.render.Event} evt The render event.
* @param {module:ol/render/Event~RenderEvent} evt The render event.
*/
var setBlendModeFromSelect = function(evt) {
const setBlendModeFromSelect = function(evt) {
evt.context.globalCompositeOperation = select.value;
};
@@ -107,9 +104,9 @@ var setBlendModeFromSelect = function(evt) {
* This method resets the globalCompositeOperation to the default value of
* 'source-over' and it is bound to the postcompose event of the layers.
*
* @param {ol.render.Event} evt The render event.
* @param {module:ol/render/Event~RenderEvent} evt The render event.
*/
var resetBlendModeFromSelect = function(evt) {
const resetBlendModeFromSelect = function(evt) {
evt.context.globalCompositeOperation = 'source-over';
};
@@ -117,9 +114,9 @@ var resetBlendModeFromSelect = function(evt) {
/**
* Bind the pre- and postcompose handlers to the passed layer.
*
* @param {ol.layer.Vector} layer The layer to bind the handlers to.
* @param {module:ol/layer/Vector} layer The layer to bind the handlers to.
*/
var bindLayerListeners = function(layer) {
const bindLayerListeners = function(layer) {
layer.on('precompose', setBlendModeFromSelect);
layer.on('postcompose', resetBlendModeFromSelect);
};
@@ -128,9 +125,9 @@ var bindLayerListeners = function(layer) {
/**
* Unind the pre- and postcompose handlers to the passed layers.
*
* @param {ol.layer.Vector} layer The layer to unbind the handlers from.
* @param {module:ol/layer/Vector} layer The layer to unbind the handlers from.
*/
var unbindLayerListeners = function(layer) {
const unbindLayerListeners = function(layer) {
layer.un('precompose', setBlendModeFromSelect);
layer.un('postcompose', resetBlendModeFromSelect);
};
@@ -141,8 +138,8 @@ var unbindLayerListeners = function(layer) {
*
* @this {HTMLInputElement}
*/
var affectLayerClicked = function() {
var layer;
const affectLayerClicked = function() {
let layer;
if (this.id == 'affect-red') {
layer = redLayer;
} else if (this.id == 'affect-green') {

View File

@@ -4,7 +4,7 @@ title: Box Selection
shortdesc: Using a DragBox interaction to select features.
docs: >
<p>This example shows how to use a <code>DragBox</code> interaction to select features. Selected features are added
to the feature overlay of a select interaction (<code>ol.interaction.Select</code>) for highlighting.</p>
to the feature overlay of a select interaction (<code>ol/interaction/Select</code>) for highlighting.</p>
<p>Use <code>Ctrl+Drag</code> (<code>Command+Drag</code> on Mac) to draw boxes.</p>
tags: "DragBox, feature, selection, box"
---

View File

@@ -1,46 +1,43 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.events.condition');
goog.require('ol.format.GeoJSON');
goog.require('ol.interaction.DragBox');
goog.require('ol.interaction.Select');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.source.OSM');
goog.require('ol.source.Vector');
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import {platformModifierKeyOnly} from '../src/ol/events/condition.js';
import GeoJSON from '../src/ol/format/GeoJSON.js';
import {DragBox, Select} from '../src/ol/interaction.js';
import {Tile as TileLayer, Vector as VectorLayer} from '../src/ol/layer.js';
import {OSM, Vector as VectorSource} from '../src/ol/source.js';
var vectorSource = new ol.source.Vector({
const vectorSource = new VectorSource({
url: 'data/geojson/countries.geojson',
format: new ol.format.GeoJSON()
format: new GeoJSON()
});
var map = new ol.Map({
const map = new Map({
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
new TileLayer({
source: new OSM()
}),
new ol.layer.Vector({
new VectorLayer({
source: vectorSource
})
],
target: 'map',
view: new ol.View({
view: new View({
center: [0, 0],
zoom: 2
})
});
// a normal select interaction to handle click
var select = new ol.interaction.Select();
const select = new Select();
map.addInteraction(select);
var selectedFeatures = select.getFeatures();
const selectedFeatures = select.getFeatures();
// a DragBox interaction used to select features by drawing boxes
var dragBox = new ol.interaction.DragBox({
condition: ol.events.condition.platformModifierKeyOnly
const dragBox = new DragBox({
condition: platformModifierKeyOnly
});
map.addInteraction(dragBox);
@@ -48,7 +45,7 @@ map.addInteraction(dragBox);
dragBox.on('boxend', function() {
// features that intersect the box are added to the collection of
// selected features
var extent = dragBox.getGeometry().getExtent();
const extent = dragBox.getGeometry().getExtent();
vectorSource.forEachFeatureIntersectingExtent(extent, function(feature) {
selectedFeatures.push(feature);
});
@@ -59,10 +56,10 @@ dragBox.on('boxstart', function() {
selectedFeatures.clear();
});
var infoBox = document.getElementById('info');
const infoBox = document.getElementById('info');
selectedFeatures.on(['add', 'remove'], function() {
var names = selectedFeatures.getArray().map(function(feature) {
const names = selectedFeatures.getArray().map(function(feature) {
return feature.get('name');
});
if (names.length > 0) {

View File

@@ -1,16 +1,16 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.layer.Tile');
goog.require('ol.source.OSM');
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import TileLayer from '../src/ol/layer/Tile.js';
import OSM from '../src/ol/source/OSM.js';
var map = new ol.Map({
const map = new Map({
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
new TileLayer({
source: new OSM()
})
],
target: 'map',
view: new ol.View({
view: new View({
center: [-8730000, 5930000],
rotation: Math.PI / 5,
zoom: 8

View File

@@ -3,10 +3,11 @@ layout: example.html
title: Styling feature with CanvasGradient or CanvasPattern
shortdesc: Example showing the countries vector layer styled with patterns and gradients.
docs: >
First this example creates a reusable [`CanvasPattern`](https://developer.mozilla.org/en-US/docs/Web/API/CanvasPattern)
This example creates a [`CanvasPattern`](https://developer.mozilla.org/en-US/docs/Web/API/CanvasPattern)
and a [`CanvasGradient`](https://developer.mozilla.org/en/docs/Web/API/CanvasGradient). The countries are loaded from
a GeoJSON file. A style function determines for each country whether to use a fill with the pregenerated
CanvasGradient (rainbow colors) or a CanvasPattern (repeating stacked circles).
a GeoJSON file. A style function determines for each country whether to use a fill with the
CanvasGradient (rainbow colors) or a CanvasPattern (repeating stacked circles). **Note**: For seamless repeat patterns,
image width and height of the pattern image must be a factor of two (2, 4, 8, ..., 512).
tags: "canvas, gradient, pattern, style"
---
<div id="map" class="map"></div>

View File

@@ -1,31 +1,22 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.extent');
goog.require('ol.format.GeoJSON');
goog.require('ol.has');
goog.require('ol.layer.Vector');
goog.require('ol.proj');
goog.require('ol.source.Vector');
goog.require('ol.style.Fill');
goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import GeoJSON from '../src/ol/format/GeoJSON.js';
import {DEVICE_PIXEL_RATIO} from '../src/ol/has.js';
import VectorLayer from '../src/ol/layer/Vector.js';
import {fromLonLat} from '../src/ol/proj.js';
import VectorSource from '../src/ol/source/Vector.js';
import {Fill, Stroke, Style} from '../src/ol/style.js';
var canvas = document.createElement('canvas');
var context = canvas.getContext('2d');
const canvas = document.createElement('canvas');
const context = canvas.getContext('2d');
// Gradient and pattern are in canvas pixel space, so we adjust for the
// renderer's pixel ratio
var pixelRatio = ol.has.DEVICE_PIXEL_RATIO;
const pixelRatio = DEVICE_PIXEL_RATIO;
// Generate a rainbow gradient
function gradient(feature, resolution) {
var extent = feature.getGeometry().getExtent();
// Gradient starts on the left edge of each feature, and ends on the right.
// Coordinate origin is the top-left corner of the extent of the geometry, so
// we just divide the geometry's extent width by resolution and multiply with
// pixelRatio to match the renderer's pixel coordinate system.
var grad = context.createLinearGradient(0, 0,
ol.extent.getWidth(extent) / resolution * pixelRatio, 0);
const gradient = (function() {
const grad = context.createLinearGradient(0, 0, 512 * pixelRatio, 0);
grad.addColorStop(0, 'red');
grad.addColorStop(1 / 6, 'orange');
grad.addColorStop(2 / 6, 'yellow');
@@ -34,33 +25,33 @@ function gradient(feature, resolution) {
grad.addColorStop(5 / 6, 'blue');
grad.addColorStop(1, 'purple');
return grad;
}
})();
// Generate a canvasPattern with two circles on white background
var pattern = (function() {
canvas.width = 11 * pixelRatio;
canvas.height = 11 * pixelRatio;
const pattern = (function() {
canvas.width = 8 * pixelRatio;
canvas.height = 8 * pixelRatio;
// white background
context.fillStyle = 'white';
context.fillRect(0, 0, canvas.width, canvas.height);
// outer circle
context.fillStyle = 'rgba(102, 0, 102, 0.5)';
context.beginPath();
context.arc(5 * pixelRatio, 5 * pixelRatio, 4 * pixelRatio, 0, 2 * Math.PI);
context.arc(4 * pixelRatio, 4 * pixelRatio, 3 * pixelRatio, 0, 2 * Math.PI);
context.fill();
// inner circle
context.fillStyle = 'rgb(55, 0, 170)';
context.beginPath();
context.arc(5 * pixelRatio, 5 * pixelRatio, 2 * pixelRatio, 0, 2 * Math.PI);
context.arc(4 * pixelRatio, 4 * pixelRatio, 1.5 * pixelRatio, 0, 2 * Math.PI);
context.fill();
return context.createPattern(canvas, 'repeat');
}());
// Generate style for gradient or pattern fill
var fill = new ol.style.Fill();
var style = new ol.style.Style({
const fill = new Fill();
const style = new Style({
fill: fill,
stroke: new ol.style.Stroke({
stroke: new Stroke({
color: '#333',
width: 2
})
@@ -70,33 +61,32 @@ var style = new ol.style.Style({
* The styling function for the vector layer, will return an array of styles
* which either contains the aboove gradient or pattern.
*
* @param {ol.Feature} feature The feature to style.
* @param {number} resolution Resolution.
* @return {ol.style.Style} The style to use for the feature.
* @param {module:ol/Feature~Feature} feature The feature to style.
* @return {module:ol/style/Style} The style to use for the feature.
*/
var getStackedStyle = function(feature, resolution) {
var id = feature.getId();
fill.setColor(id > 'J' ? gradient(feature, resolution) : pattern);
const getStackedStyle = function(feature) {
const id = feature.getId();
fill.setColor(id > 'J' ? gradient : pattern);
return style;
};
// Create a vector layer that makes use of the style function above…
var vectorLayer = new ol.layer.Vector({
source: new ol.source.Vector({
const vectorLayer = new VectorLayer({
source: new VectorSource({
url: 'data/geojson/countries.geojson',
format: new ol.format.GeoJSON()
format: new GeoJSON()
}),
style: getStackedStyle
});
// … finally create a map with that layer.
var map = new ol.Map({
const map = new Map({
layers: [
vectorLayer
],
target: 'map',
view: new ol.View({
center: ol.proj.fromLonLat([7, 52]),
view: new View({
center: fromLonLat([16, 48]),
zoom: 3
})
});

View File

@@ -1,34 +1,32 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.control');
goog.require('ol.layer.Tile');
goog.require('ol.proj');
goog.require('ol.source.OSM');
goog.require('ol.source.TileDebug');
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import {defaults as defaultControls} from '../src/ol/control.js';
import TileLayer from '../src/ol/layer/Tile.js';
import {fromLonLat} from '../src/ol/proj.js';
import {OSM, TileDebug} from '../src/ol/source.js';
var osmSource = new ol.source.OSM();
var map = new ol.Map({
const osmSource = new OSM();
const map = new Map({
layers: [
new ol.layer.Tile({
new TileLayer({
source: osmSource
}),
new ol.layer.Tile({
source: new ol.source.TileDebug({
new TileLayer({
source: new TileDebug({
projection: 'EPSG:3857',
tileGrid: osmSource.getTileGrid()
})
})
],
target: 'map',
controls: ol.control.defaults({
controls: defaultControls({
attributionOptions: {
collapsible: false
}
}),
view: new ol.View({
center: ol.proj.transform(
[-0.1275, 51.507222], 'EPSG:4326', 'EPSG:3857'),
view: new View({
center: fromLonLat([-0.1275, 51.507222]),
zoom: 10
})
});

View File

@@ -1,10 +1,9 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.layer.Tile');
goog.require('ol.source.CartoDB');
goog.require('ol.source.OSM');
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import TileLayer from '../src/ol/layer/Tile.js';
import {CartoDB, OSM} from '../src/ol/source.js';
var mapConfig = {
const mapConfig = {
'layers': [{
'type': 'cartodb',
'options': {
@@ -15,22 +14,22 @@ var mapConfig = {
}]
};
var cartoDBSource = new ol.source.CartoDB({
const cartoDBSource = new CartoDB({
account: 'documentation',
config: mapConfig
});
var map = new ol.Map({
const map = new Map({
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
new TileLayer({
source: new OSM()
}),
new ol.layer.Tile({
new TileLayer({
source: cartoDBSource
})
],
target: 'map',
view: new ol.View({
view: new View({
center: [0, 0],
zoom: 2
})

View File

@@ -1,56 +1,51 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.control');
goog.require('ol.format.GeoJSON');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.source.OSM');
goog.require('ol.source.Vector');
goog.require('ol.style.Circle');
goog.require('ol.style.Fill');
goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import {defaults as defaultControls} from '../src/ol/control.js';
import GeoJSON from '../src/ol/format/GeoJSON.js';
import {Tile as TileLayer, Vector as VectorLayer} from '../src/ol/layer.js';
import {OSM, Vector as VectorSource} from '../src/ol/source.js';
import {Circle as CircleStyle, Fill, Stroke, Style} from '../src/ol/style.js';
var source = new ol.source.Vector({
const source = new VectorSource({
url: 'data/geojson/switzerland.geojson',
format: new ol.format.GeoJSON()
format: new GeoJSON()
});
var style = new ol.style.Style({
fill: new ol.style.Fill({
const style = new Style({
fill: new Fill({
color: 'rgba(255, 255, 255, 0.6)'
}),
stroke: new ol.style.Stroke({
stroke: new Stroke({
color: '#319FD3',
width: 1
}),
image: new ol.style.Circle({
image: new CircleStyle({
radius: 5,
fill: new ol.style.Fill({
fill: new Fill({
color: 'rgba(255, 255, 255, 0.6)'
}),
stroke: new ol.style.Stroke({
stroke: new Stroke({
color: '#319FD3',
width: 1
})
})
});
var vectorLayer = new ol.layer.Vector({
const vectorLayer = new VectorLayer({
source: source,
style: style
});
var view = new ol.View({
const view = new View({
center: [0, 0],
zoom: 1
});
var map = new ol.Map({
const map = new Map({
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
new TileLayer({
source: new OSM()
}),
vectorLayer
],
target: 'map',
controls: ol.control.defaults({
controls: defaultControls({
attributionOptions: {
collapsible: false
}
@@ -58,40 +53,40 @@ var map = new ol.Map({
view: view
});
var zoomtoswitzerlandbest = document.getElementById('zoomtoswitzerlandbest');
const zoomtoswitzerlandbest = document.getElementById('zoomtoswitzerlandbest');
zoomtoswitzerlandbest.addEventListener('click', function() {
var feature = source.getFeatures()[0];
var polygon = /** @type {ol.geom.SimpleGeometry} */ (feature.getGeometry());
const feature = source.getFeatures()[0];
const polygon = /** @type {module:ol/geom/SimpleGeometry~SimpleGeometry} */ (feature.getGeometry());
view.fit(polygon, {padding: [170, 50, 30, 150], constrainResolution: false});
}, false);
var zoomtoswitzerlandconstrained =
const zoomtoswitzerlandconstrained =
document.getElementById('zoomtoswitzerlandconstrained');
zoomtoswitzerlandconstrained.addEventListener('click', function() {
var feature = source.getFeatures()[0];
var polygon = /** @type {ol.geom.SimpleGeometry} */ (feature.getGeometry());
const feature = source.getFeatures()[0];
const polygon = /** @type {module:ol/geom/SimpleGeometry~SimpleGeometry} */ (feature.getGeometry());
view.fit(polygon, {padding: [170, 50, 30, 150]});
}, false);
var zoomtoswitzerlandnearest =
const zoomtoswitzerlandnearest =
document.getElementById('zoomtoswitzerlandnearest');
zoomtoswitzerlandnearest.addEventListener('click', function() {
var feature = source.getFeatures()[0];
var polygon = /** @type {ol.geom.SimpleGeometry} */ (feature.getGeometry());
const feature = source.getFeatures()[0];
const polygon = /** @type {module:ol/geom/SimpleGeometry~SimpleGeometry} */ (feature.getGeometry());
view.fit(polygon, {padding: [170, 50, 30, 150], nearest: true});
}, false);
var zoomtolausanne = document.getElementById('zoomtolausanne');
const zoomtolausanne = document.getElementById('zoomtolausanne');
zoomtolausanne.addEventListener('click', function() {
var feature = source.getFeatures()[1];
var point = /** @type {ol.geom.SimpleGeometry} */ (feature.getGeometry());
const feature = source.getFeatures()[1];
const point = /** @type {module:ol/geom/SimpleGeometry~SimpleGeometry} */ (feature.getGeometry());
view.fit(point, {padding: [170, 50, 30, 150], minResolution: 50});
}, false);
var centerlausanne = document.getElementById('centerlausanne');
const centerlausanne = document.getElementById('centerlausanne');
centerlausanne.addEventListener('click', function() {
var feature = source.getFeatures()[1];
var point = /** @type {ol.geom.Point} */ (feature.getGeometry());
var size = /** @type {ol.Size} */ (map.getSize());
const feature = source.getFeatures()[1];
const point = /** @type {module:ol/geom/Point~Point} */ (feature.getGeometry());
const size = /** @type {module:ol/size~Size} */ (map.getSize());
view.centerOn(point.getCoordinates(), size, [570, 500]);
}, false);

20
examples/chaikin.html Normal file
View File

@@ -0,0 +1,20 @@
---
layout: example.html
title: Smoothing lines using Chaikins algorithm
shortdesc: This uses Chaikins algorithm to smooth drawn lines.
docs: >
This example uses the npm package [`chaikin-smooth`](https://www.npmjs.com/package/chaikin-smooth) which
implements [Chaikins algorithm](http://graphics.cs.ucdavis.edu/education/CAGDNotes/Chaikins-Algorithm/Chaikins-Algorithm.html)
to smooth drawn lines.
Start by drawing on the map. Once you finish a drawing, the feature's geometry will be smoothed
as configured via the form elements.
tags: "smooth, smoothing, chaikin"
---
<div id="map" class="map"></div>
<form class="form-inline">
<label for="shall-smoothen">Smooth drawn geometry?</label>
<input id="shall-smoothen" type="checkbox" checked><br>
<label for="iterations">Number of smoothings</label>
<input style="width: 250px;" type="range" id="iterations" min="2" max="10" step="1" value="5">
</form>

54
examples/chaikin.js Normal file
View File

@@ -0,0 +1,54 @@
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import {Tile as TileLayer, Vector as VectorLayer} from '../src/ol/layer.js';
import {OSM, Vector as VectorSource} from '../src/ol/source.js';
import Draw from '../src/ol/interaction/Draw.js';
import smooth from 'chaikin-smooth';
function makeSmooth(path, numIterations) {
numIterations = Math.min(Math.max(numIterations, 1), 10);
while (numIterations > 0) {
path = smooth(path);
numIterations--;
}
return path;
}
const vectorSource = new VectorSource({});
const map = new Map({
layers: [
new TileLayer({
source: new OSM(),
opacity: 0.5
}),
new VectorLayer({
source: vectorSource
})
],
target: 'map',
view: new View({
center: [1078373.5950, 6871994.5910],
zoom: 5
})
});
const shallSmoothen = document.getElementById('shall-smoothen');
const numIterations = document.getElementById('iterations');
const draw = new Draw({
source: vectorSource,
type: 'LineString'
});
map.addInteraction(draw);
draw.on('drawend', function(event) {
if (!shallSmoothen.checked) {
return;
}
const feat = event.feature;
const geometry = feat.getGeometry();
const coords = geometry.getCoordinates();
const smoothened = makeSmooth(coords, parseInt(numIterations.value, 10) || 5);
geometry.setCoordinates(smoothened);
});

View File

@@ -1,7 +1,7 @@
---
layout: example.html
title: Clustered Features
shortdesc: Example of using ol.source.Cluster.
shortdesc: Example of using ol/source/Cluster.
docs: >
This example shows how to do clustering on point features.
tags: "cluster, vector"

View File

@@ -1,58 +1,51 @@
goog.require('ol.Feature');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.geom.Point');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.source.Cluster');
goog.require('ol.source.OSM');
goog.require('ol.source.Vector');
goog.require('ol.style.Circle');
goog.require('ol.style.Fill');
goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
goog.require('ol.style.Text');
import Feature from '../src/ol/Feature.js';
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import Point from '../src/ol/geom/Point.js';
import {Tile as TileLayer, Vector as VectorLayer} from '../src/ol/layer.js';
import {Cluster, OSM, Vector as VectorSource} from '../src/ol/source.js';
import {Circle as CircleStyle, Fill, Stroke, Style, Text} from '../src/ol/style.js';
var distance = document.getElementById('distance');
const distance = document.getElementById('distance');
var count = 20000;
var features = new Array(count);
var e = 4500000;
for (var i = 0; i < count; ++i) {
var coordinates = [2 * e * Math.random() - e, 2 * e * Math.random() - e];
features[i] = new ol.Feature(new ol.geom.Point(coordinates));
const count = 20000;
const features = new Array(count);
const e = 4500000;
for (let i = 0; i < count; ++i) {
const coordinates = [2 * e * Math.random() - e, 2 * e * Math.random() - e];
features[i] = new Feature(new Point(coordinates));
}
var source = new ol.source.Vector({
const source = new VectorSource({
features: features
});
var clusterSource = new ol.source.Cluster({
const clusterSource = new Cluster({
distance: parseInt(distance.value, 10),
source: source
});
var styleCache = {};
var clusters = new ol.layer.Vector({
const styleCache = {};
const clusters = new VectorLayer({
source: clusterSource,
style: function(feature) {
var size = feature.get('features').length;
var style = styleCache[size];
const size = feature.get('features').length;
let style = styleCache[size];
if (!style) {
style = new ol.style.Style({
image: new ol.style.Circle({
style = new Style({
image: new CircleStyle({
radius: 10,
stroke: new ol.style.Stroke({
stroke: new Stroke({
color: '#fff'
}),
fill: new ol.style.Fill({
fill: new Fill({
color: '#3399CC'
})
}),
text: new ol.style.Text({
text: new Text({
text: size.toString(),
fill: new ol.style.Fill({
fill: new Fill({
color: '#fff'
})
})
@@ -63,14 +56,14 @@ var clusters = new ol.layer.Vector({
}
});
var raster = new ol.layer.Tile({
source: new ol.source.OSM()
const raster = new TileLayer({
source: new OSM()
});
var map = new ol.Map({
const map = new Map({
layers: [raster, clusters],
target: 'map',
view: new ol.View({
view: new View({
center: [0, 0],
zoom: 2
})

View File

@@ -1,48 +1,46 @@
// NOCOMPILE
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.layer.Image');
goog.require('ol.source.Raster');
goog.require('ol.source.Stamen');
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import ImageLayer from '../src/ol/layer/Image.js';
import {Raster as RasterSource, Stamen} from '../src/ol/source.js';
/**
* Color manipulation functions below are adapted from
* https://github.com/d3/d3-color.
*/
var Xn = 0.950470;
var Yn = 1;
var Zn = 1.088830;
var t0 = 4 / 29;
var t1 = 6 / 29;
var t2 = 3 * t1 * t1;
var t3 = t1 * t1 * t1;
var twoPi = 2 * Math.PI;
const Xn = 0.950470;
const Yn = 1;
const Zn = 1.088830;
const t0 = 4 / 29;
const t1 = 6 / 29;
const t2 = 3 * t1 * t1;
const t3 = t1 * t1 * t1;
const twoPi = 2 * Math.PI;
/**
* Convert an RGB pixel into an HCL pixel.
* @param {Array.<number>} pixel A pixel in RGB space.
* @return {Array.<number>} A pixel in HCL space.
* @param {Array<number>} pixel A pixel in RGB space.
* @return {Array<number>} A pixel in HCL space.
*/
function rgb2hcl(pixel) {
var red = rgb2xyz(pixel[0]);
var green = rgb2xyz(pixel[1]);
var blue = rgb2xyz(pixel[2]);
const red = rgb2xyz(pixel[0]);
const green = rgb2xyz(pixel[1]);
const blue = rgb2xyz(pixel[2]);
var x = xyz2lab(
(0.4124564 * red + 0.3575761 * green + 0.1804375 * blue) / Xn);
var y = xyz2lab(
(0.2126729 * red + 0.7151522 * green + 0.0721750 * blue) / Yn);
var z = xyz2lab(
(0.0193339 * red + 0.1191920 * green + 0.9503041 * blue) / Zn);
const x = xyz2lab(
(0.4124564 * red + 0.3575761 * green + 0.1804375 * blue) / Xn);
const y = xyz2lab(
(0.2126729 * red + 0.7151522 * green + 0.0721750 * blue) / Yn);
const z = xyz2lab(
(0.0193339 * red + 0.1191920 * green + 0.9503041 * blue) / Zn);
var l = 116 * y - 16;
var a = 500 * (x - y);
var b = 200 * (y - z);
const l = 116 * y - 16;
const a = 500 * (x - y);
const b = 200 * (y - z);
var c = Math.sqrt(a * a + b * b);
var h = Math.atan2(b, a);
const c = Math.sqrt(a * a + b * b);
let h = Math.atan2(b, a);
if (h < 0) {
h += twoPi;
}
@@ -57,20 +55,20 @@ function rgb2hcl(pixel) {
/**
* Convert an HCL pixel into an RGB pixel.
* @param {Array.<number>} pixel A pixel in HCL space.
* @return {Array.<number>} A pixel in RGB space.
* @param {Array<number>} pixel A pixel in HCL space.
* @return {Array<number>} A pixel in RGB space.
*/
function hcl2rgb(pixel) {
var h = pixel[0];
var c = pixel[1];
var l = pixel[2];
const h = pixel[0];
const c = pixel[1];
const l = pixel[2];
var a = Math.cos(h) * c;
var b = Math.sin(h) * c;
const a = Math.cos(h) * c;
const b = Math.sin(h) * c;
var y = (l + 16) / 116;
var x = isNaN(a) ? y : y + a / 500;
var z = isNaN(b) ? y : y - b / 200;
let y = (l + 16) / 116;
let x = isNaN(a) ? y : y + a / 500;
let z = isNaN(b) ? y : y - b / 200;
y = Yn * lab2xyz(y);
x = Xn * lab2xyz(x);
@@ -100,15 +98,15 @@ function xyz2rgb(x) {
12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055);
}
var raster = new ol.source.Raster({
sources: [new ol.source.Stamen({
const raster = new RasterSource({
sources: [new Stamen({
layer: 'watercolor',
transition: 0
})],
operation: function(pixels, data) {
var hcl = rgb2hcl(pixels[0]);
const hcl = rgb2hcl(pixels[0]);
var h = hcl[0] + Math.PI * data.hue / 180;
let h = hcl[0] + Math.PI * data.hue / 180;
if (h < 0) {
h += twoPi;
} else if (h > twoPi) {
@@ -139,33 +137,33 @@ var raster = new ol.source.Raster({
}
});
var controls = {};
const controls = {};
raster.on('beforeoperations', function(event) {
var data = event.data;
for (var id in controls) {
const data = event.data;
for (const id in controls) {
data[id] = Number(controls[id].value);
}
});
var map = new ol.Map({
const map = new Map({
layers: [
new ol.layer.Image({
new ImageLayer({
source: raster
})
],
target: 'map',
view: new ol.View({
view: new View({
center: [0, 2500000],
zoom: 2,
maxZoom: 18
})
});
var controlIds = ['hue', 'chroma', 'lightness'];
const controlIds = ['hue', 'chroma', 'lightness'];
controlIds.forEach(function(id) {
var control = document.getElementById(id);
var output = document.getElementById(id + 'Out');
const control = document.getElementById(id);
const output = document.getElementById(id + 'Out');
control.addEventListener('input', function() {
output.innerText = control.value;
raster.changed();

View File

@@ -1,17 +1,16 @@
goog.require('ol');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.control');
goog.require('ol.control.Control');
goog.require('ol.layer.Tile');
goog.require('ol.source.OSM');
import {inherits} from '../src/ol/util.js';
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import {defaults as defaultControls, Control} from '../src/ol/control.js';
import TileLayer from '../src/ol/layer/Tile.js';
import OSM from '../src/ol/source/OSM.js';
/**
* Define a namespace for the application.
*/
window.app = {};
var app = window.app;
const app = window.app;
//
@@ -21,35 +20,35 @@ var app = window.app;
/**
* @constructor
* @extends {ol.control.Control}
* @extends {module:ol/control/Control~Control}
* @param {Object=} opt_options Control options.
*/
app.RotateNorthControl = function(opt_options) {
var options = opt_options || {};
const options = opt_options || {};
var button = document.createElement('button');
const button = document.createElement('button');
button.innerHTML = 'N';
var this_ = this;
var handleRotateNorth = function() {
const this_ = this;
const handleRotateNorth = function() {
this_.getMap().getView().setRotation(0);
};
button.addEventListener('click', handleRotateNorth, false);
button.addEventListener('touchstart', handleRotateNorth, false);
var element = document.createElement('div');
const element = document.createElement('div');
element.className = 'rotate-north ol-unselectable ol-control';
element.appendChild(button);
ol.control.Control.call(this, {
Control.call(this, {
element: element,
target: options.target
});
};
ol.inherits(app.RotateNorthControl, ol.control.Control);
inherits(app.RotateNorthControl, Control);
//
@@ -57,8 +56,8 @@ ol.inherits(app.RotateNorthControl, ol.control.Control);
//
var map = new ol.Map({
controls: ol.control.defaults({
const map = new Map({
controls: defaultControls({
attributionOptions: {
collapsible: false
}
@@ -66,12 +65,12 @@ var map = new ol.Map({
new app.RotateNorthControl()
]),
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
new TileLayer({
source: new OSM()
})
],
target: 'map',
view: new ol.View({
view: new View({
center: [0, 0],
zoom: 3,
rotation: 1

View File

@@ -1,9 +0,0 @@
---
layout: example.html
title: Custom Icon
shortdesc: Example using a custom attribution icon object
docs: >
This example creates a custom element for the attribution icon
tags: "icon, element"
---
<div id="map" class="map"><div id="popup"></div></div>

View File

@@ -1,27 +0,0 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.layer.Tile');
goog.require('ol.source.OSM');
var logoElement = document.createElement('a');
logoElement.href = 'https://www.osgeo.org/';
logoElement.target = '_blank';
var logoImage = document.createElement('img');
logoImage.src = 'https://www.osgeo.org/sites/all/themes/osgeo/logo.png';
logoElement.appendChild(logoImage);
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
target: 'map',
view: new ol.View({
center: [0, 0],
zoom: 2
}),
logo: logoElement
});

View File

@@ -3,8 +3,8 @@ layout: example.html
title: Custom Interactions
shortdesc: Example of a custom interaction.
docs: >
This example demonstrates creating a custom interaction by subclassing `ol.interaction.Pointer`.
Note that the built in interaction `ol.interaction.Translate` might be a better option for moving features.
This example demonstrates creating a custom interaction by subclassing `ol/interaction/Pointer`.
Note that the built in interaction `ol/interaction/Translate` might be a better option for moving features.
tags: "drag, feature, vector, editing, custom, interaction"
---
<div id="map" class="map"></div>

View File

@@ -1,35 +1,27 @@
goog.require('ol');
goog.require('ol.Feature');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.geom.LineString');
goog.require('ol.geom.Point');
goog.require('ol.geom.Polygon');
goog.require('ol.interaction');
goog.require('ol.interaction.Pointer');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.source.TileJSON');
goog.require('ol.source.Vector');
goog.require('ol.style.Fill');
goog.require('ol.style.Icon');
goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
import {inherits} from '../src/ol/util.js';
import Feature from '../src/ol/Feature.js';
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import {LineString, Point, Polygon} from '../src/ol/geom.js';
import {defaults as defaultInteractions, Pointer as PointerInteraction} from '../src/ol/interaction.js';
import {Tile as TileLayer, Vector as VectorLayer} from '../src/ol/layer.js';
import {TileJSON, Vector as VectorSource} from '../src/ol/source.js';
import {Fill, Icon, Stroke, Style} from '../src/ol/style.js';
/**
* Define a namespace for the application.
*/
var app = {};
const app = {};
/**
* @constructor
* @extends {ol.interaction.Pointer}
* @extends {module:ol/interaction/Pointer}
*/
app.Drag = function() {
ol.interaction.Pointer.call(this, {
PointerInteraction.call(this, {
handleDownEvent: app.Drag.prototype.handleDownEvent,
handleDragEvent: app.Drag.prototype.handleDragEvent,
handleMoveEvent: app.Drag.prototype.handleMoveEvent,
@@ -37,7 +29,7 @@ app.Drag = function() {
});
/**
* @type {ol.Pixel}
* @type {module:ol/pixel~Pixel}
* @private
*/
this.coordinate_ = null;
@@ -49,7 +41,7 @@ app.Drag = function() {
this.cursor_ = 'pointer';
/**
* @type {ol.Feature}
* @type {module:ol/Feature~Feature}
* @private
*/
this.feature_ = null;
@@ -61,20 +53,20 @@ app.Drag = function() {
this.previousCursor_ = undefined;
};
ol.inherits(app.Drag, ol.interaction.Pointer);
inherits(app.Drag, PointerInteraction);
/**
* @param {ol.MapBrowserEvent} evt Map browser event.
* @param {module:ol/MapBrowserEvent~MapBrowserEvent} evt Map browser event.
* @return {boolean} `true` to start the drag sequence.
*/
app.Drag.prototype.handleDownEvent = function(evt) {
var map = evt.map;
const map = evt.map;
var feature = map.forEachFeatureAtPixel(evt.pixel,
function(feature) {
return feature;
});
const feature = map.forEachFeatureAtPixel(evt.pixel,
function(feature) {
return feature;
});
if (feature) {
this.coordinate_ = evt.coordinate;
@@ -86,13 +78,13 @@ app.Drag.prototype.handleDownEvent = function(evt) {
/**
* @param {ol.MapBrowserEvent} evt Map browser event.
* @param {module:ol/MapBrowserEvent~MapBrowserEvent} evt Map browser event.
*/
app.Drag.prototype.handleDragEvent = function(evt) {
var deltaX = evt.coordinate[0] - this.coordinate_[0];
var deltaY = evt.coordinate[1] - this.coordinate_[1];
const deltaX = evt.coordinate[0] - this.coordinate_[0];
const deltaY = evt.coordinate[1] - this.coordinate_[1];
var geometry = this.feature_.getGeometry();
const geometry = this.feature_.getGeometry();
geometry.translate(deltaX, deltaY);
this.coordinate_[0] = evt.coordinate[0];
@@ -101,16 +93,16 @@ app.Drag.prototype.handleDragEvent = function(evt) {
/**
* @param {ol.MapBrowserEvent} evt Event.
* @param {module:ol/MapBrowserEvent~MapBrowserEvent} evt Event.
*/
app.Drag.prototype.handleMoveEvent = function(evt) {
if (this.cursor_) {
var map = evt.map;
var feature = map.forEachFeatureAtPixel(evt.pixel,
function(feature) {
return feature;
});
var element = evt.map.getTargetElement();
const map = evt.map;
const feature = map.forEachFeatureAtPixel(evt.pixel,
function(feature) {
return feature;
});
const element = evt.map.getTargetElement();
if (feature) {
if (element.style.cursor != this.cursor_) {
this.previousCursor_ = element.style.cursor;
@@ -134,48 +126,48 @@ app.Drag.prototype.handleUpEvent = function() {
};
var pointFeature = new ol.Feature(new ol.geom.Point([0, 0]));
const pointFeature = new Feature(new Point([0, 0]));
var lineFeature = new ol.Feature(
new ol.geom.LineString([[-1e7, 1e6], [-1e6, 3e6]]));
const lineFeature = new Feature(
new LineString([[-1e7, 1e6], [-1e6, 3e6]]));
var polygonFeature = new ol.Feature(
new ol.geom.Polygon([[[-3e6, -1e6], [-3e6, 1e6],
[-1e6, 1e6], [-1e6, -1e6], [-3e6, -1e6]]]));
const polygonFeature = new Feature(
new Polygon([[[-3e6, -1e6], [-3e6, 1e6],
[-1e6, 1e6], [-1e6, -1e6], [-3e6, -1e6]]]));
var map = new ol.Map({
interactions: ol.interaction.defaults().extend([new app.Drag()]),
const map = new Map({
interactions: defaultInteractions().extend([new app.Drag()]),
layers: [
new ol.layer.Tile({
source: new ol.source.TileJSON({
new TileLayer({
source: new TileJSON({
url: 'https://api.tiles.mapbox.com/v3/mapbox.geography-class.json?secure'
})
}),
new ol.layer.Vector({
source: new ol.source.Vector({
new VectorLayer({
source: new VectorSource({
features: [pointFeature, lineFeature, polygonFeature]
}),
style: new ol.style.Style({
image: new ol.style.Icon(/** @type {olx.style.IconOptions} */ ({
style: new Style({
image: new Icon(/** @type {module:ol/style/Icon~Options} */ ({
anchor: [0.5, 46],
anchorXUnits: 'fraction',
anchorYUnits: 'pixels',
opacity: 0.95,
src: 'data/icon.png'
})),
stroke: new ol.style.Stroke({
stroke: new Stroke({
width: 3,
color: [255, 0, 0, 1]
}),
fill: new ol.style.Fill({
fill: new Fill({
color: [0, 0, 255, 0.6]
})
})
})
],
target: 'map',
view: new ol.View({
view: new View({
center: [0, 0],
zoom: 2
})

View File

@@ -6,7 +6,7 @@ docs: >
<p>The example loads TopoJSON geometries and uses d3 (<code>d3.geo.path</code>) to render these geometries to a canvas element that is then used as the image of an OpenLayers image layer.</p>
tags: "d3"
resources:
- https://d3js.org/d3.v3.min.js
- https://d3js.org/topojson.v1.min.js
- https://unpkg.com/d3@4.12.0/build/d3.js
- https://unpkg.com/topojson@3.0.2/dist/topojson.js
---
<div id="map" class="map"></div>

89
examples/d3.js vendored
View File

@@ -1,91 +1,84 @@
// NOCOMPILE
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.extent');
goog.require('ol.layer.Image');
goog.require('ol.layer.Tile');
goog.require('ol.proj');
goog.require('ol.source.ImageCanvas');
goog.require('ol.source.Stamen');
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import {getWidth, getCenter} from '../src/ol/extent.js';
import {Image as ImageLayer, Tile as TileLayer} from '../src/ol/layer.js';
import {fromLonLat, toLonLat} from '../src/ol/proj.js';
import {ImageCanvas as ImageCanvasSource, Stamen} from '../src/ol/source.js';
var map = new ol.Map({
const map = new Map({
layers: [
new ol.layer.Tile({
source: new ol.source.Stamen({
new TileLayer({
source: new Stamen({
layer: 'watercolor'
})
})
],
target: 'map',
view: new ol.View({
center: ol.proj.fromLonLat([-97, 38]),
view: new View({
center: fromLonLat([-97, 38]),
zoom: 4
})
});
/**
* Load the topojson data and create an ol.layer.Image for that data.
* Load the topojson data and create an ol/layer/Image for that data.
*/
d3.json('data/topojson/us.json', function(error, us) {
var features = topojson.feature(us, us.objects.counties);
const features = topojson.feature(us, us.objects.counties);
/**
* This function uses d3 to render the topojson features to a canvas.
* @param {ol.Extent} extent Extent.
* @param {module:ol/extent~Extent} extent Extent.
* @param {number} resolution Resolution.
* @param {number} pixelRatio Pixel ratio.
* @param {ol.Size} size Size.
* @param {ol.proj.Projection} projection Projection.
* @param {module:ol/size~Size} size Size.
* @param {module:ol/proj/Projection~Projection} projection Projection.
* @return {HTMLCanvasElement} A canvas element.
*/
var canvasFunction = function(extent, resolution, pixelRatio,
size, projection) {
var canvasWidth = size[0];
var canvasHeight = size[1];
const canvasFunction = function(extent, resolution, pixelRatio, size, projection) {
const canvasWidth = size[0];
const canvasHeight = size[1];
var canvas = d3.select(document.createElement('canvas'));
const canvas = d3.select(document.createElement('canvas'));
canvas.attr('width', canvasWidth).attr('height', canvasHeight);
var context = canvas.node().getContext('2d');
const context = canvas.node().getContext('2d');
var d3Projection = d3.geo.mercator().scale(1).translate([0, 0]);
var d3Path = d3.geo.path().projection(d3Projection);
const d3Projection = d3.geoMercator().scale(1).translate([0, 0]);
let d3Path = d3.geoPath().projection(d3Projection);
var pixelBounds = d3Path.bounds(features);
var pixelBoundsWidth = pixelBounds[1][0] - pixelBounds[0][0];
var pixelBoundsHeight = pixelBounds[1][1] - pixelBounds[0][1];
const pixelBounds = d3Path.bounds(features);
const pixelBoundsWidth = pixelBounds[1][0] - pixelBounds[0][0];
const pixelBoundsHeight = pixelBounds[1][1] - pixelBounds[0][1];
var geoBounds = d3.geo.bounds(features);
var geoBoundsLeftBottom = ol.proj.transform(
geoBounds[0], 'EPSG:4326', projection);
var geoBoundsRightTop = ol.proj.transform(
geoBounds[1], 'EPSG:4326', projection);
var geoBoundsWidth = geoBoundsRightTop[0] - geoBoundsLeftBottom[0];
const geoBounds = d3.geoBounds(features);
const geoBoundsLeftBottom = fromLonLat(geoBounds[0], projection);
const geoBoundsRightTop = fromLonLat(geoBounds[1], projection);
let geoBoundsWidth = geoBoundsRightTop[0] - geoBoundsLeftBottom[0];
if (geoBoundsWidth < 0) {
geoBoundsWidth += ol.extent.getWidth(projection.getExtent());
geoBoundsWidth += getWidth(projection.getExtent());
}
var geoBoundsHeight = geoBoundsRightTop[1] - geoBoundsLeftBottom[1];
const geoBoundsHeight = geoBoundsRightTop[1] - geoBoundsLeftBottom[1];
var widthResolution = geoBoundsWidth / pixelBoundsWidth;
var heightResolution = geoBoundsHeight / pixelBoundsHeight;
var r = Math.max(widthResolution, heightResolution);
var scale = r / (resolution / pixelRatio);
const widthResolution = geoBoundsWidth / pixelBoundsWidth;
const heightResolution = geoBoundsHeight / pixelBoundsHeight;
const r = Math.max(widthResolution, heightResolution);
const scale = r / (resolution / pixelRatio);
var center = ol.proj.transform(ol.extent.getCenter(extent),
projection, 'EPSG:4326');
const center = toLonLat(getCenter(extent), projection);
d3Projection.scale(scale).center(center)
.translate([canvasWidth / 2, canvasHeight / 2]);
.translate([canvasWidth / 2, canvasHeight / 2]);
d3Path = d3Path.projection(d3Projection).context(context);
d3Path(features);
context.stroke();
return canvas[0][0];
return canvas.node();
};
var layer = new ol.layer.Image({
source: new ol.source.ImageCanvas({
const layer = new ImageLayer({
source: new ImageCanvasSource({
canvasFunction: canvasFunction,
projection: 'EPSG:3857'
})

View File

@@ -1,27 +1,22 @@
// NOCOMPILE
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.control');
goog.require('ol.layer.Tile');
goog.require('ol.math');
goog.require('ol.proj');
goog.require('ol.source.OSM');
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import {defaults as defaultControls} from '../src/ol/control.js';
import TileLayer from '../src/ol/layer/Tile.js';
import {toRadians} from '../src/ol/math.js';
import OSM from '../src/ol/source/OSM.js';
var projection = ol.proj.get('EPSG:3857');
var view = new ol.View({
const view = new View({
center: [0, 0],
projection: projection,
extent: projection.getExtent(),
zoom: 2
});
var map = new ol.Map({
const map = new Map({
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
new TileLayer({
source: new OSM()
})
],
target: 'map',
controls: ol.control.defaults({
controls: defaultControls({
attributionOptions: {
collapsible: false
}
@@ -34,15 +29,15 @@ function el(id) {
}
var gn = new GyroNorm();
const gn = new GyroNorm();
gn.init().then(function() {
gn.start(function(event) {
var center = view.getCenter();
var resolution = view.getResolution();
var alpha = ol.math.toRadians(event.do.beta);
var beta = ol.math.toRadians(event.do.beta);
var gamma = ol.math.toRadians(event.do.gamma);
const center = view.getCenter();
const resolution = view.getResolution();
const alpha = toRadians(event.do.beta);
const beta = toRadians(event.do.beta);
const gamma = toRadians(event.do.gamma);
el('alpha').innerText = alpha + ' [rad]';
el('beta').innerText = beta + ' [rad]';

View File

@@ -3,10 +3,11 @@ layout: example.html
title: Drag-and-Drop Image Vector
shortdesc: Example of using the drag-and-drop interaction with image vector rendering.
docs: >
Example of using the drag-and-drop interaction with an `ol.layer.Vector` with `renderMode: 'image'``. Drag and drop GPX, GeoJSON, IGC, KML, or TopoJSON files on to the map. Each file is rendered to an image on the client.
Example of using the drag-and-drop interaction with an `ol/layer/Vector` with `renderMode: 'image'``. Drag and drop GPX, GeoJSON, IGC, KML, or TopoJSON files on to the map. Each file is rendered to an image on the client.
tags: "drag-and-drop-image-vector, gpx, geojson, igc, kml, topojson, vector, image"
cloak:
As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5: Your Bing Maps Key from http://www.bingmapsportal.com/ here
- key: As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5
value: Your Bing Maps Key from http://www.bingmapsportal.com/ here
---
<div id="map" class="map"></div>
<div id="info">&nbsp;</div>

View File

@@ -1,81 +1,71 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.format.GPX');
goog.require('ol.format.GeoJSON');
goog.require('ol.format.IGC');
goog.require('ol.format.KML');
goog.require('ol.format.TopoJSON');
goog.require('ol.interaction');
goog.require('ol.interaction.DragAndDrop');
goog.require('ol.layer.Vector');
goog.require('ol.layer.Tile');
goog.require('ol.source.BingMaps');
goog.require('ol.source.Vector');
goog.require('ol.style.Circle');
goog.require('ol.style.Fill');
goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import {GPX, GeoJSON, IGC, KML, TopoJSON} from '../src/ol/format.js';
import {defaults as defaultInteractions, DragAndDrop} from '../src/ol/interaction.js';
import {Vector as VectorLayer, Tile as TileLayer} from '../src/ol/layer.js';
import {BingMaps, Vector as VectorSource} from '../src/ol/source.js';
import {Circle as CircleStyle, Fill, Stroke, Style} from '../src/ol/style.js';
var defaultStyle = {
'Point': new ol.style.Style({
image: new ol.style.Circle({
fill: new ol.style.Fill({
const defaultStyle = {
'Point': new Style({
image: new CircleStyle({
fill: new Fill({
color: 'rgba(255,255,0,0.5)'
}),
radius: 5,
stroke: new ol.style.Stroke({
stroke: new Stroke({
color: '#ff0',
width: 1
})
})
}),
'LineString': new ol.style.Style({
stroke: new ol.style.Stroke({
'LineString': new Style({
stroke: new Stroke({
color: '#f00',
width: 3
})
}),
'Polygon': new ol.style.Style({
fill: new ol.style.Fill({
'Polygon': new Style({
fill: new Fill({
color: 'rgba(0,255,255,0.5)'
}),
stroke: new ol.style.Stroke({
stroke: new Stroke({
color: '#0ff',
width: 1
})
}),
'MultiPoint': new ol.style.Style({
image: new ol.style.Circle({
fill: new ol.style.Fill({
'MultiPoint': new Style({
image: new CircleStyle({
fill: new Fill({
color: 'rgba(255,0,255,0.5)'
}),
radius: 5,
stroke: new ol.style.Stroke({
stroke: new Stroke({
color: '#f0f',
width: 1
})
})
}),
'MultiLineString': new ol.style.Style({
stroke: new ol.style.Stroke({
'MultiLineString': new Style({
stroke: new Stroke({
color: '#0f0',
width: 3
})
}),
'MultiPolygon': new ol.style.Style({
fill: new ol.style.Fill({
'MultiPolygon': new Style({
fill: new Fill({
color: 'rgba(0,0,255,0.5)'
}),
stroke: new ol.style.Stroke({
stroke: new Stroke({
color: '#00f',
width: 1
})
})
};
var styleFunction = function(feature, resolution) {
var featureStyleFunction = feature.getStyleFunction();
const styleFunction = function(feature, resolution) {
const featureStyleFunction = feature.getStyleFunction();
if (featureStyleFunction) {
return featureStyleFunction.call(feature, resolution);
} else {
@@ -83,38 +73,38 @@ var styleFunction = function(feature, resolution) {
}
};
var dragAndDropInteraction = new ol.interaction.DragAndDrop({
const dragAndDropInteraction = new DragAndDrop({
formatConstructors: [
ol.format.GPX,
ol.format.GeoJSON,
ol.format.IGC,
ol.format.KML,
ol.format.TopoJSON
GPX,
GeoJSON,
IGC,
KML,
TopoJSON
]
});
var map = new ol.Map({
interactions: ol.interaction.defaults().extend([dragAndDropInteraction]),
const map = new Map({
interactions: defaultInteractions().extend([dragAndDropInteraction]),
layers: [
new ol.layer.Tile({
source: new ol.source.BingMaps({
new TileLayer({
source: new BingMaps({
imagerySet: 'Aerial',
key: 'As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5'
})
})
],
target: 'map',
view: new ol.View({
view: new View({
center: [0, 0],
zoom: 2
})
});
dragAndDropInteraction.on('addfeatures', function(event) {
var vectorSource = new ol.source.Vector({
const vectorSource = new VectorSource({
features: event.features
});
map.addLayer(new ol.layer.Vector({
map.addLayer(new VectorLayer({
renderMode: 'image',
source: vectorSource,
style: styleFunction
@@ -122,14 +112,14 @@ dragAndDropInteraction.on('addfeatures', function(event) {
map.getView().fit(vectorSource.getExtent());
});
var displayFeatureInfo = function(pixel) {
var features = [];
const displayFeatureInfo = function(pixel) {
const features = [];
map.forEachFeatureAtPixel(pixel, function(feature) {
features.push(feature);
});
if (features.length > 0) {
var info = [];
var i, ii;
const info = [];
let i, ii;
for (i = 0, ii = features.length; i < ii; ++i) {
info.push(features[i].get('name'));
}
@@ -143,7 +133,7 @@ map.on('pointermove', function(evt) {
if (evt.dragging) {
return;
}
var pixel = map.getEventPixel(evt.originalEvent);
const pixel = map.getEventPixel(evt.originalEvent);
displayFeatureInfo(pixel);
});

View File

@@ -6,7 +6,8 @@ docs: >
Example of using the drag-and-drop interaction. Drag and drop GPX, GeoJSON, IGC, KML, or TopoJSON files on to the map. There is no projection transform support, so this will only work with data in EPSG:4326 and EPSG:3857.
tags: "drag-and-drop, gpx, geojson, igc, kml, topojson"
cloak:
As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5: Your Bing Maps Key from http://www.bingmapsportal.com/ here
- key: As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5
value: Your Bing Maps Key from http://www.bingmapsportal.com/ here
---
<div id="map" class="map"></div>
<div id="info">&nbsp;</div>

View File

@@ -1,81 +1,71 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.format.GPX');
goog.require('ol.format.GeoJSON');
goog.require('ol.format.IGC');
goog.require('ol.format.KML');
goog.require('ol.format.TopoJSON');
goog.require('ol.interaction');
goog.require('ol.interaction.DragAndDrop');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.source.BingMaps');
goog.require('ol.source.Vector');
goog.require('ol.style.Circle');
goog.require('ol.style.Fill');
goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import {GPX, GeoJSON, IGC, KML, TopoJSON} from '../src/ol/format.js';
import {defaults as defaultInteractions, DragAndDrop} from '../src/ol/interaction.js';
import {Tile as TileLayer, Vector as VectorLayer} from '../src/ol/layer.js';
import {BingMaps, Vector as VectorSource} from '../src/ol/source.js';
import {Circle as CircleStyle, Fill, Stroke, Style} from '../src/ol/style.js';
var defaultStyle = {
'Point': new ol.style.Style({
image: new ol.style.Circle({
fill: new ol.style.Fill({
const defaultStyle = {
'Point': new Style({
image: new CircleStyle({
fill: new Fill({
color: 'rgba(255,255,0,0.5)'
}),
radius: 5,
stroke: new ol.style.Stroke({
stroke: new Stroke({
color: '#ff0',
width: 1
})
})
}),
'LineString': new ol.style.Style({
stroke: new ol.style.Stroke({
'LineString': new Style({
stroke: new Stroke({
color: '#f00',
width: 3
})
}),
'Polygon': new ol.style.Style({
fill: new ol.style.Fill({
'Polygon': new Style({
fill: new Fill({
color: 'rgba(0,255,255,0.5)'
}),
stroke: new ol.style.Stroke({
stroke: new Stroke({
color: '#0ff',
width: 1
})
}),
'MultiPoint': new ol.style.Style({
image: new ol.style.Circle({
fill: new ol.style.Fill({
'MultiPoint': new Style({
image: new CircleStyle({
fill: new Fill({
color: 'rgba(255,0,255,0.5)'
}),
radius: 5,
stroke: new ol.style.Stroke({
stroke: new Stroke({
color: '#f0f',
width: 1
})
})
}),
'MultiLineString': new ol.style.Style({
stroke: new ol.style.Stroke({
'MultiLineString': new Style({
stroke: new Stroke({
color: '#0f0',
width: 3
})
}),
'MultiPolygon': new ol.style.Style({
fill: new ol.style.Fill({
'MultiPolygon': new Style({
fill: new Fill({
color: 'rgba(0,0,255,0.5)'
}),
stroke: new ol.style.Stroke({
stroke: new Stroke({
color: '#00f',
width: 1
})
})
};
var styleFunction = function(feature, resolution) {
var featureStyleFunction = feature.getStyleFunction();
const styleFunction = function(feature, resolution) {
const featureStyleFunction = feature.getStyleFunction();
if (featureStyleFunction) {
return featureStyleFunction.call(feature, resolution);
} else {
@@ -83,52 +73,52 @@ var styleFunction = function(feature, resolution) {
}
};
var dragAndDropInteraction = new ol.interaction.DragAndDrop({
const dragAndDropInteraction = new DragAndDrop({
formatConstructors: [
ol.format.GPX,
ol.format.GeoJSON,
ol.format.IGC,
ol.format.KML,
ol.format.TopoJSON
GPX,
GeoJSON,
IGC,
KML,
TopoJSON
]
});
var map = new ol.Map({
interactions: ol.interaction.defaults().extend([dragAndDropInteraction]),
const map = new Map({
interactions: defaultInteractions().extend([dragAndDropInteraction]),
layers: [
new ol.layer.Tile({
source: new ol.source.BingMaps({
new TileLayer({
source: new BingMaps({
imagerySet: 'Aerial',
key: 'As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5'
})
})
],
target: 'map',
view: new ol.View({
view: new View({
center: [0, 0],
zoom: 2
})
});
dragAndDropInteraction.on('addfeatures', function(event) {
var vectorSource = new ol.source.Vector({
const vectorSource = new VectorSource({
features: event.features
});
map.addLayer(new ol.layer.Vector({
map.addLayer(new VectorLayer({
source: vectorSource,
style: styleFunction
}));
map.getView().fit(vectorSource.getExtent());
});
var displayFeatureInfo = function(pixel) {
var features = [];
const displayFeatureInfo = function(pixel) {
const features = [];
map.forEachFeatureAtPixel(pixel, function(feature) {
features.push(feature);
});
if (features.length > 0) {
var info = [];
var i, ii;
const info = [];
let i, ii;
for (i = 0, ii = features.length; i < ii; ++i) {
info.push(features[i].get('name'));
}
@@ -142,7 +132,7 @@ map.on('pointermove', function(evt) {
if (evt.dragging) {
return;
}
var pixel = map.getEventPixel(evt.originalEvent);
const pixel = map.getEventPixel(evt.originalEvent);
displayFeatureInfo(pixel);
});

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