@opengeoweb/webmap-react 12.11.0 → 12.12.0

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
@@ -5003,6 +5003,47 @@ var getTimeStepsToCheck = function getTimeStepsToCheck(timespan) {
5003
5003
  */
5004
5004
  var getTimeStepsToCheckMemoized = memoize(getTimeStepsToCheck);
5005
5005
 
5006
+ var getDimensionName = function getDimensionName(dimName) {
5007
+ switch (dimName) {
5008
+ case 'time':
5009
+ return 'val';
5010
+ case 'reference_time':
5011
+ return 'ref';
5012
+ default:
5013
+ {
5014
+ var split = dimName.split('_');
5015
+ if (split[0] === 'pressure') {
5016
+ return 'p';
5017
+ }
5018
+ if (split[0] === 'height') {
5019
+ return 'h';
5020
+ }
5021
+ return split[0];
5022
+ }
5023
+ }
5024
+ };
5025
+ var formatDimensionVal = function formatDimensionVal(dimName, dimVal) {
5026
+ switch (dimName) {
5027
+ case 'time':
5028
+ case 'reference_time':
5029
+ {
5030
+ var date = dateUtils.stringToDate(dimVal, "yyyy-MM-dd'T'HH:mm:ss'Z'", true);
5031
+ if (date) {
5032
+ return dateUtils.dateToString(date, "MM-dd HH:mm'Z'", true);
5033
+ }
5034
+ return dimVal;
5035
+ }
5036
+ default:
5037
+ {
5038
+ return dimVal;
5039
+ }
5040
+ }
5041
+ };
5042
+ var getDimensionInfo = function getDimensionInfo(wmLayerDimension) {
5043
+ var layerName = getDimensionName(wmLayerDimension.name);
5044
+ var layerVal = formatDimensionVal(wmLayerDimension.name, wmLayerDimension.currentValue);
5045
+ return "".concat(layerName, " ").concat(layerVal);
5046
+ };
5006
5047
  var ShowTimeAwareLayerInfo = function ShowTimeAwareLayerInfo(_ref) {
5007
5048
  var _wmLayer$dimensions;
5008
5049
  var wmLayer = _ref.wmLayer,
@@ -5039,9 +5080,9 @@ var ShowTimeAwareLayerInfo = function ShowTimeAwareLayerInfo(_ref) {
5039
5080
  var isSelectedStep = visible && (wmTimeDim === null || wmTimeDim === void 0 ? void 0 : wmTimeDim.currentValue) === closestValue;
5040
5081
  var colorImageIsAvailable = requestedStepHasImage ? '#40AF50' : '#FF0000';
5041
5082
  var colorLayerIsOutsideRange = requestedStepIsOutsideRange ? '#5080FA' : colorImageIsAvailable;
5042
- var height = requestedStepIsOutsideRange ? '15px' : '26px';
5043
- var top = requestedStepIsOutsideRange ? '5px' : '0px';
5044
- var left = "".concat(index * itemWidth, "px");
5083
+ var height = requestedStepIsOutsideRange ? '15px' : '20px';
5084
+ var top = requestedStepIsOutsideRange ? '5px' : '2px';
5085
+ var left = "calc(25% + ".concat(index * itemWidth, "px)");
5045
5086
  var opacity = isSelectedStep ? 1 : 0.8;
5046
5087
  return jsx("span", {
5047
5088
  style: {
@@ -5060,62 +5101,87 @@ var ShowTimeAwareLayerInfo = function ShowTimeAwareLayerInfo(_ref) {
5060
5101
  });
5061
5102
  // eslint-disable-next-line react-hooks/exhaustive-deps
5062
5103
  }, [layer, timeStepsToCheck, visible, wmTimeDim === null || wmTimeDim === void 0 ? void 0 : wmTimeDim.currentValue, render]);
5063
- return jsxs("div", {
5064
- style: {
5065
- height: '26px',
5066
- position: 'relative',
5067
- left: '50px',
5068
- right: '10px',
5069
- marginTop: '12px',
5070
- marginBottom: '-10px'
5071
- },
5072
- children: [jsx("div", {
5073
- children: jsx("div", {
5074
- children: items
5075
- })
5076
- }), jsxs("div", {
5104
+ var dimsInfo = wmLayer === null || wmLayer === void 0 ? void 0 : wmLayer.dimensions.map(function (wmLayerDimension) {
5105
+ return getDimensionInfo(wmLayerDimension);
5106
+ });
5107
+ var tooltipText = jsxs("span", {
5108
+ children: [wmLayer === null || wmLayer === void 0 ? void 0 : wmLayer.title, ": ", jsx("br", {}), wmLayer === null || wmLayer === void 0 ? void 0 : wmLayer.dimensions.map(function (dim, index) {
5109
+ return jsxs("span", {
5110
+ children: [dim.name, ": ", formatDimensionVal(dim.name, dim.currentValue), index < dimsInfo.length - 1 && jsx("br", {})]
5111
+ }, "".concat(dim.name, "-").concat(dim.currentValue));
5112
+ })]
5113
+ });
5114
+ return jsx(CustomTooltip, {
5115
+ title: tooltipText,
5116
+ children: jsxs("div", {
5077
5117
  style: {
5078
- position: 'absolute',
5079
- left: '10px',
5080
- paddingTop: '3px',
5081
- fontSize: '12px',
5082
- fontFamily: 'Roboto',
5083
- opacity: 0.85
5118
+ position: 'relative',
5119
+ width: 'calc(100% - 60px)',
5120
+ left: '50px',
5121
+ right: '10px',
5122
+ marginTop: '12px',
5123
+ marginBottom: '-10px'
5084
5124
  },
5085
- children: [jsx("span", {
5125
+ "data-testid": "debug-info",
5126
+ children: [jsx("div", {
5086
5127
  style: {
5087
- width: '300px',
5088
- position: 'absolute',
5089
- display: 'inline-block',
5090
- height: '15px'
5128
+ width: '100%'
5091
5129
  },
5092
- children: wmLayer === null || wmLayer === void 0 ? void 0 : wmLayer.title
5093
- }), jsx("span", {
5130
+ children: jsx("div", {
5131
+ children: items
5132
+ })
5133
+ }), jsxs("div", {
5094
5134
  style: {
5095
- position: 'absolute',
5096
- left: '320px',
5097
- display: 'inline-block',
5098
- width: '600px',
5099
- opacity: '0.7'
5135
+ left: '10px',
5136
+ paddingTop: '3px',
5137
+ fontSize: '12px',
5138
+ fontFamily: 'Roboto',
5139
+ opacity: 0.85,
5140
+ width: '100%'
5100
5141
  },
5101
- children: wmLayer === null || wmLayer === void 0 ? void 0 : wmLayer.dimensions.map(function (wmLayerDimension) {
5102
- return jsxs("span", {
5103
- style: {
5104
- margin: '0 4px',
5105
- padding: '1px 5px',
5106
- background: 'blue',
5107
- color: 'white',
5108
- fontSize: '11px'
5109
- },
5110
- children: [wmLayerDimension.name, " = ", wmLayerDimension.currentValue]
5111
- }, wmLayerDimension.name);
5112
- })
5142
+ children: [jsx("span", {
5143
+ style: {
5144
+ display: 'inline-block',
5145
+ verticalAlign: 'top',
5146
+ width: '25%',
5147
+ overflow: 'hidden',
5148
+ textOverflow: 'ellipsis',
5149
+ whiteSpace: 'nowrap',
5150
+ fontSize: '12px',
5151
+ paddingRight: '4px',
5152
+ paddingLeft: '4px',
5153
+ color: '#051039',
5154
+ backgroundColor: 'rgba(236, 237, 238, 0.7)',
5155
+ borderRadius: 2
5156
+ },
5157
+ children: wmLayer === null || wmLayer === void 0 ? void 0 : wmLayer.title
5158
+ }), jsx("span", {
5159
+ style: {
5160
+ display: 'inline-block',
5161
+ width: '75%',
5162
+ opacity: '0.7'
5163
+ },
5164
+ children: dimsInfo.map(function (dimension) {
5165
+ return jsx("span", {
5166
+ style: {
5167
+ margin: '0 0 0 0px',
5168
+ padding: '1px 5px',
5169
+ background: 'blue',
5170
+ borderRadius: 2,
5171
+ color: 'white',
5172
+ fontSize: '11px'
5173
+ },
5174
+ children: dimension
5175
+ }, dimension);
5176
+ })
5177
+ })]
5113
5178
  })]
5114
- })]
5115
- });
5179
+ })
5180
+ }, wmLayer.id);
5116
5181
  };
5117
5182
 
5118
5183
  var TimeawareImageSourceWMSLayer = function TimeawareImageSourceWMSLayer(_ref) {
5184
+ var _wmLayer$dimensions$f, _wmLayer$dimensions4;
5119
5185
  var layerId = _ref.layerId,
5120
5186
  getCapsURL = _ref.getCapsURL,
5121
5187
  layerOptions = _ref.layerOptions,
@@ -5311,7 +5377,11 @@ var TimeawareImageSourceWMSLayer = function TimeawareImageSourceWMSLayer(_ref) {
5311
5377
  // - dimensionsValues,
5312
5378
  // eslint-disable-next-line react-hooks/exhaustive-deps
5313
5379
  }, [layer, wmLayer, timespan === null || timespan === void 0 ? void 0 : timespan.start, timespan === null || timespan === void 0 ? void 0 : timespan.end, timespan === null || timespan === void 0 ? void 0 : timespan.step, layerName, styleName, dimensionsValuesEffectCheck]);
5314
- return debugMode ? jsx(ShowTimeAwareLayerInfo, {
5380
+ // Only show debug info for data layers with time dimension
5381
+ var hasTimeDim = (_wmLayer$dimensions$f = wmLayer === null || wmLayer === void 0 || (_wmLayer$dimensions4 = wmLayer.dimensions) === null || _wmLayer$dimensions4 === void 0 ? void 0 : _wmLayer$dimensions4.findIndex(function (dimension) {
5382
+ return dimension.name === 'time';
5383
+ })) !== null && _wmLayer$dimensions$f !== void 0 ? _wmLayer$dimensions$f : -1;
5384
+ return debugMode && hasTimeDim !== -1 ? jsx(ShowTimeAwareLayerInfo, {
5315
5385
  wmLayer: wmLayer,
5316
5386
  stepsToCheck: getTimeStepsToCheckMemoized(timespan),
5317
5387
  layer: layer,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeoweb/webmap-react",
3
- "version": "12.11.0",
3
+ "version": "12.12.0",
4
4
  "description": "GeoWeb react wrapper for webmap",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -8,9 +8,9 @@
8
8
  "url": "git@gitlab.com:opengeoweb/opengeoweb.git"
9
9
  },
10
10
  "dependencies": {
11
- "@opengeoweb/webmap": "12.11.0",
12
- "@opengeoweb/theme": "12.11.0",
13
- "@opengeoweb/shared": "12.11.0",
11
+ "@opengeoweb/webmap": "12.12.0",
12
+ "@opengeoweb/theme": "12.12.0",
13
+ "@opengeoweb/shared": "12.12.0",
14
14
  "lodash": "^4.17.21",
15
15
  "ol": "^10.4.0",
16
16
  "proj4": "^2.9.2",