@nextgis/ngw-map 1.18.12 → 1.18.21

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.
@@ -1,4 +1,4 @@
1
- /** Bundle of @nextgis/ngw-map; version: 1.18.12; author: NextGIS */
1
+ /** Bundle of @nextgis/ngw-map; version: 1.18.21; author: NextGIS */
2
2
  var NgwMap = (function (exports) {
3
3
  'use strict';
4
4
 
@@ -1241,26 +1241,6 @@ var NgwMap = (function (exports) {
1241
1241
  return radius;
1242
1242
  }
1243
1243
 
1244
- /**
1245
- * Copy the values of all of the enumerable own properties from one or more source objects to a
1246
- * target object. Returns the target object.
1247
- * @param target - The target object to copy to.
1248
- * @param sources - One or more source objects from which to copy properties
1249
- */
1250
- function objectAssign(target) {
1251
- var sources = [];
1252
- for (var _i = 1; _i < arguments.length; _i++) {
1253
- sources[_i - 1] = arguments[_i];
1254
- }
1255
- for (var _a = 0, sources_1 = sources; _a < sources_1.length; _a++) {
1256
- var source = sources_1[_a];
1257
- for (var _b = 0, _c = Object.getOwnPropertyNames(source); _b < _c.length; _b++) {
1258
- var prop = _c[_b];
1259
- target[prop] = source[prop];
1260
- }
1261
- }
1262
- }
1263
-
1264
1244
  function isEqual(a, b, o, p) {
1265
1245
  if (a instanceof Array) {
1266
1246
  if (!(b instanceof Array))
@@ -7373,50 +7353,12 @@ var NgwMap = (function (exports) {
7373
7353
  });
7374
7354
  };
7375
7355
  NgwWebmapItem.prototype.initItem = function (item) {
7376
- var _this = this;
7377
- var i = item;
7378
- var options = this.getItemOptions(item);
7379
- var setNewLayer = function (l) {
7380
- i._layer = l;
7381
- _this.layer = l;
7382
- var enabled = _this.properties.get('visibility');
7383
- if (enabled) {
7384
- _this.properties.set('visibility', true);
7385
- }
7386
- if (options.opacity !== undefined) {
7387
- _this.webMap.setLayerOpacity(l, options.opacity);
7388
- }
7389
- };
7390
7356
  if (item.item_type === 'group' || item.item_type === 'root') {
7391
- if (item.children && item.children.length) {
7392
- var children = this.getChildren(item);
7393
- for (var _i = 0, children_1 = children; _i < children_1.length; _i++) {
7394
- var x = children_1[_i];
7395
- var children_2 = new this.constructor(this.webMap, x, this.options, this.connector, this);
7396
- this.tree.addChild(children_2);
7397
- }
7398
- }
7399
- return Promise.resolve();
7357
+ return this.initGroupItem(item);
7400
7358
  }
7401
7359
  else {
7402
- var adapter = void 0;
7403
- if (item.item_type === 'layer') {
7404
- adapter = item.adapter || item.layer_adapter.toUpperCase();
7405
- }
7406
- else if (NgwWebmapItem.GetAdapterFromLayerType[item.item_type]) {
7407
- var getAdapter = NgwWebmapItem.GetAdapterFromLayerType[item.item_type];
7408
- adapter = getAdapter(item, options, this.webMap, this.connector);
7409
- }
7410
- if (adapter) {
7411
- return this.webMap.addLayer(adapter, options).then(function (newLayer) {
7412
- setNewLayer(newLayer);
7413
- });
7414
- }
7415
- }
7416
- if (item._layer) {
7417
- return Promise.resolve(setNewLayer(item._layer));
7360
+ return this.initLayerItem(item);
7418
7361
  }
7419
- return Promise.reject('No layer added');
7420
7362
  };
7421
7363
  NgwWebmapItem.prototype.bringToFront = function () {
7422
7364
  //
@@ -7452,7 +7394,7 @@ var NgwMap = (function (exports) {
7452
7394
  }
7453
7395
  if (item.item_type === 'layer') {
7454
7396
  var maxZoom = (_a = this._getZoomRange(item), _a.maxZoom), minZoom = _a.minZoom;
7455
- objectAssign(options, {
7397
+ Object.assign(options, {
7456
7398
  updateWmsParams: item.updateWmsParams,
7457
7399
  url: item.url,
7458
7400
  headers: this.options.headers,
@@ -7461,6 +7403,7 @@ var NgwMap = (function (exports) {
7461
7403
  minZoom: minZoom,
7462
7404
  minScale: item.layer_min_scale_denom,
7463
7405
  maxScale: item.layer_max_scale_denom,
7406
+ interactive: item.layer_identifiable,
7464
7407
  });
7465
7408
  }
7466
7409
  if (opacity !== undefined) {
@@ -7474,6 +7417,49 @@ var NgwMap = (function (exports) {
7474
7417
  NgwWebmapItem.prototype._mapScaleToZoomLevel = function (scale) {
7475
7418
  return setScaleRatio(scale);
7476
7419
  };
7420
+ NgwWebmapItem.prototype.initGroupItem = function (group) {
7421
+ if (group.children && group.children.length) {
7422
+ var children = this.getChildren(group);
7423
+ for (var _i = 0, children_1 = children; _i < children_1.length; _i++) {
7424
+ var child = children_1[_i];
7425
+ var childItem = new this.constructor(this.webMap, child, this.options, this.connector, this);
7426
+ this.tree.addChild(childItem);
7427
+ }
7428
+ }
7429
+ return Promise.resolve();
7430
+ };
7431
+ NgwWebmapItem.prototype.initLayerItem = function (layer) {
7432
+ var _this = this;
7433
+ var options = this.getItemOptions(layer);
7434
+ var setNewLayer = function (l) {
7435
+ layer._layer = l;
7436
+ _this.layer = l;
7437
+ var enabled = _this.properties.get('visibility');
7438
+ if (enabled) {
7439
+ _this.properties.set('visibility', true);
7440
+ }
7441
+ if (options.opacity !== undefined) {
7442
+ _this.webMap.setLayerOpacity(l, options.opacity);
7443
+ }
7444
+ };
7445
+ var adapter;
7446
+ if (layer.item_type === 'layer') {
7447
+ adapter = layer.adapter || layer.layer_adapter.toUpperCase();
7448
+ }
7449
+ else if (NgwWebmapItem.GetAdapterFromLayerType[layer.item_type]) {
7450
+ var getAdapter = NgwWebmapItem.GetAdapterFromLayerType[layer.item_type];
7451
+ adapter = getAdapter(layer, options, this.webMap, this.connector);
7452
+ }
7453
+ if (adapter) {
7454
+ return this.webMap.addLayer(adapter, options).then(function (newLayer) {
7455
+ setNewLayer(newLayer);
7456
+ });
7457
+ }
7458
+ if (layer._layer) {
7459
+ return Promise.resolve(setNewLayer(layer._layer));
7460
+ }
7461
+ return Promise.reject('No layer added');
7462
+ };
7477
7463
  NgwWebmapItem.prototype._getZoomRange = function (item) {
7478
7464
  var minZoomWebmap = this.options.minZoom;
7479
7465
  var maxZoomWebmap = this.options.maxZoom;
@@ -7497,8 +7483,8 @@ var NgwMap = (function (exports) {
7497
7483
  };
7498
7484
  NgwWebmapItem.prototype._sumUp = function (children, totalValue) {
7499
7485
  if (totalValue === void 0) { totalValue = 0; }
7500
- for (var _i = 0, children_3 = children; _i < children_3.length; _i++) {
7501
- var child = children_3[_i];
7486
+ for (var _i = 0, children_2 = children; _i < children_2.length; _i++) {
7487
+ var child = children_2[_i];
7502
7488
  if (child.item_type === 'layer') {
7503
7489
  totalValue += 1;
7504
7490
  child.draw_order_position = child.draw_order_position || totalValue;
@@ -7936,7 +7922,9 @@ var NgwMap = (function (exports) {
7936
7922
  deps.forEach(function (x) {
7937
7923
  var item = x.item;
7938
7924
  var parentId = item.parentId;
7939
- if (parentId !== undefined && item.item_type === 'layer') {
7925
+ if (parentId !== undefined &&
7926
+ item.item_type === 'layer' &&
7927
+ item.layer_identifiable) {
7940
7928
  var visible = x.properties.property('visibility');
7941
7929
  var isVisible = visible.get() && !visible.isBlocked();
7942
7930
  if (isVisible) {
@@ -9520,11 +9508,12 @@ var NgwMap = (function (exports) {
9520
9508
  });
9521
9509
  };
9522
9510
  NgwMap.prototype.selectFromNgwRaster = function (ev) {
9511
+ var _a;
9523
9512
  return __awaiter(this, void 0, void 0, function () {
9524
- var promises, layers, _i, layers_1, l, layer, identFunc, getIdsPromise, getIds, ids, _a, getIds_1, x, pixelRadius, center, zoom, radius, selectPromise;
9513
+ var promises, layers, _i, layers_1, l, layer, identFunc, interactive, getIdsPromise, getIds, ids, _b, getIds_1, x, pixelRadius, center, zoom, radius, selectPromise;
9525
9514
  var _this = this;
9526
- return __generator(this, function (_b) {
9527
- switch (_b.label) {
9515
+ return __generator(this, function (_c) {
9516
+ switch (_c.label) {
9528
9517
  case 0:
9529
9518
  this._emitStatusEvent('ngw:preselect');
9530
9519
  promises = [];
@@ -9541,17 +9530,21 @@ var NgwMap = (function (exports) {
9541
9530
  identFunc = typeof layer.getIdentificationIds === 'function'
9542
9531
  ? layer.getIdentificationIds
9543
9532
  : false;
9544
- if (identFunc && layer.options.selectable && this.isLayerVisible(layer)) {
9533
+ interactive = (_a = layer.options.interactive) !== null && _a !== void 0 ? _a : true;
9534
+ if (identFunc &&
9535
+ layer.options.selectable &&
9536
+ interactive &&
9537
+ this.isLayerVisible(layer)) {
9545
9538
  promises.push(identFunc.call(layer));
9546
9539
  }
9547
9540
  }
9548
9541
  getIdsPromise = Promise.all(promises);
9549
9542
  return [4 /*yield*/, getIdsPromise];
9550
9543
  case 1:
9551
- getIds = _b.sent();
9544
+ getIds = _c.sent();
9552
9545
  ids = [];
9553
- for (_a = 0, getIds_1 = getIds; _a < getIds_1.length; _a++) {
9554
- x = getIds_1[_a];
9546
+ for (_b = 0, getIds_1 = getIds; _b < getIds_1.length; _b++) {
9547
+ x = getIds_1[_b];
9555
9548
  if (x) {
9556
9549
  ids.push.apply(ids, x);
9557
9550
  }