@opengeoweb/webmap 14.1.0 → 14.2.2
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.esm.js
CHANGED
|
@@ -698,12 +698,10 @@ var toArray = function toArray(array) {
|
|
|
698
698
|
if (array === null || typeof array === 'undefined') {
|
|
699
699
|
return [];
|
|
700
700
|
}
|
|
701
|
-
if (array
|
|
701
|
+
if (Array.isArray(array)) {
|
|
702
702
|
return array;
|
|
703
703
|
}
|
|
704
|
-
|
|
705
|
-
newArray[0] = array;
|
|
706
|
-
return newArray;
|
|
704
|
+
return [array];
|
|
707
705
|
};
|
|
708
706
|
/* Returns all dimensions with its current values as URL */
|
|
709
707
|
var getMapDimURL = function getMapDimURL(layer, dimensionOverride) {
|
|
@@ -727,18 +725,18 @@ var getMapDimURL = function getMapDimURL(layer, dimensionOverride) {
|
|
|
727
725
|
* @param params
|
|
728
726
|
* @returns
|
|
729
727
|
*/
|
|
730
|
-
var getUriWithParam = function getUriWithParam(baseUrl,
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
}
|
|
739
|
-
}
|
|
740
|
-
|
|
741
|
-
return
|
|
728
|
+
var getUriWithParam = function getUriWithParam(baseUrl, params) {
|
|
729
|
+
var url = new URL(baseUrl);
|
|
730
|
+
var urlParams = new URLSearchParams(url.search);
|
|
731
|
+
if (params) {
|
|
732
|
+
for (var key in params) {
|
|
733
|
+
if (params[key] !== undefined) {
|
|
734
|
+
urlParams.set(key, String(params[key]));
|
|
735
|
+
}
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
url.search = urlParams.toString();
|
|
739
|
+
return url.toString();
|
|
742
740
|
};
|
|
743
741
|
/**
|
|
744
742
|
* Parses url and then it it allows for setting additional key value pairs in that URL (From https://stackoverflow.com/questions/5999118/how-can-i-add-or-update-a-query-string-parameter)
|
|
@@ -746,11 +744,9 @@ params) {
|
|
|
746
744
|
* @param params
|
|
747
745
|
* @returns
|
|
748
746
|
*/
|
|
749
|
-
var getUriAddParam = function getUriAddParam(baseUrl,
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
var Url = new URL(baseUrl);
|
|
753
|
-
var urlParams = new URLSearchParams(Url.search);
|
|
747
|
+
var getUriAddParam = function getUriAddParam(baseUrl, params) {
|
|
748
|
+
var url = new URL(baseUrl);
|
|
749
|
+
var urlParams = new URLSearchParams(url.search);
|
|
754
750
|
// Create search params all lowercase so we can compare to the params passed in
|
|
755
751
|
var lowerCaseUrlParams = new URLSearchParams();
|
|
756
752
|
for (var _iterator = _createForOfIteratorHelperLoose(urlParams.keys()), _step; !(_step = _iterator()).done;) {
|
|
@@ -759,11 +755,11 @@ params) {
|
|
|
759
755
|
}
|
|
760
756
|
Object.keys(params).forEach(function (key) {
|
|
761
757
|
if (params[key] !== undefined && !lowerCaseUrlParams.has(key.toLowerCase())) {
|
|
762
|
-
urlParams.set(key, params[key]);
|
|
758
|
+
urlParams.set(key, String(params[key]));
|
|
763
759
|
}
|
|
764
760
|
});
|
|
765
|
-
|
|
766
|
-
return
|
|
761
|
+
url.search = urlParams.toString();
|
|
762
|
+
return url.toString();
|
|
767
763
|
};
|
|
768
764
|
/**
|
|
769
765
|
* Helper function to figure out the styles from the WMS layer object from the WMS GetCapabilities document
|
|
@@ -772,11 +768,13 @@ params) {
|
|
|
772
768
|
*/
|
|
773
769
|
var addStylesForLayer = function addStylesForLayer(layerObjectFromWMS) {
|
|
774
770
|
/* Get the Style object */
|
|
775
|
-
if (!(layerObjectFromWMS != null && layerObjectFromWMS.Style)) {
|
|
771
|
+
if (!(layerObjectFromWMS != null && layerObjectFromWMS.Style) || typeof layerObjectFromWMS.Style === 'object' && Object.keys(layerObjectFromWMS.Style).length === 0) {
|
|
776
772
|
return [];
|
|
777
773
|
}
|
|
778
774
|
var layerStyles = toArray(layerObjectFromWMS.Style);
|
|
779
|
-
|
|
775
|
+
if (!layerStyles) {
|
|
776
|
+
return [];
|
|
777
|
+
}
|
|
780
778
|
return layerStyles.map(function (layerStyle) {
|
|
781
779
|
var style = {
|
|
782
780
|
title: 'default',
|
|
@@ -784,23 +782,33 @@ var addStylesForLayer = function addStylesForLayer(layerObjectFromWMS) {
|
|
|
784
782
|
legendURL: '',
|
|
785
783
|
"abstract": 'No abstract available'
|
|
786
784
|
};
|
|
785
|
+
var getValueOrDefault = function getValueOrDefault(obj, key, defaultValue) {
|
|
786
|
+
// Only return .value if obj[key] is an object with a 'value' property
|
|
787
|
+
var prop = obj && obj[key];
|
|
788
|
+
if (prop && typeof prop === 'object' && 'value' in prop && typeof prop.value === 'string') {
|
|
789
|
+
return prop.value;
|
|
790
|
+
}
|
|
791
|
+
return defaultValue;
|
|
792
|
+
};
|
|
787
793
|
try {
|
|
788
|
-
style.title = layerStyle
|
|
794
|
+
style.title = getValueOrDefault(layerStyle, 'Title', style.title);
|
|
789
795
|
} catch (_e) {
|
|
790
796
|
/* Do nothing */
|
|
791
797
|
}
|
|
792
798
|
try {
|
|
793
|
-
style.name = layerStyle.Name.value;
|
|
799
|
+
style.name = layerStyle.Name && layerStyle.Name.value ? layerStyle.Name.value : style.name;
|
|
794
800
|
} catch (_e) {
|
|
795
801
|
/* Do nothing */
|
|
796
802
|
}
|
|
797
803
|
try {
|
|
798
|
-
|
|
804
|
+
var _layerStyle$LegendURL, _layerStyle$LegendURL2;
|
|
805
|
+
style.legendURL = (_layerStyle$LegendURL = (_layerStyle$LegendURL2 = layerStyle.LegendURL) == null || (_layerStyle$LegendURL2 = _layerStyle$LegendURL2.OnlineResource) == null ? void 0 : _layerStyle$LegendURL2.attr['xlink:href']) != null ? _layerStyle$LegendURL : '';
|
|
799
806
|
} catch (_e) {
|
|
800
807
|
/* Do nothing */
|
|
801
808
|
}
|
|
802
809
|
try {
|
|
803
|
-
|
|
810
|
+
var _layerStyle$Abstract$, _layerStyle$Abstract;
|
|
811
|
+
style["abstract"] = (_layerStyle$Abstract$ = (_layerStyle$Abstract = layerStyle.Abstract) == null ? void 0 : _layerStyle$Abstract.value) != null ? _layerStyle$Abstract$ : style["abstract"];
|
|
804
812
|
} catch (_e) {
|
|
805
813
|
/* Do nothing */
|
|
806
814
|
}
|
|
@@ -814,7 +822,10 @@ var addDimensionsForLayer = function addDimensionsForLayer(layerObjectFromWMS) {
|
|
|
814
822
|
var layerDimensions = toArray(layerObjectFromWMS.Dimension);
|
|
815
823
|
var layerDimensionsExtents = toArray(layerObjectFromWMS.Extent);
|
|
816
824
|
var dimensionList = layerDimensions.map(function (layerDimension) {
|
|
817
|
-
var dimensionName =
|
|
825
|
+
var dimensionName = '';
|
|
826
|
+
if (layerDimension.attr && layerDimension.attr.name) {
|
|
827
|
+
dimensionName = layerDimension.attr.name.toLowerCase();
|
|
828
|
+
}
|
|
818
829
|
/* Find corresponding Dimension Extent if given */
|
|
819
830
|
var dimExtentIndex = layerDimensionsExtents.findIndex(function (layerDimensionsExtent) {
|
|
820
831
|
var extentName = layerDimensionsExtent.attr && layerDimensionsExtent.attr.name && layerDimensionsExtent.attr.name.toLowerCase();
|
|
@@ -868,9 +879,7 @@ var addBoundingBoxForLayer = function addBoundingBoxForLayer(layerObjectFromWMS)
|
|
|
868
879
|
function sortArrayOfObjectsByKey(array, key) {
|
|
869
880
|
var spreadArray = [].concat(array);
|
|
870
881
|
return spreadArray.sort(function (arrayA, arrayB) {
|
|
871
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
872
882
|
var x = arrayA[key];
|
|
873
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
874
883
|
var y = arrayB[key];
|
|
875
884
|
if (x < y) {
|
|
876
885
|
return -1;
|
|
@@ -941,7 +950,7 @@ var makeNodeLayerFromWMSGetCapabilityLayer = function makeNodeLayerFromWMSGetCap
|
|
|
941
950
|
leaf: isleaf,
|
|
942
951
|
path: path,
|
|
943
952
|
keywords: toArray((_layer$KeywordList$Ke = layer == null || (_layer$KeywordList = layer.KeywordList) == null ? void 0 : _layer$KeywordList.Keyword) != null ? _layer$KeywordList$Ke : []).map(function (keyword) {
|
|
944
|
-
return keyword.value;
|
|
953
|
+
return typeof keyword === 'object' && keyword !== null && 'value' in keyword ? keyword.value : String(keyword);
|
|
945
954
|
}).filter(Boolean),
|
|
946
955
|
"abstract": layer != null && layer.Abstract ? layer.Abstract.value : undefined,
|
|
947
956
|
styles: styles,
|
|
@@ -1188,9 +1197,7 @@ var WMImage = /*#__PURE__*/function () {
|
|
|
1188
1197
|
this.randomize = true;
|
|
1189
1198
|
}
|
|
1190
1199
|
this._load();
|
|
1191
|
-
}
|
|
1192
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1193
|
-
;
|
|
1200
|
+
};
|
|
1194
1201
|
_proto._getImageWithHeaders = function _getImageWithHeaders(url, headers) {
|
|
1195
1202
|
var _this3 = this;
|
|
1196
1203
|
var fetchHeaders = new Headers();
|
|
@@ -1944,12 +1951,20 @@ function getNumberOfTimeSteps(starttime, stoptime, interval) {
|
|
|
1944
1951
|
return steps;
|
|
1945
1952
|
}
|
|
1946
1953
|
// In case of equally distributed time steps
|
|
1947
|
-
steps =
|
|
1948
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
1949
|
-
// @ts-ignore
|
|
1950
|
-
(stoptime.getTime() - starttime.getTime()) / interval.getTime() + 0.5, 10) + 1;
|
|
1954
|
+
steps = Math.round((stoptime.getTime() - starttime.getTime()) / interval.getTime()) + 1;
|
|
1951
1955
|
return steps;
|
|
1952
1956
|
}
|
|
1957
|
+
// Utility function to fill missing elements in ISO time range duration array
|
|
1958
|
+
var fillMissingISOTimeRangeElements = function fillMissingISOTimeRangeElements(times, defaultInterval) {
|
|
1959
|
+
var result = [].concat(times);
|
|
1960
|
+
if (result[2] === undefined) {
|
|
1961
|
+
result[2] = defaultInterval;
|
|
1962
|
+
}
|
|
1963
|
+
if (result[1] === undefined) {
|
|
1964
|
+
return [result[0], result[0], defaultInterval];
|
|
1965
|
+
}
|
|
1966
|
+
return result;
|
|
1967
|
+
};
|
|
1953
1968
|
// Takes "1999-01-01T00:00:00Z/2009-12-01T00:00:00Z/PT60S" as input
|
|
1954
1969
|
var ParseISOTimeRangeDuration = /*#__PURE__*/function () {
|
|
1955
1970
|
function ParseISOTimeRangeDuration(isoTimeRangeDuration, defaultInterval) {
|
|
@@ -1957,16 +1972,7 @@ var ParseISOTimeRangeDuration = /*#__PURE__*/function () {
|
|
|
1957
1972
|
defaultInterval = 'PT1M';
|
|
1958
1973
|
}
|
|
1959
1974
|
this.initialized = false;
|
|
1960
|
-
var times = isoTimeRangeDuration.split('/');
|
|
1961
|
-
// Add safety checks for undefined elements
|
|
1962
|
-
if (times[2] === undefined) {
|
|
1963
|
-
times[2] = defaultInterval;
|
|
1964
|
-
}
|
|
1965
|
-
if (times[1] === undefined) {
|
|
1966
|
-
// eslint-disable-next-line @typescript-eslint/prefer-destructuring
|
|
1967
|
-
times[1] = times[0];
|
|
1968
|
-
times[2] = defaultInterval;
|
|
1969
|
-
}
|
|
1975
|
+
var times = fillMissingISOTimeRangeElements(isoTimeRangeDuration.split('/'), defaultInterval);
|
|
1970
1976
|
// Convert the dates
|
|
1971
1977
|
this.startTime = parseISO8601DateToDate(times[0]);
|
|
1972
1978
|
this.stopTime = parseISO8601DateToDate(times[1]);
|
|
@@ -2523,7 +2529,7 @@ var WMXMLtoJSON = function WMXMLtoJSON(xmlDocument) {
|
|
|
2523
2529
|
newJson = {
|
|
2524
2530
|
attr: {}
|
|
2525
2531
|
};
|
|
2526
|
-
//
|
|
2532
|
+
// Convert to array if needed
|
|
2527
2533
|
if (json[nodeName] instanceof Array) ; else {
|
|
2528
2534
|
var obj = Object.assign({}, json[nodeName]);
|
|
2529
2535
|
// eslint-disable-next-line no-param-reassign
|
|
@@ -4337,8 +4343,7 @@ var WMLayer = /*#__PURE__*/function () {
|
|
|
4337
4343
|
_context.next = 10;
|
|
4338
4344
|
break;
|
|
4339
4345
|
}
|
|
4340
|
-
|
|
4341
|
-
console.log('invalidateWMSGetCapabilities');
|
|
4346
|
+
debugLogger(DebugType.Log);
|
|
4342
4347
|
_context.next = 10;
|
|
4343
4348
|
return invalidateWMSGetCapabilities(this.service);
|
|
4344
4349
|
case 10:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opengeoweb/webmap",
|
|
3
|
-
"version": "14.
|
|
3
|
+
"version": "14.2.2",
|
|
4
4
|
"description": "GeoWeb webmap library for the opengeoweb project",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"url": "git@gitlab.com:opengeoweb/opengeoweb.git"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@opengeoweb/shared": "14.
|
|
11
|
+
"@opengeoweb/shared": "14.2.2",
|
|
12
12
|
"@tanstack/query-core": "^5.69.2",
|
|
13
13
|
"lodash": "^4.17.21",
|
|
14
14
|
"i18next": "^25.0.1",
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
export interface WMHeader {
|
|
2
|
+
name: string;
|
|
3
|
+
value: string;
|
|
4
|
+
}
|
|
1
5
|
export interface WMImageOptions {
|
|
2
6
|
randomizer?: boolean;
|
|
3
|
-
headers:
|
|
7
|
+
headers: WMHeader[];
|
|
4
8
|
fakeMaxAge?: number;
|
|
5
9
|
}
|
|
6
10
|
export interface WMGeoReference {
|
|
@@ -25,7 +29,7 @@ export default class WMImage {
|
|
|
25
29
|
srcToLoad: string;
|
|
26
30
|
loadEventCallback?: (image: WMImage) => void;
|
|
27
31
|
el: HTMLImageElement;
|
|
28
|
-
headers:
|
|
32
|
+
headers: WMHeader[];
|
|
29
33
|
_imageTimeStampAtError: number;
|
|
30
34
|
_numFailedAttempts: number;
|
|
31
35
|
_loadStartTime: number;
|
|
@@ -18,7 +18,7 @@ export declare const isDefined: <T>(variable?: T) => variable is T;
|
|
|
18
18
|
* @param array The variable to convert
|
|
19
19
|
* @returns Always an array
|
|
20
20
|
*/
|
|
21
|
-
export declare const toArray: (array:
|
|
21
|
+
export declare const toArray: <T>(array: T | T[] | null | undefined) => T[];
|
|
22
22
|
export declare const getMapDimURL: (layer: WMLayer, dimensionOverride?: Dimension[]) => URLSearchParams;
|
|
23
23
|
/**
|
|
24
24
|
* Parses url and then it it allows for setting / changing key value pairs in that URL (From https://stackoverflow.com/questions/5999118/how-can-i-add-or-update-a-query-string-parameter)
|
|
@@ -26,14 +26,14 @@ export declare const getMapDimURL: (layer: WMLayer, dimensionOverride?: Dimensio
|
|
|
26
26
|
* @param params
|
|
27
27
|
* @returns
|
|
28
28
|
*/
|
|
29
|
-
export declare const getUriWithParam: (baseUrl: string, params?: Record<string,
|
|
29
|
+
export declare const getUriWithParam: (baseUrl: string, params?: Record<string, unknown>) => string;
|
|
30
30
|
/**
|
|
31
31
|
* Parses url and then it it allows for setting additional key value pairs in that URL (From https://stackoverflow.com/questions/5999118/how-can-i-add-or-update-a-query-string-parameter)
|
|
32
32
|
* @param baseUrl
|
|
33
33
|
* @param params
|
|
34
34
|
* @returns
|
|
35
35
|
*/
|
|
36
|
-
export declare const getUriAddParam: (baseUrl: string, params: Record<string,
|
|
36
|
+
export declare const getUriAddParam: (baseUrl: string, params: Record<string, unknown>) => string;
|
|
37
37
|
/**
|
|
38
38
|
* Helper function to figure out the styles from the WMS layer object from the WMS GetCapabilities document
|
|
39
39
|
* @param layerObjectFromWMS The layer object from the WMS GetCapabilities JSON document
|
|
@@ -49,7 +49,7 @@ export declare const addBoundingBoxForLayer: (layerObjectFromWMS: WMSLayerFromGe
|
|
|
49
49
|
* @param key The key of the object to use for sorting
|
|
50
50
|
* @returns Sorted array.
|
|
51
51
|
*/
|
|
52
|
-
export declare function sortArrayOfObjectsByKey<
|
|
52
|
+
export declare function sortArrayOfObjectsByKey<T>(array: T[], key: keyof T): T[];
|
|
53
53
|
/**
|
|
54
54
|
* Makes a LayerProps object from the WMSLayerFromGetCapabilities and nestedLayerPath
|
|
55
55
|
* @param layer WMSLayerFromGetCapabilities
|