@nextgis/ngw-map 3.0.1 → 3.1.1
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/lib/index.d.ts +1 -1
- package/lib/ngw-map.cjs.js +6 -3
- package/lib/ngw-map.cjs.js.map +1 -1
- package/lib/ngw-map.cjs.prod.js +1 -1
- package/lib/ngw-map.cjs.prod.js.map +1 -1
- package/lib/ngw-map.esm-browser.js +223 -91
- 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 +6 -3
- package/lib/ngw-map.esm-bundler.js.map +1 -1
- package/lib/ngw-map.esm-bundler.prod.js +1 -1
- package/lib/ngw-map.esm-bundler.prod.js.map +1 -1
- package/lib/ngw-map.global.js +223 -91
- 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 +6 -6
package/lib/ngw-map.global.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** Bundle of @nextgis/ngw-map; version: 3.
|
|
1
|
+
/** Bundle of @nextgis/ngw-map; version: 3.1.1; author: NextGIS */
|
|
2
2
|
var NgwMap = (function (exports) {
|
|
3
3
|
'use strict';
|
|
4
4
|
|
|
@@ -354,6 +354,20 @@ var NgwMap = (function (exports) {
|
|
|
354
354
|
function fixUrlStr(url) {
|
|
355
355
|
return url.replace(/([^:]\/)\/+/g, "$1");
|
|
356
356
|
}
|
|
357
|
+
function updateUrlParams(urlStr, params) {
|
|
358
|
+
const url = new URL(urlStr);
|
|
359
|
+
const searchParams = new URLSearchParams(url.search);
|
|
360
|
+
Object.entries(params).forEach(([key, value]) => {
|
|
361
|
+
if (value === void 0) {
|
|
362
|
+
searchParams.delete(key);
|
|
363
|
+
} else {
|
|
364
|
+
searchParams.set(key, value);
|
|
365
|
+
}
|
|
366
|
+
});
|
|
367
|
+
searchParams.set("timestamp", String((/* @__PURE__ */ new Date()).getTime()));
|
|
368
|
+
const newSearch = [...searchParams.entries()].map(([key, value]) => `${key}=${value}`).join("&");
|
|
369
|
+
return `${url.origin}${url.pathname}?${newSearch}`;
|
|
370
|
+
}
|
|
357
371
|
|
|
358
372
|
const templateRe = /\{ *([\w_-]+) *\}/g;
|
|
359
373
|
function template(str, data) {
|
|
@@ -624,7 +638,9 @@ var NgwMap = (function (exports) {
|
|
|
624
638
|
this.domain = null;
|
|
625
639
|
if (EventEmitter.usingDomains) {
|
|
626
640
|
// if there is an active domain, then attach to it.
|
|
627
|
-
if (domain.active)
|
|
641
|
+
if (domain.active && !(this instanceof domain.Domain)) {
|
|
642
|
+
this.domain = domain.active;
|
|
643
|
+
}
|
|
628
644
|
}
|
|
629
645
|
|
|
630
646
|
if (!this._events || this._events === Object.getPrototypeOf(this)._events) {
|
|
@@ -1067,63 +1083,7 @@ var NgwMap = (function (exports) {
|
|
|
1067
1083
|
}
|
|
1068
1084
|
|
|
1069
1085
|
var pkg = {
|
|
1070
|
-
|
|
1071
|
-
version: "3.0.1",
|
|
1072
|
-
_priority: 12,
|
|
1073
|
-
description: "A lightweight HTTP client optimized for use with NextGIS Web API",
|
|
1074
|
-
main: "index.js",
|
|
1075
|
-
module: "lib/ngw-connector.esm-bundler.js",
|
|
1076
|
-
unpkg: "lib/ngw-connector.global.prod.js",
|
|
1077
|
-
jsdelivr: "lib/ngw-connector.global.prod.js",
|
|
1078
|
-
types: "lib/index.d.ts",
|
|
1079
|
-
dependencies: {
|
|
1080
|
-
"@nextgis/cache": "3.0.0",
|
|
1081
|
-
"@nextgis/cancelable-promise": "3.0.0",
|
|
1082
|
-
"@nextgis/utils": "3.0.0",
|
|
1083
|
-
"@types/events": "^3.0.0",
|
|
1084
|
-
events: "*",
|
|
1085
|
-
"form-data": "^4.0.0"
|
|
1086
|
-
},
|
|
1087
|
-
devDependencies: {
|
|
1088
|
-
"@nextgis/build-tools": "3.0.0"
|
|
1089
|
-
},
|
|
1090
|
-
scripts: {
|
|
1091
|
-
clean: "rimraf ./lib",
|
|
1092
|
-
dev: "node ../build-tools/lib/build.js",
|
|
1093
|
-
prod: "npm run dev -- --release",
|
|
1094
|
-
lint: "eslint ./src/**/*.ts --fix --c ../../.eslintrc",
|
|
1095
|
-
watch: "npm run dev -- --watch",
|
|
1096
|
-
"gen:types": "node ./scripts/generator"
|
|
1097
|
-
},
|
|
1098
|
-
buildOptions: {
|
|
1099
|
-
name: "NgwConnector",
|
|
1100
|
-
formats: [
|
|
1101
|
-
"esm-bundler",
|
|
1102
|
-
"esm-browser",
|
|
1103
|
-
"cjs",
|
|
1104
|
-
"global"
|
|
1105
|
-
]
|
|
1106
|
-
},
|
|
1107
|
-
keywords: [
|
|
1108
|
-
"NextGIS",
|
|
1109
|
-
"MAP"
|
|
1110
|
-
],
|
|
1111
|
-
author: "NextGIS",
|
|
1112
|
-
files: [
|
|
1113
|
-
"index.js",
|
|
1114
|
-
"lib"
|
|
1115
|
-
],
|
|
1116
|
-
license: "MIT",
|
|
1117
|
-
homepage: "https://github.com/nextgis/nextgis_frontend/tree/master/packages/ngw-connector#readme",
|
|
1118
|
-
repository: {
|
|
1119
|
-
type: "git",
|
|
1120
|
-
url: "git://github.com/nextgis/nextgis_frontend.git"
|
|
1121
|
-
},
|
|
1122
|
-
engines: {
|
|
1123
|
-
node: ">=18.20.4"
|
|
1124
|
-
},
|
|
1125
|
-
gitHead: "edc68033f914f6c95c4125b9738bba6d36e990b4"
|
|
1126
|
-
};
|
|
1086
|
+
version: "3.1.1"};
|
|
1127
1087
|
|
|
1128
1088
|
class AbortError extends Error {
|
|
1129
1089
|
constructor(message = "AbortError") {
|
|
@@ -1325,7 +1285,7 @@ var NgwMap = (function (exports) {
|
|
|
1325
1285
|
}
|
|
1326
1286
|
return a;
|
|
1327
1287
|
};
|
|
1328
|
-
var __objRest$
|
|
1288
|
+
var __objRest$6 = (source, exclude) => {
|
|
1329
1289
|
var target = {};
|
|
1330
1290
|
for (var prop in source)
|
|
1331
1291
|
if (__hasOwnProp$y.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
@@ -1479,7 +1439,7 @@ var NgwMap = (function (exports) {
|
|
|
1479
1439
|
cache,
|
|
1480
1440
|
query,
|
|
1481
1441
|
json
|
|
1482
|
-
} = _a, opt = __objRest$
|
|
1442
|
+
} = _a, opt = __objRest$6(_a, [
|
|
1483
1443
|
"withCredentials",
|
|
1484
1444
|
"responseType",
|
|
1485
1445
|
"cacheProps",
|
|
@@ -1589,7 +1549,7 @@ var NgwMap = (function (exports) {
|
|
|
1589
1549
|
return a;
|
|
1590
1550
|
};
|
|
1591
1551
|
var __spreadProps$j = (a, b) => __defProps$j(a, __getOwnPropDescs$j(b));
|
|
1592
|
-
var __objRest$
|
|
1552
|
+
var __objRest$5 = (source, exclude) => {
|
|
1593
1553
|
var target = {};
|
|
1594
1554
|
for (var prop in source)
|
|
1595
1555
|
if (__hasOwnProp$x.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
@@ -1668,7 +1628,7 @@ var NgwMap = (function (exports) {
|
|
|
1668
1628
|
for (const method of methods) {
|
|
1669
1629
|
const methodResp = (requestOptions) => {
|
|
1670
1630
|
var _b;
|
|
1671
|
-
const _a = requestOptions || {}, { headers: optHeaders } = _a, restOpt = __objRest$
|
|
1631
|
+
const _a = requestOptions || {}, { headers: optHeaders } = _a, restOpt = __objRest$5(_a, ["headers"]);
|
|
1672
1632
|
if ((_b = requestOptions == null ? void 0 : requestOptions.signal) == null ? void 0 : _b.aborted) {
|
|
1673
1633
|
throw new AbortError();
|
|
1674
1634
|
}
|
|
@@ -1826,7 +1786,7 @@ var NgwMap = (function (exports) {
|
|
|
1826
1786
|
return a;
|
|
1827
1787
|
};
|
|
1828
1788
|
var __spreadProps$i = (a, b) => __defProps$i(a, __getOwnPropDescs$i(b));
|
|
1829
|
-
var __objRest$
|
|
1789
|
+
var __objRest$4 = (source, exclude) => {
|
|
1830
1790
|
var target = {};
|
|
1831
1791
|
for (var prop in source)
|
|
1832
1792
|
if (__hasOwnProp$w.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
@@ -2034,7 +1994,7 @@ var NgwMap = (function (exports) {
|
|
|
2034
1994
|
throw new Error("Empty `url` not allowed");
|
|
2035
1995
|
}
|
|
2036
1996
|
if (params) {
|
|
2037
|
-
const _a = params, restParams = __objRest$
|
|
1997
|
+
const _a = params, { paramList } = _a, restParams = __objRest$4(_a, ["paramList"]);
|
|
2038
1998
|
url = template(url, restParams);
|
|
2039
1999
|
}
|
|
2040
2000
|
url = encodeURI(fixUrlStr(url));
|
|
@@ -2324,8 +2284,9 @@ var NgwMap = (function (exports) {
|
|
|
2324
2284
|
query: __spreadValues$u({
|
|
2325
2285
|
serialization: "full"
|
|
2326
2286
|
}, query)
|
|
2327
|
-
})).then((
|
|
2328
|
-
|
|
2287
|
+
})).then((response) => {
|
|
2288
|
+
const resources = Array.isArray(response) ? response : response.items;
|
|
2289
|
+
if (requestOptions == null ? void 0 : requestOptions.cache) {
|
|
2329
2290
|
for (const x of resources) {
|
|
2330
2291
|
this.cache.add("resource.item", Promise.resolve(x), {
|
|
2331
2292
|
id: x.resource.id
|
|
@@ -3104,7 +3065,7 @@ var NgwMap = (function (exports) {
|
|
|
3104
3065
|
return like(a, b, true);
|
|
3105
3066
|
}
|
|
3106
3067
|
};
|
|
3107
|
-
function isPropertyFilter(filter) {
|
|
3068
|
+
function isPropertyFilter$1(filter) {
|
|
3108
3069
|
const pf = filter;
|
|
3109
3070
|
if (pf.length === 3 && typeof pf[0] === "string" && typeof pf[1] === "string") {
|
|
3110
3071
|
return true;
|
|
@@ -3122,7 +3083,7 @@ var NgwMap = (function (exports) {
|
|
|
3122
3083
|
function propertiesFilter(properties, filters) {
|
|
3123
3084
|
const logic = typeof filters[0] === "string" ? filters[0] : "all";
|
|
3124
3085
|
const filterFunction = (p) => {
|
|
3125
|
-
if (isPropertyFilter(p)) {
|
|
3086
|
+
if (isPropertyFilter$1(p)) {
|
|
3126
3087
|
const [field, operation, value] = p;
|
|
3127
3088
|
const operationExec = operationsAliases[operation];
|
|
3128
3089
|
if (operationExec) {
|
|
@@ -3275,7 +3236,7 @@ var NgwMap = (function (exports) {
|
|
|
3275
3236
|
const filters_ = filters.filter((x) => Array.isArray(x));
|
|
3276
3237
|
if (logic === "any") {
|
|
3277
3238
|
for (const f of filters_) {
|
|
3278
|
-
if (isPropertyFilter(f)) {
|
|
3239
|
+
if (isPropertyFilter$1(f)) {
|
|
3279
3240
|
_queries.push(
|
|
3280
3241
|
fetchNgwLayerItemsRequest(__spreadProps$f(__spreadValues$q({}, opt), {
|
|
3281
3242
|
paramList: [..._parentAllParams, ...paramList, createParam(f)]
|
|
@@ -3289,7 +3250,7 @@ var NgwMap = (function (exports) {
|
|
|
3289
3250
|
const filters2 = [];
|
|
3290
3251
|
const propertiesFilterList = [];
|
|
3291
3252
|
for (const f of filters_) {
|
|
3292
|
-
if (isPropertyFilter(f)) {
|
|
3253
|
+
if (isPropertyFilter$1(f)) {
|
|
3293
3254
|
filters2.push(createParam(f));
|
|
3294
3255
|
} else {
|
|
3295
3256
|
propertiesFilterList.push(f);
|
|
@@ -5106,7 +5067,7 @@ var NgwMap = (function (exports) {
|
|
|
5106
5067
|
return a;
|
|
5107
5068
|
};
|
|
5108
5069
|
var __spreadProps$9 = (a, b) => __defProps$9(a, __getOwnPropDescs$9(b));
|
|
5109
|
-
var __objRest$
|
|
5070
|
+
var __objRest$3 = (source, exclude) => {
|
|
5110
5071
|
var target = {};
|
|
5111
5072
|
for (var prop in source)
|
|
5112
5073
|
if (__hasOwnProp$h.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
@@ -5119,7 +5080,7 @@ var NgwMap = (function (exports) {
|
|
|
5119
5080
|
return target;
|
|
5120
5081
|
};
|
|
5121
5082
|
function updateImageParams(params, resourceId) {
|
|
5122
|
-
const _a = params, { bbox, width, height, nd } = _a, rest = __objRest$
|
|
5083
|
+
const _a = params, { bbox, width, height, nd } = _a, rest = __objRest$3(_a, ["bbox", "width", "height", "nd"]);
|
|
5123
5084
|
return __spreadProps$9(__spreadValues$g({}, rest), {
|
|
5124
5085
|
resource: Array.isArray(resourceId) ? resourceId.join(",") : resourceId,
|
|
5125
5086
|
extent: bbox,
|
|
@@ -5250,7 +5211,7 @@ var NgwMap = (function (exports) {
|
|
|
5250
5211
|
}
|
|
5251
5212
|
return a;
|
|
5252
5213
|
};
|
|
5253
|
-
var __objRest$
|
|
5214
|
+
var __objRest$2 = (source, exclude) => {
|
|
5254
5215
|
var target = {};
|
|
5255
5216
|
for (var prop in source)
|
|
5256
5217
|
if (__hasOwnProp$g.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
@@ -5283,11 +5244,11 @@ var NgwMap = (function (exports) {
|
|
|
5283
5244
|
step((generator = generator.apply(__this, __arguments)).next());
|
|
5284
5245
|
});
|
|
5285
5246
|
};
|
|
5286
|
-
const URL = "https://qms.nextgis.com";
|
|
5287
|
-
function createQmsAdapter(webMapOrOptions, url = URL, createOpt = {}) {
|
|
5247
|
+
const URL$1 = "https://qms.nextgis.com";
|
|
5248
|
+
function createQmsAdapter(webMapOrOptions, url = URL$1, createOpt = {}) {
|
|
5288
5249
|
let webMap;
|
|
5289
5250
|
if ("webMap" in webMapOrOptions) {
|
|
5290
|
-
const _a = webMapOrOptions, { webMap: webMap_, url: url_ } = _a, adapterOptions = __objRest$
|
|
5251
|
+
const _a = webMapOrOptions, { webMap: webMap_, url: url_ } = _a, adapterOptions = __objRest$2(_a, ["webMap", "url"]);
|
|
5291
5252
|
webMap = webMap_;
|
|
5292
5253
|
if (url_) {
|
|
5293
5254
|
url = url_;
|
|
@@ -5299,7 +5260,7 @@ var NgwMap = (function (exports) {
|
|
|
5299
5260
|
webMap = webMapOrOptions;
|
|
5300
5261
|
}
|
|
5301
5262
|
if (!url) {
|
|
5302
|
-
url = URL;
|
|
5263
|
+
url = URL$1;
|
|
5303
5264
|
}
|
|
5304
5265
|
class QmsAdapter {
|
|
5305
5266
|
constructor(map, options) {
|
|
@@ -5449,9 +5410,9 @@ var NgwMap = (function (exports) {
|
|
|
5449
5410
|
item
|
|
5450
5411
|
}) {
|
|
5451
5412
|
if (item.basemap_layer) {
|
|
5452
|
-
const
|
|
5453
|
-
const url =
|
|
5454
|
-
if (qms) {
|
|
5413
|
+
const basemap = item.basemap_layer;
|
|
5414
|
+
const { qms, url } = basemap;
|
|
5415
|
+
if (qms && typeof qms === "string") {
|
|
5455
5416
|
const qms_ = JSON.parse(qms);
|
|
5456
5417
|
const adapter = Promise.resolve(
|
|
5457
5418
|
QmsKit.utils.createQmsAdapter(webMap, void 0, {
|
|
@@ -5464,10 +5425,19 @@ var NgwMap = (function (exports) {
|
|
|
5464
5425
|
const TileAdapter = webMap.mapAdapter.layerAdapters.TILE;
|
|
5465
5426
|
if (TileAdapter) {
|
|
5466
5427
|
class BasemapTileAdapter extends TileAdapter {
|
|
5428
|
+
constructor(map, options) {
|
|
5429
|
+
super(map, __spreadProps$8(__spreadValues$d({}, options), { baselayer: true, order: 0 }));
|
|
5430
|
+
}
|
|
5467
5431
|
addLayer(opt) {
|
|
5468
5432
|
return __async$g(this, null, function* () {
|
|
5433
|
+
var _a, _b, _c;
|
|
5469
5434
|
if (url) {
|
|
5470
|
-
return __superGet$2(BasemapTileAdapter.prototype, this, "addLayer").call(this, __spreadProps$8(__spreadValues$d({}, opt), {
|
|
5435
|
+
return __superGet$2(BasemapTileAdapter.prototype, this, "addLayer").call(this, __spreadProps$8(__spreadValues$d({}, opt), {
|
|
5436
|
+
url,
|
|
5437
|
+
minZoom: (_a = basemap.z_min) != null ? _a : opt.minZoom,
|
|
5438
|
+
maxZoom: (_b = basemap.z_max) != null ? _b : opt.maxZoom,
|
|
5439
|
+
attribution: (_c = basemap.copyright_text) != null ? _c : opt.attribution
|
|
5440
|
+
}));
|
|
5471
5441
|
}
|
|
5472
5442
|
});
|
|
5473
5443
|
}
|
|
@@ -5928,6 +5898,134 @@ var NgwMap = (function (exports) {
|
|
|
5928
5898
|
});
|
|
5929
5899
|
}
|
|
5930
5900
|
|
|
5901
|
+
function isPropertyFilter(value) {
|
|
5902
|
+
return Array.isArray(value) && value.length === 3 && typeof value[0] === "string" && typeof value[1] === "string";
|
|
5903
|
+
}
|
|
5904
|
+
function isPropertiesFilterGroup(value) {
|
|
5905
|
+
return Array.isArray(value) && !isPropertyFilter(value);
|
|
5906
|
+
}
|
|
5907
|
+
function toGetExpr(field) {
|
|
5908
|
+
return ["get", field];
|
|
5909
|
+
}
|
|
5910
|
+
function toConditionExpr(filter) {
|
|
5911
|
+
const [fieldRaw, op, value] = filter;
|
|
5912
|
+
const field = String(fieldRaw);
|
|
5913
|
+
const getExpr = toGetExpr(field);
|
|
5914
|
+
switch (op) {
|
|
5915
|
+
case "eq":
|
|
5916
|
+
if (value === null) {
|
|
5917
|
+
return ["is_null", getExpr];
|
|
5918
|
+
}
|
|
5919
|
+
return ["==", getExpr, value];
|
|
5920
|
+
case "ne":
|
|
5921
|
+
if (value === null) {
|
|
5922
|
+
return ["!is_null", getExpr];
|
|
5923
|
+
}
|
|
5924
|
+
return ["!=", getExpr, value];
|
|
5925
|
+
case "gt":
|
|
5926
|
+
if (typeof value !== "number" && typeof value !== "string") {
|
|
5927
|
+
throw new Error(
|
|
5928
|
+
`Operator "gt" requires number or string for "${field}"`
|
|
5929
|
+
);
|
|
5930
|
+
}
|
|
5931
|
+
return [">", getExpr, value];
|
|
5932
|
+
case "lt":
|
|
5933
|
+
if (typeof value !== "number" && typeof value !== "string") {
|
|
5934
|
+
throw new Error(
|
|
5935
|
+
`Operator "lt" requires number or string for "${field}"`
|
|
5936
|
+
);
|
|
5937
|
+
}
|
|
5938
|
+
return ["<", getExpr, value];
|
|
5939
|
+
case "ge":
|
|
5940
|
+
if (typeof value !== "number" && typeof value !== "string") {
|
|
5941
|
+
throw new Error(
|
|
5942
|
+
`Operator "ge" requires number or string for "${field}"`
|
|
5943
|
+
);
|
|
5944
|
+
}
|
|
5945
|
+
return [">=", getExpr, value];
|
|
5946
|
+
case "le":
|
|
5947
|
+
if (typeof value !== "number" && typeof value !== "string") {
|
|
5948
|
+
throw new Error(
|
|
5949
|
+
`Operator "le" requires number or string for "${field}"`
|
|
5950
|
+
);
|
|
5951
|
+
}
|
|
5952
|
+
return ["<=", getExpr, value];
|
|
5953
|
+
case "in":
|
|
5954
|
+
if (!Array.isArray(value) || !value.every((x) => typeof x === "string" || typeof x === "number")) {
|
|
5955
|
+
throw new Error(
|
|
5956
|
+
`Operator "in" requires (string | number)[] for "${field}"`
|
|
5957
|
+
);
|
|
5958
|
+
}
|
|
5959
|
+
if (!value.length) {
|
|
5960
|
+
throw new Error(
|
|
5961
|
+
`Operator "in" requires non-empty array for "${field}"`
|
|
5962
|
+
);
|
|
5963
|
+
}
|
|
5964
|
+
return ["in", getExpr, ...value];
|
|
5965
|
+
case "notin":
|
|
5966
|
+
if (!Array.isArray(value) || !value.every((x) => typeof x === "string" || typeof x === "number")) {
|
|
5967
|
+
throw new Error(
|
|
5968
|
+
`Operator "notin" requires (string | number)[] for "${field}"`
|
|
5969
|
+
);
|
|
5970
|
+
}
|
|
5971
|
+
if (!value.length) {
|
|
5972
|
+
throw new Error(
|
|
5973
|
+
`Operator "notin" requires non-empty array for "${field}"`
|
|
5974
|
+
);
|
|
5975
|
+
}
|
|
5976
|
+
return ["!in", getExpr, ...value];
|
|
5977
|
+
case "like":
|
|
5978
|
+
case "ilike":
|
|
5979
|
+
throw new Error(
|
|
5980
|
+
`Operator "${op}" is not supported by server FilterExpression`
|
|
5981
|
+
);
|
|
5982
|
+
default: {
|
|
5983
|
+
const exhaustive = op;
|
|
5984
|
+
throw new Error(`Unsupported operator: ${exhaustive}`);
|
|
5985
|
+
}
|
|
5986
|
+
}
|
|
5987
|
+
}
|
|
5988
|
+
function toGroupExpr(filters) {
|
|
5989
|
+
let logicalOp = "all";
|
|
5990
|
+
const children = [];
|
|
5991
|
+
for (const item of filters) {
|
|
5992
|
+
if (item === "all" || item === "any") {
|
|
5993
|
+
logicalOp = item;
|
|
5994
|
+
continue;
|
|
5995
|
+
}
|
|
5996
|
+
if (isPropertyFilter(item)) {
|
|
5997
|
+
children.push(toConditionExpr(item));
|
|
5998
|
+
continue;
|
|
5999
|
+
}
|
|
6000
|
+
if (isPropertiesFilterGroup(item)) {
|
|
6001
|
+
children.push(toGroupExpr(item));
|
|
6002
|
+
continue;
|
|
6003
|
+
}
|
|
6004
|
+
throw new Error("Invalid PropertiesFilter node");
|
|
6005
|
+
}
|
|
6006
|
+
return [logicalOp, ...children];
|
|
6007
|
+
}
|
|
6008
|
+
function propertiesFilterToExpression(filters) {
|
|
6009
|
+
if (!(filters == null ? void 0 : filters.length)) {
|
|
6010
|
+
return [];
|
|
6011
|
+
}
|
|
6012
|
+
return toGroupExpr(filters);
|
|
6013
|
+
}
|
|
6014
|
+
function propertiesFilterToExpressionString(filters) {
|
|
6015
|
+
if (!(filters == null ? void 0 : filters.length)) {
|
|
6016
|
+
return void 0;
|
|
6017
|
+
}
|
|
6018
|
+
return JSON.stringify(
|
|
6019
|
+
propertiesFilterToExpression(filters)
|
|
6020
|
+
);
|
|
6021
|
+
}
|
|
6022
|
+
|
|
6023
|
+
function createLayerFilterParam(resourceId, filter) {
|
|
6024
|
+
return {
|
|
6025
|
+
[`filter[${resourceId}]`]: propertiesFilterToExpressionString(filter)
|
|
6026
|
+
};
|
|
6027
|
+
}
|
|
6028
|
+
|
|
5931
6029
|
var __defProp$j = Object.defineProperty;
|
|
5932
6030
|
var __defProps$6 = Object.defineProperties;
|
|
5933
6031
|
var __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;
|
|
@@ -5947,6 +6045,18 @@ var NgwMap = (function (exports) {
|
|
|
5947
6045
|
return a;
|
|
5948
6046
|
};
|
|
5949
6047
|
var __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));
|
|
6048
|
+
var __objRest$1 = (source, exclude) => {
|
|
6049
|
+
var target = {};
|
|
6050
|
+
for (var prop in source)
|
|
6051
|
+
if (__hasOwnProp$c.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
6052
|
+
target[prop] = source[prop];
|
|
6053
|
+
if (source != null && __getOwnPropSymbols$c)
|
|
6054
|
+
for (var prop of __getOwnPropSymbols$c(source)) {
|
|
6055
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum$c.call(source, prop))
|
|
6056
|
+
target[prop] = source[prop];
|
|
6057
|
+
}
|
|
6058
|
+
return target;
|
|
6059
|
+
};
|
|
5950
6060
|
var __publicField$c = (obj, key, value) => __defNormalProp$j(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5951
6061
|
var __async$c = (__this, __arguments, generator) => {
|
|
5952
6062
|
return new Promise((resolve, reject) => {
|
|
@@ -6011,8 +6121,18 @@ var NgwMap = (function (exports) {
|
|
|
6011
6121
|
baseUrl: connector.options.baseUrl || ""
|
|
6012
6122
|
});
|
|
6013
6123
|
if (opt) {
|
|
6014
|
-
const
|
|
6015
|
-
|
|
6124
|
+
const _a = layerOptions.adapterOptions || {}, { propertiesFilter } = _a, restAdapterOptions = __objRest$1(_a, ["propertiesFilter"]);
|
|
6125
|
+
const filterParams = createLayerFilterParam(
|
|
6126
|
+
resourceId,
|
|
6127
|
+
propertiesFilter
|
|
6128
|
+
);
|
|
6129
|
+
const layerAdapterOptions = __spreadProps$6(__spreadValues$b(__spreadValues$b({}, opt), restAdapterOptions), {
|
|
6130
|
+
params: __spreadValues$b({
|
|
6131
|
+
resource: resourceId
|
|
6132
|
+
}, filterParams),
|
|
6133
|
+
url: adapter === "TILE" && opt.url ? updateUrlParams(opt.url, __spreadValues$b({
|
|
6134
|
+
resource: String(resourceId)
|
|
6135
|
+
}, filterParams)) : opt.url,
|
|
6016
6136
|
layers: opt.layers || String(resourceId),
|
|
6017
6137
|
resourceId
|
|
6018
6138
|
});
|
|
@@ -6025,6 +6145,15 @@ var NgwMap = (function (exports) {
|
|
|
6025
6145
|
addLayer(addOptions) {
|
|
6026
6146
|
return super.addLayer(__spreadValues$b(__spreadValues$b({}, this.options), addOptions));
|
|
6027
6147
|
}
|
|
6148
|
+
propertiesFilter(filters) {
|
|
6149
|
+
return __async$c(this, null, function* () {
|
|
6150
|
+
var _a;
|
|
6151
|
+
const opt = this.options;
|
|
6152
|
+
const params = __spreadValues$b(__spreadValues$b({}, opt.params || {}), createLayerFilterParam(this.resourceId, filters));
|
|
6153
|
+
opt.params = params;
|
|
6154
|
+
(_a = this.updateLayer) == null ? void 0 : _a.call(this, { params });
|
|
6155
|
+
});
|
|
6156
|
+
}
|
|
6028
6157
|
getIdentificationIds() {
|
|
6029
6158
|
return __async$c(this, null, function* () {
|
|
6030
6159
|
if (this.item) {
|
|
@@ -6520,7 +6649,8 @@ var NgwMap = (function (exports) {
|
|
|
6520
6649
|
component: "pyramid"
|
|
6521
6650
|
}
|
|
6522
6651
|
});
|
|
6523
|
-
|
|
6652
|
+
const company_logo = settings && "company_logo" in settings ? settings.company_logo : void 0;
|
|
6653
|
+
if (company_logo && company_logo.enabled) {
|
|
6524
6654
|
const anchor = document.createElement("a");
|
|
6525
6655
|
anchor.style.position = "absolute";
|
|
6526
6656
|
anchor.style.bottom = "0";
|
|
@@ -6555,10 +6685,10 @@ var NgwMap = (function (exports) {
|
|
|
6555
6685
|
} else {
|
|
6556
6686
|
return;
|
|
6557
6687
|
}
|
|
6558
|
-
if (
|
|
6559
|
-
anchor.href =
|
|
6688
|
+
if (company_logo.link !== null && company_logo.link.trim() !== "") {
|
|
6689
|
+
anchor.href = company_logo.link;
|
|
6560
6690
|
anchor.target = "_blank";
|
|
6561
|
-
if (
|
|
6691
|
+
if (company_logo.link.search(/:\/\/nextgis/) !== -1) {
|
|
6562
6692
|
img.alt = "Get your own Web GIS at nextgis.com";
|
|
6563
6693
|
}
|
|
6564
6694
|
}
|
|
@@ -9986,7 +10116,7 @@ var NgwMap = (function (exports) {
|
|
|
9986
10116
|
addNgwLayer(options) {
|
|
9987
10117
|
return __async$1(this, null, function* () {
|
|
9988
10118
|
yield this.onMapLoad();
|
|
9989
|
-
const { keyname, resourceId } = options;
|
|
10119
|
+
const { keyname, resourceId, filters } = options;
|
|
9990
10120
|
if (keyname || resourceId !== void 0) {
|
|
9991
10121
|
deprecatedWarn(
|
|
9992
10122
|
"set `resource` options instead of `keyname` or `resourceId`"
|
|
@@ -10000,12 +10130,15 @@ var NgwMap = (function (exports) {
|
|
|
10000
10130
|
}
|
|
10001
10131
|
if (defined(this.options.baseUrl)) {
|
|
10002
10132
|
try {
|
|
10133
|
+
options.adapterOptions = options.adapterOptions || {};
|
|
10003
10134
|
if (defined(this.options.setViewDelay)) {
|
|
10004
|
-
options.adapterOptions = options.adapterOptions || {};
|
|
10005
10135
|
if (!defined(options.adapterOptions.setViewDelay)) {
|
|
10006
10136
|
options.adapterOptions.setViewDelay = this.options.setViewDelay;
|
|
10007
10137
|
}
|
|
10008
10138
|
}
|
|
10139
|
+
if (defined(filters)) {
|
|
10140
|
+
options.adapterOptions.propertiesFilter = filters;
|
|
10141
|
+
}
|
|
10009
10142
|
const adapter = createNgwLayerAdapter(options, this, this.connector);
|
|
10010
10143
|
const adapterOpts = __spreadValues(__spreadValues({
|
|
10011
10144
|
visibility: true
|
|
@@ -10097,7 +10230,6 @@ var NgwMap = (function (exports) {
|
|
|
10097
10230
|
const promise = fetchIdentifyGeoJson({
|
|
10098
10231
|
identify,
|
|
10099
10232
|
connector: this.connector,
|
|
10100
|
-
multiple,
|
|
10101
10233
|
requestOptions: { signal: abortController.signal }
|
|
10102
10234
|
});
|
|
10103
10235
|
if (promise && "then" in promise) {
|