Commit Graph

48 Commits

Author SHA1 Message Date
Andreas Hocevar
3595c2cce7 Document change events properly
With this change, the generic 'change' event is properly documented, as
all other events. It is no longer necessary to annotate `@fires change` for
every ol.Observable subclass.
2015-07-18 15:27:16 +02:00
Marc Jansen
6ed677a3f0 Link to correct layer base class 2015-06-11 17:50:40 +02:00
Frederic Junod
486a329cb4 Fix memory leak when removing layers from ol.layer.Group
Fixes #3479
2015-04-20 09:20:19 +02:00
Marc Jansen
b457b26743 Add basic docs for layer.Group 2015-04-18 09:07:13 +02:00
Frederic Junod
0fce3d5ec9 Remove goog.isDefAndNotNull test on ol.layer.Group#getLayers result
The return type of the function is {!ol.Collection.<ol.layer.Base>}
2015-04-08 12:16:39 +02:00
Tim Schaub
0189e11931 Remove unconditionally exported methods 2015-04-07 08:35:47 -06:00
Bart van den Eijnden
47ce127a10 Add assert messages for all assertions up until ol.renderer.vector. 2015-03-30 22:55:23 +02:00
Tim Schaub
06dc0902c6 Avoid use of goog.array.clone with arrays 2015-01-15 12:43:12 -07:00
Bart van den Eijnden
3db26f1d2b Use the layergroup's extent if no extent provided 2014-11-20 08:35:40 +01:00
Frederic Junod
aaeb2b6938 Remove unnecessary parentheses 2014-09-29 09:05:22 +02:00
Andreas Hocevar
b431487435 Merge pull request #2684 from ahocevar/notify-change
Rename ol.Observable#dispatchChangeEvent() to #changed()
2014-09-11 15:51:22 -07:00
Éric Lemoine
96f7d6323a Change signature of ol.layer.Group#getLayers
This commit changes the signature of ol.layer.Group#getLayers from {ol.Collection.<ol.layer.Base>|undefined} to {!ol.Collection.<ol.layer.Base>}. In this way the caller is guaranteed that getLayers returns a dereferencable object.
2014-09-08 15:45:58 +02:00
Andreas Hocevar
ebe3b48e0a Rename ol.Observable#dispatchChangeEvent() to #changed()
Since dispatchChangeEvent does not only dispatch a change event, but
also increases the revision counter, the method name should reflect
this.
2014-09-04 19:30:48 -06:00
Éric Lemoine
e50ba2172f Add @api stable annotations to ol.layer.Group 2014-08-22 11:24:06 +02:00
Petr Sloup
d7027a6a64 Export getLayers and setLayers methods of ol.layer.Group
This is nicer than having to use .get("layers") and .set("layers", x).
2014-08-18 13:48:42 +02:00
Frederic Junod
0277026624 Stricter typing for ol.Collection 2014-07-30 09:38:16 +02:00
Tim Schaub
1daf36956c Layer extent option
If provided, the layer extent will be used to limit data requests and rendering.  If undefined, to limit will be imposed.
2014-07-24 10:26:07 -06:00
Peter Robins
4dccb32545 Fix issue with layergroup event docs 2014-07-17 09:24:39 +00:00
Tim Schaub
d99a61545c Use @observable annotation instead of @todo observable 2014-07-05 16:16:44 -04:00
Tim Schaub
4cf5ab4620 Use @api annotation instead of @todo api 2014-07-05 15:41:14 -04:00
Peter Robins
41d9f0360a Add @classdesc to classes 2014-06-09 12:10:19 -04:00
Andreas Hocevar
b2805c58de Better document which events are fired
The map does not fire ol.render.Event#render. Change events are
now only listed for classes that fire them, and a description
about when they are fired is added.
2014-05-15 20:28:09 +02:00
Andreas Hocevar
8ee9f7cb6a Simplify the way we annotate observable properties
We no longer add observable annotations to the constructor.
Instead, we just mark getters (and for read/write properties
also setters) with an observable annotation.
2014-05-03 16:04:25 -04:00
Andreas Hocevar
fbdbbfb7a7 Get rid of stability annotations and document stability with api
This change adds a stability value to the api annotation, with
'experimental' as default value.

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

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

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

This commit also modifies all source files to implement these
usage suggestions.
2014-04-29 09:53:06 -06:00
Tim Schaub
fb497f5288 Annotations for exports 2014-04-29 09:53:05 -06:00
Tim Schaub
7826036307 Make getLayerStatesArray return an array of layer states 2014-04-04 07:39:54 -06:00
Tom Payne
3d68a3550e Convert ol.CollectionEvent#getElement method into element property 2014-01-27 15:52:03 +01:00
Éric Lemoine
dacb747eb5 Source state of a layer doesn't depend on group 2014-01-07 13:03:31 +01:00
Tom Payne
ee2098743d Correct types in ol.layer.Group 2013-12-13 19:16:31 +01:00
Tim Schaub
0ed59f7be3 Merge pull request #1348 from tschaub/beforechange
Add `ol.ObjectEvent` for changes to `ol.Object` properties.  Previously, `ol.Object` dispatched instances of `goog.events.Event` with type `change`.  Now `ol.ObjectEvent` instances will be dispatched on property changes.  The events include a `getKey` method to get the name of the property being changed.  The `beforepropertychange` type event is fired before a property value changes, and the `propertychange` type event fires after the property value changes.
2013-12-13 07:28:36 -08:00
Éric Lemoine
315c42f0a7 Use olx namespace for options types in source code
sed command used: find src/ol -name '*.js' -exec sed -ri 's/\{ol(\.(\w|\.)+Options\=?\})/{olx\1/' \{\} \;
2013-12-12 15:02:03 +01:00
Tim Schaub
625007f364 Make enum property name like its value
Where an enum value is used as an event type, it should be alllowercase (to follow DOM events).  Property names should be ALLUPPERCASE in this case (just as camelCase and PascalCase are converted to CONSTANT_CASE).
2013-12-11 16:54:01 -07:00
Tim Schaub
c8985b9906 Using unique event type values for distinct events
Any event target can be used to dispatch generic goog.events.Event instances with an arbitrary type.  In cases where we dispatch custom events, we should not use type values that collide with those used for generic events (at least internally).  This allows listeners a better chance of knowing what kind of argument they will receive.

As subsequent change will clean up the enumeration and add a bit more consistency.
2013-12-11 16:53:52 -07:00
Tim Schaub
17e91feb52 Listen for property changes in layer group
This avoids a future bug when the ol.ObjectEventType.CHANGE value becomes something different than the goog.events.EventType.CHANGE value.
2013-12-11 12:23:05 -07:00
Tim Schaub
5a5d1dec40 Remove unused handleLayerVisibleChange 2013-12-11 01:38:44 -07:00
Tim Schaub
858fe14163 No need for handleLayerChange in base layer 2013-12-11 01:23:51 -07:00
Paul Spencer
4e657e464c Add @todo observable documentation for observable properties
This PR adds documentation for observable properties, which will then be pulled into the docs correctly once #1180 is merged.  This is a first pass based on searching for definition of observable properties being defined as enums after lines ending with `Property = {`.  If there are observable properties implemented that don't follow this pattern then they are not included.

I've added simple descriptions based on what I know or could easily figure out, there may be some properties (like preload) that are not correctly described.

I've also added `readonly` annotations where I knew that a property was readonly.  I may have missed some readonly properties.

ol.layer.Base has a bunch of properties but I don't think it is exported so the documentation of these properties will not show up, so I added the documentation to ol.layer.Layer instead even though this isn't really where it should be documented.
2013-10-29 10:24:54 -04:00
Paul Spencer
bada596b45 Add default stability level to docs of exported things. 2013-10-24 18:20:24 -04:00
Tom Payne
167b309242 Replace source ready flag with loading/ready/error enum 2013-09-30 13:30:54 +02:00
Bruno Binet
cf4799e87c Add support for layer min/maxResolution 2013-09-19 16:59:38 +02:00
Tom Payne
fc2975f346 Rename ol.layer.LayerGroup to ol.layer.Group 2013-09-09 14:23:16 +02:00
Tom Payne
e428b66ab4 Rename ol.layer.LayerBase to ol.layer.Base 2013-09-09 14:18:24 +02:00
Éric Lemoine
9f2c351057 Use ol.CollectionEvent#getElement in LayerGroup 2013-08-27 22:07:45 +02:00
Bruno Binet
88da6da3a7 Trigger CHANGE event only when required
For example only when layer is both ready and visible.
2013-08-13 16:41:43 +02:00
Bruno Binet
46ea218d0f Make layer renderers more stupid
Layer renderers should not be responsible for listening to layer
properties change and triggering a render.
Layer change events are now forwarded to the map which will trigger a render.
2013-08-13 16:24:44 +02:00
Bruno Binet
e4c36378ac ol.Map now have a LAYERGROUP property
The LAYERS property is gone.
2013-08-13 12:27:38 +02:00
Bruno Binet
097ce52060 Add layergroup support 2013-08-13 12:27:37 +02:00