From 5c6722b6cb4d6c947468877822df06c4f41ac77b Mon Sep 17 00:00:00 2001
From: Glenn Vorhes <gavorhes@wisc.edu>
Date: Wed, 7 Dec 2016 13:04:10 -0600
Subject: [PATCH] fix fit to map

---
 dist/olHelpers/extentUtil.d.ts   | 11 ++++++-----
 dist/olHelpers/extentUtil.js     | 13 +++----------
 dist/olHelpers/extentUtil.js.map |  2 +-
 src/olHelpers/extentUtil.ts      | 20 ++++++--------------
 4 files changed, 16 insertions(+), 30 deletions(-)

diff --git a/dist/olHelpers/extentUtil.d.ts b/dist/olHelpers/extentUtil.d.ts
index 95a6c97..c4ca136 100644
--- a/dist/olHelpers/extentUtil.d.ts
+++ b/dist/olHelpers/extentUtil.d.ts
@@ -1,14 +1,15 @@
 import ol from 'custom-ol';
+import { LayerBaseVector } from "../layers/LayerBaseVector";
 /**
  *
  * @param {Array<LayerBaseVector>|Array<ol.layer.Vector>|LayerBaseVector|ol.layer.Vector|*} layers - array of layers or single
  * @returns {ol.Extent|Array<number>|*} - collective extent
  */
-export declare function calculateExtent(layers: any): ol.Extent | Array<number> | ol.Extent | number[];
+export declare function calculateExtent(layers: ol.layer.Vector[] | LayerBaseVector[]): ol.Extent | Array<number> | ol.Extent | number[];
 /**
  * given one or an array of layers, fit to the map
- * @param {Array<LayerBaseVector>|Array<ol.layer.Vector>|LayerBaseVector|ol.layer.Vector} layers - array of layers or single
- * @param {ol.Map} mp - the map to fit
- * @param {number|undefined} [zoomOut=undefined] - levels to zoom out after fit
+ * @param layers - array of layers or single
+ * @param  mp - the map to fit
+ * @param [zoomOut=undefined] - levels to zoom out after fit
  */
-export declare function fitToMap(layers: any, mp: ol.Map, zoomOut?: number): void;
+export declare function fitToMap(layers: ol.layer.Vector[] | LayerBaseVector[], mp: ol.Map, zoomOut?: number): void;
diff --git a/dist/olHelpers/extentUtil.js b/dist/olHelpers/extentUtil.js
index 319d756..e2e126d 100644
--- a/dist/olHelpers/extentUtil.js
+++ b/dist/olHelpers/extentUtil.js
@@ -11,9 +11,6 @@ var nm = provide_1.default('util');
  */
 function calculateExtent(layers) {
     "use strict";
-    if (layers.constructor.name != 'Array') {
-        layers = [layers];
-    }
     var hasExtent = false;
     var minX = 10E100;
     var minY = 10E100;
@@ -46,16 +43,12 @@ exports.calculateExtent = calculateExtent;
 nm.calculateExtent = calculateExtent;
 /**
  * given one or an array of layers, fit to the map
- * @param {Array<LayerBaseVector>|Array<ol.layer.Vector>|LayerBaseVector|ol.layer.Vector} layers - array of layers or single
- * @param {ol.Map} mp - the map to fit
- * @param {number|undefined} [zoomOut=undefined] - levels to zoom out after fit
+ * @param layers - array of layers or single
+ * @param  mp - the map to fit
+ * @param [zoomOut=undefined] - levels to zoom out after fit
  */
 function fitToMap(layers, mp, zoomOut) {
     "use strict";
-    /**
-     *
-     * @type {ol.Extent|undefined}
-     */
     var ext = calculateExtent(layers);
     if (typeof ext == 'undefined') {
         return;
diff --git a/dist/olHelpers/extentUtil.js.map b/dist/olHelpers/extentUtil.js.map
index a78aa1e..e039138 100644
--- a/dist/olHelpers/extentUtil.js.map
+++ b/dist/olHelpers/extentUtil.js.map
@@ -1 +1 @@
-{"version":3,"file":"extentUtil.js","sourceRoot":"","sources":["../../src/olHelpers/extentUtil.ts"],"names":[],"mappings":";AAAA;;GAEG;AACH,wBAAoB,iBAAiB,CAAC,CAAA;AAItC,IAAM,EAAE,GAAG,iBAAO,CAAC,MAAM,CAAC,CAAC;AAE3B;;;;GAIG;AACH,yBAAgC,MAAM;IAClC,YAAY,CAAC;IAEb,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,OAAO,CAAC,CAAA,CAAC;QACpC,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,IAAI,IAAI,GAAG,MAAM,CAAC;IAClB,IAAI,IAAI,GAAG,MAAM,CAAC;IAClB,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC;IACnB,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC;IAEnB,GAAG,CAAC,CAAY,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,CAAC;QAAlB,IAAI,GAAG,eAAA;QAER;;;WAGG;QACH,IAAI,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC;QAGpC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/C,SAAS,GAAG,IAAI,CAAC;YACjB,IAAI,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC;YAC1C,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YACrC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YACrC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YACrC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACzC,CAAC;KACJ;IAED,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QACZ,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,MAAM,CAAC,SAAS,CAAC;IACrB,CAAC;AACL,CAAC;AAtCe,uBAAe,kBAsC9B,CAAA;AAED,EAAE,CAAC,eAAe,GAAG,eAAe,CAAC;AAGrC;;;;;GAKG;AACH,kBAAyB,MAAM,EAAE,EAAU,EAAE,OAAgB;IACzD,YAAY,CAAC;IAEb;;;OAGG;IACH,IAAI,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAElC,EAAE,CAAC,CAAC,OAAO,GAAG,IAAI,WAAW,CAAC,CAAA,CAAC;QAC3B,MAAM,CAAC;IACX,CAAC;IAED,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAgB,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAEjD,EAAE,CAAC,CAAC,OAAO,OAAO,IAAI,QAAQ,CAAC,CAAA,CAAC;QAC5B,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC;IAC3D,CAAC;AAEL,CAAC;AAnBe,gBAAQ,WAmBvB,CAAA;AAED,EAAE,CAAC,eAAe,GAAG,eAAe,CAAC"}
\ No newline at end of file
+{"version":3,"file":"extentUtil.js","sourceRoot":"","sources":["../../src/olHelpers/extentUtil.ts"],"names":[],"mappings":";AAAA;;GAEG;AACH,wBAAoB,iBAAiB,CAAC,CAAA;AAKtC,IAAM,EAAE,GAAG,iBAAO,CAAC,MAAM,CAAC,CAAC;AAE3B;;;;GAIG;AACH,yBAAgC,MAA2C;IACvE,YAAY,CAAC;IAEb,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,IAAI,IAAI,GAAG,MAAM,CAAC;IAClB,IAAI,IAAI,GAAG,MAAM,CAAC;IAClB,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC;IACnB,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC;IAEnB,GAAG,CAAC,CAAY,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,CAAC;QAAlB,IAAI,GAAG,eAAA;QAER;;;WAGG;QACH,IAAI,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC;QAGpC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/C,SAAS,GAAG,IAAI,CAAC;YACjB,IAAI,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC;YAC1C,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YACrC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YACrC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YACrC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACzC,CAAC;KACJ;IAED,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QACZ,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,MAAM,CAAC,SAAS,CAAC;IACrB,CAAC;AACL,CAAC;AAlCe,uBAAe,kBAkC9B,CAAA;AAED,EAAE,CAAC,eAAe,GAAG,eAAe,CAAC;AAGrC;;;;;GAKG;AACH,kBAAyB,MAA2C,EAAE,EAAU,EAAE,OAAgB;IAC9F,YAAY,CAAC;IAEb,IAAI,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAElC,EAAE,CAAC,CAAC,OAAO,GAAG,IAAI,WAAW,CAAC,CAAA,CAAC;QAC3B,MAAM,CAAC;IACX,CAAC;IAED,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAgB,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAEjD,EAAE,CAAC,CAAC,OAAO,OAAO,IAAI,QAAQ,CAAC,CAAA,CAAC;QAC5B,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC;IAC3D,CAAC;AACL,CAAC;AAde,gBAAQ,WAcvB,CAAA;AAED,EAAE,CAAC,eAAe,GAAG,eAAe,CAAC"}
\ No newline at end of file
diff --git a/src/olHelpers/extentUtil.ts b/src/olHelpers/extentUtil.ts
index 30e01a8..3e83fb1 100644
--- a/src/olHelpers/extentUtil.ts
+++ b/src/olHelpers/extentUtil.ts
@@ -3,6 +3,7 @@
  */
 import provide from '../util/provide';
 import ol from 'custom-ol';
+import {LayerBaseVector} from "../layers/LayerBaseVector";
 
 
 const nm = provide('util');
@@ -12,13 +13,9 @@ const nm = provide('util');
  * @param {Array<LayerBaseVector>|Array<ol.layer.Vector>|LayerBaseVector|ol.layer.Vector|*} layers - array of layers or single
  * @returns {ol.Extent|Array<number>|*} - collective extent
  */
-export function calculateExtent(layers): ol.Extent|Array<number>| ol.Extent| number[] {
+export function calculateExtent(layers: ol.layer.Vector[]|LayerBaseVector[]): ol.Extent|Array<number>| ol.Extent| number[] {
     "use strict";
 
-    if (layers.constructor.name != 'Array'){
-        layers = [layers];
-    }
-
     let hasExtent = false;
 
     let minX = 10E100;
@@ -57,17 +54,13 @@ nm.calculateExtent = calculateExtent;
 
 /**
  * given one or an array of layers, fit to the map
- * @param {Array<LayerBaseVector>|Array<ol.layer.Vector>|LayerBaseVector|ol.layer.Vector} layers - array of layers or single
- * @param {ol.Map} mp - the map to fit
- * @param {number|undefined} [zoomOut=undefined] - levels to zoom out after fit
+ * @param layers - array of layers or single
+ * @param  mp - the map to fit
+ * @param [zoomOut=undefined] - levels to zoom out after fit
  */
-export function fitToMap(layers, mp: ol.Map, zoomOut?: number){
+export function fitToMap(layers: ol.layer.Vector[]|LayerBaseVector[], mp: ol.Map, zoomOut?: number){
     "use strict";
 
-    /**
-     * 
-     * @type {ol.Extent|undefined}
-     */
     let ext = calculateExtent(layers);
     
     if (typeof ext == 'undefined'){
@@ -79,7 +72,6 @@ export function fitToMap(layers, mp: ol.Map, zoomOut?: number){
     if (typeof zoomOut == 'number'){
         mp.getView().setZoom(mp.getView().getZoom() - zoomOut);
     }
-    
 }
 
 nm.calculateExtent = calculateExtent;
-- 
GitLab