dtable-ui-component 6.0.36 → 6.0.37-beta1
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/lib/GeolocationEditor/mb-editor/map-editor/index.css +5 -2
- package/lib/GeolocationEditor/mb-editor/map-editor/index.js +73 -15
- package/lib/GeolocationEditor/pc-editor/index.css +6 -15
- package/lib/GeolocationEditor/pc-editor/index.js +4 -1
- package/lib/GeolocationEditor/pc-editor/map-editor/index.css +33 -0
- package/lib/GeolocationEditor/pc-editor/map-editor/index.js +139 -96
- package/lib/GeolocationEditor/pc-editor/map-editor/large-editor/index.css +13 -11
- package/lib/GeolocationEditor/pc-editor/map-editor/large-editor/index.js +98 -68
- package/lib/GeolocationEditor/pc-editor/map-selection-editor/index.js +20 -11
- package/lib/GeolocationEditor/pc-editor/map-selection-editor/large-editor/index.js +2 -2
- package/lib/RowExpandEditor/geolocation-editor/pc-editor/index.js +19 -5
- package/lib/locales/de.json +5 -3
- package/lib/locales/en.json +5 -3
- package/lib/locales/es.json +5 -3
- package/lib/locales/fr.json +5 -3
- package/lib/locales/pt.json +5 -3
- package/lib/locales/ru.json +5 -3
- package/lib/locales/zh-CN.json +5 -3
- package/package.json +1 -1
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
.dtable-ui-mobile-geolocation-map-editor .dtable-ui-mobile-geolocation-map-editor-input-container {
|
|
2
|
-
height:
|
|
3
|
-
padding-top: 16px;
|
|
2
|
+
height: auto;
|
|
4
3
|
width: 100%;
|
|
5
4
|
}
|
|
6
5
|
|
|
6
|
+
.dtable-ui-mobile-geolocation-map-editor .dtable-ui-mobile-geolocation-map-editor-input-container .view-subtitle:first-child {
|
|
7
|
+
border-top: 0;
|
|
8
|
+
}
|
|
9
|
+
|
|
7
10
|
.dtable-ui-mobile-geolocation-map-editor .dtable-ui-mobile-geolocation-map-editor-map {
|
|
8
11
|
flex: 1;
|
|
9
12
|
overflow: hidden;
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _dtableUtils = require("dtable-utils");
|
|
9
10
|
var _InputItem = _interopRequireDefault(require("../../../InputItem"));
|
|
10
11
|
var _toaster = _interopRequireDefault(require("../../../toaster"));
|
|
11
12
|
var _MobileFullScreenPage = _interopRequireDefault(require("../../../MobileFullScreenPage"));
|
|
@@ -184,8 +185,7 @@ class MapEditor extends _react.default.Component {
|
|
|
184
185
|
value: {
|
|
185
186
|
lng: point.lng,
|
|
186
187
|
lat: point.lat
|
|
187
|
-
}
|
|
188
|
-
inputValue: _mapEditorUtils.DOMESTIC_MAP_TYPE.includes(this.mapType) ? "".concat(point.lng, ", ").concat(point.lat) : "".concat(point.lat, ", ").concat(point.lng)
|
|
188
|
+
}
|
|
189
189
|
});
|
|
190
190
|
};
|
|
191
191
|
this.addMarkerByPosition = (lng, lat) => {
|
|
@@ -326,11 +326,53 @@ class MapEditor extends _react.default.Component {
|
|
|
326
326
|
this.onClose = () => {
|
|
327
327
|
this.props.onToggle();
|
|
328
328
|
};
|
|
329
|
+
this.handleLatitudeChange = value => {
|
|
330
|
+
this.setState({
|
|
331
|
+
value: {
|
|
332
|
+
...this.state.value,
|
|
333
|
+
lat: value
|
|
334
|
+
}
|
|
335
|
+
}, () => {
|
|
336
|
+
const numericValue = this.getNumericLngLatValue(this.state.value);
|
|
337
|
+
this.rerenderMapMarker(numericValue);
|
|
338
|
+
});
|
|
339
|
+
};
|
|
340
|
+
this.handleLongitudeChange = value => {
|
|
341
|
+
this.setState({
|
|
342
|
+
value: {
|
|
343
|
+
...this.state.value,
|
|
344
|
+
lng: value
|
|
345
|
+
}
|
|
346
|
+
}, () => {
|
|
347
|
+
const numericValue = this.getNumericLngLatValue(this.state.value);
|
|
348
|
+
this.rerenderMapMarker(numericValue);
|
|
349
|
+
});
|
|
350
|
+
};
|
|
351
|
+
this.rerenderMapMarker = _ref => {
|
|
352
|
+
let {
|
|
353
|
+
lng,
|
|
354
|
+
lat
|
|
355
|
+
} = _ref;
|
|
356
|
+
if (!(0, _dtableUtils.isNumber)(lng) || !(0, _dtableUtils.isNumber)(lat)) {
|
|
357
|
+
return;
|
|
358
|
+
}
|
|
359
|
+
if (this.map) {
|
|
360
|
+
if (this.mapType === _mapEditorUtils.MAP_TYPES.G_MAP || this.mapType === _mapEditorUtils.MAP_TYPES.M_MAP) {
|
|
361
|
+
this.map.setCenter({
|
|
362
|
+
lng,
|
|
363
|
+
lat
|
|
364
|
+
});
|
|
365
|
+
} else {
|
|
366
|
+
this.map.setCenter(new window.BMap.Point(lng, lat));
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
this.addMarkerByPosition(lng, lat);
|
|
370
|
+
};
|
|
329
371
|
this.renderMap = () => {
|
|
330
372
|
const {
|
|
331
373
|
isLoading,
|
|
332
|
-
|
|
333
|
-
|
|
374
|
+
mode,
|
|
375
|
+
value
|
|
334
376
|
} = this.state;
|
|
335
377
|
if (isLoading) return /*#__PURE__*/_react.default.createElement("div", {
|
|
336
378
|
className: "w-100 h-100 d-flex align-items-center justify-content-center"
|
|
@@ -343,18 +385,36 @@ class MapEditor extends _react.default.Component {
|
|
|
343
385
|
}, (0, _lang.getLocale)('The_map_plugin_is_not_properly_configured_contact_the_administrator')));
|
|
344
386
|
}
|
|
345
387
|
const isEdit = mode === 'edit';
|
|
388
|
+
const {
|
|
389
|
+
lat,
|
|
390
|
+
lng
|
|
391
|
+
} = value;
|
|
346
392
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
347
393
|
className: "dtable-ui-mobile-geolocation-map-editor-input-container"
|
|
348
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
394
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
395
|
+
className: "view-subtitle"
|
|
396
|
+
}, /*#__PURE__*/_react.default.createElement("span", null, (0, _lang.getLocale)('Latitude_abbr'))), /*#__PURE__*/_react.default.createElement(_InputItem.default, {
|
|
349
397
|
type: "text",
|
|
350
398
|
className: "dtable-ui-mobile-geolocation-map-editor-input",
|
|
351
399
|
style: {
|
|
352
400
|
marginTop: 0
|
|
353
401
|
},
|
|
354
|
-
value:
|
|
402
|
+
value: lat,
|
|
355
403
|
editable: isEdit,
|
|
356
|
-
onChange: this.
|
|
357
|
-
placeholder:
|
|
404
|
+
onChange: this.handleLatitudeChange,
|
|
405
|
+
placeholder: (0, _lang.getLocale)('Enter_latitude')
|
|
406
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
407
|
+
className: "view-subtitle"
|
|
408
|
+
}, /*#__PURE__*/_react.default.createElement("span", null, (0, _lang.getLocale)('Longitude_abbr'))), /*#__PURE__*/_react.default.createElement(_InputItem.default, {
|
|
409
|
+
type: "text",
|
|
410
|
+
className: "dtable-ui-mobile-geolocation-map-editor-input",
|
|
411
|
+
style: {
|
|
412
|
+
marginTop: 0
|
|
413
|
+
},
|
|
414
|
+
value: lng,
|
|
415
|
+
editable: isEdit,
|
|
416
|
+
onChange: this.handleLongitudeChange,
|
|
417
|
+
placeholder: (0, _lang.getLocale)('Enter_longitude')
|
|
358
418
|
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
359
419
|
className: "dtable-ui-mobile-geolocation-map-editor-map"
|
|
360
420
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -384,23 +444,21 @@ class MapEditor extends _react.default.Component {
|
|
|
384
444
|
className: "dtable-font dtable-icon-narrow"
|
|
385
445
|
}))))));
|
|
386
446
|
};
|
|
387
|
-
const _value = props.value || {
|
|
447
|
+
const _value = props.value || {
|
|
448
|
+
lng: '',
|
|
449
|
+
lat: ''
|
|
450
|
+
};
|
|
388
451
|
const {
|
|
389
452
|
mapType,
|
|
390
453
|
mapKey
|
|
391
454
|
} = (0, _mapEditorUtils.getMapInfo)(props.config);
|
|
392
455
|
this.mapType = mapType;
|
|
393
456
|
this.mapKey = mapKey;
|
|
394
|
-
const {
|
|
395
|
-
lng: _lng,
|
|
396
|
-
lat: _lat
|
|
397
|
-
} = _value;
|
|
398
457
|
this.map = null;
|
|
399
458
|
this.state = {
|
|
400
459
|
mode: 'preview',
|
|
401
460
|
isLoading: true,
|
|
402
|
-
value: _value
|
|
403
|
-
inputValue: (0, _cell.isValidPosition)(_lng, _lat) ? _mapEditorUtils.DOMESTIC_MAP_TYPE.includes(this.mapType) ? "".concat(_lng, ", ").concat(_lat) : "".concat(_lat, ", ").concat(_lng) : ''
|
|
461
|
+
value: _value
|
|
404
462
|
};
|
|
405
463
|
}
|
|
406
464
|
componentDidMount() {
|
|
@@ -204,22 +204,22 @@
|
|
|
204
204
|
width: 92%;
|
|
205
205
|
}
|
|
206
206
|
|
|
207
|
-
.dtable-ui-geolocation-map-editor .
|
|
207
|
+
.dtable-ui-geolocation-map-editor .selection-input {
|
|
208
208
|
padding-right: 30px;
|
|
209
209
|
border-bottom: 0;
|
|
210
210
|
background: #fff;
|
|
211
|
-
border-radius: 3px;
|
|
212
211
|
border: 1px solid #dedede;
|
|
213
|
-
box-shadow: 0 -0 12px rgb(0 0 0 / 30%);
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
.dtable-ui-geolocation-map-editor .search-tables-input.selection-input {
|
|
217
212
|
width: 88%;
|
|
218
213
|
box-shadow: 0 -0 2px rgb(0 0 0 / 30%);
|
|
219
214
|
border-radius: 3px 0px 0px 3px;
|
|
220
215
|
border-right: none;
|
|
221
216
|
}
|
|
222
217
|
|
|
218
|
+
.dtable-ui-geolocation-map-editor .selection-input:focus {
|
|
219
|
+
border-color: #bdbdbd;
|
|
220
|
+
box-shadow: 0 -0 3px rgb(0 0 0 / 30%);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
223
|
.dtable-ui-geolocation-submit-map-editor {
|
|
224
224
|
display: inline-block;
|
|
225
225
|
height: 38px;
|
|
@@ -425,15 +425,6 @@
|
|
|
425
425
|
text-align: center;
|
|
426
426
|
}
|
|
427
427
|
|
|
428
|
-
.dtable-ui-geolocation-map-editor .search-tables-input:focus {
|
|
429
|
-
border-color: #bdbdbd;
|
|
430
|
-
box-shadow: 0 -0 12px rgb(0 0 0 / 30%);
|
|
431
|
-
}
|
|
432
|
-
|
|
433
|
-
.dtable-ui-geolocation-map-editor .selection-input:focus {
|
|
434
|
-
box-shadow: 0 -0 3px rgb(0 0 0 / 30%);
|
|
435
|
-
}
|
|
436
|
-
|
|
437
428
|
.dtable-ui-geolocation-map-editor-error-message {
|
|
438
429
|
word-break: break-all;
|
|
439
430
|
padding: 10px;
|
|
@@ -157,7 +157,8 @@ class PCGeolocationEditor extends _react.default.Component {
|
|
|
157
157
|
config,
|
|
158
158
|
column,
|
|
159
159
|
getCountryData,
|
|
160
|
-
getLocationData
|
|
160
|
+
getLocationData,
|
|
161
|
+
toggleLargeMap
|
|
161
162
|
} = this.props;
|
|
162
163
|
const props = {
|
|
163
164
|
column,
|
|
@@ -171,12 +172,14 @@ class PCGeolocationEditor extends _react.default.Component {
|
|
|
171
172
|
case _dtableUtils.GEOLOCATION_FORMAT.LNG_LAT:
|
|
172
173
|
{
|
|
173
174
|
return /*#__PURE__*/_react.default.createElement(_mapEditor.default, Object.assign({}, props, {
|
|
175
|
+
toggleLargeMap: toggleLargeMap,
|
|
174
176
|
ref: ref => this.editor = ref
|
|
175
177
|
}));
|
|
176
178
|
}
|
|
177
179
|
case _dtableUtils.GEOLOCATION_FORMAT.MAP_SELECTION:
|
|
178
180
|
{
|
|
179
181
|
return /*#__PURE__*/_react.default.createElement(_mapSelectionEditor.default, Object.assign({}, props, {
|
|
182
|
+
toggleLargeMap: toggleLargeMap,
|
|
180
183
|
ref: ref => this.editor = ref
|
|
181
184
|
}));
|
|
182
185
|
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
.dtable-ui-geolocation-map-lng-lat-editor-header {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: row;
|
|
4
|
+
gap: 8px;
|
|
5
|
+
padding: 1rem;
|
|
6
|
+
flex-shrink: 0;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.dtable-ui-geolocation-map-lng-lat-editor-header .dtable-ui-geolocation-map-lng-lat-input-container {
|
|
10
|
+
display: flex;
|
|
11
|
+
flex: 1 1;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.dtable-ui-geolocation-map-lng-lat-input-label {
|
|
15
|
+
align-items: center;
|
|
16
|
+
background-color: #f8f9fa;
|
|
17
|
+
border: 1px solid #0028641f;
|
|
18
|
+
border-bottom-left-radius: 3px;
|
|
19
|
+
border-right: none;
|
|
20
|
+
border-top-left-radius: 3px;
|
|
21
|
+
display: flex;
|
|
22
|
+
justify-content: center;
|
|
23
|
+
padding: .375rem .75rem;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.dtable-ui-geolocation-map-lng-lat-input-container input {
|
|
27
|
+
border-bottom-left-radius: 0;
|
|
28
|
+
border-top-left-radius: 0;
|
|
29
|
+
flex: 1 1;
|
|
30
|
+
position: relative;
|
|
31
|
+
z-index: 0;
|
|
32
|
+
}
|
|
33
|
+
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _dtableUtils = require("dtable-utils");
|
|
10
11
|
var _toaster = _interopRequireDefault(require("../../../toaster"));
|
|
11
12
|
var _Loading = _interopRequireDefault(require("../../../Loading"));
|
|
12
13
|
var _constants = require("../../../constants");
|
|
@@ -14,9 +15,36 @@ var _cell = require("../../../utils/cell");
|
|
|
14
15
|
var _mapEditorUtils = require("../../map-editor-utils");
|
|
15
16
|
var _largeEditor = _interopRequireDefault(require("./large-editor"));
|
|
16
17
|
var _lang = require("../../../lang");
|
|
18
|
+
require("./index.css");
|
|
17
19
|
class MapEditor extends _react.Component {
|
|
18
20
|
constructor(props) {
|
|
19
21
|
super(props);
|
|
22
|
+
this.initMap = () => {
|
|
23
|
+
if (this.mapType === _mapEditorUtils.MAP_TYPES.B_MAP) {
|
|
24
|
+
if (!window.BMap) {
|
|
25
|
+
window.renderBaiduMap = () => this.renderBaiduMap();
|
|
26
|
+
(0, _mapEditorUtils.loadMapSource)(this.mapType, this.mapKey);
|
|
27
|
+
} else {
|
|
28
|
+
this.renderBaiduMap();
|
|
29
|
+
}
|
|
30
|
+
return;
|
|
31
|
+
} else if (this.mapType === _mapEditorUtils.MAP_TYPES.G_MAP) {
|
|
32
|
+
if (!window.google) {
|
|
33
|
+
window.renderGoogleMap = () => this.renderGoogleMap();
|
|
34
|
+
(0, _mapEditorUtils.loadMapSource)(this.mapType, this.mapKey);
|
|
35
|
+
} else {
|
|
36
|
+
this.renderGoogleMap();
|
|
37
|
+
}
|
|
38
|
+
return;
|
|
39
|
+
} else if (this.mapType === _mapEditorUtils.MAP_TYPES.M_MAP) {
|
|
40
|
+
if (!window.minemap) {
|
|
41
|
+
(0, _mapEditorUtils.loadMapSource)(this.mapType, this.mapKey, this.loadMineMapCallBack);
|
|
42
|
+
} else {
|
|
43
|
+
this.renderMineMap();
|
|
44
|
+
}
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
20
48
|
this.loadMineMapCallBack = () => {
|
|
21
49
|
if (!this.timer) {
|
|
22
50
|
this.timer = setTimeout(() => {
|
|
@@ -175,12 +203,43 @@ class MapEditor extends _react.Component {
|
|
|
175
203
|
value: {
|
|
176
204
|
lng: point.lng,
|
|
177
205
|
lat: point.lat
|
|
178
|
-
}
|
|
179
|
-
inputValue: _mapEditorUtils.DOMESTIC_MAP_TYPE.includes(this.mapType) ? "".concat(point.lng, ", ").concat(point.lat) : "".concat(point.lat, ", ").concat(point.lng)
|
|
206
|
+
}
|
|
180
207
|
}, () => {
|
|
181
|
-
this.
|
|
208
|
+
const numericValue = this.getNumericValue(this.state.value);
|
|
209
|
+
this.setPropsValue(numericValue);
|
|
182
210
|
});
|
|
183
211
|
};
|
|
212
|
+
this.getNumericValue = value => {
|
|
213
|
+
const {
|
|
214
|
+
lng,
|
|
215
|
+
lat
|
|
216
|
+
} = value || {};
|
|
217
|
+
const numLng = typeof lng === 'string' ? parseFloat(lng.trim()) : lng;
|
|
218
|
+
const numLat = typeof lat === 'string' ? parseFloat(lat.trim()) : lat;
|
|
219
|
+
return {
|
|
220
|
+
lng: numLng,
|
|
221
|
+
lat: numLat
|
|
222
|
+
};
|
|
223
|
+
};
|
|
224
|
+
this.setPropsValue = _ref => {
|
|
225
|
+
let {
|
|
226
|
+
lng,
|
|
227
|
+
lat
|
|
228
|
+
} = _ref;
|
|
229
|
+
if (!(0, _dtableUtils.isNumber)(lng) || !(0, _dtableUtils.isNumber)(lat)) {
|
|
230
|
+
this.props.setValue(null);
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
const newValue = {
|
|
234
|
+
lng,
|
|
235
|
+
lat
|
|
236
|
+
};
|
|
237
|
+
this.setState({
|
|
238
|
+
value: newValue
|
|
239
|
+
});
|
|
240
|
+
this.props.setValue(newValue);
|
|
241
|
+
this.rerenderMapMarker(newValue);
|
|
242
|
+
};
|
|
184
243
|
this.addMarkerByPosition = (lng, lat) => {
|
|
185
244
|
if (this.mapType === _mapEditorUtils.MAP_TYPES.B_MAP) {
|
|
186
245
|
let point = new window.BMap.Point(lng, lat);
|
|
@@ -233,62 +292,60 @@ class MapEditor extends _react.Component {
|
|
|
233
292
|
const {
|
|
234
293
|
value
|
|
235
294
|
} = this.state;
|
|
236
|
-
this.
|
|
295
|
+
const numericValue = this.getNumericValue(value);
|
|
296
|
+
this.setPropsValue(numericValue);
|
|
237
297
|
this.setState({
|
|
238
298
|
isShowLargeEditor: !this.state.isShowLargeEditor
|
|
239
|
-
})
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
299
|
+
}, () => {
|
|
300
|
+
const nextState = this.state.isShowLargeEditor;
|
|
301
|
+
if (!nextState) {
|
|
302
|
+
this.initMap();
|
|
303
|
+
}
|
|
304
|
+
this.props.toggleLargeMap && this.props.toggleLargeMap(nextState);
|
|
245
305
|
});
|
|
246
306
|
};
|
|
247
307
|
this.onSubmit = () => {
|
|
248
|
-
const {
|
|
249
|
-
value
|
|
250
|
-
} = this.state;
|
|
251
|
-
this.props.setValue(value);
|
|
252
308
|
this.props.onSubmit();
|
|
253
309
|
};
|
|
254
|
-
this.
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
if (this.mapType === _mapEditorUtils.MAP_TYPES.G_MAP) {
|
|
266
|
-
lat = parseFloat(inputValue.slice(0, splitCodeIndex).trim());
|
|
267
|
-
lng = parseFloat(inputValue.slice(splitCodeIndex + 1).trim());
|
|
268
|
-
} else {
|
|
269
|
-
lng = parseFloat(inputValue.slice(0, splitCodeIndex).trim());
|
|
270
|
-
lat = parseFloat(inputValue.slice(splitCodeIndex + 1).trim());
|
|
271
|
-
}
|
|
272
|
-
if (!Number.isNaN(lng) && !Number.isNaN(lat)) {
|
|
273
|
-
this.setState({
|
|
274
|
-
value: {
|
|
275
|
-
lng,
|
|
276
|
-
lat
|
|
277
|
-
}
|
|
310
|
+
this.rerenderMapMarker = _ref2 => {
|
|
311
|
+
let {
|
|
312
|
+
lng,
|
|
313
|
+
lat
|
|
314
|
+
} = _ref2;
|
|
315
|
+
if (!(0, _dtableUtils.isNumber)(lng) || !(0, _dtableUtils.isNumber)(lat)) return;
|
|
316
|
+
if (this.map) {
|
|
317
|
+
if (this.mapType === _mapEditorUtils.MAP_TYPES.G_MAP || this.mapType === _mapEditorUtils.MAP_TYPES.M_MAP) {
|
|
318
|
+
this.map.setCenter({
|
|
319
|
+
lng,
|
|
320
|
+
lat
|
|
278
321
|
});
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
this.map.setCenter({
|
|
282
|
-
lng,
|
|
283
|
-
lat
|
|
284
|
-
});
|
|
285
|
-
} else {
|
|
286
|
-
this.map.setCenter(new window.BMap.Point(lng, lat));
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
this.addMarkerByPosition(lng, lat);
|
|
322
|
+
} else {
|
|
323
|
+
this.map.setCenter(new window.BMap.Point(lng, lat));
|
|
290
324
|
}
|
|
291
325
|
}
|
|
326
|
+
this.addMarkerByPosition(lng, lat);
|
|
327
|
+
};
|
|
328
|
+
this.onChangeLatitude = event => {
|
|
329
|
+
this.setState({
|
|
330
|
+
value: {
|
|
331
|
+
...this.state.value,
|
|
332
|
+
lat: event.target.value
|
|
333
|
+
}
|
|
334
|
+
}, () => {
|
|
335
|
+
const numericValue = this.getNumericValue(this.state.value);
|
|
336
|
+
this.setPropsValue(numericValue);
|
|
337
|
+
});
|
|
338
|
+
};
|
|
339
|
+
this.onChangeLongitude = event => {
|
|
340
|
+
this.setState({
|
|
341
|
+
value: {
|
|
342
|
+
...this.state.value,
|
|
343
|
+
lng: event.target.value
|
|
344
|
+
}
|
|
345
|
+
}, () => {
|
|
346
|
+
const numericValue = this.getNumericValue(this.state.value);
|
|
347
|
+
this.setPropsValue(numericValue);
|
|
348
|
+
});
|
|
292
349
|
};
|
|
293
350
|
this.onKeyDown = event => {
|
|
294
351
|
event.stopPropagation();
|
|
@@ -310,7 +367,10 @@ class MapEditor extends _react.Component {
|
|
|
310
367
|
this.onLocateCurrentPosition = () => {
|
|
311
368
|
(0, _mapEditorUtils.locateCurrentPosition)(this.map, this.mapType, this.geolocationCallback);
|
|
312
369
|
};
|
|
313
|
-
const _value = props.value || {
|
|
370
|
+
const _value = props.value || {
|
|
371
|
+
lng: '',
|
|
372
|
+
lat: ''
|
|
373
|
+
};
|
|
314
374
|
const {
|
|
315
375
|
mapType,
|
|
316
376
|
mapKey
|
|
@@ -318,44 +378,15 @@ class MapEditor extends _react.Component {
|
|
|
318
378
|
this.mapType = mapType;
|
|
319
379
|
this.mapKey = mapKey;
|
|
320
380
|
this.readOnly = props.readOnly;
|
|
321
|
-
const {
|
|
322
|
-
lng: _lng,
|
|
323
|
-
lat: _lat
|
|
324
|
-
} = _value;
|
|
325
|
-
const _inputValue = (0, _cell.isValidPosition)(_lng, _lat) ? _mapEditorUtils.DOMESTIC_MAP_TYPE.includes(this.mapType) ? "".concat(_lng, ", ").concat(_lat) : "".concat(_lat, ", ").concat(_lng) : '';
|
|
326
381
|
this.map = null;
|
|
327
382
|
this.state = {
|
|
328
383
|
isLoading: true,
|
|
329
|
-
value:
|
|
330
|
-
inputValue: _inputValue,
|
|
384
|
+
value: _value,
|
|
331
385
|
isShowLargeEditor: false
|
|
332
386
|
};
|
|
333
387
|
}
|
|
334
388
|
componentDidMount() {
|
|
335
|
-
|
|
336
|
-
if (!window.BMap) {
|
|
337
|
-
window.renderBaiduMap = () => this.renderBaiduMap();
|
|
338
|
-
(0, _mapEditorUtils.loadMapSource)(this.mapType, this.mapKey);
|
|
339
|
-
} else {
|
|
340
|
-
this.renderBaiduMap();
|
|
341
|
-
}
|
|
342
|
-
return;
|
|
343
|
-
} else if (this.mapType === _mapEditorUtils.MAP_TYPES.G_MAP) {
|
|
344
|
-
if (!window.google) {
|
|
345
|
-
window.renderGoogleMap = () => this.renderGoogleMap();
|
|
346
|
-
(0, _mapEditorUtils.loadMapSource)(this.mapType, this.mapKey);
|
|
347
|
-
} else {
|
|
348
|
-
this.renderGoogleMap();
|
|
349
|
-
}
|
|
350
|
-
return;
|
|
351
|
-
} else if (this.mapType === _mapEditorUtils.MAP_TYPES.M_MAP) {
|
|
352
|
-
if (!window.minemap) {
|
|
353
|
-
(0, _mapEditorUtils.loadMapSource)(this.mapType, this.mapKey, this.loadMineMapCallBack);
|
|
354
|
-
} else {
|
|
355
|
-
this.renderMineMap();
|
|
356
|
-
}
|
|
357
|
-
return;
|
|
358
|
-
}
|
|
389
|
+
this.initMap();
|
|
359
390
|
}
|
|
360
391
|
componentWillUnmount() {
|
|
361
392
|
let center = {};
|
|
@@ -376,13 +407,16 @@ class MapEditor extends _react.Component {
|
|
|
376
407
|
localStorage.setItem('geolocation-map-center', JSON.stringify(center));
|
|
377
408
|
this.map = null;
|
|
378
409
|
this.props.toggleLargeMap && this.props.toggleLargeMap(false);
|
|
410
|
+
this.onSubmit();
|
|
379
411
|
}
|
|
380
412
|
render() {
|
|
381
413
|
const {
|
|
382
414
|
isLoading,
|
|
383
|
-
|
|
415
|
+
value,
|
|
384
416
|
isShowLargeEditor
|
|
385
417
|
} = this.state;
|
|
418
|
+
const lat = value ? value.lat : '';
|
|
419
|
+
const lng = value ? value.lng : '';
|
|
386
420
|
if (!isShowLargeEditor) {
|
|
387
421
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
388
422
|
className: "dtable-ui-geolocation-map-editor-header"
|
|
@@ -398,24 +432,31 @@ class MapEditor extends _react.Component {
|
|
|
398
432
|
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
399
433
|
className: "dtable-ui-geolocation-map-editor"
|
|
400
434
|
}, !this.readOnly && /*#__PURE__*/_react.default.createElement("div", {
|
|
401
|
-
className: "map-editor-header"
|
|
435
|
+
className: "dtable-ui-geolocation-map-lng-lat-editor-header"
|
|
436
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
437
|
+
className: "dtable-ui-geolocation-map-lng-lat-input-container map-lat-input-container"
|
|
402
438
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
403
|
-
className: "
|
|
404
|
-
}, /*#__PURE__*/_react.default.createElement("input", {
|
|
439
|
+
className: "dtable-ui-geolocation-map-lng-lat-input-label"
|
|
440
|
+
}, /*#__PURE__*/_react.default.createElement("span", null, (0, _lang.getLocale)('Latitude_abbr'))), /*#__PURE__*/_react.default.createElement("input", {
|
|
405
441
|
type: "text",
|
|
406
|
-
value:
|
|
442
|
+
value: lat,
|
|
443
|
+
onChange: this.onChangeLatitude,
|
|
407
444
|
onKeyDown: this.onKeyDown,
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
placeholder: _mapEditorUtils.DOMESTIC_MAP_TYPE.includes(this.mapType) ? (0, _lang.getLocale)('Enter_longitude_and_latitude') : (0, _lang.getLocale)('Enter_latitude_and_longitude'),
|
|
445
|
+
className: "form-control",
|
|
446
|
+
placeholder: (0, _lang.getLocale)('Enter_latitude'),
|
|
411
447
|
autoFocus: true
|
|
412
|
-
}),
|
|
413
|
-
className: "
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
448
|
+
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
449
|
+
className: "dtable-ui-geolocation-map-lng-lat-input-container map-lng-input-container"
|
|
450
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
451
|
+
className: "dtable-ui-geolocation-map-lng-lat-input-label"
|
|
452
|
+
}, /*#__PURE__*/_react.default.createElement("span", null, (0, _lang.getLocale)('Longitude_abbr'))), /*#__PURE__*/_react.default.createElement("input", {
|
|
453
|
+
type: "text",
|
|
454
|
+
value: lng,
|
|
455
|
+
onChange: this.onChangeLongitude,
|
|
456
|
+
onKeyDown: this.onKeyDown,
|
|
457
|
+
className: "form-control",
|
|
458
|
+
placeholder: (0, _lang.getLocale)('Enter_longitude')
|
|
459
|
+
}))), /*#__PURE__*/_react.default.createElement("div", {
|
|
419
460
|
className: this.readOnly ? 'geolocation-map-read-only-container' : 'geolocation-map-container'
|
|
420
461
|
}, this.mapType && isLoading && /*#__PURE__*/_react.default.createElement(_Loading.default, null), !this.mapType && /*#__PURE__*/_react.default.createElement("div", {
|
|
421
462
|
className: "error-message d-flex justify-content-center mt-9"
|
|
@@ -449,6 +490,8 @@ class MapEditor extends _react.Component {
|
|
|
449
490
|
}))))));
|
|
450
491
|
}
|
|
451
492
|
return /*#__PURE__*/_react.default.createElement(_largeEditor.default, Object.assign({}, this.props, {
|
|
493
|
+
value: value,
|
|
494
|
+
setValue: this.setValue,
|
|
452
495
|
toggleFullScreen: this.toggleFullScreen
|
|
453
496
|
}));
|
|
454
497
|
}
|
|
@@ -12,10 +12,13 @@
|
|
|
12
12
|
width: 100%;
|
|
13
13
|
flex: 1;
|
|
14
14
|
position: relative;
|
|
15
|
+
display: flex;
|
|
16
|
+
flex-direction: column;
|
|
15
17
|
}
|
|
16
18
|
|
|
17
19
|
.dtable-ui-large-map-editor-dialog .geolocation-map-container-large {
|
|
18
|
-
|
|
20
|
+
flex: 1;
|
|
21
|
+
overflow: hidden;
|
|
19
22
|
display: flex;
|
|
20
23
|
align-items: center;
|
|
21
24
|
text-align: center;
|
|
@@ -50,14 +53,19 @@
|
|
|
50
53
|
position: relative;
|
|
51
54
|
}
|
|
52
55
|
|
|
53
|
-
.dtable-ui-large-map-editor-dialog .
|
|
54
|
-
line-height: 38px;
|
|
56
|
+
.dtable-ui-large-map-editor-dialog .selection-input-large {
|
|
55
57
|
padding-right: 30px;
|
|
56
58
|
border-bottom: 0;
|
|
57
59
|
background: #fff;
|
|
58
|
-
border-radius: 3px;
|
|
59
60
|
border: 1px solid #dedede;
|
|
60
|
-
|
|
61
|
+
border-right: none;
|
|
62
|
+
border-radius: 2px 0 0 2px;
|
|
63
|
+
box-shadow: 0 -0 2px rgb(0 0 0 / 30%);
|
|
64
|
+
width: 415px;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.dtable-ui-large-map-editor-dialog .selection-input-large:focus {
|
|
68
|
+
box-shadow: 0 0 3px #0000004d;
|
|
61
69
|
}
|
|
62
70
|
|
|
63
71
|
.clear-search-numerical {
|
|
@@ -77,12 +85,6 @@
|
|
|
77
85
|
box-shadow: 0 -0 12px rgb(0 0 0 / 30%);
|
|
78
86
|
}
|
|
79
87
|
|
|
80
|
-
.dtable-ui-geolocation-map-editor-large .search-tables-input.selection-input-large {
|
|
81
|
-
width: 415px;
|
|
82
|
-
box-shadow: 0 -0 2px rgb(0 0 0 / 30%);
|
|
83
|
-
border-radius: 2px 0px 0px 2px;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
88
|
.dtable-ui-geolocation-map-editor-large .selection-input-large:focus {
|
|
87
89
|
box-shadow: 0 -0 3px rgb(0 0 0 / 30%);
|
|
88
90
|
}
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _reactstrap = require("reactstrap");
|
|
10
|
+
var _dtableUtils = require("dtable-utils");
|
|
10
11
|
var _toaster = _interopRequireDefault(require("../../../../toaster"));
|
|
11
12
|
var _Loading = _interopRequireDefault(require("../../../../Loading"));
|
|
12
13
|
var _constants = require("../../../../constants");
|
|
@@ -168,14 +169,42 @@ class LargeMapEditorDialog extends _react.default.Component {
|
|
|
168
169
|
_toaster.default.danger((0, _lang.getLocale)('Positioning_failed'));
|
|
169
170
|
}
|
|
170
171
|
};
|
|
172
|
+
this.getNumericValue = value => {
|
|
173
|
+
const {
|
|
174
|
+
lng,
|
|
175
|
+
lat
|
|
176
|
+
} = value || {};
|
|
177
|
+
const numLng = typeof lng === 'string' ? parseFloat(lng.trim()) : lng;
|
|
178
|
+
const numLat = typeof lat === 'string' ? parseFloat(lat.trim()) : lat;
|
|
179
|
+
return {
|
|
180
|
+
lng: numLng,
|
|
181
|
+
lat: numLat
|
|
182
|
+
};
|
|
183
|
+
};
|
|
184
|
+
this.setPropsValue = _ref => {
|
|
185
|
+
let {
|
|
186
|
+
lng,
|
|
187
|
+
lat
|
|
188
|
+
} = _ref;
|
|
189
|
+
if (!(0, _dtableUtils.isNumber)(lng) || !(0, _dtableUtils.isNumber)(lat)) {
|
|
190
|
+
this.props.setValue(null);
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
this.props.setValue({
|
|
194
|
+
lng,
|
|
195
|
+
lat
|
|
196
|
+
});
|
|
197
|
+
};
|
|
171
198
|
this.setValue = point => {
|
|
172
199
|
const value = {
|
|
173
200
|
lng: point.lng,
|
|
174
201
|
lat: point.lat
|
|
175
202
|
};
|
|
176
203
|
this.setState({
|
|
177
|
-
value
|
|
178
|
-
|
|
204
|
+
value
|
|
205
|
+
}, () => {
|
|
206
|
+
const numericValue = this.getNumericValue(this.state.value);
|
|
207
|
+
this.setPropsValue(numericValue);
|
|
179
208
|
});
|
|
180
209
|
};
|
|
181
210
|
this.addMarkerByPosition = (lng, lat) => {
|
|
@@ -223,46 +252,47 @@ class LargeMapEditorDialog extends _react.default.Component {
|
|
|
223
252
|
}
|
|
224
253
|
}
|
|
225
254
|
};
|
|
226
|
-
this.
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
if (this.mapType === _mapEditorUtils.MAP_TYPES.G_MAP) {
|
|
238
|
-
lat = parseFloat(inputValue.slice(0, splitCodeIndex).trim());
|
|
239
|
-
lng = parseFloat(inputValue.slice(splitCodeIndex + 1).trim());
|
|
240
|
-
} else {
|
|
241
|
-
lng = parseFloat(inputValue.slice(0, splitCodeIndex).trim());
|
|
242
|
-
lat = parseFloat(inputValue.slice(splitCodeIndex + 1).trim());
|
|
243
|
-
}
|
|
244
|
-
if (!Number.isNaN(lng) && !Number.isNaN(lat)) {
|
|
245
|
-
this.setState({
|
|
246
|
-
value: {
|
|
247
|
-
lng,
|
|
248
|
-
lat
|
|
249
|
-
}
|
|
250
|
-
}, () => {
|
|
251
|
-
this.props.setValue(this.state.value);
|
|
255
|
+
this.rerenderMapMarker = _ref2 => {
|
|
256
|
+
let {
|
|
257
|
+
lng,
|
|
258
|
+
lat
|
|
259
|
+
} = _ref2;
|
|
260
|
+
if (!(0, _dtableUtils.isNumber)(lng) || !(0, _dtableUtils.isNumber)(lat)) return;
|
|
261
|
+
if (this.map) {
|
|
262
|
+
if (this.mapType === _mapEditorUtils.MAP_TYPES.G_MAP || this.mapType === _mapEditorUtils.MAP_TYPES.M_MAP) {
|
|
263
|
+
this.map.setCenter({
|
|
264
|
+
lng,
|
|
265
|
+
lat
|
|
252
266
|
});
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
this.map.setCenter({
|
|
256
|
-
lng,
|
|
257
|
-
lat
|
|
258
|
-
});
|
|
259
|
-
} else {
|
|
260
|
-
this.map.setCenter(new window.BMap.Point(lng, lat));
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
this.addMarkerByPosition(lng, lat);
|
|
267
|
+
} else {
|
|
268
|
+
this.map.setCenter(new window.BMap.Point(lng, lat));
|
|
264
269
|
}
|
|
265
270
|
}
|
|
271
|
+
this.addMarkerByPosition(lng, lat);
|
|
272
|
+
};
|
|
273
|
+
this.onChangeLatitude = event => {
|
|
274
|
+
this.setState({
|
|
275
|
+
value: {
|
|
276
|
+
...this.state.value,
|
|
277
|
+
lat: event.target.value
|
|
278
|
+
}
|
|
279
|
+
}, () => {
|
|
280
|
+
const numericValue = this.getNumericValue(this.state.value);
|
|
281
|
+
this.setPropsValue(numericValue);
|
|
282
|
+
this.rerenderMapMarker(numericValue);
|
|
283
|
+
});
|
|
284
|
+
};
|
|
285
|
+
this.onChangeLongitude = event => {
|
|
286
|
+
this.setState({
|
|
287
|
+
value: {
|
|
288
|
+
...this.state.value,
|
|
289
|
+
lng: event.target.value
|
|
290
|
+
}
|
|
291
|
+
}, () => {
|
|
292
|
+
const numericValue = this.getNumericValue(this.state.value);
|
|
293
|
+
this.setPropsValue(numericValue);
|
|
294
|
+
this.rerenderMapMarker(numericValue);
|
|
295
|
+
});
|
|
266
296
|
};
|
|
267
297
|
this.onKeyDown = event => {
|
|
268
298
|
event.stopPropagation();
|
|
@@ -271,12 +301,6 @@ class LargeMapEditorDialog extends _react.default.Component {
|
|
|
271
301
|
this.onSubmit();
|
|
272
302
|
}
|
|
273
303
|
};
|
|
274
|
-
this.clearSearchNumerical = () => {
|
|
275
|
-
this.setState({
|
|
276
|
-
inputValue: '',
|
|
277
|
-
value: {}
|
|
278
|
-
});
|
|
279
|
-
};
|
|
280
304
|
this.onSubmit = () => {
|
|
281
305
|
const {
|
|
282
306
|
value
|
|
@@ -316,7 +340,10 @@ class LargeMapEditorDialog extends _react.default.Component {
|
|
|
316
340
|
readOnly,
|
|
317
341
|
config
|
|
318
342
|
} = props;
|
|
319
|
-
const _value = props.value || {
|
|
343
|
+
const _value = props.value || {
|
|
344
|
+
lng: '',
|
|
345
|
+
lat: ''
|
|
346
|
+
};
|
|
320
347
|
this.readOnly = readOnly;
|
|
321
348
|
const {
|
|
322
349
|
mapType,
|
|
@@ -324,16 +351,10 @@ class LargeMapEditorDialog extends _react.default.Component {
|
|
|
324
351
|
} = (0, _mapEditorUtils.getMapInfo)(config);
|
|
325
352
|
this.mapType = mapType;
|
|
326
353
|
this.mapKey = mapKey;
|
|
327
|
-
const {
|
|
328
|
-
lng: _lng,
|
|
329
|
-
lat: _lat
|
|
330
|
-
} = _value;
|
|
331
|
-
const _inputValue = (0, _cell.isValidPosition)(_lng, _lat) ? _mapEditorUtils.DOMESTIC_MAP_TYPE.includes(this.mapType) ? "".concat(_lng, ", ").concat(_lat) : "".concat(_lat, ", ").concat(_lng) : '';
|
|
332
354
|
this.map = null;
|
|
333
355
|
this.state = {
|
|
334
356
|
isLoading: true,
|
|
335
|
-
value:
|
|
336
|
-
inputValue: _inputValue
|
|
357
|
+
value: _value
|
|
337
358
|
};
|
|
338
359
|
}
|
|
339
360
|
componentDidMount() {
|
|
@@ -384,8 +405,10 @@ class LargeMapEditorDialog extends _react.default.Component {
|
|
|
384
405
|
render() {
|
|
385
406
|
const {
|
|
386
407
|
isLoading,
|
|
387
|
-
|
|
408
|
+
value
|
|
388
409
|
} = this.state;
|
|
410
|
+
const lat = value ? value.lat : '';
|
|
411
|
+
const lng = value ? value.lng : '';
|
|
389
412
|
return /*#__PURE__*/_react.default.createElement(_reactstrap.Modal, {
|
|
390
413
|
size: "lg",
|
|
391
414
|
isOpen: true,
|
|
@@ -407,24 +430,31 @@ class LargeMapEditorDialog extends _react.default.Component {
|
|
|
407
430
|
className: "dtable-ui-geolocation-map-editor-large",
|
|
408
431
|
onClick: this.handlerClick
|
|
409
432
|
}, !this.readOnly && /*#__PURE__*/_react.default.createElement("div", {
|
|
410
|
-
className: "map-editor-header"
|
|
433
|
+
className: "dtable-ui-geolocation-map-lng-lat-editor-header"
|
|
411
434
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
412
|
-
className: "
|
|
413
|
-
}, /*#__PURE__*/_react.default.createElement("
|
|
435
|
+
className: "dtable-ui-geolocation-map-lng-lat-input-container dtable-ui-geolocation-map-lat-input-container"
|
|
436
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
437
|
+
className: "dtable-ui-geolocation-map-lng-lat-input-label"
|
|
438
|
+
}, /*#__PURE__*/_react.default.createElement("span", null, (0, _lang.getLocale)('Latitude_abbr'))), /*#__PURE__*/_react.default.createElement("input", {
|
|
414
439
|
type: "text",
|
|
415
|
-
value:
|
|
440
|
+
value: lat,
|
|
441
|
+
onChange: this.onChangeLatitude,
|
|
416
442
|
onKeyDown: this.onKeyDown,
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
placeholder: _mapEditorUtils.DOMESTIC_MAP_TYPE.includes(this.mapType) ? (0, _lang.getLocale)('Enter_longitude_and_latitude') : (0, _lang.getLocale)('Enter_latitude_and_longitude'),
|
|
443
|
+
className: "form-control",
|
|
444
|
+
placeholder: (0, _lang.getLocale)('Enter_latitude'),
|
|
420
445
|
autoFocus: true
|
|
421
|
-
}),
|
|
422
|
-
className: "
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
446
|
+
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
447
|
+
className: "dtable-ui-geolocation-map-lng-lat-input-container dtable-ui-geolocation-map-lng-input-container"
|
|
448
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
449
|
+
className: "dtable-ui-geolocation-map-lng-lat-input-label"
|
|
450
|
+
}, /*#__PURE__*/_react.default.createElement("span", null, (0, _lang.getLocale)('Longitude_abbr'))), /*#__PURE__*/_react.default.createElement("input", {
|
|
451
|
+
type: "text",
|
|
452
|
+
value: lng,
|
|
453
|
+
onChange: this.onChangeLongitude,
|
|
454
|
+
onKeyDown: this.onKeyDown,
|
|
455
|
+
className: "form-control",
|
|
456
|
+
placeholder: (0, _lang.getLocale)('Enter_longitude')
|
|
457
|
+
}))), /*#__PURE__*/_react.default.createElement("div", {
|
|
428
458
|
className: this.readOnly ? 'geolocation-map-read-only-container' : 'geolocation-map-container-large'
|
|
429
459
|
}, this.mapType && isLoading && /*#__PURE__*/_react.default.createElement(_Loading.default, null), !this.mapType && /*#__PURE__*/_react.default.createElement("div", {
|
|
430
460
|
className: "dtable-ui-geolocation-map-editor-error-message d-flex justify-content-center mt-9"
|
|
@@ -18,6 +18,18 @@ var _lang = require("../../../lang");
|
|
|
18
18
|
class MapSelectionEditor extends _react.Component {
|
|
19
19
|
constructor(props) {
|
|
20
20
|
super(props);
|
|
21
|
+
this.initMap = () => {
|
|
22
|
+
if (this.mapType === _mapEditorUtils.MAP_TYPES.B_MAP) {
|
|
23
|
+
if (!window.BMap) {
|
|
24
|
+
window.renderBaiduMap = () => this.renderBaiduMap();
|
|
25
|
+
(0, _mapEditorUtils.loadMapSource)(this.mapType, this.mapKey);
|
|
26
|
+
} else {
|
|
27
|
+
this.renderBaiduMap();
|
|
28
|
+
}
|
|
29
|
+
window.onSubmitSelection = this.onSubmitSelection;
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
21
33
|
this.renderBaiduMap = () => {
|
|
22
34
|
this.setState({
|
|
23
35
|
isLoading: false
|
|
@@ -238,6 +250,12 @@ class MapSelectionEditor extends _react.Component {
|
|
|
238
250
|
this.props.setValue(value);
|
|
239
251
|
this.setState({
|
|
240
252
|
isShowLargeEditor: !this.state.isShowLargeEditor
|
|
253
|
+
}, () => {
|
|
254
|
+
const nextState = this.state.isShowLargeEditor;
|
|
255
|
+
if (!nextState) {
|
|
256
|
+
this.initMap();
|
|
257
|
+
}
|
|
258
|
+
this.props.toggleLargeMap && this.props.toggleLargeMap(nextState);
|
|
241
259
|
});
|
|
242
260
|
};
|
|
243
261
|
this.clearSearchNumerical = () => {
|
|
@@ -337,16 +355,7 @@ class MapSelectionEditor extends _react.Component {
|
|
|
337
355
|
this.map = null;
|
|
338
356
|
}
|
|
339
357
|
componentDidMount() {
|
|
340
|
-
|
|
341
|
-
if (!window.BMap) {
|
|
342
|
-
window.renderBaiduMap = () => this.renderBaiduMap();
|
|
343
|
-
(0, _mapEditorUtils.loadMapSource)(this.mapType, this.mapKey);
|
|
344
|
-
} else {
|
|
345
|
-
this.renderBaiduMap();
|
|
346
|
-
}
|
|
347
|
-
window.onSubmitSelection = this.onSubmitSelection;
|
|
348
|
-
return;
|
|
349
|
-
}
|
|
358
|
+
this.initMap();
|
|
350
359
|
}
|
|
351
360
|
componentWillUnmount() {
|
|
352
361
|
if (this.mapType === _mapEditorUtils.MAP_TYPES.B_MAP) {
|
|
@@ -407,7 +416,7 @@ class MapSelectionEditor extends _react.Component {
|
|
|
407
416
|
value: inputValue,
|
|
408
417
|
onKeyDown: this.onKeyDown,
|
|
409
418
|
onChange: this.onChange,
|
|
410
|
-
className: "form-control
|
|
419
|
+
className: "form-control selection-input",
|
|
411
420
|
placeholder: (0, _lang.getLocale)('Please_enter_the_address'),
|
|
412
421
|
autoFocus: true
|
|
413
422
|
}), inputValue && /*#__PURE__*/_react.default.createElement("span", {
|
|
@@ -243,7 +243,7 @@ class LargeMapSelectionEditorDialog extends _react.default.Component {
|
|
|
243
243
|
value
|
|
244
244
|
} = this.state;
|
|
245
245
|
this.props.setValue(value);
|
|
246
|
-
this.props.toggleFullScreen();
|
|
246
|
+
this.props.toggleFullScreen(event);
|
|
247
247
|
};
|
|
248
248
|
this.renderSearchResults = () => {
|
|
249
249
|
const {
|
|
@@ -399,7 +399,7 @@ class LargeMapSelectionEditorDialog extends _react.default.Component {
|
|
|
399
399
|
value: inputValue,
|
|
400
400
|
onChange: this.onChange,
|
|
401
401
|
onKeyDown: this.onKeyDown,
|
|
402
|
-
className: "form-control
|
|
402
|
+
className: "form-control selection-input-large",
|
|
403
403
|
placeholder: (0, _lang.getLocale)('Please_enter_the_address'),
|
|
404
404
|
autoFocus: true
|
|
405
405
|
}), inputValue && /*#__PURE__*/_react.default.createElement("span", {
|
|
@@ -23,13 +23,17 @@ class RowExpandPCGeolocationEditor extends _react.default.Component {
|
|
|
23
23
|
}
|
|
24
24
|
};
|
|
25
25
|
this.hideEditor = event => {
|
|
26
|
-
if (!this.state.isShowEditor || !event.target || this.editorContainer.contains(event.target)) return;
|
|
26
|
+
if (!this.state.isShowEditor || this.isLargeMapOpen || !event.target || this.editorContainer.contains(event.target)) return;
|
|
27
27
|
this.setState({
|
|
28
28
|
isShowEditor: false
|
|
29
29
|
});
|
|
30
30
|
};
|
|
31
|
+
this.toggleLargeMap = open => {
|
|
32
|
+
this.isLargeMapOpen = open;
|
|
33
|
+
};
|
|
31
34
|
this.toggleEditor = () => {
|
|
32
35
|
this.props.updateTabIndex(this.props.columnIndex);
|
|
36
|
+
this.isLargeMapOpen = false;
|
|
33
37
|
this.setState({
|
|
34
38
|
isShowEditor: !this.state.isShowEditor
|
|
35
39
|
}, () => {
|
|
@@ -47,12 +51,21 @@ class RowExpandPCGeolocationEditor extends _react.default.Component {
|
|
|
47
51
|
this.onFocus = () => {
|
|
48
52
|
this.props.updateTabIndex(this.props.columnIndex);
|
|
49
53
|
};
|
|
54
|
+
this.closeEditor = () => {
|
|
55
|
+
this.isLargeMapOpen = false;
|
|
56
|
+
this.setState({
|
|
57
|
+
isShowEditor: false
|
|
58
|
+
});
|
|
59
|
+
};
|
|
50
60
|
this.onCommit = value => {
|
|
51
61
|
this.props.onCommit(value);
|
|
52
62
|
this.setState({
|
|
53
63
|
value
|
|
54
64
|
});
|
|
55
|
-
this.
|
|
65
|
+
this.isLargeMapOpen = false;
|
|
66
|
+
this.setState({
|
|
67
|
+
isShowEditor: false
|
|
68
|
+
});
|
|
56
69
|
};
|
|
57
70
|
this.renderGeoLocation = () => {
|
|
58
71
|
let {
|
|
@@ -99,7 +112,7 @@ class RowExpandPCGeolocationEditor extends _react.default.Component {
|
|
|
99
112
|
value: row[_column[valueKey]] || {}
|
|
100
113
|
};
|
|
101
114
|
this.addBtnRef = /*#__PURE__*/_react.default.createRef();
|
|
102
|
-
this.
|
|
115
|
+
this.isLargeMapOpen = false;
|
|
103
116
|
}
|
|
104
117
|
componentDidMount() {
|
|
105
118
|
document.addEventListener('mousedown', this.hideEditor);
|
|
@@ -150,8 +163,9 @@ class RowExpandPCGeolocationEditor extends _react.default.Component {
|
|
|
150
163
|
value: value,
|
|
151
164
|
config: config,
|
|
152
165
|
onCommit: this.onCommit,
|
|
153
|
-
onToggle: this.
|
|
154
|
-
onPressTab: this.props.onPressTab
|
|
166
|
+
onToggle: this.closeEditor,
|
|
167
|
+
onPressTab: this.props.onPressTab,
|
|
168
|
+
toggleLargeMap: this.toggleLargeMap
|
|
155
169
|
}));
|
|
156
170
|
}
|
|
157
171
|
}
|
package/lib/locales/de.json
CHANGED
|
@@ -132,8 +132,6 @@
|
|
|
132
132
|
"Select_location": "Auswählen",
|
|
133
133
|
"Positioning_failed": "Die Positionierung ist gescheitert.",
|
|
134
134
|
"Address": "Adresse",
|
|
135
|
-
"Enter_longitude_and_latitude": "Längengrad und Breitengrad eingeben",
|
|
136
|
-
"Enter_latitude_and_longitude": "Längen- und Breitengrad eingeben",
|
|
137
135
|
"The_map_plugin_is_not_properly_configured_contact_the_administrator": "Das Karten-Plugin ist nicht richtig konfiguriert. Kontaktieren Sie den Administrator.",
|
|
138
136
|
"Fill_in": "Ausfüllen",
|
|
139
137
|
"Search_failed_please_enter_detailed_address": "Die Suche ist fehlgeschlagen. Geben Sie die Adresse mit mehr Details ein.",
|
|
@@ -165,5 +163,9 @@
|
|
|
165
163
|
"Add_participants": "Teilnehmer hinzufügen",
|
|
166
164
|
"Edit_long_text": "Langtext bearbeiten",
|
|
167
165
|
"Choose_a_department": "Bereich wählen",
|
|
168
|
-
"Close": "Schließen"
|
|
166
|
+
"Close": "Schließen",
|
|
167
|
+
"Latitude_abbr": "Breite",
|
|
168
|
+
"Longitude_abbr": "Länge",
|
|
169
|
+
"Enter_latitude": "Breitengrad eingeben",
|
|
170
|
+
"Enter_longitude": "Längengrad eingeben"
|
|
169
171
|
}
|
package/lib/locales/en.json
CHANGED
|
@@ -132,8 +132,6 @@
|
|
|
132
132
|
"Select_location": "Select",
|
|
133
133
|
"Positioning_failed": "Positioning failed",
|
|
134
134
|
"Address": "Address",
|
|
135
|
-
"Enter_longitude_and_latitude": "Enter longitude and latitude",
|
|
136
|
-
"Enter_latitude_and_longitude": "Enter latitude and longitude",
|
|
137
135
|
"The_map_plugin_is_not_properly_configured_contact_the_administrator": "The map plugin is not properly configured. Contact the administrator.",
|
|
138
136
|
"Fill_in": "Fill in",
|
|
139
137
|
"Search_failed_please_enter_detailed_address": "Search failed, please enter detailed address",
|
|
@@ -165,5 +163,9 @@
|
|
|
165
163
|
"Add_participants": "Add participants",
|
|
166
164
|
"Edit_long_text": "Edit long text",
|
|
167
165
|
"Choose_a_department": "Choose a department",
|
|
168
|
-
"Close": "Close"
|
|
166
|
+
"Close": "Close",
|
|
167
|
+
"Latitude_abbr": "Lat",
|
|
168
|
+
"Longitude_abbr": "Lng",
|
|
169
|
+
"Enter_latitude": "Enter latitude",
|
|
170
|
+
"Enter_longitude": "Enter longitude"
|
|
169
171
|
}
|
package/lib/locales/es.json
CHANGED
|
@@ -132,8 +132,6 @@
|
|
|
132
132
|
"Select_location": "Elegir",
|
|
133
133
|
"Positioning_failed": "El posicionamiento ha fallado",
|
|
134
134
|
"Address": "Dirección",
|
|
135
|
-
"Enter_longitude_and_latitude": "Introduce longitud y latitud",
|
|
136
|
-
"Enter_latitude_and_longitude": "Introduce latitud y longitud",
|
|
137
135
|
"The_map_plugin_is_not_properly_configured_contact_the_administrator": "El plugin de mapas no está bien configurado. Contacta con el administrador.",
|
|
138
136
|
"Fill_in": "Rellenar",
|
|
139
137
|
"Search_failed_please_enter_detailed_address": "La búsqueda ha fallado, por favor introduce la dirección completa",
|
|
@@ -165,5 +163,9 @@
|
|
|
165
163
|
"Add_participants": "Añadir participantes",
|
|
166
164
|
"Edit_long_text": "Edit long text",
|
|
167
165
|
"Choose_a_department": "Choose a department",
|
|
168
|
-
"Close": "Cerrar"
|
|
166
|
+
"Close": "Cerrar",
|
|
167
|
+
"Latitude_abbr": "Lat",
|
|
168
|
+
"Longitude_abbr": "Lng",
|
|
169
|
+
"Enter_latitude": "Enter latitude",
|
|
170
|
+
"Enter_longitude": "Enter longitude"
|
|
169
171
|
}
|
package/lib/locales/fr.json
CHANGED
|
@@ -132,8 +132,6 @@
|
|
|
132
132
|
"Select_location": "Sélectionner",
|
|
133
133
|
"Positioning_failed": "La localisation a échoué.",
|
|
134
134
|
"Address": "Adresse",
|
|
135
|
-
"Enter_longitude_and_latitude": "Entrer longitude et latitude",
|
|
136
|
-
"Enter_latitude_and_longitude": "Entrer latitude et longitude",
|
|
137
135
|
"The_map_plugin_is_not_properly_configured_contact_the_administrator": "Le plugin de carte n'est pas correctement configuré. Veuillez contacter l'administrateur.",
|
|
138
136
|
"Fill_in": "Remplir",
|
|
139
137
|
"Search_failed_please_enter_detailed_address": "La recherche a échoué. Veuillez entrer une adresse détailée.",
|
|
@@ -165,5 +163,9 @@
|
|
|
165
163
|
"Add_participants": "Ajouter des participants",
|
|
166
164
|
"Edit_long_text": "Modifier le texte long",
|
|
167
165
|
"Choose_a_department": "Sélectionner un département",
|
|
168
|
-
"Close": "Fermer"
|
|
166
|
+
"Close": "Fermer",
|
|
167
|
+
"Latitude_abbr": "Lat",
|
|
168
|
+
"Longitude_abbr": "Lng",
|
|
169
|
+
"Enter_latitude": "Enter latitude",
|
|
170
|
+
"Enter_longitude": "Enter longitude"
|
|
169
171
|
}
|
package/lib/locales/pt.json
CHANGED
|
@@ -132,8 +132,6 @@
|
|
|
132
132
|
"Select_location": "Selecione",
|
|
133
133
|
"Positioning_failed": "Posicionamento falhou",
|
|
134
134
|
"Address": "Endereço",
|
|
135
|
-
"Enter_longitude_and_latitude": "Entre longitude e latitude",
|
|
136
|
-
"Enter_latitude_and_longitude": "Entre na latitude e longitude",
|
|
137
135
|
"The_map_plugin_is_not_properly_configured_contact_the_administrator": "O plug -in de mapa não está configurado corretamente. Entre em contato com o administrador.",
|
|
138
136
|
"Fill_in": "Fill in",
|
|
139
137
|
"Search_failed_please_enter_detailed_address": "Search failed, please enter detailed address",
|
|
@@ -165,5 +163,9 @@
|
|
|
165
163
|
"Add_participants": "Adicione participantes",
|
|
166
164
|
"Edit_long_text": "Editar texto longo",
|
|
167
165
|
"Choose_a_department": "Choose a department",
|
|
168
|
-
"Close": "Fechar"
|
|
166
|
+
"Close": "Fechar",
|
|
167
|
+
"Latitude_abbr": "Lat",
|
|
168
|
+
"Longitude_abbr": "Lng",
|
|
169
|
+
"Enter_latitude": "Enter latitude",
|
|
170
|
+
"Enter_longitude": "Enter longitude"
|
|
169
171
|
}
|
package/lib/locales/ru.json
CHANGED
|
@@ -132,8 +132,6 @@
|
|
|
132
132
|
"Select_location": "Выбирать",
|
|
133
133
|
"Positioning_failed": "Позиционирование не удалось",
|
|
134
134
|
"Address": "Адрес",
|
|
135
|
-
"Enter_longitude_and_latitude": "Введите долготу и широту",
|
|
136
|
-
"Enter_latitude_and_longitude": "Введите широту и долготу",
|
|
137
135
|
"The_map_plugin_is_not_properly_configured_contact_the_administrator": "Плагин Карты не настроен должным образом. Обратитесь к администратору.",
|
|
138
136
|
"Fill_in": "Заполнить",
|
|
139
137
|
"Search_failed_please_enter_detailed_address": "Поиск не удался, пожалуйста, введите подробный адрес",
|
|
@@ -165,5 +163,9 @@
|
|
|
165
163
|
"Add_participants": "Добавить участников",
|
|
166
164
|
"Edit_long_text": "Редактировать длинный текст",
|
|
167
165
|
"Choose_a_department": "Выберите отдел",
|
|
168
|
-
"Close": "Закрыть"
|
|
166
|
+
"Close": "Закрыть",
|
|
167
|
+
"Latitude_abbr": "Lat",
|
|
168
|
+
"Longitude_abbr": "Lng",
|
|
169
|
+
"Enter_latitude": "Enter latitude",
|
|
170
|
+
"Enter_longitude": "Enter longitude"
|
|
169
171
|
}
|
package/lib/locales/zh-CN.json
CHANGED
|
@@ -132,8 +132,6 @@
|
|
|
132
132
|
"Select_location": "选择",
|
|
133
133
|
"Positioning_failed": "定位失败",
|
|
134
134
|
"Address": "地址",
|
|
135
|
-
"Enter_longitude_and_latitude": "输入经度和纬度",
|
|
136
|
-
"Enter_latitude_and_longitude": "输入经度和纬度",
|
|
137
135
|
"The_map_plugin_is_not_properly_configured_contact_the_administrator": "地图插件未正确配置。请与管理员联系。",
|
|
138
136
|
"Fill_in": "填入",
|
|
139
137
|
"Search_failed_please_enter_detailed_address": "搜索失败,请输入详细地址",
|
|
@@ -165,5 +163,9 @@
|
|
|
165
163
|
"Add_participants": "添加参与人",
|
|
166
164
|
"Edit_long_text": "编辑长文本",
|
|
167
165
|
"Choose_a_department": "选择一个部门",
|
|
168
|
-
"Close": "关闭"
|
|
166
|
+
"Close": "关闭",
|
|
167
|
+
"Latitude_abbr": "纬度",
|
|
168
|
+
"Longitude_abbr": "经度",
|
|
169
|
+
"Enter_latitude": "输入纬度",
|
|
170
|
+
"Enter_longitude": "输入经度"
|
|
169
171
|
}
|