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,7 +1,129 @@
|
|
|
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 2017-2024 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 classnames from 'classnames';
|
|
25
|
+
import isEmpty from 'lodash.isempty';
|
|
26
|
+
import PropTypes from 'prop-types';
|
|
27
|
+
import ConfigUtils from '../../utils/ConfigUtils';
|
|
28
|
+
import Icon from '../Icon';
|
|
29
|
+
import MenuButton from './MenuButton';
|
|
30
|
+
import './style/ButtonBar.css';
|
|
31
|
+
var ButtonPropShape = PropTypes.shape({
|
|
32
|
+
key: PropTypes.string,
|
|
33
|
+
label: PropTypes.string,
|
|
34
|
+
forceLabel: PropTypes.bool,
|
|
35
|
+
tooltip: PropTypes.string,
|
|
36
|
+
icon: PropTypes.string,
|
|
37
|
+
data: PropTypes.object,
|
|
38
|
+
extraClasses: PropTypes.string,
|
|
39
|
+
type: PropTypes.string,
|
|
40
|
+
disabled: PropTypes.bool
|
|
41
|
+
});
|
|
42
|
+
var ButtonBar = /*#__PURE__*/function (_React$Component) {
|
|
43
|
+
function ButtonBar() {
|
|
44
|
+
_classCallCheck(this, ButtonBar);
|
|
45
|
+
return _callSuper(this, ButtonBar, arguments);
|
|
46
|
+
}
|
|
47
|
+
_inherits(ButtonBar, _React$Component);
|
|
48
|
+
return _createClass(ButtonBar, [{
|
|
49
|
+
key: "render",
|
|
50
|
+
value: function render() {
|
|
51
|
+
var _this = this;
|
|
52
|
+
var isMobile = ConfigUtils.isMobile();
|
|
53
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
54
|
+
className: "ButtonBar controlgroup " + this.props.className + (this.props.disabled ? " buttonbar-disabled" : "")
|
|
55
|
+
}, this.props.buttons.map(function (entry, idx) {
|
|
56
|
+
if (Array.isArray(entry) && entry.length > 1) {
|
|
57
|
+
var active = entry.find(function (e) {
|
|
58
|
+
return e.key === _this.props.active;
|
|
59
|
+
}) !== undefined ? _this.props.active : null;
|
|
60
|
+
return /*#__PURE__*/React.createElement(MenuButton, {
|
|
61
|
+
active: active,
|
|
62
|
+
className: "buttonbar-combo",
|
|
63
|
+
key: "combo" + idx,
|
|
64
|
+
onActivate: function onActivate(value) {
|
|
65
|
+
return _this.props.onClick(value, entry.find(function (e) {
|
|
66
|
+
return e.key === value;
|
|
67
|
+
}).data);
|
|
68
|
+
}
|
|
69
|
+
}, entry.map(function (comboentry) {
|
|
70
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
71
|
+
className: "buttonbar-combo-entry",
|
|
72
|
+
key: comboentry.key,
|
|
73
|
+
onClick: function onClick() {
|
|
74
|
+
return _this.props.onClick(comboentry.key, comboentry.data);
|
|
75
|
+
},
|
|
76
|
+
value: comboentry.key
|
|
77
|
+
}, comboentry.icon ? /*#__PURE__*/React.createElement(Icon, {
|
|
78
|
+
icon: comboentry.icon
|
|
79
|
+
}) : null, comboentry.label && (!isMobile || !comboentry.icon || _this.props.forceLabel || comboentry.forceLabel) ? /*#__PURE__*/React.createElement("span", {
|
|
80
|
+
className: "buttonbar-combo-entry-label"
|
|
81
|
+
}, comboentry.label) : null, comboentry.tooltip ? /*#__PURE__*/React.createElement("span", {
|
|
82
|
+
className: "buttonbar-button-tooltip " + ("buttonbar-button-tooltip-" + _this.props.tooltipPos)
|
|
83
|
+
}, comboentry.tooltip) : null);
|
|
84
|
+
}));
|
|
85
|
+
} else if (!isEmpty(entry)) {
|
|
86
|
+
if (Array.isArray(entry)) {
|
|
87
|
+
entry = entry[0];
|
|
88
|
+
}
|
|
89
|
+
var classes = classnames({
|
|
90
|
+
button: true,
|
|
91
|
+
pressed: _this.props.active === entry.key || entry.pressed
|
|
92
|
+
});
|
|
93
|
+
classes += entry.extraClasses ? ' ' + entry.extraClasses : '';
|
|
94
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
95
|
+
className: "buttonbar-button-container",
|
|
96
|
+
key: entry.key
|
|
97
|
+
}, /*#__PURE__*/React.createElement("button", {
|
|
98
|
+
className: classes,
|
|
99
|
+
disabled: entry.disabled || _this.props.disabled,
|
|
100
|
+
onClick: entry.type !== "submit" ? function () {
|
|
101
|
+
return _this.props.onClick(entry.key, entry.data);
|
|
102
|
+
} : null,
|
|
103
|
+
type: entry.type || "button"
|
|
104
|
+
}, entry.icon ? /*#__PURE__*/React.createElement(Icon, {
|
|
105
|
+
icon: entry.icon
|
|
106
|
+
}) : null, entry.label && (!isMobile || !entry.icon || _this.props.forceLabel || entry.forceLabel) ? /*#__PURE__*/React.createElement("span", null, entry.label) : null), entry.tooltip ? /*#__PURE__*/React.createElement("span", {
|
|
107
|
+
className: "buttonbar-button-tooltip " + ("buttonbar-button-tooltip-" + _this.props.tooltipPos)
|
|
108
|
+
}, entry.tooltip) : null);
|
|
109
|
+
} else {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
}));
|
|
113
|
+
}
|
|
114
|
+
}]);
|
|
115
|
+
}(React.Component);
|
|
116
|
+
_defineProperty(ButtonBar, "propTypes", {
|
|
117
|
+
active: PropTypes.string,
|
|
118
|
+
buttons: PropTypes.arrayOf(PropTypes.oneOfType([ButtonPropShape, PropTypes.arrayOf(ButtonPropShape)])),
|
|
119
|
+
className: PropTypes.string,
|
|
120
|
+
disabled: PropTypes.bool,
|
|
121
|
+
forceLabel: PropTypes.bool,
|
|
122
|
+
onClick: PropTypes.func,
|
|
123
|
+
tooltipPos: PropTypes.string
|
|
124
|
+
});
|
|
125
|
+
_defineProperty(ButtonBar, "defaultProps", {
|
|
126
|
+
className: "",
|
|
127
|
+
tooltipPos: 'bottom'
|
|
128
|
+
});
|
|
129
|
+
export { ButtonBar as default };
|
|
@@ -1,8 +1,206 @@
|
|
|
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 _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
9
|
+
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); } }
|
|
10
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
11
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
12
|
+
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); }
|
|
13
|
+
function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
|
|
14
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
15
|
+
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
|
|
16
|
+
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); }
|
|
17
|
+
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
18
|
+
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; }
|
|
19
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
20
|
+
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); }
|
|
21
|
+
/**
|
|
2
22
|
* Copyright 2018-2024 Sourcepole AG
|
|
3
23
|
* All rights reserved.
|
|
4
24
|
*
|
|
5
25
|
* This source code is licensed under the BSD-style license found in the
|
|
6
26
|
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
8
|
-
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
import React from 'react';
|
|
30
|
+
import { ColorPicker } from '@vtaits/react-color-picker';
|
|
31
|
+
import PropTypes from 'prop-types';
|
|
32
|
+
import './style/ColorButton.css';
|
|
33
|
+
import '@vtaits/react-color-picker/index.css';
|
|
34
|
+
var defaultColors = [
|
|
35
|
+
// [r, g, b, a]
|
|
36
|
+
[255, 255, 255, 1], [0, 0, 0, 1], [255, 105, 0, 1], [252, 185, 0, 1], [0, 208, 132, 1], [142, 209, 252, 1], [6, 147, 227, 1], [171, 184, 195, 1], [235, 20, 76, 1], [247, 141, 167, 1]];
|
|
37
|
+
var ColorButton = /*#__PURE__*/function (_React$Component) {
|
|
38
|
+
function ColorButton(props) {
|
|
39
|
+
var _this;
|
|
40
|
+
_classCallCheck(this, ColorButton);
|
|
41
|
+
_this = _callSuper(this, ColorButton, [props]);
|
|
42
|
+
_defineProperty(_this, "state", {
|
|
43
|
+
colors: defaultColors
|
|
44
|
+
});
|
|
45
|
+
_defineProperty(_this, "togglePicker", function (ev) {
|
|
46
|
+
if (!_this.state.pickerVisible) {
|
|
47
|
+
document.addEventListener('click', _this.checkClosePicker);
|
|
48
|
+
} else {
|
|
49
|
+
document.removeEventListener('click', _this.checkClosePicker);
|
|
50
|
+
}
|
|
51
|
+
ev.stopPropagation();
|
|
52
|
+
_this.setState(function (state) {
|
|
53
|
+
return {
|
|
54
|
+
hexStr: null,
|
|
55
|
+
pickerVisible: !state.pickerVisible
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
_defineProperty(_this, "checkClosePicker", function (ev) {
|
|
60
|
+
if (_this.pickerEl && !_this.pickerEl.contains(ev.target)) {
|
|
61
|
+
_this.togglePicker(ev);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
_defineProperty(_this, "selectColor", function (idx) {
|
|
65
|
+
_this.setState({
|
|
66
|
+
hexStr: null
|
|
67
|
+
});
|
|
68
|
+
var n = _this.props.alpha ? 4 : 3;
|
|
69
|
+
_this.props.onColorChanged(_toConsumableArray(_this.state.colors[idx]).slice(0, n));
|
|
70
|
+
});
|
|
71
|
+
_defineProperty(_this, "replaceDefaultColor", function (ev, idx) {
|
|
72
|
+
_this.setState(function (state) {
|
|
73
|
+
var newColors = _toConsumableArray(state.colors);
|
|
74
|
+
newColors[idx] = _toConsumableArray(_this.props.color);
|
|
75
|
+
return {
|
|
76
|
+
colors: newColors
|
|
77
|
+
};
|
|
78
|
+
});
|
|
79
|
+
_this.forceUpdate();
|
|
80
|
+
ev.preventDefault();
|
|
81
|
+
});
|
|
82
|
+
_defineProperty(_this, "changeColor", function (hexStr) {
|
|
83
|
+
var match = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hexStr);
|
|
84
|
+
if (match) {
|
|
85
|
+
var newColor = [parseInt(match[1], 16), parseInt(match[2], 16), parseInt(match[3], 16), _this.props.color[3]];
|
|
86
|
+
_this.setState({
|
|
87
|
+
hexStr: null
|
|
88
|
+
});
|
|
89
|
+
var n = _this.props.alpha ? 4 : 3;
|
|
90
|
+
_this.props.onColorChanged(newColor.slice(0, n));
|
|
91
|
+
} else {
|
|
92
|
+
_this.setState({
|
|
93
|
+
hexStr: hexStr
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
_defineProperty(_this, "changeColorAlpha", function (alpha) {
|
|
98
|
+
var newColor = [].concat(_toConsumableArray(_this.props.color.slice(0, 3)), [parseFloat(alpha)]);
|
|
99
|
+
_this.props.onColorChanged(newColor);
|
|
100
|
+
});
|
|
101
|
+
_this.state = {
|
|
102
|
+
pickerVisible: false,
|
|
103
|
+
hexStr: null
|
|
104
|
+
};
|
|
105
|
+
_this.pickerEl = null;
|
|
106
|
+
_this.state.colors = props.defaultColors;
|
|
107
|
+
return _this;
|
|
108
|
+
}
|
|
109
|
+
_inherits(ColorButton, _React$Component);
|
|
110
|
+
return _createClass(ColorButton, [{
|
|
111
|
+
key: "render",
|
|
112
|
+
value: function render() {
|
|
113
|
+
var _this2 = this;
|
|
114
|
+
var pickerStyle = {
|
|
115
|
+
visibility: this.state.pickerVisible ? 'visible' : 'hidden'
|
|
116
|
+
};
|
|
117
|
+
var curColor = this.props.color;
|
|
118
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
119
|
+
className: "ColorButton"
|
|
120
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
121
|
+
className: "colorbutton-icon",
|
|
122
|
+
onClick: this.togglePicker
|
|
123
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
124
|
+
style: {
|
|
125
|
+
backgroundColor: this.cssColor(curColor)
|
|
126
|
+
}
|
|
127
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
128
|
+
className: "colorbutton-picker",
|
|
129
|
+
ref: function ref(el) {
|
|
130
|
+
_this2.pickerEl = el;
|
|
131
|
+
},
|
|
132
|
+
style: pickerStyle
|
|
133
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
134
|
+
className: "colorbutton-picker-icons"
|
|
135
|
+
}, this.state.colors.map(function (color, idx) {
|
|
136
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
137
|
+
className: "colorbutton-icon",
|
|
138
|
+
key: "color" + idx,
|
|
139
|
+
onClick: function onClick() {
|
|
140
|
+
return _this2.selectColor(idx);
|
|
141
|
+
},
|
|
142
|
+
onContextMenu: function onContextMenu(ev) {
|
|
143
|
+
return _this2.replaceDefaultColor(ev, idx);
|
|
144
|
+
}
|
|
145
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
146
|
+
style: {
|
|
147
|
+
backgroundColor: _this2.cssColor(color)
|
|
148
|
+
}
|
|
149
|
+
}));
|
|
150
|
+
})), /*#__PURE__*/React.createElement(ColorPicker, {
|
|
151
|
+
className: "colorbutton-picker-spectrum",
|
|
152
|
+
onDrag: this.changeColor,
|
|
153
|
+
saturationHeight: 150,
|
|
154
|
+
value: this.cssColor(curColor)
|
|
155
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
156
|
+
className: "colorbutton-picker-input controlgroup"
|
|
157
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
158
|
+
className: "colorbutton-icon"
|
|
159
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
160
|
+
style: {
|
|
161
|
+
backgroundColor: this.cssColor(curColor)
|
|
162
|
+
}
|
|
163
|
+
})), /*#__PURE__*/React.createElement("input", {
|
|
164
|
+
onChange: function onChange(ev) {
|
|
165
|
+
return _this2.changeColor(ev.target.value);
|
|
166
|
+
},
|
|
167
|
+
type: "text",
|
|
168
|
+
value: this.state.hexStr || this.hexColor(curColor)
|
|
169
|
+
}), this.props.alpha ? /*#__PURE__*/React.createElement("div", {
|
|
170
|
+
className: "colorbutton-picker-alpha"
|
|
171
|
+
}, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("input", {
|
|
172
|
+
max: "1",
|
|
173
|
+
min: "0",
|
|
174
|
+
onChange: function onChange(ev) {
|
|
175
|
+
return _this2.changeColorAlpha(ev.target.value);
|
|
176
|
+
},
|
|
177
|
+
step: "0.1",
|
|
178
|
+
type: "range",
|
|
179
|
+
value: curColor[3]
|
|
180
|
+
}))) : null)));
|
|
181
|
+
}
|
|
182
|
+
}, {
|
|
183
|
+
key: "cssColor",
|
|
184
|
+
value: function cssColor(color) {
|
|
185
|
+
return "rgba(" + color.join(",") + ")";
|
|
186
|
+
}
|
|
187
|
+
}, {
|
|
188
|
+
key: "hexColor",
|
|
189
|
+
value: function hexColor(color) {
|
|
190
|
+
return (0x1000000 + (color[2] | color[1] << 8 | color[0] << 16)).toString(16).slice(1).toUpperCase();
|
|
191
|
+
}
|
|
192
|
+
}]);
|
|
193
|
+
}(React.Component);
|
|
194
|
+
_defineProperty(ColorButton, "propTypes", {
|
|
195
|
+
alpha: PropTypes.bool,
|
|
196
|
+
color: PropTypes.array,
|
|
197
|
+
defaultColors: PropTypes.array,
|
|
198
|
+
onColorChanged: PropTypes.func
|
|
199
|
+
});
|
|
200
|
+
_defineProperty(ColorButton, "defaultProps", {
|
|
201
|
+
alpha: true,
|
|
202
|
+
defaultColors: defaultColors,
|
|
203
|
+
color: [255, 255, 255, 1],
|
|
204
|
+
onColorChanged: function onColorChanged(/* color */) {}
|
|
205
|
+
});
|
|
206
|
+
export { ColorButton as default };
|
|
@@ -1,7 +1,171 @@
|
|
|
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 _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
9
|
+
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); } }
|
|
10
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
11
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
12
|
+
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); }
|
|
13
|
+
function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
|
|
14
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
15
|
+
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
|
|
16
|
+
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); }
|
|
17
|
+
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
18
|
+
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; }
|
|
19
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
20
|
+
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); }
|
|
21
|
+
/**
|
|
2
22
|
* Copyright 2024 Sourcepole AG
|
|
3
23
|
* All rights reserved.
|
|
4
24
|
*
|
|
5
25
|
* This source code is licensed under the BSD-style license found in the
|
|
6
26
|
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
import React from 'react';
|
|
30
|
+
import classnames from 'classnames';
|
|
31
|
+
import { remove as removeDiacritics } from 'diacritics';
|
|
32
|
+
import isEmpty from 'lodash.isempty';
|
|
33
|
+
import PropTypes from 'prop-types';
|
|
34
|
+
import MiscUtils from '../../utils/MiscUtils';
|
|
35
|
+
import Icon from '../Icon';
|
|
36
|
+
import PopupMenu from './PopupMenu';
|
|
37
|
+
import './style/ComboBox.css';
|
|
38
|
+
var ComboBox = /*#__PURE__*/function (_React$Component) {
|
|
39
|
+
function ComboBox(props) {
|
|
40
|
+
var _this;
|
|
41
|
+
_classCallCheck(this, ComboBox);
|
|
42
|
+
_this = _callSuper(this, ComboBox, [props]);
|
|
43
|
+
_defineProperty(_this, "state", {
|
|
44
|
+
popup: false,
|
|
45
|
+
expanded: [],
|
|
46
|
+
filter: ''
|
|
47
|
+
});
|
|
48
|
+
_defineProperty(_this, "filterChanged", function (ev) {
|
|
49
|
+
_this.setState({
|
|
50
|
+
filter: ev.target.value
|
|
51
|
+
});
|
|
52
|
+
_this.props.onChange('');
|
|
53
|
+
});
|
|
54
|
+
_defineProperty(_this, "onChildClicked", function (ev, child) {
|
|
55
|
+
_this.setState({
|
|
56
|
+
filter: ''
|
|
57
|
+
});
|
|
58
|
+
if (child.props["data-group-header"] !== undefined) {
|
|
59
|
+
MiscUtils.killEvent(ev);
|
|
60
|
+
_this.setState(function (state) {
|
|
61
|
+
var groupid = child.props["data-group-header"];
|
|
62
|
+
if (state.expanded.includes(groupid)) {
|
|
63
|
+
return {
|
|
64
|
+
expanded: state.expanded.filter(function (x) {
|
|
65
|
+
return x !== groupid;
|
|
66
|
+
})
|
|
67
|
+
};
|
|
68
|
+
} else {
|
|
69
|
+
return {
|
|
70
|
+
expanded: [].concat(_toConsumableArray(state.expanded), [groupid])
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
} else if (!child.props.disabled) {
|
|
75
|
+
_this.props.onChange(child.props.value);
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
_this.el = null;
|
|
79
|
+
return _this;
|
|
80
|
+
}
|
|
81
|
+
_inherits(ComboBox, _React$Component);
|
|
82
|
+
return _createClass(ComboBox, [{
|
|
83
|
+
key: "render",
|
|
84
|
+
value: function render() {
|
|
85
|
+
var _this2 = this;
|
|
86
|
+
var children = React.Children.toArray(this.props.children);
|
|
87
|
+
var rect = this.el ? this.el.getBoundingClientRect() : null;
|
|
88
|
+
var activeOption = children.filter(function (child) {
|
|
89
|
+
return child.props.value === _this2.props.value;
|
|
90
|
+
});
|
|
91
|
+
if (activeOption.length === 0) {
|
|
92
|
+
if (!this.state.filter) {
|
|
93
|
+
activeOption = /*#__PURE__*/React.createElement("span", null, this.props.placeholder);
|
|
94
|
+
} else {
|
|
95
|
+
activeOption = /*#__PURE__*/React.createElement("span", null, "\xA0");
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
var filter = this.state.filter ? new RegExp(removeDiacritics(this.state.filter).replace(/[-[\]/{}()*+?.\\^$|]/g, "\\$&"), "i") : null;
|
|
99
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
100
|
+
className: "combobox " + (this.props.className || ""),
|
|
101
|
+
ref: function ref(el) {
|
|
102
|
+
_this2.el = el;
|
|
103
|
+
}
|
|
104
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
105
|
+
className: "combobox-button",
|
|
106
|
+
onClick: this.props.readOnly || isEmpty(children) ? null : function () {
|
|
107
|
+
return _this2.setState({
|
|
108
|
+
popup: true
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
112
|
+
className: "combobox-button-content"
|
|
113
|
+
}, activeOption), this.props.filterable && !this.props.readOnly ? /*#__PURE__*/React.createElement("input", {
|
|
114
|
+
className: "combobox-button-filter",
|
|
115
|
+
onChange: this.filterChanged,
|
|
116
|
+
type: "text",
|
|
117
|
+
value: this.state.filter
|
|
118
|
+
}) : null, this.props.readOnly ? null : /*#__PURE__*/React.createElement(Icon, {
|
|
119
|
+
icon: "chevron-down"
|
|
120
|
+
})), this.el && this.state.popup ? /*#__PURE__*/React.createElement(PopupMenu, {
|
|
121
|
+
className: "combobox-menu" + (this.props.menuClassName ? " " + this.props.menuClassName : ""),
|
|
122
|
+
onClose: function onClose() {
|
|
123
|
+
return _this2.setState({
|
|
124
|
+
popup: false
|
|
125
|
+
});
|
|
126
|
+
},
|
|
127
|
+
width: rect.width,
|
|
128
|
+
x: rect.left,
|
|
129
|
+
y: rect.bottom
|
|
130
|
+
}, children.map(function (child, idx) {
|
|
131
|
+
var classNames = classnames({
|
|
132
|
+
"combobox-menu-entry": true,
|
|
133
|
+
"combobox-menu-entry-active": child.props.value === _this2.props.value && !child.props.disabled,
|
|
134
|
+
"combobox-menu-entry-disabled": child.props.disabled,
|
|
135
|
+
"combobox-menu-entry-group-header": child.props["data-group-header"] !== undefined
|
|
136
|
+
});
|
|
137
|
+
if (child.props["data-group"] !== undefined && !_this2.state.expanded.includes(child.props["data-group"])) {
|
|
138
|
+
return null;
|
|
139
|
+
}
|
|
140
|
+
if (filter && !removeDiacritics(child.props.title).match(filter)) {
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
var expanderIcon = _this2.state.expanded.includes(child.props["data-group-header"]) ? "collapse" : "expand";
|
|
144
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
145
|
+
className: classNames,
|
|
146
|
+
key: "child:" + idx,
|
|
147
|
+
onClickCapture: function onClickCapture(ev) {
|
|
148
|
+
return _this2.onChildClicked(ev, child);
|
|
149
|
+
}
|
|
150
|
+
}, child.props["data-group-header"] !== undefined ? /*#__PURE__*/React.createElement(Icon, {
|
|
151
|
+
icon: expanderIcon
|
|
152
|
+
}) : null, child);
|
|
153
|
+
})) : null);
|
|
154
|
+
}
|
|
155
|
+
}]);
|
|
156
|
+
}(React.Component);
|
|
157
|
+
_defineProperty(ComboBox, "propTypes", {
|
|
158
|
+
children: PropTypes.oneOfType([PropTypes.node, PropTypes.array]),
|
|
159
|
+
className: PropTypes.string,
|
|
160
|
+
filterable: PropTypes.bool,
|
|
161
|
+
menuClassName: PropTypes.string,
|
|
162
|
+
onChange: PropTypes.func,
|
|
163
|
+
placeholder: PropTypes.string,
|
|
164
|
+
readOnly: PropTypes.bool,
|
|
165
|
+
value: PropTypes.string
|
|
166
|
+
});
|
|
167
|
+
_defineProperty(ComboBox, "defaultProps", {
|
|
168
|
+
readOnly: false,
|
|
169
|
+
placeholder: ''
|
|
170
|
+
});
|
|
171
|
+
export { ComboBox as default };
|