qwc2 2026.8.13 → 2026.8.21
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/README.md +1 -1
- package/components/AttributeTableWidget.js +121 -285
- package/components/BookmarkPanel.js +3 -2
- package/components/IdentifyViewer.js +39 -20
- package/components/ImportLayer.js +6 -392
- package/components/QtDesignerForm.js +1 -1
- package/components/ResizeableWindow.js +10 -0
- package/components/map3d/style/Map3D.css +1 -0
- package/components/style/AttributeTableWidget.css +1 -140
- package/components/widgets/FeaturesTable.js +30 -31
- package/components/widgets/MenuButton.js +10 -10
- package/components/widgets/TextInput.js +0 -10
- package/components/widgets/style/FeaturesTable.css +46 -19
- package/icons/public.svg +63 -0
- package/package.json +1 -1
- package/plugins/BottomBar.js +123 -111
- package/plugins/MapDropImport.js +135 -0
- package/plugins/map3d/Viewshed3D.js +171 -52
- package/plugins/map3d/style/Viewshed3D.css +4 -0
- package/plugins/style/BottomBar.css +10 -3
- package/plugins/style/MapDropImport.css +19 -0
- package/static/translations/bg-BG.json +8 -0
- package/static/translations/ca-ES.json +8 -0
- package/static/translations/cs-CZ.json +8 -0
- package/static/translations/de-CH.json +8 -0
- package/static/translations/de-DE.json +8 -0
- package/static/translations/en-US.json +8 -0
- package/static/translations/es-ES.json +8 -0
- package/static/translations/fi-FI.json +8 -0
- package/static/translations/fr-FR.json +8 -0
- package/static/translations/hu-HU.json +8 -0
- package/static/translations/it-IT.json +8 -0
- package/static/translations/ja-JP.json +8 -0
- package/static/translations/nl-NL.json +8 -0
- package/static/translations/no-NO.json +8 -0
- package/static/translations/pl-PL.json +8 -0
- package/static/translations/pt-BR.json +8 -0
- package/static/translations/pt-PT.json +8 -0
- package/static/translations/ro-RO.json +8 -0
- package/static/translations/ru-RU.json +8 -0
- package/static/translations/sv-SE.json +8 -0
- package/static/translations/tr-TR.json +8 -0
- package/static/translations/tsconfig.json +4 -0
- package/static/translations/uk-UA.json +8 -0
- package/utils/FileImportUtils.js +390 -0
- package/utils/LayerUtils.js +2 -2
|
@@ -36,132 +36,12 @@ div.attribtable-toolbar > * {
|
|
|
36
36
|
|
|
37
37
|
div.attribtable-contents {
|
|
38
38
|
flex: 1 1 auto;
|
|
39
|
+
height: 0;
|
|
39
40
|
background-color: var(--list-bg-color);
|
|
40
|
-
overflow: auto;
|
|
41
41
|
border: 1px solid var(--border-color);
|
|
42
42
|
position: relative;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
table.attribtable-table th {
|
|
46
|
-
position: sticky;
|
|
47
|
-
top: 0;
|
|
48
|
-
z-index: 2;
|
|
49
|
-
padding: 0;
|
|
50
|
-
background-color: var(--button-bg-color);
|
|
51
|
-
color: var(--button-text-color);
|
|
52
|
-
box-shadow: inset -1px 0 0 var(--border-color),
|
|
53
|
-
inset 0 -1px 0 var(--border-color);
|
|
54
|
-
overflow: hidden;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
table.attribtable-table th:first-child {
|
|
58
|
-
position: sticky;
|
|
59
|
-
left: 0;
|
|
60
|
-
z-index: 3;
|
|
61
|
-
width: 2em;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
table.attribtable-table th > span {
|
|
65
|
-
margin: 0 0 -1px -1px;
|
|
66
|
-
padding: 0.25em;
|
|
67
|
-
display: flex;
|
|
68
|
-
align-items: center;
|
|
69
|
-
position: relative;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
table.attribtable-table th > span > span.icon {
|
|
73
|
-
position: absolute;
|
|
74
|
-
right: 1px;
|
|
75
|
-
background-color: var(--button-bg-color);
|
|
76
|
-
flex: 0 0 auto;
|
|
77
|
-
margin-left: 0.5em;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
span.attribtable-table-headername {
|
|
81
|
-
flex: 1 1 auto;
|
|
82
|
-
text-align: left;
|
|
83
|
-
display: flex;
|
|
84
|
-
align-items: center;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
table.attribtable-table tr:nth-child(even) {
|
|
88
|
-
background-color: var(--list-item-bg-color-even);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
table.attribtable-table tr:hover:not(.row-disabled) {
|
|
92
|
-
background-color: var(--list-item-bg-color-hover);
|
|
93
|
-
color: var(--list-item-text-color-hover);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
table.attribtable-table td:first-child {
|
|
97
|
-
background-color: var(--button-bg-color);
|
|
98
|
-
color: var(--button-text-color);
|
|
99
|
-
align-items: center;
|
|
100
|
-
padding: 0.25em 0.5em;
|
|
101
|
-
background-clip: padding-box;
|
|
102
|
-
position: sticky;
|
|
103
|
-
left: 0;
|
|
104
|
-
z-index: 1;
|
|
105
|
-
width: 2.5em;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
table.attribtable-table td {
|
|
109
|
-
min-width: 2.5em;;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
span.attribtable-table-ldraghandle,
|
|
113
|
-
span.attribtable-table-rdraghandle {
|
|
114
|
-
touch-action: none;
|
|
115
|
-
display: block;
|
|
116
|
-
position: absolute;
|
|
117
|
-
width: 4px;
|
|
118
|
-
top: 0;
|
|
119
|
-
bottom: 0;
|
|
120
|
-
cursor: ew-resize;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
span.attribtable-table-ldraghandle {
|
|
124
|
-
left: -1px;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
span.attribtable-table-rdraghandle {
|
|
128
|
-
right: 0px;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
span.attribtable-table-tdraghandle,
|
|
132
|
-
span.attribtable-table-bdraghandle {
|
|
133
|
-
touch-action: none;
|
|
134
|
-
display: block;
|
|
135
|
-
position: absolute;
|
|
136
|
-
height: 4px;
|
|
137
|
-
left: 0;
|
|
138
|
-
right: 0;
|
|
139
|
-
cursor: ns-resize;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
span.attribtable-table-tdraghandle {
|
|
143
|
-
top: -1px;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
span.attribtable-table-bdraghandle {
|
|
147
|
-
bottom: 0px;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
table.attribtable-table {
|
|
151
|
-
table-layout: fixed;
|
|
152
|
-
min-width: 100%;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
table.attribtable-table td {
|
|
156
|
-
border: 1px solid var(--border-color);
|
|
157
|
-
text-align: center;
|
|
158
|
-
height: 2em;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
table.attribtable-table td:first-child {
|
|
162
|
-
border-left-width: 0;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
45
|
table.attribtable-table td > input:not([type=checkbox]),
|
|
166
46
|
table.attribtable-table td > select,
|
|
167
47
|
table.attribtable-table td > div.TextInput,
|
|
@@ -219,22 +99,3 @@ body.nsresizing, body.nsresizing * {
|
|
|
219
99
|
cursor: ns-resize!important;
|
|
220
100
|
user-select: none;
|
|
221
101
|
}
|
|
222
|
-
|
|
223
|
-
div.attribtable-resize-line-vert,
|
|
224
|
-
div.attribtable-resize-line-horiz {
|
|
225
|
-
position: absolute;
|
|
226
|
-
z-index: 2;
|
|
227
|
-
background-color: var(--border-color);
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
div.attribtable-resize-line-vert {
|
|
231
|
-
width: 4px;
|
|
232
|
-
top: 0;
|
|
233
|
-
bottom: 0;
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
div.attribtable-resize-line-horiz {
|
|
237
|
-
height: 4px;
|
|
238
|
-
left: 0;
|
|
239
|
-
right: 0;
|
|
240
|
-
}
|
|
@@ -41,7 +41,7 @@ import LocaleUtils from '../../utils/LocaleUtils';
|
|
|
41
41
|
import MiscUtils from '../../utils/MiscUtils';
|
|
42
42
|
import Icon from '../Icon';
|
|
43
43
|
import './style/FeaturesTable.css';
|
|
44
|
-
var FeaturesTable = /*#__PURE__*/function (_React$
|
|
44
|
+
var FeaturesTable = /*#__PURE__*/function (_React$PureComponent) {
|
|
45
45
|
function FeaturesTable(props) {
|
|
46
46
|
var _this;
|
|
47
47
|
_classCallCheck(this, FeaturesTable);
|
|
@@ -49,7 +49,6 @@ var FeaturesTable = /*#__PURE__*/function (_React$Component) {
|
|
|
49
49
|
_defineProperty(_this, "state", {
|
|
50
50
|
sortField: null,
|
|
51
51
|
sortedFeatures: null,
|
|
52
|
-
hoveredFeature: null,
|
|
53
52
|
selectedFeatures: {}
|
|
54
53
|
});
|
|
55
54
|
_defineProperty(_this, "sortBy", function (field) {
|
|
@@ -122,11 +121,13 @@ var FeaturesTable = /*#__PURE__*/function (_React$Component) {
|
|
|
122
121
|
var origin = contentsEl.getBoundingClientRect()[resizeCol ? "left" : "top"];
|
|
123
122
|
var resizeLine = document.createElement('div');
|
|
124
123
|
if (resizeCol) {
|
|
125
|
-
resizeLine.className = '
|
|
124
|
+
resizeLine.className = 'featurestable-resize-line-vert';
|
|
126
125
|
resizeLine.style.left = resize.anchor - origin + contentsEl.scrollLeft + "px";
|
|
126
|
+
resizeLine.style.height = contentsEl.scrollHeight + "px";
|
|
127
127
|
} else {
|
|
128
|
-
resizeLine.className = '
|
|
128
|
+
resizeLine.className = 'featurestable-resize-line-horiz';
|
|
129
129
|
resizeLine.style.top = resize.anchor - origin + contentsEl.scrollTop + "px";
|
|
130
|
+
resizeLine.style.width = contentsEl.scrollWidth + "px";
|
|
130
131
|
}
|
|
131
132
|
contentsEl.appendChild(resizeLine);
|
|
132
133
|
var resizeDo = resizeCol ? function (event) {
|
|
@@ -207,21 +208,20 @@ var FeaturesTable = /*#__PURE__*/function (_React$Component) {
|
|
|
207
208
|
});
|
|
208
209
|
});
|
|
209
210
|
_defineProperty(_this, "onFeatureHoverIn", function (feature) {
|
|
210
|
-
_this.
|
|
211
|
-
|
|
212
|
-
});
|
|
211
|
+
_this.hoveredFeature = feature;
|
|
212
|
+
_this.props.hoverChanged(feature);
|
|
213
213
|
});
|
|
214
214
|
_defineProperty(_this, "onFeatureHoverLeave", function (feature) {
|
|
215
|
-
_this.
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
});
|
|
215
|
+
if (_this.hoveredFeature === feature) {
|
|
216
|
+
_this.hoveredFeature = null;
|
|
217
|
+
_this.props.hoverChanged(null);
|
|
218
|
+
}
|
|
220
219
|
});
|
|
221
220
|
_this.table = null;
|
|
221
|
+
_this.hoveredFeature = null;
|
|
222
222
|
return _this;
|
|
223
223
|
}
|
|
224
|
-
_inherits(FeaturesTable, _React$
|
|
224
|
+
_inherits(FeaturesTable, _React$PureComponent);
|
|
225
225
|
return _createClass(FeaturesTable, [{
|
|
226
226
|
key: "componentDidUpdate",
|
|
227
227
|
value: function componentDidUpdate(prevProps, prevState) {
|
|
@@ -245,9 +245,6 @@ var FeaturesTable = /*#__PURE__*/function (_React$Component) {
|
|
|
245
245
|
return newState;
|
|
246
246
|
});
|
|
247
247
|
}
|
|
248
|
-
if (this.state.hoveredFeature !== prevState.hoveredFeature || this.state.selectedFeatures !== prevState.selectedFeatures) {
|
|
249
|
-
this.props.highlightFeatures(this.state.hoveredFeature ? [this.state.hoveredFeature] : Object.values(this.state.selectedFeatures));
|
|
250
|
-
}
|
|
251
248
|
if (this.state.selectedFeatures !== prevState.selectedFeatures) {
|
|
252
249
|
var _this$props$selection, _this$props;
|
|
253
250
|
(_this$props$selection = (_this$props = this.props).selectionChanged) === null || _this$props$selection === void 0 || _this$props$selection.call(_this$props, this.state.selectedFeatures);
|
|
@@ -259,17 +256,18 @@ var FeaturesTable = /*#__PURE__*/function (_React$Component) {
|
|
|
259
256
|
var _this$state$sortedFea,
|
|
260
257
|
_this3 = this;
|
|
261
258
|
var features = (_this$state$sortedFea = this.state.sortedFeatures) !== null && _this$state$sortedFea !== void 0 ? _this$state$sortedFea : this.props.features;
|
|
262
|
-
var fields = this.props.fields
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
var showIdColumn = !this.props.hideIdColumn;
|
|
259
|
+
var fields = this.props.fields.filter(function (field) {
|
|
260
|
+
return field.id !== _this3.props.primaryKey;
|
|
261
|
+
});
|
|
266
262
|
var pkfield = this.props.fields.find(function (field) {
|
|
267
|
-
return field.
|
|
263
|
+
return field.id === _this3.props.primaryKey;
|
|
268
264
|
});
|
|
269
|
-
var
|
|
265
|
+
var showSelColumn = this.props.allowSelect;
|
|
266
|
+
var showIdColumn = !this.props.hideIdColumn;
|
|
267
|
+
var className = classNames(_defineProperty({
|
|
270
268
|
"featurestable": true,
|
|
271
269
|
"featurestable-selectable": showSelColumn
|
|
272
|
-
});
|
|
270
|
+
}, this.props.className, !!this.props.className));
|
|
273
271
|
var selectAll = null;
|
|
274
272
|
if (this.props.allowSelectAll) {
|
|
275
273
|
var icon;
|
|
@@ -296,14 +294,14 @@ var FeaturesTable = /*#__PURE__*/function (_React$Component) {
|
|
|
296
294
|
style: this.props.style
|
|
297
295
|
}, /*#__PURE__*/React.createElement("thead", null, /*#__PURE__*/React.createElement("tr", null, showSelColumn ? /*#__PURE__*/React.createElement("th", null, selectAll) : null, showIdColumn ? /*#__PURE__*/React.createElement("th", {
|
|
298
296
|
onClick: function onClick() {
|
|
299
|
-
return _this3.sortBy(
|
|
297
|
+
return _this3.sortBy(pkfield.name);
|
|
300
298
|
},
|
|
301
299
|
onKeyDown: MiscUtils.checkKeyActivate,
|
|
302
300
|
tabIndex: 0,
|
|
303
301
|
title: pkfield.name
|
|
304
302
|
}, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement("span", {
|
|
305
303
|
className: "featurestable-headername"
|
|
306
|
-
}, pkfield.name), this.renderSortIndicator(
|
|
304
|
+
}, pkfield.name), this.renderSortIndicator(pkfield.name), this.renderColumnResizeHandle(showSelColumn, 'r'))) : null, fields.map(function (field, idx) {
|
|
307
305
|
return /*#__PURE__*/React.createElement("th", {
|
|
308
306
|
key: field.id,
|
|
309
307
|
onClick: function onClick() {
|
|
@@ -319,11 +317,11 @@ var FeaturesTable = /*#__PURE__*/function (_React$Component) {
|
|
|
319
317
|
title: LocaleUtils.tr("attribtable.calculatedfield")
|
|
320
318
|
}) : null), _this3.renderSortIndicator(field.id), idx < fields.length - 1 ? _this3.renderColumnResizeHandle(idx + showSelColumn + showIdColumn, 'r') : null));
|
|
321
319
|
}))), /*#__PURE__*/React.createElement("tbody", null, features.map(function (feature, idx) {
|
|
322
|
-
var _this3$props$rowIsDis, _this3$props;
|
|
320
|
+
var _this3$props$rowIsDis, _this3$props, _feature$id2;
|
|
323
321
|
var disabled = _this3.props.readOnly || ((_this3$props$rowIsDis = (_this3$props = _this3.props).rowIsDisabled) === null || _this3$props$rowIsDis === void 0 ? void 0 : _this3$props$rowIsDis.call(_this3$props, idx));
|
|
324
322
|
return /*#__PURE__*/React.createElement("tr", {
|
|
325
323
|
className: disabled && !_this3.props.readOnly ? "row-disabled" : "",
|
|
326
|
-
key: feature.id,
|
|
324
|
+
key: (_feature$id2 = feature.id) !== null && _feature$id2 !== void 0 ? _feature$id2 : "new",
|
|
327
325
|
onMouseEnter: function onMouseEnter() {
|
|
328
326
|
return _this3.onFeatureHoverIn(feature);
|
|
329
327
|
},
|
|
@@ -335,22 +333,23 @@ var FeaturesTable = /*#__PURE__*/function (_React$Component) {
|
|
|
335
333
|
onClick: function onClick() {
|
|
336
334
|
return _this3.toggleFeatureSelected(feature);
|
|
337
335
|
}
|
|
338
|
-
}), _this3.renderRowResizeHandle(idx + 1, 'b'))) : null, showIdColumn ? /*#__PURE__*/React.createElement("td", null, feature
|
|
336
|
+
}), _this3.renderRowResizeHandle(idx + 1, 'b'))) : null, showIdColumn ? /*#__PURE__*/React.createElement("td", null, _this3.props.renderField(feature, pkfield, idx, disabled)) : null, fields.map(function (field) {
|
|
339
337
|
return /*#__PURE__*/React.createElement("td", {
|
|
340
338
|
key: field.id
|
|
341
|
-
}, _this3.props.renderField(feature, field));
|
|
339
|
+
}, _this3.props.renderField(feature, field, idx, disabled));
|
|
342
340
|
}));
|
|
343
341
|
}))));
|
|
344
342
|
}
|
|
345
343
|
}]);
|
|
346
|
-
}(React.
|
|
344
|
+
}(React.PureComponent);
|
|
347
345
|
_defineProperty(FeaturesTable, "propTypes", {
|
|
348
346
|
allowSelect: PropTypes.bool,
|
|
349
347
|
allowSelectAll: PropTypes.bool,
|
|
348
|
+
className: PropTypes.string,
|
|
350
349
|
features: PropTypes.array,
|
|
351
350
|
fields: PropTypes.array,
|
|
352
351
|
hideIdColumn: PropTypes.bool,
|
|
353
|
-
|
|
352
|
+
hoverChanged: PropTypes.func,
|
|
354
353
|
onSort: PropTypes.func,
|
|
355
354
|
primaryKey: PropTypes.string,
|
|
356
355
|
readOnly: PropTypes.bool,
|
|
@@ -28,13 +28,15 @@ var MenuButton = /*#__PURE__*/function (_React$Component) {
|
|
|
28
28
|
popup: false,
|
|
29
29
|
selected: null
|
|
30
30
|
});
|
|
31
|
-
_defineProperty(_this, "onMenuClicked", function () {
|
|
31
|
+
_defineProperty(_this, "onMenuClicked", function (ev) {
|
|
32
32
|
if (!_this.props.disabled) {
|
|
33
|
-
_this.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
if (!_this.state.selected || !ev.currentTarget.querySelector('.menubutton-button-content').contains(ev.target)) {
|
|
34
|
+
_this.setState(function (state) {
|
|
35
|
+
return {
|
|
36
|
+
popup: !state.popup
|
|
37
|
+
};
|
|
38
|
+
});
|
|
39
|
+
}
|
|
38
40
|
}
|
|
39
41
|
});
|
|
40
42
|
_defineProperty(_this, "onButtonClicked", function () {
|
|
@@ -44,8 +46,6 @@ var MenuButton = /*#__PURE__*/function (_React$Component) {
|
|
|
44
46
|
_this.setState({
|
|
45
47
|
popup: false
|
|
46
48
|
});
|
|
47
|
-
} else {
|
|
48
|
-
_this.onMenuClicked();
|
|
49
49
|
}
|
|
50
50
|
});
|
|
51
51
|
_defineProperty(_this, "onChildClicked", function (ev, child) {
|
|
@@ -111,6 +111,7 @@ var MenuButton = /*#__PURE__*/function (_React$Component) {
|
|
|
111
111
|
className: classes
|
|
112
112
|
}, /*#__PURE__*/React.createElement("div", {
|
|
113
113
|
className: buttonClassnames,
|
|
114
|
+
onClick: this.onMenuClicked,
|
|
114
115
|
onKeyDown: MiscUtils.checkKeyActivate,
|
|
115
116
|
ref: function ref(el) {
|
|
116
117
|
_this2.el = el;
|
|
@@ -120,8 +121,7 @@ var MenuButton = /*#__PURE__*/function (_React$Component) {
|
|
|
120
121
|
className: "menubutton-button-content",
|
|
121
122
|
onClick: this.onButtonClicked
|
|
122
123
|
}, buttonContents), /*#__PURE__*/React.createElement("span", {
|
|
123
|
-
className: "menubotton-button-arrow"
|
|
124
|
-
onClick: this.onMenuClicked
|
|
124
|
+
className: "menubotton-button-arrow"
|
|
125
125
|
}, /*#__PURE__*/React.createElement(Icon, {
|
|
126
126
|
icon: "chevron-down"
|
|
127
127
|
})), this.props.tooltip ? /*#__PURE__*/React.createElement("span", {
|
|
@@ -30,7 +30,6 @@ import LocaleUtils from '../../utils/LocaleUtils';
|
|
|
30
30
|
import MiscUtils from '../../utils/MiscUtils';
|
|
31
31
|
import Icon from '../Icon';
|
|
32
32
|
import './style/TextInput.css';
|
|
33
|
-
export var TextInputInitContext = /*#__PURE__*/React.createContext(null);
|
|
34
33
|
var TextInput = /*#__PURE__*/function (_React$Component) {
|
|
35
34
|
function TextInput(props) {
|
|
36
35
|
var _this;
|
|
@@ -51,10 +50,8 @@ var TextInput = /*#__PURE__*/function (_React$Component) {
|
|
|
51
50
|
});
|
|
52
51
|
_defineProperty(_this, "storeRef", function (el) {
|
|
53
52
|
if (el) {
|
|
54
|
-
var _this$context, _this$context$notifyR;
|
|
55
53
|
_this.input = el;
|
|
56
54
|
_this.setDefaultValue(_this.state.value, _this.state.valueRev, -1);
|
|
57
|
-
(_this$context = _this.context) === null || _this$context === void 0 || (_this$context$notifyR = _this$context.notifyReady) === null || _this$context$notifyR === void 0 || _this$context$notifyR.call(_this$context, _this.id);
|
|
58
55
|
if (_this.props.focusOnRef) {
|
|
59
56
|
el.focus();
|
|
60
57
|
}
|
|
@@ -224,12 +221,6 @@ var TextInput = /*#__PURE__*/function (_React$Component) {
|
|
|
224
221
|
}
|
|
225
222
|
_inherits(TextInput, _React$Component);
|
|
226
223
|
return _createClass(TextInput, [{
|
|
227
|
-
key: "componentDidMount",
|
|
228
|
-
value: function componentDidMount() {
|
|
229
|
-
var _this$context2, _this$context2$regist;
|
|
230
|
-
(_this$context2 = this.context) === null || _this$context2 === void 0 || (_this$context2$regist = _this$context2.register) === null || _this$context2$regist === void 0 || _this$context2$regist.call(_this$context2, this.id);
|
|
231
|
-
}
|
|
232
|
-
}, {
|
|
233
224
|
key: "componentDidUpdate",
|
|
234
225
|
value: function componentDidUpdate(prevProps, prevState) {
|
|
235
226
|
this.setDefaultValue(this.state.value, this.state.valueRev, prevState.valueRev);
|
|
@@ -313,7 +304,6 @@ var TextInput = /*#__PURE__*/function (_React$Component) {
|
|
|
313
304
|
}
|
|
314
305
|
}]);
|
|
315
306
|
}(React.Component);
|
|
316
|
-
_defineProperty(TextInput, "contextType", TextInputInitContext);
|
|
317
307
|
_defineProperty(TextInput, "propTypes", {
|
|
318
308
|
addLinkAnchors: PropTypes.bool,
|
|
319
309
|
className: PropTypes.string,
|
|
@@ -3,6 +3,12 @@ div.featurestable-frame {
|
|
|
3
3
|
overflow: auto;
|
|
4
4
|
border: 1px solid var(--border-color);
|
|
5
5
|
position: relative;
|
|
6
|
+
height: 100%;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
table.featurestable {
|
|
10
|
+
table-layout: fixed;
|
|
11
|
+
min-width: 100%;
|
|
6
12
|
}
|
|
7
13
|
|
|
8
14
|
table.featurestable th {
|
|
@@ -12,11 +18,19 @@ table.featurestable th {
|
|
|
12
18
|
padding: 0;
|
|
13
19
|
background-color: var(--button-bg-color);
|
|
14
20
|
color: var(--button-text-color);
|
|
15
|
-
|
|
16
|
-
inset 0 -1px 0 var(--border-color);
|
|
21
|
+
border: 1px solid var(--border-color);
|
|
17
22
|
overflow: hidden;
|
|
18
23
|
}
|
|
19
24
|
|
|
25
|
+
table.featurestable th::after {
|
|
26
|
+
content: "";
|
|
27
|
+
position: absolute;
|
|
28
|
+
bottom: 0;
|
|
29
|
+
left: 0;
|
|
30
|
+
right: 0;
|
|
31
|
+
border-bottom: 1px solid var(--border-color);
|
|
32
|
+
}
|
|
33
|
+
|
|
20
34
|
table.featurestable-selectable th:first-child {
|
|
21
35
|
position: sticky;
|
|
22
36
|
left: 0;
|
|
@@ -36,7 +50,6 @@ table.featurestable th > span > span.icon {
|
|
|
36
50
|
position: absolute;
|
|
37
51
|
right: 1px;
|
|
38
52
|
background-color: var(--button-bg-color);
|
|
39
|
-
height: 100%;
|
|
40
53
|
flex: 0 0 auto;
|
|
41
54
|
margin-left: 0.5em;
|
|
42
55
|
}
|
|
@@ -60,17 +73,28 @@ table.featurestable tr:hover:not(.row-disabled) {
|
|
|
60
73
|
table.featurestable-selectable td:first-child {
|
|
61
74
|
background-color: var(--button-bg-color);
|
|
62
75
|
color: var(--button-text-color);
|
|
63
|
-
align-items: center;
|
|
64
76
|
padding: 0.25em 0.5em;
|
|
65
|
-
background-clip: padding-box;
|
|
66
77
|
position: sticky;
|
|
67
78
|
left: 0;
|
|
68
79
|
z-index: 1;
|
|
69
80
|
width: 2.5em;
|
|
70
81
|
}
|
|
71
82
|
|
|
83
|
+
table.featurestable-selectable th:first-child::after,
|
|
84
|
+
table.featurestable-selectable td:first-child::after {
|
|
85
|
+
content: "";
|
|
86
|
+
position: absolute;
|
|
87
|
+
right: 0;
|
|
88
|
+
top: 0;
|
|
89
|
+
bottom: 0;
|
|
90
|
+
border-right: 1px solid var(--border-color);
|
|
91
|
+
}
|
|
92
|
+
|
|
72
93
|
table.featurestable td {
|
|
73
|
-
min-width: 2.5em
|
|
94
|
+
min-width: 2.5em;
|
|
95
|
+
border: 1px solid var(--border-color);
|
|
96
|
+
text-align: center;
|
|
97
|
+
height: 2em;
|
|
74
98
|
}
|
|
75
99
|
|
|
76
100
|
span.featurestable-ldraghandle,
|
|
@@ -111,23 +135,26 @@ span.featurestable-bdraghandle {
|
|
|
111
135
|
bottom: 0px;
|
|
112
136
|
}
|
|
113
137
|
|
|
114
|
-
table.featurestable
|
|
115
|
-
|
|
116
|
-
|
|
138
|
+
table.featurestable span.icon-checked::before,
|
|
139
|
+
table.featurestable span.icon-unchecked::before,
|
|
140
|
+
table.featurestable span.icon-tristate::before {
|
|
141
|
+
background-color: white;
|
|
117
142
|
}
|
|
118
143
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
144
|
+
|
|
145
|
+
div.featurestable-resize-line-vert,
|
|
146
|
+
div.featurestable-resize-line-horiz {
|
|
147
|
+
position: absolute;
|
|
148
|
+
z-index: 2;
|
|
149
|
+
background-color: var(--border-color);
|
|
123
150
|
}
|
|
124
151
|
|
|
125
|
-
|
|
126
|
-
|
|
152
|
+
div.featurestable-resize-line-vert {
|
|
153
|
+
width: 4px;
|
|
154
|
+
top: 0;
|
|
127
155
|
}
|
|
128
156
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
background-color: white;
|
|
157
|
+
div.featurestable-resize-line-horiz {
|
|
158
|
+
height: 4px;
|
|
159
|
+
left: 0;
|
|
133
160
|
}
|
package/icons/public.svg
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<!-- Svg Vector Icons : http://www.onlinewebfonts.com/icon -->
|
|
3
|
+
|
|
4
|
+
<svg
|
|
5
|
+
version="1.1"
|
|
6
|
+
x="0px"
|
|
7
|
+
y="0px"
|
|
8
|
+
viewBox="0 0 24 24"
|
|
9
|
+
enable-background="new 0 0 1000 1000"
|
|
10
|
+
xml:space="preserve"
|
|
11
|
+
id="svg10"
|
|
12
|
+
sodipodi:docname="public.svg"
|
|
13
|
+
width="24"
|
|
14
|
+
height="24"
|
|
15
|
+
inkscape:version="1.4.4 (dcaf3e7d9e, 2026-05-05)"
|
|
16
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
17
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
18
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
19
|
+
xmlns:svg="http://www.w3.org/2000/svg"
|
|
20
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
21
|
+
xmlns:cc="http://creativecommons.org/ns#"
|
|
22
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/"><defs
|
|
23
|
+
id="defs14" /><sodipodi:namedview
|
|
24
|
+
pagecolor="#ffffff"
|
|
25
|
+
bordercolor="#666666"
|
|
26
|
+
borderopacity="1"
|
|
27
|
+
objecttolerance="10"
|
|
28
|
+
gridtolerance="10"
|
|
29
|
+
guidetolerance="10"
|
|
30
|
+
inkscape:pageopacity="0"
|
|
31
|
+
inkscape:pageshadow="2"
|
|
32
|
+
inkscape:window-width="1920"
|
|
33
|
+
inkscape:window-height="1172"
|
|
34
|
+
id="namedview12"
|
|
35
|
+
showgrid="true"
|
|
36
|
+
inkscape:zoom="15.104"
|
|
37
|
+
inkscape:cx="17.545021"
|
|
38
|
+
inkscape:cy="20.292638"
|
|
39
|
+
inkscape:window-x="0"
|
|
40
|
+
inkscape:window-y="0"
|
|
41
|
+
inkscape:window-maximized="1"
|
|
42
|
+
inkscape:current-layer="g8"
|
|
43
|
+
inkscape:showpageshadow="2"
|
|
44
|
+
inkscape:pagecheckerboard="0"
|
|
45
|
+
inkscape:deskcolor="#d1d1d1"><inkscape:grid
|
|
46
|
+
type="xygrid"
|
|
47
|
+
id="grid821"
|
|
48
|
+
originx="0"
|
|
49
|
+
originy="0"
|
|
50
|
+
spacingy="1"
|
|
51
|
+
spacingx="1"
|
|
52
|
+
units="px" /></sodipodi:namedview>
|
|
53
|
+
<metadata
|
|
54
|
+
id="metadata2"> Svg Vector Icons : http://www.onlinewebfonts.com/icon <rdf:RDF><cc:Work
|
|
55
|
+
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
|
56
|
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata>
|
|
57
|
+
<g
|
|
58
|
+
id="g8"
|
|
59
|
+
transform="translate(0,-976)"><path
|
|
60
|
+
id="path4"
|
|
61
|
+
style="stroke-width:0.00890515"
|
|
62
|
+
d="m 12,982.4707 c -1.447087,0 -2.6207179,1.17365 -2.6207179,2.62072 0,0.96214 0.518379,1.80295 1.2911829,2.25851 -1.2543529,0.36766 -2.3875996,1.23637 -2.8337839,2.45879 -0.2319085,-0.0991 -0.4710048,-0.18357 -0.7137728,-0.25355 0.9617368,-0.5705 1.6057828,-1.61736 1.6065213,-2.81675 0,-1.80885 -1.4659728,-3.27483 -3.274832,-3.27483 -1.8088591,0 -3.274832,1.46598 -3.274832,3.27483 0,1.20267 0.6490386,2.2537 1.615044,2.82313 C 1.8004602,990.14614 0.04729618,991.7456 9.5281617e-5,993.9763 -0.00546872,994.27795 0.23322998,994.52786 0.53489228,994.53453 H 10.374303 c 0.300549,-0.007 0.540362,-0.25658 0.534796,-0.55823 -0.02179,-1.02952 -0.400043,-1.92529 -0.9971499,-2.64842 h 4.1910169 c -0.604313,0.72313 -0.990281,1.61891 -1.012066,2.64842 -0.0056,0.30163 0.233135,0.55158 0.534797,0.55823 h 9.839411 c 0.300549,-0.0109 0.540363,-0.2566 0.534797,-0.55823 -0.04732,-2.23657 -1.771795,-3.84033 -3.786192,-4.42113 0.961737,-0.57054 1.607914,-1.61741 1.608652,-2.81675 0,-1.80885 -1.468103,-3.27483 -3.276962,-3.27483 -1.808859,0 -3.274832,1.46598 -3.274832,3.27483 0,1.20261 0.649039,2.25368 1.615044,2.82313 -0.242685,0.0711 -0.483027,0.1573 -0.715903,0.25782 -0.438011,-1.23111 -1.562927,-2.10732 -2.833786,-2.4737 0.76939,-0.4564 1.284202,-1.29473 1.284792,-2.25425 0,-1.44707 -1.173631,-2.62072 -2.620718,-2.62072 z" /></g>
|
|
63
|
+
</svg>
|