qwc2 2025.10.13 → 2025.10.15
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 +768 -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,9 +1,175 @@
|
|
|
1
|
-
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(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 _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
5
|
+
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); } }
|
|
6
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
7
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
8
|
+
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); }
|
|
9
|
+
function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
|
|
10
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
11
|
+
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
|
|
12
|
+
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); }
|
|
13
|
+
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
14
|
+
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; }
|
|
15
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
16
|
+
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); }
|
|
17
|
+
/**
|
|
2
18
|
* Copyright 2024 Sourcepole AG
|
|
3
19
|
* All rights reserved.
|
|
4
20
|
*
|
|
5
21
|
* This source code is licensed under the BSD-style license found in the
|
|
6
22
|
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
import React from 'react';
|
|
26
|
+
import ol from 'openlayers';
|
|
27
|
+
import PropTypes from 'prop-types';
|
|
28
|
+
import OlLayer from '../../components/map/OlLayer';
|
|
29
|
+
import viewconeIcon from '../../resources/viewcone.svg';
|
|
30
|
+
import './style/OverviewMap3D.css';
|
|
31
|
+
|
|
32
|
+
/**
|
|
8
33
|
* Overview map for the 3D map.
|
|
9
|
-
*/
|
|
34
|
+
*/
|
|
35
|
+
var OverviewMap3D = /*#__PURE__*/function (_React$Component) {
|
|
36
|
+
function OverviewMap3D(props) {
|
|
37
|
+
var _this;
|
|
38
|
+
_classCallCheck(this, OverviewMap3D);
|
|
39
|
+
_this = _callSuper(this, OverviewMap3D, [props]);
|
|
40
|
+
_defineProperty(_this, "state", {
|
|
41
|
+
collapsed: true
|
|
42
|
+
});
|
|
43
|
+
_defineProperty(_this, "initOverviewMap", function (el) {
|
|
44
|
+
if (el) {
|
|
45
|
+
_this.map = new ol.Map({
|
|
46
|
+
layers: [_this.viewConeLayer],
|
|
47
|
+
controls: [],
|
|
48
|
+
target: el
|
|
49
|
+
});
|
|
50
|
+
_this.setupView();
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
_defineProperty(_this, "setupView", function () {
|
|
54
|
+
var overviewView = new ol.View({
|
|
55
|
+
enableRotation: false,
|
|
56
|
+
projection: _this.props.sceneContext.mapCrs
|
|
57
|
+
});
|
|
58
|
+
_this.map.setView(overviewView);
|
|
59
|
+
_this.updateViewCone();
|
|
60
|
+
});
|
|
61
|
+
_defineProperty(_this, "updateViewCone", function () {
|
|
62
|
+
var _scene$view$controls$, _scene$view$controls, _scene$view$controls$2;
|
|
63
|
+
if (!_this.map) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
var scene = _this.props.sceneContext.scene;
|
|
67
|
+
var x = scene.view.camera.position.x;
|
|
68
|
+
var y = scene.view.camera.position.y;
|
|
69
|
+
var azimuth = (_scene$view$controls$ = (_scene$view$controls = scene.view.controls) === null || _scene$view$controls === void 0 || (_scene$view$controls$2 = _scene$view$controls.getAzimuthalAngle) === null || _scene$view$controls$2 === void 0 ? void 0 : _scene$view$controls$2.call(_scene$view$controls)) !== null && _scene$view$controls$ !== void 0 ? _scene$view$controls$ : 0;
|
|
70
|
+
var cameraHeight = scene.view.camera.position.z;
|
|
71
|
+
var resolution = cameraHeight / 100;
|
|
72
|
+
_this.map.getView().setCenter([x, y]);
|
|
73
|
+
_this.map.getView().setResolution(resolution);
|
|
74
|
+
_this.viewConeFeature.getGeometry().setCoordinates([x, y]);
|
|
75
|
+
_this.viewConeFeature.set('rotation', -azimuth, true);
|
|
76
|
+
_this.viewConeLayer.getSource().changed();
|
|
77
|
+
});
|
|
78
|
+
_this.map = null;
|
|
79
|
+
_this.viewConeFeature = new ol.Feature(new ol.geom.Point([0, 0]));
|
|
80
|
+
_this.viewConeLayer = new ol.layer.Vector({
|
|
81
|
+
source: new ol.source.Vector({
|
|
82
|
+
features: [_this.viewConeFeature]
|
|
83
|
+
}),
|
|
84
|
+
style: function style(feature) {
|
|
85
|
+
return new ol.style.Style({
|
|
86
|
+
fill: new ol.style.Fill({
|
|
87
|
+
color: 'white'
|
|
88
|
+
}),
|
|
89
|
+
stroke: new ol.style.Stroke({
|
|
90
|
+
color: 'red',
|
|
91
|
+
width: 2
|
|
92
|
+
}),
|
|
93
|
+
image: new ol.style.Icon({
|
|
94
|
+
anchor: [0.5, 1],
|
|
95
|
+
anchorXUnits: 'fraction',
|
|
96
|
+
anchorYUnits: 'fraction',
|
|
97
|
+
src: viewconeIcon,
|
|
98
|
+
rotation: feature.get('rotation'),
|
|
99
|
+
scale: 2
|
|
100
|
+
})
|
|
101
|
+
});
|
|
102
|
+
},
|
|
103
|
+
zIndex: 10000
|
|
104
|
+
});
|
|
105
|
+
return _this;
|
|
106
|
+
}
|
|
107
|
+
_inherits(OverviewMap3D, _React$Component);
|
|
108
|
+
return _createClass(OverviewMap3D, [{
|
|
109
|
+
key: "componentDidMount",
|
|
110
|
+
value: function componentDidMount() {
|
|
111
|
+
this.props.sceneContext.scene.view.controls.addEventListener('change', this.updateViewCone);
|
|
112
|
+
}
|
|
113
|
+
}, {
|
|
114
|
+
key: "componentDidUpdate",
|
|
115
|
+
value: function componentDidUpdate(prevProps, prevState) {
|
|
116
|
+
if (this.props.sceneContext.mapCrs !== prevProps.sceneContext.mapCrs) {
|
|
117
|
+
this.setupView();
|
|
118
|
+
}
|
|
119
|
+
if (this.map) {
|
|
120
|
+
if (this.state.center !== prevState.center || this.state.azimuth !== prevState.azimuth) {
|
|
121
|
+
this.map.getView().setCenter(this.state.center);
|
|
122
|
+
this.viewConeFeature.getGeometry().setCoordinates(this.state.center);
|
|
123
|
+
this.viewConeFeature.set('rotation', -this.state.azimuth, true);
|
|
124
|
+
this.viewConeLayer.getSource().changed();
|
|
125
|
+
}
|
|
126
|
+
if (this.state.resolution !== prevState.resolution) {
|
|
127
|
+
this.map.getView().setResolution(this.state.resolution);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}, {
|
|
132
|
+
key: "render",
|
|
133
|
+
value: function render() {
|
|
134
|
+
var _this$props$sceneCont,
|
|
135
|
+
_this2 = this;
|
|
136
|
+
var style = {
|
|
137
|
+
display: this.state.collapsed ? 'none' : 'initial'
|
|
138
|
+
};
|
|
139
|
+
var baseLayer = this.props.sceneContext.baseLayers.find(function (l) {
|
|
140
|
+
return l.visibility === true;
|
|
141
|
+
});
|
|
142
|
+
var overviewLayer = (_this$props$sceneCont = this.props.sceneContext.baseLayers.find(function (l) {
|
|
143
|
+
return l.overview === true;
|
|
144
|
+
})) !== null && _this$props$sceneCont !== void 0 ? _this$props$sceneCont : baseLayer;
|
|
145
|
+
return [/*#__PURE__*/React.createElement("div", {
|
|
146
|
+
className: "overview-map-3d",
|
|
147
|
+
key: "map3d-overview-map"
|
|
148
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
149
|
+
className: "ol-overviewmap-map-3d",
|
|
150
|
+
ref: this.initOverviewMap,
|
|
151
|
+
style: style
|
|
152
|
+
}), /*#__PURE__*/React.createElement("button", {
|
|
153
|
+
onClick: function onClick() {
|
|
154
|
+
return _this2.setState(function (state) {
|
|
155
|
+
return {
|
|
156
|
+
collapsed: !state.collapsed
|
|
157
|
+
};
|
|
158
|
+
});
|
|
159
|
+
},
|
|
160
|
+
type: "button"
|
|
161
|
+
}, this.state.collapsed ? '«' : '»')), this.map && overviewLayer ? /*#__PURE__*/React.createElement(OlLayer, {
|
|
162
|
+
key: overviewLayer.name,
|
|
163
|
+
map: this.map,
|
|
164
|
+
options: _objectSpread(_objectSpread({}, overviewLayer), {}, {
|
|
165
|
+
visibility: true
|
|
166
|
+
}),
|
|
167
|
+
projection: this.props.sceneContext.mapCrs
|
|
168
|
+
}) : null];
|
|
169
|
+
}
|
|
170
|
+
}]);
|
|
171
|
+
}(React.Component);
|
|
172
|
+
_defineProperty(OverviewMap3D, "propTypes", {
|
|
173
|
+
sceneContext: PropTypes.object
|
|
174
|
+
});
|
|
175
|
+
export { OverviewMap3D as default };
|
|
@@ -1,9 +1,79 @@
|
|
|
1
|
-
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(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 _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
3
|
+
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); } }
|
|
4
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
5
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
6
|
+
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); }
|
|
7
|
+
function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
|
|
8
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
9
|
+
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
|
|
10
|
+
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); }
|
|
11
|
+
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
12
|
+
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; }
|
|
13
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
14
|
+
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); }
|
|
15
|
+
/**
|
|
2
16
|
* Copyright 2025 Sourcepole AG
|
|
3
17
|
* All rights reserved.
|
|
4
18
|
*
|
|
5
19
|
* This source code is licensed under the BSD-style license found in the
|
|
6
20
|
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
import React from 'react';
|
|
24
|
+
import PropTypes from 'prop-types';
|
|
25
|
+
import SideBar from '../../components/SideBar';
|
|
26
|
+
import Input from '../../components/widgets/Input';
|
|
27
|
+
import LocaleUtils from '../../utils/LocaleUtils';
|
|
28
|
+
import './style/Settings3D.css';
|
|
29
|
+
|
|
30
|
+
/**
|
|
8
31
|
* Settings panel for the 3D map.
|
|
9
|
-
*/
|
|
32
|
+
*/
|
|
33
|
+
var Settings3D = /*#__PURE__*/function (_React$Component) {
|
|
34
|
+
function Settings3D() {
|
|
35
|
+
var _this;
|
|
36
|
+
_classCallCheck(this, Settings3D);
|
|
37
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
38
|
+
args[_key] = arguments[_key];
|
|
39
|
+
}
|
|
40
|
+
_this = _callSuper(this, Settings3D, [].concat(args));
|
|
41
|
+
_defineProperty(_this, "renderBody", function () {
|
|
42
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
43
|
+
className: "settings3d-body"
|
|
44
|
+
}, /*#__PURE__*/React.createElement("table", null, /*#__PURE__*/React.createElement("tbody", null, /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, LocaleUtils.tr("settings3d.quality")), /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement(Input, {
|
|
45
|
+
max: 100,
|
|
46
|
+
min: 20,
|
|
47
|
+
onChange: _this.qualityChanged,
|
|
48
|
+
step: 20,
|
|
49
|
+
type: "range",
|
|
50
|
+
value: _this.props.sceneContext.settings.sceneQuality
|
|
51
|
+
}))))));
|
|
52
|
+
});
|
|
53
|
+
_defineProperty(_this, "qualityChanged", function (value) {
|
|
54
|
+
_this.props.sceneContext.setSetting("sceneQuality", parseInt(value, 10));
|
|
55
|
+
});
|
|
56
|
+
return _this;
|
|
57
|
+
}
|
|
58
|
+
_inherits(Settings3D, _React$Component);
|
|
59
|
+
return _createClass(Settings3D, [{
|
|
60
|
+
key: "render",
|
|
61
|
+
value: function render() {
|
|
62
|
+
var _this2 = this;
|
|
63
|
+
return /*#__PURE__*/React.createElement(SideBar, {
|
|
64
|
+
icon: "cog",
|
|
65
|
+
id: "Settings3D",
|
|
66
|
+
title: LocaleUtils.tr("appmenu.items.Settings3D"),
|
|
67
|
+
width: "20em"
|
|
68
|
+
}, function () {
|
|
69
|
+
return {
|
|
70
|
+
body: _this2.renderBody()
|
|
71
|
+
};
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}]);
|
|
75
|
+
}(React.Component);
|
|
76
|
+
_defineProperty(Settings3D, "propTypes", {
|
|
77
|
+
sceneContext: PropTypes.object
|
|
78
|
+
});
|
|
79
|
+
export { Settings3D as default };
|
|
@@ -1,15 +1,213 @@
|
|
|
1
|
-
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(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 _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
5
|
+
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); } }
|
|
6
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
7
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
8
|
+
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); }
|
|
9
|
+
function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
|
|
10
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
11
|
+
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
|
|
12
|
+
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); }
|
|
13
|
+
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
14
|
+
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; }
|
|
15
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
16
|
+
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); }
|
|
17
|
+
/**
|
|
2
18
|
* Copyright 2024 Sourcepole AG
|
|
3
19
|
* All rights reserved.
|
|
4
20
|
*
|
|
5
21
|
* This source code is licensed under the BSD-style license found in the
|
|
6
22
|
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
import React from 'react';
|
|
26
|
+
import { connect } from 'react-redux';
|
|
27
|
+
import classNames from 'classnames';
|
|
28
|
+
import isEmpty from 'lodash.isempty';
|
|
29
|
+
import PropTypes from 'prop-types';
|
|
30
|
+
import { toggleFullscreen, View3DMode } from '../../actions/display';
|
|
31
|
+
import { openExternalUrl, setTopbarHeight } from '../../actions/windows';
|
|
32
|
+
import AppMenu from '../../components/AppMenu';
|
|
33
|
+
import FullscreenSwitcher from '../../components/FullscreenSwitcher';
|
|
34
|
+
import { Swipeable } from '../../components/Swipeable';
|
|
35
|
+
import Toolbar from '../../components/Toolbar';
|
|
36
|
+
import SearchField3D from '../../components/map3d/SearchField3D';
|
|
37
|
+
import ConfigUtils from '../../utils/ConfigUtils';
|
|
38
|
+
import LocaleUtils from '../../utils/LocaleUtils';
|
|
39
|
+
import ThemeUtils from '../../utils/ThemeUtils';
|
|
40
|
+
|
|
41
|
+
/**
|
|
8
42
|
* Bottom bar of the 3D map, including the search bar, tool bar and menu.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
43
|
+
*/
|
|
44
|
+
var TopBar3D = /*#__PURE__*/function (_React$Component) {
|
|
45
|
+
function TopBar3D() {
|
|
46
|
+
var _this;
|
|
47
|
+
_classCallCheck(this, TopBar3D);
|
|
48
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
49
|
+
args[_key] = arguments[_key];
|
|
50
|
+
}
|
|
51
|
+
_this = _callSuper(this, TopBar3D, [].concat(args));
|
|
52
|
+
_defineProperty(_this, "state", {
|
|
53
|
+
allowedMenuItems: [],
|
|
54
|
+
allowedToolbarItems: []
|
|
55
|
+
});
|
|
56
|
+
_defineProperty(_this, "filter2DItems", function (item) {
|
|
57
|
+
var pluginConf = ConfigUtils.getPluginConfig(item.key);
|
|
58
|
+
return isEmpty(pluginConf) || _this.props.view3dMode === View3DMode.FULLSCREEN && pluginConf.availableIn3D;
|
|
59
|
+
});
|
|
60
|
+
_defineProperty(_this, "storeHeight", function (el) {
|
|
61
|
+
if (el) {
|
|
62
|
+
_this.props.setTopbarHeight(el.clientHeight);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
_defineProperty(_this, "openUrl", function (url, target, title, icon) {
|
|
66
|
+
if (target === "iframe") {
|
|
67
|
+
target = ":iframedialog:externallinkiframe";
|
|
68
|
+
}
|
|
69
|
+
_this.props.openExternalUrl(url, target, {
|
|
70
|
+
title: title,
|
|
71
|
+
icon: icon
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
_defineProperty(_this, "addGenericMenuItems", function (menuItems, inputConfig) {
|
|
75
|
+
inputConfig.forEach(function (entry) {
|
|
76
|
+
if (entry.subitems) {
|
|
77
|
+
var group = [];
|
|
78
|
+
_this.addGenericMenuItems(group, entry.subitems);
|
|
79
|
+
if (group.length > 0) {
|
|
80
|
+
menuItems.push(_objectSpread(_objectSpread({}, entry), {}, {
|
|
81
|
+
subitems: group
|
|
82
|
+
}));
|
|
83
|
+
}
|
|
84
|
+
} else {
|
|
85
|
+
var pluginConfig = ConfigUtils.getPluginConfig(entry.key);
|
|
86
|
+
if (entry.url || pluginConfig.availableIn3D) {
|
|
87
|
+
menuItems.push(entry);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
return _this;
|
|
93
|
+
}
|
|
94
|
+
_inherits(TopBar3D, _React$Component);
|
|
95
|
+
return _createClass(TopBar3D, [{
|
|
96
|
+
key: "componentDidMount",
|
|
97
|
+
value: function componentDidMount() {
|
|
98
|
+
this.componentDidUpdate({});
|
|
99
|
+
}
|
|
100
|
+
}, {
|
|
101
|
+
key: "componentDidUpdate",
|
|
102
|
+
value: function componentDidUpdate(prevProps) {
|
|
103
|
+
if (this.props.currentTheme !== prevProps.currentTheme || this.props.view3dMode !== prevProps.view3dMode) {
|
|
104
|
+
this.setState({
|
|
105
|
+
allowedToolbarItems: ThemeUtils.allowedItems(this.props.toolbarItems, this.props.currentTheme, this.filter2DItems),
|
|
106
|
+
allowedMenuItems: ThemeUtils.allowedItems(this.props.menuItems, this.props.currentTheme, this.filter2DItems)
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}, {
|
|
111
|
+
key: "render",
|
|
112
|
+
value: function render() {
|
|
113
|
+
var _ConfigUtils$getPlugi,
|
|
114
|
+
_this2 = this;
|
|
115
|
+
var config = ((_ConfigUtils$getPlugi = ConfigUtils.getPluginConfig("TopBar")) === null || _ConfigUtils$getPlugi === void 0 ? void 0 : _ConfigUtils$getPlugi.cfg) || {};
|
|
116
|
+
var logo;
|
|
117
|
+
var assetsPath = ConfigUtils.getAssetsPath();
|
|
118
|
+
var isMobile = ConfigUtils.isMobile();
|
|
119
|
+
if (isMobile) {
|
|
120
|
+
logo = assetsPath + "/img/logo-mobile." + (config.logoFormat || "svg");
|
|
121
|
+
} else {
|
|
122
|
+
logo = assetsPath + "/img/logo." + (config.logoFormat || "svg");
|
|
123
|
+
}
|
|
124
|
+
var logoEl = /*#__PURE__*/React.createElement("img", {
|
|
125
|
+
className: "topbar-logo",
|
|
126
|
+
src: config.logoSrc || logo
|
|
127
|
+
});
|
|
128
|
+
if (config.logoUrl) {
|
|
129
|
+
logoEl = /*#__PURE__*/React.createElement("a", {
|
|
130
|
+
href: config.logoUrl,
|
|
131
|
+
rel: "noreferrer",
|
|
132
|
+
target: "_blank"
|
|
133
|
+
}, logoEl);
|
|
134
|
+
}
|
|
135
|
+
var menuCompact = !isMobile ? config.appMenuCompact : false;
|
|
136
|
+
var classes = classNames({
|
|
137
|
+
TopBar: true,
|
|
138
|
+
mobile: isMobile,
|
|
139
|
+
fullscreen: this.props.fullscreen
|
|
140
|
+
});
|
|
141
|
+
return /*#__PURE__*/React.createElement(Swipeable, {
|
|
142
|
+
onSwipedDown: function onSwipedDown() {
|
|
143
|
+
return _this2.props.toggleFullscreen(false);
|
|
144
|
+
},
|
|
145
|
+
onSwipedUp: function onSwipedUp() {
|
|
146
|
+
return _this2.props.toggleFullscreen(true);
|
|
147
|
+
}
|
|
148
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
149
|
+
className: classes,
|
|
150
|
+
ref: this.storeHeight
|
|
151
|
+
}, logoEl, /*#__PURE__*/React.createElement("div", {
|
|
152
|
+
className: "topbar-center-span"
|
|
153
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
154
|
+
className: "topbar-search-container"
|
|
155
|
+
}, /*#__PURE__*/React.createElement(SearchField3D, {
|
|
156
|
+
sceneContext: this.props.sceneContext,
|
|
157
|
+
searchOptions: this.props.searchOptions
|
|
158
|
+
})), /*#__PURE__*/React.createElement(Toolbar, {
|
|
159
|
+
openExternalUrl: this.openUrl,
|
|
160
|
+
toolbarItems: this.state.allowedToolbarItems
|
|
161
|
+
})), /*#__PURE__*/React.createElement(AppMenu, {
|
|
162
|
+
appMenuClearsTask: config.appMenuClearsTask,
|
|
163
|
+
appMenuShortcut: config.appMenuShortcut,
|
|
164
|
+
buttonLabel: LocaleUtils.tr("appmenu.menulabel"),
|
|
165
|
+
keepMenuOpen: menuCompact,
|
|
166
|
+
menuCompact: menuCompact,
|
|
167
|
+
menuItems: this.state.allowedMenuItems,
|
|
168
|
+
openExternalUrl: this.openUrl,
|
|
169
|
+
showFilterField: config.appMenuFilterField
|
|
170
|
+
}), this.props.view3dMode === View3DMode.FULLSCREEN ? /*#__PURE__*/React.createElement(FullscreenSwitcher, null) : null));
|
|
171
|
+
}
|
|
172
|
+
}]);
|
|
173
|
+
}(React.Component);
|
|
174
|
+
_defineProperty(TopBar3D, "propTypes", {
|
|
175
|
+
currentTheme: PropTypes.object,
|
|
176
|
+
fullscreen: PropTypes.bool,
|
|
177
|
+
/** The menu items, in the same format as the 2D `TopBar` menu items.
|
|
178
|
+
* You can include entries for the View3D plugins.
|
|
179
|
+
* You can also include entries for 2D plugins which are compatible with the 3D view (i.e. `ThemeSwitcher`, `Share`, etc.),
|
|
180
|
+
* these will be displayed only in fullsceen 3D mode. */
|
|
181
|
+
menuItems: PropTypes.array,
|
|
182
|
+
openExternalUrl: PropTypes.func,
|
|
183
|
+
sceneContext: PropTypes.object,
|
|
184
|
+
/** Options passed down to the search component. */
|
|
185
|
+
searchOptions: PropTypes.shape({
|
|
186
|
+
/** Minimum scale denominator when zooming to search result. */
|
|
187
|
+
minScaleDenom: PropTypes.number
|
|
188
|
+
}),
|
|
189
|
+
setTopbarHeight: PropTypes.func,
|
|
190
|
+
toggleFullscreen: PropTypes.func,
|
|
191
|
+
/** The toolbar, in the same format as the 2D `TopBar` toolbar items.
|
|
192
|
+
* You can include entries for the View3D plugins.
|
|
193
|
+
* You can also include entries for 2D plugins which are compatible with the 3D view (i.e. `ThemeSwitcher`, `Share`, etc.),
|
|
194
|
+
* these will be displayed only in fullsceen 3D mode. */
|
|
195
|
+
toolbarItems: PropTypes.array,
|
|
196
|
+
view3dMode: PropTypes.number
|
|
197
|
+
});
|
|
198
|
+
_defineProperty(TopBar3D, "defaultProps", {
|
|
199
|
+
searchOptions: {
|
|
200
|
+
minScaleDenom: 1000
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
export default connect(function (state) {
|
|
204
|
+
return {
|
|
205
|
+
currentTheme: state.theme.current,
|
|
206
|
+
fullscreen: state.display.fullscreen,
|
|
207
|
+
view3dMode: state.display.view3dMode
|
|
208
|
+
};
|
|
209
|
+
}, {
|
|
210
|
+
setTopbarHeight: setTopbarHeight,
|
|
211
|
+
toggleFullscreen: toggleFullscreen,
|
|
212
|
+
openExternalUrl: openExternalUrl
|
|
213
|
+
})(TopBar3D);
|