@nextgis/ngw-map 1.13.0 → 1.13.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +3 -3
- package/lib/index.d.ts +3 -15
- package/lib/ngw-map.cjs.js +1 -1
- package/lib/ngw-map.cjs.js.map +1 -1
- package/lib/ngw-map.cjs.prod.js.map +1 -1
- package/lib/ngw-map.esm-browser.js +82 -49
- package/lib/ngw-map.esm-browser.js.map +1 -1
- package/lib/ngw-map.esm-browser.prod.js +1 -1
- package/lib/ngw-map.esm-browser.prod.js.map +1 -1
- package/lib/ngw-map.esm-bundler.js +1 -1
- package/lib/ngw-map.esm-bundler.js.map +1 -1
- package/lib/ngw-map.esm-bundler.prod.js.map +1 -1
- package/lib/ngw-map.global.js +82 -49
- package/lib/ngw-map.global.js.map +1 -1
- package/lib/ngw-map.global.prod.js +1 -1
- package/lib/ngw-map.global.prod.js.map +1 -1
- package/package.json +8 -8
package/lib/ngw-map.global.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** Bundle of @nextgis/ngw-map; version: 1.13.
|
|
1
|
+
/** Bundle of @nextgis/ngw-map; version: 1.13.6; author: NextGIS */
|
|
2
2
|
var NgwMap = (function (exports) {
|
|
3
3
|
'use strict';
|
|
4
4
|
|
|
@@ -2828,6 +2828,7 @@ var NgwMap = (function (exports) {
|
|
|
2828
2828
|
};
|
|
2829
2829
|
/** Shortcut for {@link WebMapLayers.addLayer} to create TileLayer adapter */
|
|
2830
2830
|
WebMapLayers.prototype.addTileLayer = function (url, options) {
|
|
2831
|
+
if (options === void 0) { options = {}; }
|
|
2831
2832
|
return this.addLayer('TILE', __assign(__assign({}, options), { url: url }));
|
|
2832
2833
|
};
|
|
2833
2834
|
WebMapLayers.prototype.addImageLayer = function (urlOrOptions, options) {
|
|
@@ -4046,31 +4047,31 @@ var NgwMap = (function (exports) {
|
|
|
4046
4047
|
/**
|
|
4047
4048
|
* Thrown when...
|
|
4048
4049
|
*/
|
|
4049
|
-
var
|
|
4050
|
-
__extends(
|
|
4051
|
-
function
|
|
4050
|
+
var NetworkError = /** @class */ (function (_super) {
|
|
4051
|
+
__extends(NetworkError, _super);
|
|
4052
|
+
function NetworkError(url) {
|
|
4052
4053
|
var _this = _super.call(this) || this;
|
|
4053
|
-
_this.name = '
|
|
4054
|
-
Object.
|
|
4055
|
-
|
|
4054
|
+
_this.name = 'NetworkError';
|
|
4055
|
+
Object.setPrototypeOf(_this, NetworkError.prototype);
|
|
4056
|
+
_this.message = "Unable to request ".concat(url, ".\n Possibly invalid NGW URL entered or CORS not configured to get request from ").concat(location.origin); // /control-panel/cors
|
|
4056
4057
|
return _this;
|
|
4057
4058
|
}
|
|
4058
|
-
return
|
|
4059
|
+
return NetworkError;
|
|
4059
4060
|
}(Error));
|
|
4060
4061
|
|
|
4061
4062
|
/**
|
|
4062
4063
|
* Thrown when...
|
|
4063
4064
|
*/
|
|
4064
|
-
var
|
|
4065
|
-
__extends(
|
|
4066
|
-
function
|
|
4065
|
+
var NgwError = /** @class */ (function (_super) {
|
|
4066
|
+
__extends(NgwError, _super);
|
|
4067
|
+
function NgwError(er) {
|
|
4067
4068
|
var _this = _super.call(this) || this;
|
|
4068
|
-
_this.name = '
|
|
4069
|
-
Object.
|
|
4070
|
-
|
|
4069
|
+
_this.name = 'NgwError';
|
|
4070
|
+
Object.assign(_this, er);
|
|
4071
|
+
Object.setPrototypeOf(_this, NgwError.prototype);
|
|
4071
4072
|
return _this;
|
|
4072
4073
|
}
|
|
4073
|
-
return
|
|
4074
|
+
return NgwError;
|
|
4074
4075
|
}(Error));
|
|
4075
4076
|
|
|
4076
4077
|
function isObject(val) {
|
|
@@ -4184,11 +4185,6 @@ var NgwMap = (function (exports) {
|
|
|
4184
4185
|
xhr.abort();
|
|
4185
4186
|
});
|
|
4186
4187
|
}
|
|
4187
|
-
if (options.signal) {
|
|
4188
|
-
options.signal.addEventListener('abort', function () {
|
|
4189
|
-
xhr.abort();
|
|
4190
|
-
});
|
|
4191
|
-
}
|
|
4192
4188
|
xhr.send(data);
|
|
4193
4189
|
};
|
|
4194
4190
|
}
|
|
@@ -4639,6 +4635,7 @@ var NgwMap = (function (exports) {
|
|
|
4639
4635
|
this.id = ID$1++;
|
|
4640
4636
|
this.emitter = new events.exports.EventEmitter();
|
|
4641
4637
|
this.routeStr = '/api/component/pyramid/route';
|
|
4638
|
+
this.activeRequests = [];
|
|
4642
4639
|
var exist = findConnector(options);
|
|
4643
4640
|
if (exist) {
|
|
4644
4641
|
return exist;
|
|
@@ -4724,6 +4721,7 @@ var NgwMap = (function (exports) {
|
|
|
4724
4721
|
* Disconnecting a user. Aborting all current requests
|
|
4725
4722
|
*/
|
|
4726
4723
|
NgwConnector.prototype.logout = function () {
|
|
4724
|
+
this.abort();
|
|
4727
4725
|
removeConnector(this);
|
|
4728
4726
|
this.options.auth = undefined;
|
|
4729
4727
|
this.user = undefined;
|
|
@@ -4776,6 +4774,17 @@ var NgwMap = (function (exports) {
|
|
|
4776
4774
|
}
|
|
4777
4775
|
}
|
|
4778
4776
|
};
|
|
4777
|
+
/** Stop all api requests */
|
|
4778
|
+
NgwConnector.prototype.abort = function () {
|
|
4779
|
+
for (var _i = 0, _a = this.activeRequests; _i < _a.length; _i++) {
|
|
4780
|
+
var req = _a[_i];
|
|
4781
|
+
req.cancel();
|
|
4782
|
+
}
|
|
4783
|
+
this.activeRequests = [];
|
|
4784
|
+
};
|
|
4785
|
+
NgwConnector.prototype.getActiveApiRequests = function () {
|
|
4786
|
+
return __spreadArray([], this.activeRequests, true);
|
|
4787
|
+
};
|
|
4779
4788
|
/**
|
|
4780
4789
|
* Send request to NGW api router.
|
|
4781
4790
|
* @param name - NGW route name from {@link https://docs.nextgis.com/docs_ngweb_dev/doc/developer/resource.html#routes | routes}
|
|
@@ -4990,14 +4999,20 @@ var NgwMap = (function (exports) {
|
|
|
4990
4999
|
NgwConnector.prototype._loadData = function (url, options) {
|
|
4991
5000
|
var _this = this;
|
|
4992
5001
|
options.responseType = options.responseType || 'json';
|
|
4993
|
-
|
|
5002
|
+
var request = new CancelablePromise(function (resolve, reject, onCancel) {
|
|
4994
5003
|
if (_this.user) {
|
|
4995
5004
|
options = options || {};
|
|
4996
5005
|
// options.withCredentials = true;
|
|
4997
5006
|
options.headers = __assign(__assign({}, _this.getAuthorizationHeaders()), options.headers);
|
|
4998
5007
|
}
|
|
4999
5008
|
loadData(url, resolve, options, reject, onCancel);
|
|
5000
|
-
})
|
|
5009
|
+
})
|
|
5010
|
+
.then(function (resp) {
|
|
5011
|
+
_this._cleanActiveRequests(request);
|
|
5012
|
+
return resp;
|
|
5013
|
+
})
|
|
5014
|
+
.catch(function (httpError) {
|
|
5015
|
+
_this._cleanActiveRequests(request);
|
|
5001
5016
|
if (httpError instanceof CancelablePromise.CancelError) ;
|
|
5002
5017
|
else {
|
|
5003
5018
|
// @ts-ignore
|
|
@@ -5010,6 +5025,20 @@ var NgwMap = (function (exports) {
|
|
|
5010
5025
|
}
|
|
5011
5026
|
}
|
|
5012
5027
|
});
|
|
5028
|
+
if (options.signal &&
|
|
5029
|
+
typeof options.signal.addEventListener === 'function') {
|
|
5030
|
+
options.signal.addEventListener('abort', function () {
|
|
5031
|
+
request.cancel();
|
|
5032
|
+
});
|
|
5033
|
+
}
|
|
5034
|
+
this.activeRequests.push(request);
|
|
5035
|
+
return request;
|
|
5036
|
+
};
|
|
5037
|
+
NgwConnector.prototype._cleanActiveRequests = function (request) {
|
|
5038
|
+
var activeRequestIndex = this.activeRequests.indexOf(request);
|
|
5039
|
+
if (activeRequestIndex !== -1) {
|
|
5040
|
+
this.activeRequests.splice(activeRequestIndex, 1);
|
|
5041
|
+
}
|
|
5013
5042
|
};
|
|
5014
5043
|
NgwConnector.prototype._handleHttpError = function (er) {
|
|
5015
5044
|
if (er) {
|
|
@@ -5131,12 +5160,12 @@ var NgwMap = (function (exports) {
|
|
|
5131
5160
|
function fetchNgwExtent(options) {
|
|
5132
5161
|
return options.connector.getResource(options.resourceId).then(function (resource) {
|
|
5133
5162
|
if (resource) {
|
|
5134
|
-
return fetchNgwResourceExtent(resource, options.connector);
|
|
5163
|
+
return fetchNgwResourceExtent(resource, options.connector, options);
|
|
5135
5164
|
}
|
|
5136
5165
|
});
|
|
5137
5166
|
}
|
|
5138
5167
|
/** @deprecated use {@link fetchNgwExtent} instead */
|
|
5139
|
-
function fetchNgwResourceExtent(item, connector) {
|
|
5168
|
+
function fetchNgwResourceExtent(item, connector, options) {
|
|
5140
5169
|
if (item.webmap) {
|
|
5141
5170
|
return CancelablePromise.resolve(getNgwWebmapExtent(item.webmap));
|
|
5142
5171
|
}
|
|
@@ -5145,15 +5174,12 @@ var NgwMap = (function (exports) {
|
|
|
5145
5174
|
if (resource.cls && resource.cls.indexOf('style') !== -1) {
|
|
5146
5175
|
return connector.getResource(resource.parent.id).then(function (res) {
|
|
5147
5176
|
if (res) {
|
|
5148
|
-
return fetchNgwLayerExtent({
|
|
5149
|
-
resourceId: res.resource.id,
|
|
5150
|
-
connector: connector,
|
|
5151
|
-
});
|
|
5177
|
+
return fetchNgwLayerExtent(__assign(__assign({}, options), { resourceId: res.resource.id, connector: connector }));
|
|
5152
5178
|
}
|
|
5153
5179
|
});
|
|
5154
5180
|
}
|
|
5155
5181
|
else {
|
|
5156
|
-
return fetchNgwLayerExtent({ resourceId: resource.id, connector: connector });
|
|
5182
|
+
return fetchNgwLayerExtent(__assign(__assign({}, options), { resourceId: resource.id, connector: connector }));
|
|
5157
5183
|
}
|
|
5158
5184
|
}
|
|
5159
5185
|
}
|
|
@@ -5324,7 +5350,7 @@ var NgwMap = (function (exports) {
|
|
|
5324
5350
|
}
|
|
5325
5351
|
function fetchNgwLayerItemsRequest(options) {
|
|
5326
5352
|
var params = __assign({}, FEATURE_REQUEST_PARAMS);
|
|
5327
|
-
var limit = options.limit, offset = options.offset, orderBy = options.orderBy, paramList = options.paramList, connector = options.connector, intersects = options.intersects, resourceId = options.resourceId;
|
|
5353
|
+
var limit = options.limit, cache = options.cache, signal = options.signal, offset = options.offset, orderBy = options.orderBy, paramList = options.paramList, connector = options.connector, intersects = options.intersects, resourceId = options.resourceId;
|
|
5328
5354
|
if (limit) {
|
|
5329
5355
|
if (limit !== Number.POSITIVE_INFINITY) {
|
|
5330
5356
|
params.limit = limit;
|
|
@@ -5354,11 +5380,10 @@ var NgwMap = (function (exports) {
|
|
|
5354
5380
|
params.paramList = paramList;
|
|
5355
5381
|
}
|
|
5356
5382
|
var reqParams = __assign({ id: resourceId }, params);
|
|
5357
|
-
return connector.get('feature_layer.feature.collection', { cache:
|
|
5383
|
+
return connector.get('feature_layer.feature.collection', { cache: cache, signal: signal }, reqParams);
|
|
5358
5384
|
}
|
|
5359
5385
|
|
|
5360
5386
|
function prepareNgwFieldsToPropertiesFilter(fields) {
|
|
5361
|
-
console.log(fields);
|
|
5362
5387
|
var f;
|
|
5363
5388
|
var _loop_1 = function () {
|
|
5364
5389
|
var field = fields[f];
|
|
@@ -7367,7 +7392,7 @@ var NgwMap = (function (exports) {
|
|
|
7367
7392
|
});
|
|
7368
7393
|
});
|
|
7369
7394
|
};
|
|
7370
|
-
NgwResource.prototype.getBounds = function () {
|
|
7395
|
+
NgwResource.prototype.getBounds = function (options) {
|
|
7371
7396
|
return __awaiter(this, void 0, void 0, function () {
|
|
7372
7397
|
var _a;
|
|
7373
7398
|
return __generator(this, function (_b) {
|
|
@@ -7378,7 +7403,7 @@ var NgwMap = (function (exports) {
|
|
|
7378
7403
|
}
|
|
7379
7404
|
if (!this.item) return [3 /*break*/, 2];
|
|
7380
7405
|
_a = this;
|
|
7381
|
-
return [4 /*yield*/, fetchNgwResourceExtent(this.item, this.connector)];
|
|
7406
|
+
return [4 /*yield*/, fetchNgwResourceExtent(this.item, this.connector, options)];
|
|
7382
7407
|
case 1:
|
|
7383
7408
|
_a._extent = _b.sent();
|
|
7384
7409
|
return [2 /*return*/, this._extent];
|
|
@@ -8020,7 +8045,7 @@ var NgwMap = (function (exports) {
|
|
|
8020
8045
|
return featureParams;
|
|
8021
8046
|
}
|
|
8022
8047
|
function fetchIdentifyGeoJson(options) {
|
|
8023
|
-
var connector = options.connector, identify = options.identify;
|
|
8048
|
+
var connector = options.connector, identify = options.identify, requestOptions = options.requestOptions;
|
|
8024
8049
|
for (var l in identify) {
|
|
8025
8050
|
var id = Number(l);
|
|
8026
8051
|
if (!isNaN(id)) {
|
|
@@ -8036,7 +8061,7 @@ var NgwMap = (function (exports) {
|
|
|
8036
8061
|
}
|
|
8037
8062
|
var params = getIdentifyItems(identify);
|
|
8038
8063
|
if (params && params.length) {
|
|
8039
|
-
return fetchNgwLayerFeature(__assign({ connector: connector }, params[0]));
|
|
8064
|
+
return fetchNgwLayerFeature(__assign(__assign(__assign({}, requestOptions), { connector: connector }), params[0]));
|
|
8040
8065
|
}
|
|
8041
8066
|
return CancelablePromise.resolve(undefined);
|
|
8042
8067
|
}
|
|
@@ -8049,21 +8074,25 @@ var NgwMap = (function (exports) {
|
|
|
8049
8074
|
return CancelablePromise.resolve(undefined);
|
|
8050
8075
|
}
|
|
8051
8076
|
function featureLayerIdentify(options) {
|
|
8052
|
-
var
|
|
8053
|
-
var
|
|
8054
|
-
if (Array.isArray(
|
|
8055
|
-
|
|
8077
|
+
var geom = options.geom, signal = options.signal, cache = options.cache;
|
|
8078
|
+
var geom_ = [];
|
|
8079
|
+
if (Array.isArray(geom)) {
|
|
8080
|
+
geom_ = geom;
|
|
8056
8081
|
}
|
|
8057
8082
|
else {
|
|
8058
|
-
var polygon =
|
|
8083
|
+
var polygon = geom.type === 'Feature'
|
|
8084
|
+
? geom.geometry
|
|
8085
|
+
: geom.type === 'Polygon'
|
|
8086
|
+
? geom
|
|
8087
|
+
: false;
|
|
8059
8088
|
if (polygon) {
|
|
8060
|
-
|
|
8089
|
+
geom_ = polygon.coordinates[0];
|
|
8061
8090
|
}
|
|
8062
8091
|
}
|
|
8063
|
-
if (
|
|
8092
|
+
if (geom_) {
|
|
8064
8093
|
// create wkt string
|
|
8065
8094
|
var polygonStr = [];
|
|
8066
|
-
for (var _i = 0, geom_1 =
|
|
8095
|
+
for (var _i = 0, geom_1 = geom_; _i < geom_1.length; _i++) {
|
|
8067
8096
|
var _a = geom_1[_i], lng = _a[0], lat = _a[1];
|
|
8068
8097
|
var _b = degrees2meters(lng, lat), x = _b[0], y = _b[1];
|
|
8069
8098
|
polygonStr.push(x + ' ' + y);
|
|
@@ -8075,18 +8104,22 @@ var NgwMap = (function (exports) {
|
|
|
8075
8104
|
srs: 3857,
|
|
8076
8105
|
layers: layers,
|
|
8077
8106
|
};
|
|
8078
|
-
return options.connector.post('feature_layer.identify', {
|
|
8107
|
+
return options.connector.post('feature_layer.identify', {
|
|
8108
|
+
data: data,
|
|
8109
|
+
signal: signal,
|
|
8110
|
+
cache: cache,
|
|
8111
|
+
});
|
|
8079
8112
|
}
|
|
8080
8113
|
else {
|
|
8081
8114
|
throw new Error('Not valid geometry format to make intersection');
|
|
8082
8115
|
}
|
|
8083
8116
|
}
|
|
8084
8117
|
function sendIdentifyRequest(ev, options) {
|
|
8085
|
-
var _a;
|
|
8086
8118
|
deprecatedMapClick(ev);
|
|
8087
|
-
var
|
|
8088
|
-
var geom =
|
|
8089
|
-
|
|
8119
|
+
var _a = ev.lngLat, lng = _a[0], lat = _a[1];
|
|
8120
|
+
var geom = options.geom, radius = options.radius, signal = options.signal, cache = options.cache;
|
|
8121
|
+
var geom_ = geom !== null && geom !== void 0 ? geom : getCirclePolygonCoordinates(lng, lat, radius);
|
|
8122
|
+
return featureLayerIdentify(__assign(__assign({}, options), { geom: geom_, signal: signal, cache: cache }));
|
|
8090
8123
|
}
|
|
8091
8124
|
function createIdentifyItem(opt) {
|
|
8092
8125
|
return new IdentifyItem(opt);
|