qwc2 2025.10.9 → 2025.10.14
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/actions/display.js +30 -1
- package/actions/editing.js +22 -1
- package/actions/layerinfo.js +13 -1
- package/actions/layers.js +213 -3
- package/actions/localConfig.js +58 -1
- package/actions/locale.js +21 -1
- package/actions/locate.js +26 -1
- package/actions/logging.js +10 -1
- package/actions/map.js +105 -2
- package/actions/measurement.js +12 -1
- package/actions/processNotifications.js +37 -1
- package/actions/redlining.js +18 -1
- package/actions/redliningPick.js +12 -1
- package/actions/search.js +12 -1
- package/actions/serviceinfo.js +12 -1
- package/actions/task.js +55 -3
- package/actions/theme.js +339 -19
- package/actions/windows.js +164 -5
- package/components/AppMenu.js +435 -3
- package/components/AttributeForm.js +928 -32
- package/components/AttributeTableWidget.js +1105 -13
- package/components/AutoEditForm.js +189 -3
- package/components/CoordinateDisplayer.js +78 -2
- package/components/EditComboField.js +190 -6
- package/components/EditUploadField.js +315 -3
- package/components/ExportSelection.js +203 -2
- package/components/FullscreenSwitcher.js +90 -3
- package/components/Icon.js +81 -2
- package/components/IdentifyViewer.js +1161 -6
- package/components/ImportLayer.js +718 -20
- package/components/LayerInfoWindow.js +145 -2
- package/components/LinkFeatureForm.js +246 -5
- package/components/MapButton.js +88 -2
- package/components/MapSelection.js +287 -8
- package/components/MessageBar.js +68 -2
- package/components/NumericInputWindow.js +359 -2
- package/components/PickFeature.js +266 -2
- package/components/PluginsContainer.js +227 -8
- package/components/PrintSelection.js +620 -49
- package/components/ProcessNotifications.js +104 -2
- package/components/QtDesignerForm.js +1137 -18
- package/components/ResizeableWindow.js +591 -8
- package/components/SearchBox.js +1307 -20
- package/components/ServiceInfoWindow.js +107 -2
- package/components/SideBar.js +204 -4
- package/components/StandardApp.js +381 -20
- package/components/Swipeable.js +15 -1
- package/components/TaskBar.js +85 -2
- package/components/ThemeLayersListWindow.js +216 -4
- package/components/ThemeList.js +381 -7
- package/components/Toolbar.js +106 -2
- package/components/WindowManager.js +178 -2
- package/components/map/OlLayer.js +257 -6
- package/components/map/OlMap.js +405 -5
- package/components/map/layers/BingLayer.js +31 -2
- package/components/map/layers/GoogleLayer.js +222 -19
- package/components/map/layers/GraticuleLayer.js +21 -1
- package/components/map/layers/ImageLayer.js +15 -1
- package/components/map/layers/MVTLayer.js +52 -2
- package/components/map/layers/OSMLayer.js +24 -2
- package/components/map/layers/OverlayLayer.js +55 -3
- package/components/map/layers/VectorLayer.js +173 -8
- package/components/map/layers/WFSLayer.js +220 -6
- package/components/map/layers/WMSLayer.js +180 -6
- package/components/map/layers/WMTSLayer.js +67 -3
- package/components/map/layers/XYZLayer.js +24 -2
- package/components/map/layers/index.js +28 -1
- package/components/map3d/EditDataset3D.js +190 -3
- package/components/map3d/HeightProfile3D.js +402 -3
- package/components/map3d/ImportObjects3D.js +162 -2
- package/components/map3d/Map3D.js +1304 -38
- package/components/map3d/MapControls3D.js +392 -7
- package/components/map3d/SearchField3D.js +183 -11
- package/components/map3d/View3DSwitcher.js +98 -2
- package/components/map3d/drawtool/CreateTool3D.js +174 -4
- package/components/map3d/drawtool/EditTool3D.js +590 -6
- package/components/map3d/drawtool/NumericInput3D.js +336 -4
- package/components/map3d/layers/GeoTIFFLayer3D.js +15 -1
- package/components/map3d/layers/VectorLayer3D.js +53 -2
- package/components/map3d/layers/WFSLayer3D.js +109 -3
- package/components/map3d/layers/WMSLayer3D.js +70 -2
- package/components/map3d/layers/WMTSLayer3D.js +27 -3
- package/components/map3d/layers/index.js +14 -1
- package/components/map3d/utils/FirstPersonControls3D.js +423 -16
- package/components/map3d/utils/MiscUtils3D.js +221 -13
- package/components/map3d/utils/OrbitControls3D.js +176 -5
- package/components/map3d/utils/Tiles3DStyle.js +238 -9
- package/components/share/ShareLink.js +54 -2
- package/components/share/ShareQRCode.js +62 -2
- package/components/share/ShareSocials.js +125 -3
- package/components/timeline/FixedTimeline.js +236 -5
- package/components/timeline/InfiniteTimeline.js +347 -8
- package/components/timeline/TimelineFeaturesSlider.js +439 -5
- package/components/widgets/AccordeonWidget.js +96 -2
- package/components/widgets/ButtonBar.js +124 -2
- package/components/widgets/ColorButton.js +201 -3
- package/components/widgets/ComboBox.js +166 -2
- package/components/widgets/CopyButton.js +110 -2
- package/components/widgets/DateTimeInput.js +100 -3
- package/components/widgets/EditableSelect.js +230 -3
- package/components/widgets/FileSelector.js +128 -4
- package/components/widgets/Input.js +124 -2
- package/components/widgets/InputContainer.js +96 -2
- package/components/widgets/LayerCatalogWidget.js +219 -3
- package/components/widgets/MenuButton.js +157 -1
- package/components/widgets/ModalDialog.js +64 -2
- package/components/widgets/NavBar.js +119 -2
- package/components/widgets/NumberInput.js +226 -4
- package/components/widgets/PopupMenu.js +72 -1
- package/components/widgets/Primitives.js +6 -1
- package/components/widgets/ReCaptchaWidget.js +55 -1
- package/components/widgets/SearchWidget.js +255 -2
- package/components/widgets/Spinner.js +44 -2
- package/components/widgets/SuggestionInput.js +77 -2
- package/components/widgets/TextInput.js +308 -2
- package/components/widgets/ToggleSwitch.js +85 -2
- package/components/widgets/VectorLayerPicker.js +85 -3
- package/libs/openlayers.js +225 -5
- package/package.json +1 -1
- package/plugins/API.js +358 -15
- package/plugins/AttributeTable.js +109 -3
- package/plugins/Authentication.js +130 -5
- package/plugins/BackgroundSwitcher.js +218 -4
- package/plugins/Bookmark.js +289 -3
- package/plugins/BottomBar.js +298 -4
- package/plugins/CookiePopup.js +67 -3
- package/plugins/Cyclomedia.js +442 -5
- package/plugins/Editing.js +497 -9
- package/plugins/FeatureForm.js +366 -4
- package/plugins/FeatureSearch.js +458 -3
- package/plugins/GeometryDigitizer.js +664 -7
- package/plugins/HeightProfile.js +763 -15
- package/plugins/Help.js +102 -3
- package/plugins/HomeButton.js +80 -3
- package/plugins/Identify.js +543 -5
- package/plugins/LayerCatalog.js +215 -4
- package/plugins/LayerTree.js +1194 -6
- package/plugins/LocateButton.js +94 -3
- package/plugins/Map.js +320 -16
- package/plugins/MapCompare.js +94 -3
- package/plugins/MapCopyright.js +127 -5
- package/plugins/MapExport.js +613 -20
- package/plugins/MapFilter.js +868 -12
- package/plugins/MapInfoTooltip.js +277 -3
- package/plugins/MapLegend.js +253 -4
- package/plugins/MapTip.js +290 -4
- package/plugins/Measure.js +220 -4
- package/plugins/NewsPopup.js +137 -3
- package/plugins/OverviewMap.js +167 -7
- package/plugins/Panoramax.js +340 -2
- package/plugins/Portal.js +199 -4
- package/plugins/Print.js +1231 -15
- package/plugins/Redlining.js +750 -6
- package/plugins/Reports.js +332 -3
- package/plugins/Routing.js +1278 -15
- package/plugins/ScratchDrawing.js +173 -5
- package/plugins/Settings.js +241 -4
- package/plugins/Share.js +198 -3
- package/plugins/StartupMarker.js +84 -4
- package/plugins/TaskButton.js +88 -3
- package/plugins/ThemeSwitcher.js +164 -4
- package/plugins/TimeManager.js +971 -10
- package/plugins/TopBar.js +300 -7
- package/plugins/TourGuide.js +213 -2
- package/plugins/ValueTool.js +419 -4
- package/plugins/View3D.js +519 -14
- package/plugins/ZoomButtons.js +165 -3
- package/plugins/map/EditingSupport.js +199 -7
- package/plugins/map/LocateSupport.js +260 -4
- package/plugins/map/MeasurementSupport.js +216 -8
- package/plugins/map/RedliningPickSupport.js +201 -7
- package/plugins/map/RedliningSupport.js +726 -17
- package/plugins/map/SnapInteraction.js +101 -1
- package/plugins/map/SnapSupport.js +210 -2
- package/plugins/map/SnappingSupport.js +356 -17
- package/plugins/map3d/BackgroundSwitcher3D.js +44 -3
- package/plugins/map3d/BottomBar3D.js +118 -3
- package/plugins/map3d/Compare3D.js +422 -8
- package/plugins/map3d/Draw3D.js +353 -6
- package/plugins/map3d/ExportObjects3D.js +393 -18
- package/plugins/map3d/HideObjects3D.js +313 -12
- package/plugins/map3d/Identify3D.js +283 -12
- package/plugins/map3d/LayerTree3D.js +323 -3
- package/plugins/map3d/MapCopyright3D.js +128 -5
- package/plugins/map3d/MapExport3D.js +590 -10
- package/plugins/map3d/MapLight3D.js +553 -6
- package/plugins/map3d/Measure3D.js +571 -20
- package/plugins/map3d/OverviewMap3D.js +169 -3
- package/plugins/map3d/Settings3D.js +73 -3
- package/plugins/map3d/TopBar3D.js +207 -9
- package/plugins/redlining/RedliningBufferSupport.js +206 -3
- package/reducers/display.js +34 -2
- package/reducers/editing.js +68 -3
- package/reducers/index.js +9 -1
- package/reducers/layerinfo.js +26 -2
- package/reducers/layers.js +456 -9
- package/reducers/localConfig.js +122 -2
- package/reducers/locale.js +38 -2
- package/reducers/locate.js +40 -2
- package/reducers/map.js +176 -5
- package/reducers/measurement.js +42 -2
- package/reducers/processNotifications.js +49 -2
- package/reducers/redlining.js +50 -2
- package/reducers/redliningPick.js +27 -2
- package/reducers/search.js +20 -1
- package/reducers/serviceinfo.js +25 -2
- package/reducers/task.js +45 -2
- package/reducers/theme.js +51 -2
- package/reducers/windows.js +203 -2
- package/scripts/dist.sh +1 -1
- package/scripts/gen-plugin-docs.js +152 -2
- package/scripts/makeIconkit.js +85 -6
- package/scripts/themesConfig.js +742 -40
- package/scripts/updateTranslations.js +251 -10
- package/selectors/searchproviders.js +44 -2
- package/stores/StandardStore.js +42 -2
- package/utils/ConfigUtils.js +84 -3
- package/utils/CoordinatesUtils.js +234 -23
- package/utils/DxfUtils.js +237 -11
- package/utils/EditingInterface.js +421 -87
- package/utils/EditingUtils.js +357 -13
- package/utils/ElevationInterface.js +83 -22
- package/utils/FeatureStyles.js +429 -5
- package/utils/IdentifyUtils.js +443 -7
- package/utils/ImageEditor.js +79 -9
- package/utils/LayerUtils.js +1516 -50
- package/utils/LocaleUtils.js +117 -7
- package/utils/MapUtils.js +241 -59
- package/utils/MeasureUtils.js +323 -2
- package/utils/MiscUtils.js +189 -11
- package/utils/PermaLinkUtils.js +429 -6
- package/utils/PluginStore.js +27 -1
- package/utils/ResourceRegistry.js +15 -1
- package/utils/RoutingInterface.js +307 -7
- package/utils/SearchProviders.js +722 -19
- package/utils/ServiceLayerUtils.js +669 -14
- package/utils/Signal.js +32 -2
- package/utils/ThemeUtils.js +341 -7
- package/utils/VectorLayerUtils.js +589 -15
- package/utils/expr_grammar/grammar.js +2239 -2
- package/utils/expr_grammar/test.js +65 -3
|
@@ -1,8 +1,211 @@
|
|
|
1
|
-
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
3
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
5
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
6
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
7
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
8
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
|
+
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
11
|
+
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
12
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
13
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
14
|
+
function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
|
|
15
|
+
function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
|
|
16
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
17
|
+
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
|
|
18
|
+
function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
|
|
19
|
+
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
20
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
21
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
22
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
23
|
+
/**
|
|
2
24
|
* Copyright 2019-2024 Sourcepole AG
|
|
3
25
|
* All rights reserved.
|
|
4
26
|
*
|
|
5
27
|
* This source code is licensed under the BSD-style license found in the
|
|
6
28
|
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
8
|
-
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
import React from 'react';
|
|
32
|
+
import { connect } from 'react-redux';
|
|
33
|
+
import PropTypes from 'prop-types';
|
|
34
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
35
|
+
import { LayerRole, addLayer, addLayerFeatures } from '../../actions/layers';
|
|
36
|
+
import NumberInput from '../../components/widgets/NumberInput';
|
|
37
|
+
import VectorLayerPicker from '../../components/widgets/VectorLayerPicker';
|
|
38
|
+
import LocaleUtils from '../../utils/LocaleUtils';
|
|
39
|
+
import VectorLayerUtils from '../../utils/VectorLayerUtils';
|
|
40
|
+
var RedliningBufferSupport = /*#__PURE__*/function (_React$Component) {
|
|
41
|
+
function RedliningBufferSupport(props) {
|
|
42
|
+
var _this;
|
|
43
|
+
_classCallCheck(this, RedliningBufferSupport);
|
|
44
|
+
_this = _callSuper(this, RedliningBufferSupport, [props]);
|
|
45
|
+
_defineProperty(_this, "state", {
|
|
46
|
+
bufferDistance: 0,
|
|
47
|
+
bufferLayer: null,
|
|
48
|
+
bufferUnit: "meters"
|
|
49
|
+
});
|
|
50
|
+
_defineProperty(_this, "changeBufferUnit", function (ev) {
|
|
51
|
+
_this.setState({
|
|
52
|
+
bufferUnit: ev.target.value
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
_defineProperty(_this, "computeBuffer", function () {
|
|
56
|
+
var feature = _this.props.redlining.selectedFeature;
|
|
57
|
+
if (!feature || !feature.geometry || !_this.state.bufferLayer) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
import("@turf/buffer").then(function (bufferMod) {
|
|
61
|
+
var buffer = bufferMod["default"];
|
|
62
|
+
if (feature.circleParams) {
|
|
63
|
+
var _feature$circleParams = feature.circleParams,
|
|
64
|
+
center = _feature$circleParams.center,
|
|
65
|
+
radius = _feature$circleParams.radius;
|
|
66
|
+
var deg2rad = Math.PI / 180;
|
|
67
|
+
feature = _objectSpread(_objectSpread({}, feature), {}, {
|
|
68
|
+
geometry: {
|
|
69
|
+
type: 'Polygon',
|
|
70
|
+
coordinates: [Array.apply(null, Array(91)).map(function (item, index) {
|
|
71
|
+
return [center[0] + radius * Math.cos(4 * index * deg2rad), center[1] + radius * Math.sin(4 * index * deg2rad)];
|
|
72
|
+
})]
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
var wgsGeometry = VectorLayerUtils.reprojectGeometry(feature.geometry, _this.props.projection, "EPSG:4326");
|
|
77
|
+
var wgsFeature = _objectSpread(_objectSpread({}, feature), {}, {
|
|
78
|
+
geometry: wgsGeometry
|
|
79
|
+
});
|
|
80
|
+
var output = buffer(wgsFeature, _this.state.bufferDistance, {
|
|
81
|
+
units: _this.state.bufferUnit
|
|
82
|
+
});
|
|
83
|
+
if (output && output.geometry) {
|
|
84
|
+
output.geometry = VectorLayerUtils.reprojectGeometry(output.geometry, "EPSG:4326", _this.props.projection);
|
|
85
|
+
output.id = uuidv4();
|
|
86
|
+
output.styleName = 'default';
|
|
87
|
+
output.styleOptions = {
|
|
88
|
+
fillColor: [0, 0, 255, 0.5],
|
|
89
|
+
strokeColor: [0, 0, 255, 1]
|
|
90
|
+
};
|
|
91
|
+
_this.props.addLayerFeatures(_this.state.bufferLayer, [output]);
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
_this.state.bufferLayer = {
|
|
96
|
+
id: "buffer",
|
|
97
|
+
title: LocaleUtils.tr("redlining.bufferlayername"),
|
|
98
|
+
role: LayerRole.USERLAYER
|
|
99
|
+
};
|
|
100
|
+
return _this;
|
|
101
|
+
}
|
|
102
|
+
_inherits(RedliningBufferSupport, _React$Component);
|
|
103
|
+
return _createClass(RedliningBufferSupport, [{
|
|
104
|
+
key: "componentDidUpdate",
|
|
105
|
+
value: function componentDidUpdate() {
|
|
106
|
+
var _this2 = this;
|
|
107
|
+
if (this.state.bufferLayer && this.state.bufferLayer.id !== "buffer" && !this.props.layers.find(function (layer) {
|
|
108
|
+
return layer.id === _this2.state.bufferLayer.id;
|
|
109
|
+
})) {
|
|
110
|
+
this.setState({
|
|
111
|
+
bufferLayer: {
|
|
112
|
+
id: "buffer",
|
|
113
|
+
title: LocaleUtils.tr("redlining.bufferlayername"),
|
|
114
|
+
role: LayerRole.USERLAYER
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}, {
|
|
120
|
+
key: "render",
|
|
121
|
+
value: function render() {
|
|
122
|
+
var _this3 = this;
|
|
123
|
+
if (!this.props.redlining.selectedFeature) {
|
|
124
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
125
|
+
className: "redlining-message"
|
|
126
|
+
}, LocaleUtils.tr("redlining.bufferselectfeature"));
|
|
127
|
+
}
|
|
128
|
+
var enabled = this.state.bufferDistance !== 0;
|
|
129
|
+
var layers = this.props.layers.filter(function (layer) {
|
|
130
|
+
return layer.type === "vector" && layer.role === LayerRole.USERLAYER;
|
|
131
|
+
});
|
|
132
|
+
// Ensure list contains current target layer
|
|
133
|
+
if (!layers.find(function (layer) {
|
|
134
|
+
return layer.id === _this3.state.bufferLayer.id;
|
|
135
|
+
})) {
|
|
136
|
+
layers = [this.state.bufferLayer].concat(_toConsumableArray(layers));
|
|
137
|
+
}
|
|
138
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
139
|
+
className: "redlining-controlsbar"
|
|
140
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
141
|
+
className: "redlining-control"
|
|
142
|
+
}, /*#__PURE__*/React.createElement("span", null, LocaleUtils.tr("redlining.bufferdistance"), " \xA0"), /*#__PURE__*/React.createElement(NumberInput, {
|
|
143
|
+
max: 99999,
|
|
144
|
+
min: -99999,
|
|
145
|
+
mobile: true,
|
|
146
|
+
onChange: function onChange(nr) {
|
|
147
|
+
return _this3.setState({
|
|
148
|
+
bufferDistance: nr
|
|
149
|
+
});
|
|
150
|
+
},
|
|
151
|
+
value: this.state.bufferDistance
|
|
152
|
+
}), /*#__PURE__*/React.createElement("select", {
|
|
153
|
+
onChange: this.changeBufferUnit,
|
|
154
|
+
value: this.state.bufferUnit
|
|
155
|
+
}, /*#__PURE__*/React.createElement("option", {
|
|
156
|
+
value: "meters"
|
|
157
|
+
}, "m"), /*#__PURE__*/React.createElement("option", {
|
|
158
|
+
value: "feet"
|
|
159
|
+
}, "ft"), /*#__PURE__*/React.createElement("option", {
|
|
160
|
+
value: "kilometers"
|
|
161
|
+
}, "km"), /*#__PURE__*/React.createElement("option", {
|
|
162
|
+
value: "miles"
|
|
163
|
+
}, "mi"))), /*#__PURE__*/React.createElement("div", {
|
|
164
|
+
className: "redlining-control"
|
|
165
|
+
}, /*#__PURE__*/React.createElement("span", null, LocaleUtils.tr("redlining.bufferlayer"), ":\xA0"), /*#__PURE__*/React.createElement(VectorLayerPicker, {
|
|
166
|
+
addLayer: this.props.addLayer,
|
|
167
|
+
layers: layers,
|
|
168
|
+
onChange: function onChange(layer) {
|
|
169
|
+
return _this3.setState({
|
|
170
|
+
bufferLayer: layer
|
|
171
|
+
});
|
|
172
|
+
},
|
|
173
|
+
value: this.state.bufferLayer.id
|
|
174
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
175
|
+
className: "redlining-control"
|
|
176
|
+
}, /*#__PURE__*/React.createElement("button", {
|
|
177
|
+
className: "button",
|
|
178
|
+
disabled: !enabled,
|
|
179
|
+
onClick: this.computeBuffer
|
|
180
|
+
}, LocaleUtils.tr("redlining.buffercompute"))));
|
|
181
|
+
}
|
|
182
|
+
}]);
|
|
183
|
+
}(React.Component);
|
|
184
|
+
_defineProperty(RedliningBufferSupport, "propTypes", {
|
|
185
|
+
addLayer: PropTypes.func,
|
|
186
|
+
addLayerFeatures: PropTypes.func,
|
|
187
|
+
layers: PropTypes.array,
|
|
188
|
+
projection: PropTypes.string,
|
|
189
|
+
redlining: PropTypes.object
|
|
190
|
+
});
|
|
191
|
+
export default {
|
|
192
|
+
cfg: {
|
|
193
|
+
key: "Buffer",
|
|
194
|
+
tooltip: LocaleUtils.trmsg("redlining.buffer"),
|
|
195
|
+
icon: "buffer",
|
|
196
|
+
data: {
|
|
197
|
+
action: "Buffer",
|
|
198
|
+
geomType: null
|
|
199
|
+
}
|
|
200
|
+
},
|
|
201
|
+
controls: connect(function (state) {
|
|
202
|
+
return {
|
|
203
|
+
projection: state.map.projection,
|
|
204
|
+
layers: state.layers.flat,
|
|
205
|
+
redlining: state.redlining
|
|
206
|
+
};
|
|
207
|
+
}, {
|
|
208
|
+
addLayerFeatures: addLayerFeatures,
|
|
209
|
+
addLayer: addLayer
|
|
210
|
+
})(RedliningBufferSupport)
|
|
211
|
+
};
|
package/reducers/display.js
CHANGED
|
@@ -1,7 +1,39 @@
|
|
|
1
|
-
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
/**
|
|
2
8
|
* Copyright 2016-2024 Sourcepole AG
|
|
3
9
|
* All rights reserved.
|
|
4
10
|
*
|
|
5
11
|
* This source code is licensed under the BSD-style license found in the
|
|
6
12
|
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { TOGGLE_FULLSCREEN, SET_VIEW_3D_MODE } from '../actions/display';
|
|
16
|
+
var defaultState = {
|
|
17
|
+
fullscreen: false,
|
|
18
|
+
view3dMode: 0
|
|
19
|
+
};
|
|
20
|
+
export default function toggleFullscreen() {
|
|
21
|
+
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultState;
|
|
22
|
+
var action = arguments.length > 1 ? arguments[1] : undefined;
|
|
23
|
+
switch (action.type) {
|
|
24
|
+
case TOGGLE_FULLSCREEN:
|
|
25
|
+
{
|
|
26
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
27
|
+
fullscreen: action.fullscreen
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
case SET_VIEW_3D_MODE:
|
|
31
|
+
{
|
|
32
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
33
|
+
view3dMode: action.mode
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
default:
|
|
37
|
+
return state;
|
|
38
|
+
}
|
|
39
|
+
}
|
package/reducers/editing.js
CHANGED
|
@@ -1,8 +1,73 @@
|
|
|
1
|
-
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
/**
|
|
2
8
|
* Copyright 2017-2024 Sourcepole AG
|
|
3
9
|
* All rights reserved.
|
|
4
10
|
*
|
|
5
11
|
* This source code is licensed under the BSD-style license found in the
|
|
6
12
|
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
8
|
-
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { SET_EDIT_CONTEXT, CLEAR_EDIT_CONTEXT } from '../actions/editing';
|
|
16
|
+
var defaultState = {
|
|
17
|
+
contexts: {},
|
|
18
|
+
currentContext: null
|
|
19
|
+
};
|
|
20
|
+
var _nonZeroZCoordinate = function nonZeroZCoordinate(coordinates) {
|
|
21
|
+
return coordinates.find(function (entry) {
|
|
22
|
+
return Array.isArray(entry[0]) ? _nonZeroZCoordinate(entry) : entry.length >= 3 && entry[2] !== 0;
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
var checkNonZeroZ = function checkNonZeroZ(oldState, newState, fallback) {
|
|
26
|
+
var _oldState$feature;
|
|
27
|
+
// Only recompute if feature id in state changes
|
|
28
|
+
if (!newState.feature) {
|
|
29
|
+
return false;
|
|
30
|
+
} else if (newState.feature.id !== (oldState === null || oldState === void 0 || (_oldState$feature = oldState.feature) === null || _oldState$feature === void 0 ? void 0 : _oldState$feature.id)) {
|
|
31
|
+
var _newState$feature$geo;
|
|
32
|
+
return _nonZeroZCoordinate([((_newState$feature$geo = newState.feature.geometry) === null || _newState$feature$geo === void 0 ? void 0 : _newState$feature$geo.coordinates) || []]) !== undefined;
|
|
33
|
+
}
|
|
34
|
+
return (oldState === null || oldState === void 0 ? void 0 : oldState.geomNonZeroZ) || false;
|
|
35
|
+
};
|
|
36
|
+
var checkGeomReadOnly = function checkGeomReadOnly(geomType) {
|
|
37
|
+
return (geomType !== null && geomType !== void 0 ? geomType : null) !== null && !['Point', 'LineString', 'Polygon'].includes((geomType || "").replace(/^Multi/, '').replace(/Z$/, ''));
|
|
38
|
+
};
|
|
39
|
+
export default function editing() {
|
|
40
|
+
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultState;
|
|
41
|
+
var action = arguments.length > 1 ? arguments[1] : undefined;
|
|
42
|
+
switch (action.type) {
|
|
43
|
+
case SET_EDIT_CONTEXT:
|
|
44
|
+
{
|
|
45
|
+
var _action$editContext$g, _state$contexts$actio;
|
|
46
|
+
return {
|
|
47
|
+
contexts: _objectSpread(_objectSpread({}, state.contexts), {}, _defineProperty({}, action.contextId, _objectSpread(_objectSpread(_objectSpread({
|
|
48
|
+
action: null,
|
|
49
|
+
feature: null,
|
|
50
|
+
geomType: null,
|
|
51
|
+
changed: false,
|
|
52
|
+
permissions: {}
|
|
53
|
+
}, state.contexts[action.contextId]), action.editContext), {}, {
|
|
54
|
+
geomNonZeroZ: checkNonZeroZ(state.contexts[action.contextId], action.editContext),
|
|
55
|
+
geomReadOnly: checkGeomReadOnly((_action$editContext$g = action.editContext.geomType) !== null && _action$editContext$g !== void 0 ? _action$editContext$g : (_state$contexts$actio = state.contexts[action.contextId]) === null || _state$contexts$actio === void 0 ? void 0 : _state$contexts$actio.geomType),
|
|
56
|
+
id: action.contextId
|
|
57
|
+
}))),
|
|
58
|
+
currentContext: action.contextId
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
case CLEAR_EDIT_CONTEXT:
|
|
62
|
+
{
|
|
63
|
+
var newState = {
|
|
64
|
+
contexts: _objectSpread({}, state.contexts),
|
|
65
|
+
currentContext: state.currentContext === action.contextId ? action.newActiveContextId : state.currentContext
|
|
66
|
+
};
|
|
67
|
+
delete newState.contexts[action.contextId];
|
|
68
|
+
return newState;
|
|
69
|
+
}
|
|
70
|
+
default:
|
|
71
|
+
return state;
|
|
72
|
+
}
|
|
73
|
+
}
|
package/reducers/index.js
CHANGED
|
@@ -4,4 +4,12 @@
|
|
|
4
4
|
*
|
|
5
5
|
* This source code is licensed under the BSD-style license found in the
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
var ReducerIndex = {
|
|
10
|
+
reducers: {},
|
|
11
|
+
register: function register(name, reducer) {
|
|
12
|
+
ReducerIndex.reducers[name] = reducer;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
export default ReducerIndex;
|
package/reducers/layerinfo.js
CHANGED
|
@@ -1,7 +1,31 @@
|
|
|
1
|
-
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
/**
|
|
2
8
|
* Copyright 2018-2024 Sourcepole AG
|
|
3
9
|
* All rights reserved.
|
|
4
10
|
*
|
|
5
11
|
* This source code is licensed under the BSD-style license found in the
|
|
6
12
|
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { SET_ACTIVE_LAYERINFO } from '../actions/layerinfo';
|
|
16
|
+
var defaultState = {};
|
|
17
|
+
export default function layerInfo() {
|
|
18
|
+
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultState;
|
|
19
|
+
var action = arguments.length > 1 ? arguments[1] : undefined;
|
|
20
|
+
switch (action.type) {
|
|
21
|
+
case SET_ACTIVE_LAYERINFO:
|
|
22
|
+
{
|
|
23
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
24
|
+
layer: action.layer,
|
|
25
|
+
sublayer: action.sublayer
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
default:
|
|
29
|
+
return state;
|
|
30
|
+
}
|
|
31
|
+
}
|