qwc2 2026.2.12 → 2026.2.13
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/package.json +1 -1
- package/plugins/MapFilter.js +71 -75
package/package.json
CHANGED
package/plugins/MapFilter.js
CHANGED
|
@@ -77,7 +77,7 @@ var MapFilter = /*#__PURE__*/function (_React$Component) {
|
|
|
77
77
|
filterInvalid: false
|
|
78
78
|
});
|
|
79
79
|
_defineProperty(_this, "collectPredefinedFilters", function (layers) {
|
|
80
|
-
|
|
80
|
+
var filters = layers.reduce(function (res, layer) {
|
|
81
81
|
return _objectSpread(_objectSpread({}, res), (layer.predefinedFilters || []).reduce(function (res2, config) {
|
|
82
82
|
return _objectSpread(_objectSpread({}, res2), {}, _defineProperty({}, config.id, _objectSpread(_objectSpread({}, config), {}, {
|
|
83
83
|
filter: Object.fromEntries(Object.entries(config.filter).map(function (_ref) {
|
|
@@ -89,40 +89,55 @@ var MapFilter = /*#__PURE__*/function (_React$Component) {
|
|
|
89
89
|
})));
|
|
90
90
|
}, {}));
|
|
91
91
|
}, {});
|
|
92
|
+
if (_this.props.allowFilterByTime) {
|
|
93
|
+
var timeFilter = {};
|
|
94
|
+
layers.forEach(function (layer) {
|
|
95
|
+
return _this.buildTimeFilter(layer, timeFilter, layer.wms_name);
|
|
96
|
+
});
|
|
97
|
+
if (!isEmpty(timeFilter)) {
|
|
98
|
+
filters.__timefilter = {
|
|
99
|
+
id: "__timefilter",
|
|
100
|
+
active: false,
|
|
101
|
+
filter: timeFilter,
|
|
102
|
+
title: LocaleUtils.tr("mapfilter.timefilter"),
|
|
103
|
+
fields: [{
|
|
104
|
+
id: "tstart",
|
|
105
|
+
defaultValue: "",
|
|
106
|
+
inputConfig: {
|
|
107
|
+
type: "datetime"
|
|
108
|
+
},
|
|
109
|
+
title: LocaleUtils.tr("mapfilter.timefrom")
|
|
110
|
+
}, {
|
|
111
|
+
id: "tend",
|
|
112
|
+
defaultValue: "",
|
|
113
|
+
inputConfig: {
|
|
114
|
+
type: "datetime"
|
|
115
|
+
},
|
|
116
|
+
title: LocaleUtils.tr("mapfilter.timeto")
|
|
117
|
+
}],
|
|
118
|
+
defaultValues: {
|
|
119
|
+
tstart: '1800-01-01',
|
|
120
|
+
tend: '9999-12-31'
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return filters;
|
|
92
126
|
});
|
|
93
127
|
_defineProperty(_this, "initializeFilters", function (predefinedFilters, prevFilters) {
|
|
94
128
|
clearTimeout(_this.applyFilterTimeout);
|
|
95
129
|
_this.applyFilterTimeout = null;
|
|
96
|
-
|
|
130
|
+
return Object.values(predefinedFilters).reduce(function (res, filterConfig) {
|
|
97
131
|
var _prevFilters$filterCo;
|
|
98
132
|
return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, filterConfig.id, (_prevFilters$filterCo = prevFilters === null || prevFilters === void 0 ? void 0 : prevFilters[filterConfig.id]) !== null && _prevFilters$filterCo !== void 0 ? _prevFilters$filterCo : {
|
|
99
133
|
active: false,
|
|
100
134
|
filter: filterConfig.filter,
|
|
101
135
|
values: filterConfig.fields.reduce(function (values, valueConfig) {
|
|
102
136
|
return _objectSpread(_objectSpread({}, values), {}, _defineProperty({}, valueConfig.id, valueConfig.defaultValue));
|
|
103
|
-
}, {})
|
|
137
|
+
}, {}),
|
|
138
|
+
defaultValues: filterConfig.defaultValues
|
|
104
139
|
}));
|
|
105
140
|
}, {});
|
|
106
|
-
var timeFilter = {};
|
|
107
|
-
_this.props.layers.forEach(function (layer) {
|
|
108
|
-
return _this.buildTimeFilter(layer, timeFilter, layer.wms_name);
|
|
109
|
-
});
|
|
110
|
-
if (!isEmpty(timeFilter) && _this.props.allowFilterByTime) {
|
|
111
|
-
var _prevFilters$__timefi, _prevFilters$__timefi2, _prevFilters$__timefi3, _prevFilters$__timefi4;
|
|
112
|
-
filters.__timefilter = {
|
|
113
|
-
active: (_prevFilters$__timefi = (_prevFilters$__timefi2 = prevFilters.__timefilter) === null || _prevFilters$__timefi2 === void 0 ? void 0 : _prevFilters$__timefi2.active) !== null && _prevFilters$__timefi !== void 0 ? _prevFilters$__timefi : false,
|
|
114
|
-
filter: timeFilter,
|
|
115
|
-
values: (_prevFilters$__timefi3 = (_prevFilters$__timefi4 = prevFilters.__timefilter) === null || _prevFilters$__timefi4 === void 0 ? void 0 : _prevFilters$__timefi4.values) !== null && _prevFilters$__timefi3 !== void 0 ? _prevFilters$__timefi3 : {
|
|
116
|
-
tstart: "",
|
|
117
|
-
tend: ""
|
|
118
|
-
},
|
|
119
|
-
defaultValues: {
|
|
120
|
-
tstart: '1800-01-01',
|
|
121
|
-
tend: '9999-12-31'
|
|
122
|
-
}
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
return filters;
|
|
126
141
|
});
|
|
127
142
|
_defineProperty(_this, "applyFilter", function () {
|
|
128
143
|
var _this$state$filters$_;
|
|
@@ -279,7 +294,7 @@ var MapFilter = /*#__PURE__*/function (_React$Component) {
|
|
|
279
294
|
if (_this.state.filterEditor) {
|
|
280
295
|
return _this.renderFilterEditor();
|
|
281
296
|
} else {
|
|
282
|
-
return [_this.renderInvalidWarning()].concat(_toConsumableArray(_this.renderPredefinedFilters()), [_this.props.
|
|
297
|
+
return [_this.renderInvalidWarning()].concat(_toConsumableArray(_this.renderPredefinedFilters()), [_this.props.allowFilterByGeom ? _this.renderGeomFilter() : null], _toConsumableArray(_this.renderCustomFilters()));
|
|
283
298
|
}
|
|
284
299
|
});
|
|
285
300
|
_defineProperty(_this, "renderInvalidWarning", function () {
|
|
@@ -389,61 +404,42 @@ var MapFilter = /*#__PURE__*/function (_React$Component) {
|
|
|
389
404
|
var _field$title;
|
|
390
405
|
return /*#__PURE__*/React.createElement("tr", {
|
|
391
406
|
key: field.id
|
|
392
|
-
}, /*#__PURE__*/React.createElement("td", null, (_field$title = field.title) !== null && _field$title !== void 0 ? _field$title : LocaleUtils.tr(field.titlemsgid), ": "), /*#__PURE__*/React.createElement("td", null,
|
|
393
|
-
onChange: function onChange(ev) {
|
|
394
|
-
return _this.updateFieldValue(config.id, field.id, ev.target.value);
|
|
395
|
-
},
|
|
396
|
-
value: _this.state.filters[config.id].values[field.id]
|
|
397
|
-
}, !field.defaultValue ? /*#__PURE__*/React.createElement("option", {
|
|
398
|
-
value: ""
|
|
399
|
-
}, LocaleUtils.tr("common.select")) : null, field.inputConfig.options.map(function (entry) {
|
|
400
|
-
var _entry$value, _entry$value2, _entry$label;
|
|
401
|
-
return /*#__PURE__*/React.createElement("option", {
|
|
402
|
-
key: (_entry$value = entry.value) !== null && _entry$value !== void 0 ? _entry$value : entry,
|
|
403
|
-
value: (_entry$value2 = entry.value) !== null && _entry$value2 !== void 0 ? _entry$value2 : entry
|
|
404
|
-
}, (_entry$label = entry.label) !== null && _entry$label !== void 0 ? _entry$label : entry.labelmsgid ? LocaleUtils.tr(entry.labelmsgid) : entry);
|
|
405
|
-
})) : /*#__PURE__*/React.createElement("input", _extends({
|
|
406
|
-
onChange: function onChange(ev) {
|
|
407
|
-
return _this.updateFieldValue(config.id, field.id, ev.target.value);
|
|
408
|
-
},
|
|
409
|
-
type: "text",
|
|
410
|
-
value: _this.state.filters[config.id].values[field.id] || ""
|
|
411
|
-
}, field.inputConfig))));
|
|
407
|
+
}, /*#__PURE__*/React.createElement("td", null, (_field$title = field.title) !== null && _field$title !== void 0 ? _field$title : LocaleUtils.tr(field.titlemsgid), ": "), /*#__PURE__*/React.createElement("td", null, _this.renderFilterField(config.id, field)));
|
|
412
408
|
})))));
|
|
413
409
|
});
|
|
414
410
|
});
|
|
415
|
-
_defineProperty(_this, "
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
411
|
+
_defineProperty(_this, "renderFilterField", function (configid, field) {
|
|
412
|
+
if (field.inputConfig.type === 'select') {
|
|
413
|
+
return /*#__PURE__*/React.createElement("select", {
|
|
414
|
+
onChange: function onChange(ev) {
|
|
415
|
+
return _this.updateFieldValue(configid, field.id, ev.target.value);
|
|
416
|
+
},
|
|
417
|
+
value: _this.state.filters[configid].values[field.id]
|
|
418
|
+
}, !field.defaultValue ? /*#__PURE__*/React.createElement("option", {
|
|
419
|
+
value: ""
|
|
420
|
+
}, LocaleUtils.tr("common.select")) : null, field.inputConfig.options.map(function (entry) {
|
|
421
|
+
var _entry$value, _entry$value2, _entry$label;
|
|
422
|
+
return /*#__PURE__*/React.createElement("option", {
|
|
423
|
+
key: (_entry$value = entry.value) !== null && _entry$value !== void 0 ? _entry$value : entry,
|
|
424
|
+
value: (_entry$value2 = entry.value) !== null && _entry$value2 !== void 0 ? _entry$value2 : entry
|
|
425
|
+
}, (_entry$label = entry.label) !== null && _entry$label !== void 0 ? _entry$label : entry.labelmsgid ? LocaleUtils.tr(entry.labelmsgid) : entry);
|
|
426
|
+
}));
|
|
427
|
+
} else if (field.inputConfig.type === "datetime") {
|
|
428
|
+
return /*#__PURE__*/React.createElement(DateTimeInput, {
|
|
429
|
+
onChange: function onChange(value) {
|
|
430
|
+
return _this.updateFieldValue(configid, field.id, value);
|
|
431
|
+
},
|
|
432
|
+
value: _this.state.filters[configid].values[field.id] || ""
|
|
433
|
+
});
|
|
434
|
+
} else {
|
|
435
|
+
return /*#__PURE__*/React.createElement("input", _extends({
|
|
436
|
+
onChange: function onChange(ev) {
|
|
437
|
+
return _this.updateFieldValue(configid, field.id, ev.target.value);
|
|
438
|
+
},
|
|
439
|
+
type: "text",
|
|
440
|
+
value: _this.state.filters[configid].values[field.id] || ""
|
|
441
|
+
}, field.inputConfig));
|
|
419
442
|
}
|
|
420
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
421
|
-
className: "map-filter-entry",
|
|
422
|
-
key: "__timefilter"
|
|
423
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
424
|
-
className: "map-filter-entry-titlebar"
|
|
425
|
-
}, /*#__PURE__*/React.createElement("span", {
|
|
426
|
-
className: "map-filter-entry-title"
|
|
427
|
-
}, LocaleUtils.tr("mapfilter.timefilter")), /*#__PURE__*/React.createElement(ToggleSwitch, {
|
|
428
|
-
active: timeFilter.active,
|
|
429
|
-
onChange: function onChange(active) {
|
|
430
|
-
return _this.toggleFilter("__timefilter", active);
|
|
431
|
-
}
|
|
432
|
-
})), /*#__PURE__*/React.createElement("div", {
|
|
433
|
-
className: "map-filter-entry-body"
|
|
434
|
-
}, /*#__PURE__*/React.createElement("table", {
|
|
435
|
-
className: "map-filter-entry-fields"
|
|
436
|
-
}, /*#__PURE__*/React.createElement("tbody", null, /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, LocaleUtils.tr("mapfilter.timefrom"), ": "), /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement(DateTimeInput, {
|
|
437
|
-
onChange: function onChange(value) {
|
|
438
|
-
return _this.updateFieldValue("__timefilter", "tstart", value);
|
|
439
|
-
},
|
|
440
|
-
value: timeFilter.values.tstart
|
|
441
|
-
}))), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, LocaleUtils.tr("mapfilter.timeto"), ": "), /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement(DateTimeInput, {
|
|
442
|
-
onChange: function onChange(value) {
|
|
443
|
-
return _this.updateFieldValue("__timefilter", "tend", value);
|
|
444
|
-
},
|
|
445
|
-
value: timeFilter.values.tend
|
|
446
|
-
})))))));
|
|
447
443
|
});
|
|
448
444
|
_defineProperty(_this, "renderCustomFilters", function () {
|
|
449
445
|
if (!_this.props.allowCustomFilters) {
|