From 4b24eb6eb25c3bcee7ba5df3d5846f11f449bd1e Mon Sep 17 00:00:00 2001 From: Petr Sloup Date: Wed, 13 Aug 2014 17:11:29 +0200 Subject: [PATCH 1/3] Added 'state' constructor option to Tile and TileImage sources --- externs/olx.js | 1 + src/ol/source/tileimagesource.js | 1 + src/ol/source/tilesource.js | 4 +++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/externs/olx.js b/externs/olx.js index af4868e6e9..8578e054a1 100644 --- a/externs/olx.js +++ b/externs/olx.js @@ -2963,6 +2963,7 @@ olx.source.GPXOptions.prototype.urls; * logo: (string|olx.LogoOptions|undefined), * opaque: (boolean|undefined), * projection: ol.proj.ProjectionLike, + * state: (ol.source.State|string|undefined), * tileClass: (function(new: ol.ImageTile, ol.TileCoord, * ol.TileState, string, ?string, * ol.TileLoadFunctionType)|undefined), diff --git a/src/ol/source/tileimagesource.js b/src/ol/source/tileimagesource.js index 5c5b070b44..6ff5a755bb 100644 --- a/src/ol/source/tileimagesource.js +++ b/src/ol/source/tileimagesource.js @@ -29,6 +29,7 @@ ol.source.TileImage = function(options) { logo: options.logo, opaque: options.opaque, projection: options.projection, + state: options.state, tileGrid: options.tileGrid, tilePixelRatio: options.tilePixelRatio }); diff --git a/src/ol/source/tilesource.js b/src/ol/source/tilesource.js index 51b021f3a1..693a33cc37 100644 --- a/src/ol/source/tilesource.js +++ b/src/ol/source/tilesource.js @@ -17,6 +17,7 @@ goog.require('ol.tilegrid.TileGrid'); * opaque: (boolean|undefined), * tilePixelRatio: (number|undefined), * projection: ol.proj.ProjectionLike, + * state: (ol.source.State|string|undefined), * tileGrid: (ol.tilegrid.TileGrid|undefined)}} */ ol.source.TileOptions; @@ -39,7 +40,8 @@ ol.source.Tile = function(options) { attributions: options.attributions, extent: options.extent, logo: options.logo, - projection: options.projection + projection: options.projection, + state: options.state }); /** From 5d31d2044a228ae788e587ac2b100c85d8c292c0 Mon Sep 17 00:00:00 2001 From: Petr Sloup Date: Thu, 14 Aug 2014 09:32:27 +0200 Subject: [PATCH 2/3] Added "state" property of olx.source.TileImageOptions to the olx externs --- externs/olx.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/externs/olx.js b/externs/olx.js index 8578e054a1..8d94e6f8f6 100644 --- a/externs/olx.js +++ b/externs/olx.js @@ -3011,6 +3011,13 @@ olx.source.TileImageOptions.prototype.opaque; olx.source.TileImageOptions.prototype.projection; +/** + * Source state. + * @type {ol.source.State|string|undefined} + */ +olx.source.TileImageOptions.prototype.state; + + /** * tile class * @type {function(new: ol.ImageTile, ol.TileCoord, From a16a678ca7bff119aa4b5f59a41b569722f51f6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Lemoine?= Date: Thu, 14 Aug 2014 10:56:48 +0200 Subject: [PATCH 3/3] Be stricter with types --- src/ol/source/imagecanvassource.js | 3 ++- src/ol/source/imagesource.js | 2 +- src/ol/source/source.js | 4 ++-- src/ol/source/tileimagesource.js | 3 ++- src/ol/source/tilesource.js | 2 +- src/ol/source/vectorsource.js | 3 ++- 6 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/ol/source/imagecanvassource.js b/src/ol/source/imagecanvassource.js index d76e7c7adc..16e390ea17 100644 --- a/src/ol/source/imagecanvassource.js +++ b/src/ol/source/imagecanvassource.js @@ -23,7 +23,8 @@ ol.source.ImageCanvas = function(options) { logo: options.logo, projection: options.projection, resolutions: options.resolutions, - state: options.state + state: goog.isDef(options.state) ? + /** @type {ol.source.State} */ (options.state) : undefined }); /** diff --git a/src/ol/source/imagesource.js b/src/ol/source/imagesource.js index ed438518d9..573217f95e 100644 --- a/src/ol/source/imagesource.js +++ b/src/ol/source/imagesource.js @@ -14,7 +14,7 @@ goog.require('ol.source.Source'); * logo: (string|olx.LogoOptions|undefined), * projection: ol.proj.ProjectionLike, * resolutions: (Array.|undefined), - * state: (ol.source.State|string|undefined)}} + * state: (ol.source.State|undefined)}} */ ol.source.ImageOptions; diff --git a/src/ol/source/source.js b/src/ol/source/source.js index b02f016cb0..591b45730f 100644 --- a/src/ol/source/source.js +++ b/src/ol/source/source.js @@ -24,7 +24,7 @@ ol.source.State = { * @typedef {{attributions: (Array.|undefined), * logo: (string|olx.LogoOptions|undefined), * projection: ol.proj.ProjectionLike, - * state: (ol.source.State|string|undefined)}} + * state: (ol.source.State|undefined)}} */ ol.source.SourceOptions; @@ -69,7 +69,7 @@ ol.source.Source = function(options) { * @type {ol.source.State} */ this.state_ = goog.isDef(options.state) ? - /** @type {ol.source.State} */ (options.state) : ol.source.State.READY; + options.state : ol.source.State.READY; }; goog.inherits(ol.source.Source, ol.Observable); diff --git a/src/ol/source/tileimagesource.js b/src/ol/source/tileimagesource.js index 6ff5a755bb..ffacae74f1 100644 --- a/src/ol/source/tileimagesource.js +++ b/src/ol/source/tileimagesource.js @@ -29,7 +29,8 @@ ol.source.TileImage = function(options) { logo: options.logo, opaque: options.opaque, projection: options.projection, - state: options.state, + state: goog.isDef(options.state) ? + /** @type {ol.source.State} */ (options.state) : undefined, tileGrid: options.tileGrid, tilePixelRatio: options.tilePixelRatio }); diff --git a/src/ol/source/tilesource.js b/src/ol/source/tilesource.js index 693a33cc37..a29f5358ea 100644 --- a/src/ol/source/tilesource.js +++ b/src/ol/source/tilesource.js @@ -17,7 +17,7 @@ goog.require('ol.tilegrid.TileGrid'); * opaque: (boolean|undefined), * tilePixelRatio: (number|undefined), * projection: ol.proj.ProjectionLike, - * state: (ol.source.State|string|undefined), + * state: (ol.source.State|undefined), * tileGrid: (ol.tilegrid.TileGrid|undefined)}} */ ol.source.TileOptions; diff --git a/src/ol/source/vectorsource.js b/src/ol/source/vectorsource.js index 7353292b24..dc8dea8414 100644 --- a/src/ol/source/vectorsource.js +++ b/src/ol/source/vectorsource.js @@ -56,7 +56,8 @@ ol.source.Vector = function(opt_options) { attributions: options.attributions, logo: options.logo, projection: options.projection, - state: options.state + state: goog.isDef(options.state) ? + /** @type {ol.source.State} */ (options.state) : undefined }); /**