qwc2 2026.6.9 → 2026.6.10
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.
|
@@ -377,9 +377,9 @@ var AttributeForm = /*#__PURE__*/function (_React$Component) {
|
|
|
377
377
|
var changed = _this.props.editContext.changed;
|
|
378
378
|
var relTable = _this.state.relationTables[table];
|
|
379
379
|
var fkVal = relTable.pkField ? _this.props.editContext.feature.properties[relTable.pkField] : _this.props.editContext.feature.id;
|
|
380
|
-
var
|
|
381
|
-
if (_this.props.editContext.action !== "Draw" && feature.properties[
|
|
382
|
-
newRelationValues[table].features[idx].properties[
|
|
380
|
+
var fkField = _this.state.relationTables[table].fkField;
|
|
381
|
+
if (_this.props.editContext.action !== "Draw" && feature.properties[fkField] !== fkVal) {
|
|
382
|
+
newRelationValues[table].features[idx].properties[fkField] = fkVal;
|
|
383
383
|
newRelationValues[table].features[idx].__status__ = "changed";
|
|
384
384
|
changed = true;
|
|
385
385
|
}
|
|
@@ -108,6 +108,7 @@ var AttributeTableWidget = /*#__PURE__*/function (_React$Component) {
|
|
|
108
108
|
type: "checkbox"
|
|
109
109
|
}));
|
|
110
110
|
} else if (constraints.values || constraints.keyvalrel) {
|
|
111
|
+
var _constraints$keyvalre, _constraints$keyvalre2;
|
|
111
112
|
var filterExpr = null;
|
|
112
113
|
if (field.filterExpression) {
|
|
113
114
|
filterExpr = parseExpression(field.filterExpression, feature, editConfig, _this.props.iface, mapPrefix, _this.props.mapCrs, function () {
|
|
@@ -120,7 +121,8 @@ var AttributeTableWidget = /*#__PURE__*/function (_React$Component) {
|
|
|
120
121
|
editIface: _this.props.iface,
|
|
121
122
|
fieldId: field.id,
|
|
122
123
|
filterExpr: filterExpr,
|
|
123
|
-
keyvalrel: constraints.keyvalrel,
|
|
124
|
+
keyvalrel: (_constraints$keyvalre = constraints.keyvalrel) === null || _constraints$keyvalre === void 0 || (_constraints$keyvalre2 = _constraints$keyvalre.replace) === null || _constraints$keyvalre2 === void 0 ? void 0 : _constraints$keyvalre2.call(_constraints$keyvalre, new RegExp("^".concat(mapPrefix, "\\.")), ''),
|
|
125
|
+
mapPrefix: mapPrefix,
|
|
124
126
|
multiSelect: constraints.allowMulti === true,
|
|
125
127
|
name: field.id,
|
|
126
128
|
readOnly: constraints.readOnly || disabled,
|
|
@@ -539,6 +539,7 @@ var QtDesignerForm = /*#__PURE__*/function (_React$Component) {
|
|
|
539
539
|
editIface: _this.props.iface,
|
|
540
540
|
fieldId: widget.name,
|
|
541
541
|
key: widget.name,
|
|
542
|
+
mapPrefix: _this.props.mapPrefix,
|
|
542
543
|
name: elname,
|
|
543
544
|
placeholder: inputConstraints.placeholder,
|
|
544
545
|
readOnly: inputConstraints.readOnly || inputConstraints.readOnly,
|
package/package.json
CHANGED
package/plugins/Print.js
CHANGED
|
@@ -252,10 +252,15 @@ var Print = /*#__PURE__*/function (_React$Component) {
|
|
|
252
252
|
onChange: _this.changeLayout,
|
|
253
253
|
value: _this.state.layout.name
|
|
254
254
|
}, _this.state.layouts.map(function (item) {
|
|
255
|
+
var name = _this.translateLayoutName(themeLayer, item);
|
|
256
|
+
if (_this.props.omitLayoutPathsFromTitle) {
|
|
257
|
+
name = name.replace(/.*\//, '');
|
|
258
|
+
}
|
|
255
259
|
return /*#__PURE__*/React.createElement("option", {
|
|
256
260
|
key: item.name,
|
|
261
|
+
title: name,
|
|
257
262
|
value: item.name
|
|
258
|
-
},
|
|
263
|
+
}, name);
|
|
259
264
|
})))), _this.props.formats.length > 1 ? /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, LocaleUtils.tr("common.format")), /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("select", {
|
|
260
265
|
disabled: _this.state.printSeriesEnabled,
|
|
261
266
|
name: "FORMAT",
|
|
@@ -1199,6 +1204,8 @@ _defineProperty(Print, "propTypes", {
|
|
|
1199
1204
|
map: PropTypes.object,
|
|
1200
1205
|
/** Whether to allow moving the extent while selecting the print series. */
|
|
1201
1206
|
movePrintSeries: PropTypes.bool,
|
|
1207
|
+
/** Whether to cut off any layout path prefixes (i.e. as in `subdir/Layout Name`) from the layout titles displayed in selection combo. */
|
|
1208
|
+
omitLayoutPathsFromTitle: PropTypes.bool,
|
|
1202
1209
|
/** Whether to print external layers. Requires QGIS Server 3.x! */
|
|
1203
1210
|
printExternalLayers: PropTypes.bool,
|
|
1204
1211
|
/** Whether to print highlights on the map, e.g. selected features or redlining. */
|
package/reducers/layers.js
CHANGED
|
@@ -282,23 +282,6 @@ export default function layers() {
|
|
|
282
282
|
}
|
|
283
283
|
});
|
|
284
284
|
}
|
|
285
|
-
// Ensure (empty) theme layer is present
|
|
286
|
-
if (!_newLayers5.find(function (l) {
|
|
287
|
-
return l.role === LayerRole.THEME;
|
|
288
|
-
})) {
|
|
289
|
-
var prevThemeLayer = state.flat.find(function (l) {
|
|
290
|
-
return l.role === LayerRole.THEME;
|
|
291
|
-
});
|
|
292
|
-
if (prevThemeLayer) {
|
|
293
|
-
var themeLayer = _objectSpread(_objectSpread({}, prevThemeLayer), {}, {
|
|
294
|
-
sublayers: []
|
|
295
|
-
});
|
|
296
|
-
var pos = _newLayers5.findIndex(function (l) {
|
|
297
|
-
return l.role === LayerRole.BACKGROUND;
|
|
298
|
-
});
|
|
299
|
-
_newLayers5.splice(pos === -1 ? _newLayers5.length : pos, 0, _objectSpread(_objectSpread({}, themeLayer), LayerUtils.buildWMSLayerParams(themeLayer, state.filter)));
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
285
|
UrlParams.updateParams({
|
|
303
286
|
l: LayerUtils.buildWMSLayerUrlParam(_newLayers5)
|
|
304
287
|
});
|