@vtx/ol-map 2.0.0-beta.4 → 2.0.0-beta.6

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.
Files changed (109) hide show
  1. package/lib/_util/projection.js +44 -0
  2. package/lib/_util/projection.js.map +1 -0
  3. package/lib/_util/search.js +32 -45
  4. package/lib/_util/search.js.map +1 -1
  5. package/lib/arrow-flow-layer/ArrowFlowLayer.js +438 -0
  6. package/lib/arrow-flow-layer/ArrowFlowLayer.js.map +1 -0
  7. package/lib/arrow-flow-layer/index.js +140 -0
  8. package/lib/arrow-flow-layer/index.js.map +1 -0
  9. package/lib/arrow-flow-layer/sampleArrowsAlongLine.js +87 -0
  10. package/lib/arrow-flow-layer/sampleArrowsAlongLine.js.map +1 -0
  11. package/lib/arrow-flow-layer/style/css.js +4 -0
  12. package/lib/arrow-flow-layer/style/css.js.map +1 -0
  13. package/lib/arrow-flow-layer/style/index.css +0 -0
  14. package/lib/arrow-flow-layer/style/index.js +4 -0
  15. package/lib/arrow-flow-layer/style/index.js.map +1 -0
  16. package/lib/arrow-flow-layer/style/index.less +0 -0
  17. package/lib/buffer-draw/BufferDraw.js +4 -3
  18. package/lib/buffer-draw/BufferDraw.js.map +1 -1
  19. package/lib/buffer-draw/index.js +3 -1
  20. package/lib/buffer-draw/index.js.map +1 -1
  21. package/lib/feature-draw/FeatureDraw.js +4 -3
  22. package/lib/feature-draw/FeatureDraw.js.map +1 -1
  23. package/lib/feature-draw/index.js +4 -1
  24. package/lib/feature-draw/index.js.map +1 -1
  25. package/lib/feature-layer/FeatureLayer.js +63 -27
  26. package/lib/feature-layer/FeatureLayer.js.map +1 -1
  27. package/lib/feature-layer/createFeatureCollection.js +2 -2
  28. package/lib/feature-layer/createFeatureCollection.js.map +1 -1
  29. package/lib/group-layer/GroupLayer.js +6 -4
  30. package/lib/group-layer/GroupLayer.js.map +1 -1
  31. package/lib/heatmap-layer/index.js +12 -3
  32. package/lib/heatmap-layer/index.js.map +1 -1
  33. package/lib/high-layer/HighLayer.js +7 -5
  34. package/lib/high-layer/HighLayer.js.map +1 -1
  35. package/lib/high-layer/index.js +4 -2
  36. package/lib/high-layer/index.js.map +1 -1
  37. package/lib/index.js +7 -0
  38. package/lib/index.js.map +1 -1
  39. package/lib/legend/index.js +4 -2
  40. package/lib/legend/index.js.map +1 -1
  41. package/lib/map/Layers.js +7 -6
  42. package/lib/map/Layers.js.map +1 -1
  43. package/lib/map/Popup.js +16 -11
  44. package/lib/map/Popup.js.map +1 -1
  45. package/lib/map/defaultTextEnum.js +165 -0
  46. package/lib/map/defaultTextEnum.js.map +1 -0
  47. package/lib/map/index.js +41 -29
  48. package/lib/map/index.js.map +1 -1
  49. package/lib/poi-search/PoiList.js +18 -10
  50. package/lib/poi-search/PoiList.js.map +1 -1
  51. package/lib/poi-search/Search.js +10 -4
  52. package/lib/poi-search/Search.js.map +1 -1
  53. package/lib/poi-search/index.js +11 -5
  54. package/lib/poi-search/index.js.map +1 -1
  55. package/lib/search-map/VtxModal.js +6 -6
  56. package/lib/search-map/VtxModal.js.map +1 -1
  57. package/lib/search-map/index.js +58 -16
  58. package/lib/search-map/index.js.map +1 -1
  59. package/lib/search-map/style/index.css +16 -3
  60. package/lib/search-map/style/index.less +21 -5
  61. package/lib/search-map/style/modal.css +12 -12
  62. package/lib/search-map/style/modal.less +17 -9
  63. package/lib/tile-layer/index.js +4 -2
  64. package/lib/tile-layer/index.js.map +1 -1
  65. package/lib/tools/Search/index.js +21 -20
  66. package/lib/tools/Search/index.js.map +1 -1
  67. package/lib/tools/Toolbox/BoxSelect/index.js +4 -1
  68. package/lib/tools/Toolbox/BoxSelect/index.js.map +1 -1
  69. package/lib/tools/Toolbox/CircleSelect/index.js +4 -1
  70. package/lib/tools/Toolbox/CircleSelect/index.js.map +1 -1
  71. package/lib/tools/Toolbox/EagleEye/index.js +3 -2
  72. package/lib/tools/Toolbox/EagleEye/index.js.map +1 -1
  73. package/lib/tools/Toolbox/MapBookmark/index.js +40 -39
  74. package/lib/tools/Toolbox/MapBookmark/index.js.map +1 -1
  75. package/lib/tools/Toolbox/MapPrint/index.js +19 -17
  76. package/lib/tools/Toolbox/MapPrint/index.js.map +1 -1
  77. package/lib/tools/Toolbox/Measure/Measure.js +24 -15
  78. package/lib/tools/Toolbox/Measure/Measure.js.map +1 -1
  79. package/lib/tools/Toolbox/Measure/index.js +7 -5
  80. package/lib/tools/Toolbox/Measure/index.js.map +1 -1
  81. package/lib/tools/Toolbox/ScaleLine/index.js +3 -2
  82. package/lib/tools/Toolbox/ScaleLine/index.js.map +1 -1
  83. package/lib/tools/Toolbox/SelectTools/index.js +77 -65
  84. package/lib/tools/Toolbox/SelectTools/index.js.map +1 -1
  85. package/lib/tools/Toolbox/SpaceQuery/index.js +56 -51
  86. package/lib/tools/Toolbox/SpaceQuery/index.js.map +1 -1
  87. package/lib/tools/Toolbox/ZoomInput/index.js +4 -1
  88. package/lib/tools/Toolbox/ZoomInput/index.js.map +1 -1
  89. package/lib/tools/Toolbox/draftingPrint/index.css +26 -0
  90. package/lib/tools/Toolbox/draftingPrint/index.js +366 -0
  91. package/lib/tools/Toolbox/draftingPrint/index.js.map +1 -0
  92. package/lib/tools/Toolbox/draftingPrint/index.less +34 -0
  93. package/lib/tools/Toolbox/index.js +34 -24
  94. package/lib/tools/Toolbox/index.js.map +1 -1
  95. package/lib/tools/Utils/HighLayer.js +2 -1
  96. package/lib/tools/Utils/HighLayer.js.map +1 -1
  97. package/lib/tools/View/index.js +13 -12
  98. package/lib/tools/View/index.js.map +1 -1
  99. package/lib/tools/base-map-switch/index.js +44 -40
  100. package/lib/tools/base-map-switch/index.js.map +1 -1
  101. package/lib/tools/components/Chart/index.js +5 -1
  102. package/lib/tools/components/Chart/index.js.map +1 -1
  103. package/lib/tools/components/Table/index.js +5 -2
  104. package/lib/tools/components/Table/index.js.map +1 -1
  105. package/lib/tools/index.js +1 -1
  106. package/lib/tools/index.js.map +1 -1
  107. package/lib/tools/layer-control/index.js +3 -2
  108. package/lib/tools/layer-control/index.js.map +1 -1
  109. package/package.json +2 -1
@@ -0,0 +1,366 @@
1
+ "use strict";
2
+
3
+ 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); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = DraftingPrint;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _antd = require("antd");
10
+ var _Modal = _interopRequireDefault(require("../../components/Modal"));
11
+ var _html2canvas = _interopRequireDefault(require("html2canvas"));
12
+ var _interaction = require("ol/interaction");
13
+ var _Draw = require("ol/interaction/Draw");
14
+ var _printJs = _interopRequireDefault(require("print-js"));
15
+ var _control = require("ol/control");
16
+ var _Tile = _interopRequireDefault(require("ol/layer/Tile"));
17
+ var _OSM = _interopRequireDefault(require("ol/source/OSM"));
18
+ var _ol = require("ol");
19
+ var _lodash = require("lodash");
20
+ var _useProps2 = _interopRequireDefault(require("../../../use-props"));
21
+ var _Draw2 = require("../../Utils/Draw");
22
+ var _legend = _interopRequireDefault(require("../../../legend"));
23
+ require("./index.less");
24
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
25
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
26
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
27
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
28
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
29
+ 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."); }
30
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
31
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
32
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
33
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
34
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
35
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
36
+ 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; } }
37
+ 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; }
38
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
39
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } // 假设 Legend 组件位于同级目录
40
+ /**
41
+ * 制图打印组件(含图例、鹰眼、比例尺)
42
+ */
43
+ function DraftingPrint(props) {
44
+ var _props$download = props.download,
45
+ download = _props$download === void 0 ? false : _props$download,
46
+ onClose = props.onClose,
47
+ showEagleEye = props.showEagleEye,
48
+ showScale = props.showScale,
49
+ showLegend = props.showLegend;
50
+ // console.log(44444, props);
51
+ var _useProps = (0, _useProps2["default"])(),
52
+ mainMap = _useProps.map,
53
+ TextEnum = _useProps.TextEnum;
54
+ var _useState = (0, _react.useState)(false),
55
+ _useState2 = _slicedToArray(_useState, 2),
56
+ visible = _useState2[0],
57
+ setVisible = _useState2[1];
58
+ var _useState3 = (0, _react.useState)(null),
59
+ _useState4 = _slicedToArray(_useState3, 2),
60
+ img = _useState4[0],
61
+ setImg = _useState4[1];
62
+ var _useState5 = (0, _react.useState)({}),
63
+ _useState6 = _slicedToArray(_useState5, 2),
64
+ formVal = _useState6[0],
65
+ setFormVal = _useState6[1];
66
+ var _useState7 = (0, _react.useState)('1'),
67
+ _useState8 = _slicedToArray(_useState7, 2),
68
+ rangeType = _useState8[0],
69
+ setRangeType = _useState8[1]; // '1': 当前视图, '2': 手动框选
70
+
71
+ var drawTool = (0, _react.useRef)();
72
+ var printMapRef = (0, _react.useRef)(null); // 用于挂载临时地图的 DOM
73
+ var legendContainerRef = (0, _react.useRef)(null);
74
+ var imgRef = (0, _react.useRef)(null);
75
+ var _useState9 = (0, _react.useState)('auto'),
76
+ _useState0 = _slicedToArray(_useState9, 2),
77
+ imgHeight = _useState0[0],
78
+ setImgHeight = _useState0[1];
79
+ (0, _react.useEffect)(function () {
80
+ if (img && visible) {
81
+ var imgEl = new Image();
82
+ imgEl.src = img;
83
+ imgEl.onload = function () {
84
+ var aspectRatio = imgEl.width / imgEl.height;
85
+ var maxWidth = 1200; // Modal 的 width
86
+ var maxHeight = window.innerHeight * 0.8; // 最大高度为屏幕 70%
87
+
88
+ var finalWidth = maxWidth;
89
+ var finalHeight = finalWidth / aspectRatio;
90
+ if (finalHeight > maxHeight) {
91
+ finalHeight = maxHeight;
92
+ finalWidth = finalHeight * aspectRatio;
93
+ }
94
+ setImgHeight(finalHeight);
95
+ };
96
+ }
97
+ }, [img, visible]);
98
+
99
+ // 初始化绘制工具(用于手动框选)
100
+ (0, _react.useEffect)(function () {
101
+ var tool = new _interaction.Draw({
102
+ type: 'Circle',
103
+ style: _Draw2.drawStyle,
104
+ geometryFunction: (0, _Draw.createBox)()
105
+ });
106
+ tool.setActive(false);
107
+ tool.on('drawstart', function () {
108
+ mainMap.showTip('再次点击确定结束点');
109
+ });
110
+ tool.on('drawend', function (event) {
111
+ mainMap.showTip('鼠标左键确定起始点');
112
+ mainMap.getView().fit(event.feature.getGeometry().getExtent(), {
113
+ maxZoom: 20,
114
+ duration: 500
115
+ });
116
+ });
117
+ drawTool.current = tool;
118
+ mainMap.addInteraction(tool);
119
+ return function () {
120
+ mainMap.removeInteraction(tool);
121
+ mainMap.hideTip();
122
+ };
123
+ }, []);
124
+
125
+ // 处理范围选择变化
126
+ var onRangeChange = function onRangeChange(val) {
127
+ setRangeType(val);
128
+ if (val === '1') {
129
+ mainMap.hideTip();
130
+ drawTool.current.setActive(false);
131
+ } else {
132
+ mainMap.showTip('鼠标左键确定起始点');
133
+ drawTool.current.setActive(true);
134
+ }
135
+ };
136
+
137
+ // 渲染预览图
138
+ var onFinish = /*#__PURE__*/function () {
139
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(values) {
140
+ var view, center, zoom, baseLayers, visibleLayers, businessLayers, tempMap, container, canvas, url;
141
+ return _regenerator().w(function (_context) {
142
+ while (1) switch (_context.n) {
143
+ case 0:
144
+ setFormVal(values);
145
+
146
+ // 获取当前主地图的视图状态
147
+ view = mainMap.getView();
148
+ center = view.getCenter();
149
+ zoom = view.getZoom(); // 克隆底图
150
+ baseLayers = (0, _lodash.cloneDeep)(mainMap.baseLayer || []); // 获取所有可见业务图层(排除底图、Highlight 等)
151
+ visibleLayers = mainMap.getVisibleLayersByKeys(); // 返回带 key 的可见图层
152
+ businessLayers = visibleLayers.filter(function (layer) {
153
+ return !baseLayers.some(function (bl) {
154
+ return bl.key === layer.key;
155
+ });
156
+ }).map(function (layer) {
157
+ return (0, _lodash.cloneDeep)(layer);
158
+ }); // 创建临时地图
159
+ tempMap = new _ol.Map({
160
+ target: printMapRef.current,
161
+ controls: (0, _control.defaults)({
162
+ zoom: false,
163
+ attribution: false
164
+ }).extend([].concat(_toConsumableArray(showEagleEye ? [new _control.OverviewMap({
165
+ layers: (0, _lodash.cloneDeep)(baseLayers),
166
+ collapsed: false
167
+ // className: 'custom-overviewmap-extra',
168
+ })] : []), _toConsumableArray(showScale ? [new _control.ScaleLine({
169
+ units: 'metric',
170
+ bar: true,
171
+ text: true,
172
+ minWidth: 125,
173
+ className: 'ol-map-custom-scaleLine-right'
174
+ })] : []))),
175
+ layers: [].concat(_toConsumableArray(baseLayers), _toConsumableArray(businessLayers)),
176
+ // layers: [osmLayer1],
177
+ view: new _ol.View({
178
+ center: center,
179
+ zoom: zoom,
180
+ projection: 'EPSG:4326',
181
+ constrainResolution: true
182
+ }),
183
+ pixelRatio: 2 // 提高截图清晰度
184
+ }); // setTimeout(() => {
185
+ // // ✅ 使用原始参数重新生成底图图层
186
+ // // const overviewBaseLayers = cloneDeep(mainMap.getBaseLayers(mainMap.baseLayerParams));
187
+ // // console.log(11111, overviewBaseLayers);
188
+ // const overviewMapControl = new OverviewMap({
189
+ // layers: [osmLayer2],
190
+ // collapsed: false,
191
+ // className: 'custom-overviewmap',
192
+ // });
193
+ // tempMap.addControl(overviewMapControl);
194
+ // tempMap.updateSize();
195
+ // }, 100);
196
+ // 强制重绘
197
+
198
+ setTimeout(function () {
199
+ tempMap.updateSize();
200
+ }, 200);
201
+
202
+ // 等待图层加载完成(简单延迟,可优化为监听 loadend)
203
+ _context.n = 1;
204
+ return new Promise(function (resolve) {
205
+ return setTimeout(resolve, 800);
206
+ });
207
+ case 1:
208
+ // return;
209
+ // return;
210
+ // 截图整个制图区域(包含地图 + 图例)
211
+ container = printMapRef.current.closest('.mapr-print-container');
212
+ _context.n = 2;
213
+ return (0, _html2canvas["default"])(container, {
214
+ useCORS: true,
215
+ allowTaint: false,
216
+ scale: 2,
217
+ backgroundColor: null
218
+ });
219
+ case 2:
220
+ canvas = _context.v;
221
+ url = canvas.toDataURL('image/png');
222
+ setImg(url);
223
+ setVisible(true);
224
+
225
+ // 销毁临时地图
226
+ tempMap.setTarget(null);
227
+ case 3:
228
+ return _context.a(2);
229
+ }
230
+ }, _callee);
231
+ }));
232
+ return function onFinish(_x) {
233
+ return _ref.apply(this, arguments);
234
+ };
235
+ }();
236
+ var onOk = function onOk() {
237
+ if (download) {
238
+ var a = document.createElement('a');
239
+ a.href = img;
240
+ a.download = decodeURIComponent("".concat(formVal.title, ".png"));
241
+ a.style.display = 'none';
242
+ document.body.appendChild(a);
243
+ a.click();
244
+ document.body.removeChild(a);
245
+ } else {
246
+ (0, _printJs["default"])({
247
+ printable: img,
248
+ // 注意:printJS 接受 data URL
249
+ type: 'image',
250
+ documentTitle: formVal.title || '地图打印',
251
+ imageStyle: 'width:100%;' // 可选样式
252
+ });
253
+ // const printWindow = window.open('', '_blank');
254
+ // printWindow.document.write(`
255
+ // <html>
256
+ // <head><title>打印预览</title></head>
257
+ // <body style="margin:0;">
258
+ // <img src="${img}" style="width:100%;"/>
259
+ // </body>
260
+ // </html>
261
+ // `);
262
+ // printWindow.document.close();
263
+ // printWindow.focus();
264
+ // printWindow.print();
265
+ }
266
+ };
267
+ return /*#__PURE__*/_react["default"].createElement(_Modal["default"], {
268
+ title: TextEnum.toolDraftingPrint,
269
+ onClose: onClose
270
+ }, /*#__PURE__*/_react["default"].createElement(_antd.Form, {
271
+ name: "mapR",
272
+ labelCol: {
273
+ span: 8
274
+ },
275
+ wrapperCol: {
276
+ span: 16
277
+ },
278
+ initialValues: {
279
+ range: '1'
280
+ },
281
+ onFinish: onFinish
282
+ }, /*#__PURE__*/_react["default"].createElement(_antd.Form.Item, {
283
+ label: TextEnum.mapTitle,
284
+ name: "title",
285
+ rules: [{
286
+ required: true,
287
+ message: TextEnum.pleaseInputTitle
288
+ }]
289
+ }, /*#__PURE__*/_react["default"].createElement(_antd.Input, {
290
+ placeholder: TextEnum.pleaseInput
291
+ })), /*#__PURE__*/_react["default"].createElement(_antd.Form.Item, {
292
+ label: TextEnum.downloadRange,
293
+ name: "range"
294
+ }, /*#__PURE__*/_react["default"].createElement(_antd.Select, {
295
+ placeholder: TextEnum.pleaseSelect,
296
+ allowClear: true,
297
+ onChange: onRangeChange
298
+ }, /*#__PURE__*/_react["default"].createElement(_antd.Select.Option, {
299
+ value: "1"
300
+ }, TextEnum.currentView), /*#__PURE__*/_react["default"].createElement(_antd.Select.Option, {
301
+ value: "2"
302
+ }, TextEnum.manualBoxSelect))), /*#__PURE__*/_react["default"].createElement(_antd.Form.Item, {
303
+ wrapperCol: {
304
+ offset: 8,
305
+ span: 16
306
+ }
307
+ }, /*#__PURE__*/_react["default"].createElement(_antd.Button, {
308
+ type: "primary",
309
+ htmlType: "submit"
310
+ }, TextEnum.preview))), visible && /*#__PURE__*/_react["default"].createElement(_antd.Modal, {
311
+ visible: visible,
312
+ title: TextEnum.preview,
313
+ onCancel: function onCancel() {
314
+ return setVisible(false);
315
+ },
316
+ width: 1400,
317
+ centered: true,
318
+ onOk: onOk,
319
+ okText: download ? TextEnum.download : TextEnum.print,
320
+ cancelText: TextEnum.cancel
321
+ }, /*#__PURE__*/_react["default"].createElement("div", {
322
+ style: {
323
+ display: 'flex',
324
+ justifyContent: 'center',
325
+ alignItems: 'center',
326
+ minHeight: '200px',
327
+ maxHeight: '80vh',
328
+ overflow: 'auto'
329
+ }
330
+ }, /*#__PURE__*/_react["default"].createElement("img", {
331
+ ref: imgRef,
332
+ src: img,
333
+ alt: "\u5236\u56FE\u9884\u89C8",
334
+ style: {
335
+ width: 'auto',
336
+ height: 'auto',
337
+ maxWidth: '100%',
338
+ objectFit: 'contain',
339
+ display: 'block'
340
+ }
341
+ }))), /*#__PURE__*/_react["default"].createElement("div", {
342
+ ref: printMapRef,
343
+ className: "mapr-print-container",
344
+ style: {
345
+ position: 'absolute',
346
+ left: '-9999px',
347
+ width: 1400,
348
+ height: 600,
349
+ background: '#fff',
350
+ padding: '20px',
351
+ boxSizing: 'border-box'
352
+ }
353
+ }, showLegend && /*#__PURE__*/_react["default"].createElement("div", {
354
+ ref: legendContainerRef,
355
+ style: {
356
+ position: 'absolute',
357
+ bottom: '20px',
358
+ left: '20px',
359
+ maxWidth: '300px',
360
+ zIndex: 1000
361
+ }
362
+ }, /*#__PURE__*/_react["default"].createElement(_legend["default"], {
363
+ className: "extra-legend"
364
+ }))));
365
+ }
366
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_antd","_Modal","_interopRequireDefault","_html2canvas","_interaction","_Draw","_printJs","_control","_Tile","_OSM","_ol","_lodash","_useProps2","_Draw2","_legend","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_regenerator","Symbol","iterator","toStringTag","c","prototype","Generator","u","create","_regeneratorDefine2","p","y","G","v","a","d","bind","length","l","TypeError","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","displayName","w","m","_regeneratorDefine","_invoke","enumerable","configurable","writable","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","Array","from","isArray","_arrayLikeToArray","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","slice","constructor","name","test","next","push","DraftingPrint","props","_props$download","download","onClose","showEagleEye","showScale","showLegend","_useProps","useProps","mainMap","map","TextEnum","_useState","useState","_useState2","visible","setVisible","_useState3","_useState4","img","setImg","_useState5","_useState6","formVal","setFormVal","_useState7","_useState8","rangeType","setRangeType","drawTool","useRef","printMapRef","legendContainerRef","imgRef","_useState9","_useState0","imgHeight","setImgHeight","useEffect","imgEl","Image","src","onload","aspectRatio","width","height","maxWidth","maxHeight","window","innerHeight","finalWidth","finalHeight","tool","Draw","type","style","drawStyle","geometryFunction","createBox","setActive","on","showTip","event","getView","fit","feature","getGeometry","getExtent","maxZoom","duration","current","addInteraction","removeInteraction","hideTip","onRangeChange","val","onFinish","_ref","_callee","values","view","center","zoom","baseLayers","visibleLayers","businessLayers","tempMap","container","canvas","url","_context","getCenter","getZoom","cloneDeep","baseLayer","getVisibleLayersByKeys","filter","layer","some","bl","key","OlMap","target","controls","defaultControls","attribution","extend","concat","OverviewMap","layers","collapsed","ScaleLine","units","bar","text","minWidth","className","View","projection","constrainResolution","pixelRatio","setTimeout","updateSize","closest","html2canvas","useCORS","allowTaint","scale","backgroundColor","toDataURL","setTarget","_x","onOk","document","createElement","href","decodeURIComponent","title","display","body","appendChild","click","removeChild","printJS","printable","documentTitle","imageStyle","toolDraftingPrint","Form","labelCol","span","wrapperCol","initialValues","range","Item","label","mapTitle","rules","required","message","pleaseInputTitle","Input","placeholder","pleaseInput","downloadRange","Select","pleaseSelect","allowClear","onChange","Option","currentView","manualBoxSelect","offset","Button","htmlType","preview","Modal","onCancel","centered","okText","print","cancelText","cancel","justifyContent","alignItems","minHeight","overflow","ref","alt","objectFit","position","left","background","padding","boxSizing","bottom","zIndex"],"sources":["tools/Toolbox/draftingPrint/index.js"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Modal } from 'antd';\nimport DivModal from '../../components/Modal';\nimport html2canvas from 'html2canvas';\nimport { Button, Select, Form, Input } from 'antd';\nimport { Draw } from 'ol/interaction';\nimport { createBox } from 'ol/interaction/Draw';\nimport printJS from 'print-js';\nimport { defaults as defaultControls } from 'ol/control';\nimport TileLayer from 'ol/layer/Tile';\nimport OSM from 'ol/source/OSM';\nimport { OverviewMap } from 'ol/control';\nimport { ScaleLine } from 'ol/control';\nimport { Map as OlMap, View } from 'ol';\nimport { cloneDeep } from 'lodash';\nimport useProps from '../../../use-props';\nimport { drawStyle } from '../../Utils/Draw';\nimport Legend from '../../../legend'; // 假设 Legend 组件位于同级目录\nimport './index.less';\n\n/**\n * 制图打印组件(含图例、鹰眼、比例尺)\n */\nexport default function DraftingPrint(props) {\n const { download = false, onClose, showEagleEye, showScale, showLegend } = props;\n // console.log(44444, props);\n const { map: mainMap, TextEnum } = useProps();\n const [visible, setVisible] = useState(false);\n const [img, setImg] = useState(null);\n const [formVal, setFormVal] = useState({});\n const [rangeType, setRangeType] = useState('1'); // '1': 当前视图, '2': 手动框选\n\n const drawTool = useRef();\n const printMapRef = useRef(null); // 用于挂载临时地图的 DOM\n const legendContainerRef = useRef(null);\n const imgRef = useRef(null);\n const [imgHeight, setImgHeight] = useState('auto');\n\n useEffect(() => {\n if (img && visible) {\n const imgEl = new Image();\n imgEl.src = img;\n imgEl.onload = () => {\n const aspectRatio = imgEl.width / imgEl.height;\n const maxWidth = 1200; // Modal 的 width\n const maxHeight = window.innerHeight * 0.8; // 最大高度为屏幕 70%\n\n let finalWidth = maxWidth;\n let finalHeight = finalWidth / aspectRatio;\n\n if (finalHeight > maxHeight) {\n finalHeight = maxHeight;\n finalWidth = finalHeight * aspectRatio;\n }\n\n setImgHeight(finalHeight);\n };\n }\n }, [img, visible]);\n\n // 初始化绘制工具(用于手动框选)\n useEffect(() => {\n const tool = new Draw({\n type: 'Circle',\n style: drawStyle,\n geometryFunction: createBox(),\n });\n tool.setActive(false);\n tool.on('drawstart', () => {\n mainMap.showTip('再次点击确定结束点');\n });\n tool.on('drawend', event => {\n mainMap.showTip('鼠标左键确定起始点');\n mainMap.getView().fit(event.feature.getGeometry().getExtent(), {\n maxZoom: 20,\n duration: 500,\n });\n });\n drawTool.current = tool;\n mainMap.addInteraction(tool);\n\n return () => {\n mainMap.removeInteraction(tool);\n mainMap.hideTip();\n };\n }, []);\n\n // 处理范围选择变化\n const onRangeChange = val => {\n setRangeType(val);\n if (val === '1') {\n mainMap.hideTip();\n drawTool.current.setActive(false);\n } else {\n mainMap.showTip('鼠标左键确定起始点');\n drawTool.current.setActive(true);\n }\n };\n\n // 渲染预览图\n const onFinish = async values => {\n setFormVal(values);\n\n // 获取当前主地图的视图状态\n const view = mainMap.getView();\n const center = view.getCenter();\n const zoom = view.getZoom();\n\n // 克隆底图\n const baseLayers = cloneDeep(mainMap.baseLayer || []);\n\n // 获取所有可见业务图层(排除底图、Highlight 等)\n const visibleLayers = mainMap.getVisibleLayersByKeys(); // 返回带 key 的可见图层\n const businessLayers = visibleLayers\n .filter(layer => !baseLayers.some(bl => bl.key === layer.key))\n .map(layer => cloneDeep(layer));\n\n // 创建临时地图\n const tempMap = new OlMap({\n target: printMapRef.current,\n controls: defaultControls({ zoom: false, attribution: false }).extend([\n // new OverviewMap({\n // layers: baseLayers,\n // collapsed: false,\n // className: 'custom-overviewmap',\n // }),\n ...(showEagleEye\n ? [\n new OverviewMap({\n layers: cloneDeep(baseLayers),\n collapsed: false,\n // className: 'custom-overviewmap-extra',\n }),\n ]\n : []),\n ...(showScale\n ? [\n new ScaleLine({\n units: 'metric',\n bar: true,\n text: true,\n minWidth: 125,\n className: 'ol-map-custom-scaleLine-right',\n }),\n ]\n : []),\n ]),\n layers: [...baseLayers, ...businessLayers],\n // layers: [osmLayer1],\n view: new View({\n center: center,\n zoom: zoom,\n projection: 'EPSG:4326',\n constrainResolution: true,\n }),\n pixelRatio: 2, // 提高截图清晰度\n });\n // setTimeout(() => {\n // // ✅ 使用原始参数重新生成底图图层\n // // const overviewBaseLayers = cloneDeep(mainMap.getBaseLayers(mainMap.baseLayerParams));\n // // console.log(11111, overviewBaseLayers);\n\n // const overviewMapControl = new OverviewMap({\n // layers: [osmLayer2],\n // collapsed: false,\n // className: 'custom-overviewmap',\n // });\n\n // tempMap.addControl(overviewMapControl);\n // tempMap.updateSize();\n // }, 100);\n\n // 强制重绘\n setTimeout(() => {\n tempMap.updateSize();\n }, 200);\n\n // 等待图层加载完成(简单延迟,可优化为监听 loadend)\n await new Promise(resolve => setTimeout(resolve, 800));\n // return;\n\n // return;\n // 截图整个制图区域(包含地图 + 图例)\n const container = printMapRef.current.closest('.mapr-print-container');\n const canvas = await html2canvas(container, {\n useCORS: true,\n allowTaint: false,\n scale: 2,\n backgroundColor: null,\n });\n const url = canvas.toDataURL('image/png');\n setImg(url);\n setVisible(true);\n\n // 销毁临时地图\n tempMap.setTarget(null);\n };\n\n const onOk = () => {\n if (download) {\n const a = document.createElement('a');\n a.href = img;\n a.download = decodeURIComponent(`${formVal.title}.png`);\n a.style.display = 'none';\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n } else {\n printJS({\n printable: img, // 注意:printJS 接受 data URL\n type: 'image',\n documentTitle: formVal.title || '地图打印',\n imageStyle: 'width:100%;', // 可选样式\n });\n // const printWindow = window.open('', '_blank');\n // printWindow.document.write(`\n // <html>\n // <head><title>打印预览</title></head>\n // <body style=\"margin:0;\">\n // <img src=\"${img}\" style=\"width:100%;\"/>\n // </body>\n // </html>\n // `);\n // printWindow.document.close();\n // printWindow.focus();\n // printWindow.print();\n }\n };\n\n return (\n <DivModal title={TextEnum.toolDraftingPrint} onClose={onClose}>\n <Form\n name=\"mapR\"\n labelCol={{ span: 8 }}\n wrapperCol={{ span: 16 }}\n initialValues={{ range: '1' }}\n onFinish={onFinish}\n >\n <Form.Item\n label={TextEnum.mapTitle}\n name=\"title\"\n rules={[{ required: true, message: TextEnum.pleaseInputTitle }]}\n >\n <Input placeholder={TextEnum.pleaseInput} />\n </Form.Item>\n\n <Form.Item label={TextEnum.downloadRange} name=\"range\">\n <Select placeholder={TextEnum.pleaseSelect} allowClear onChange={onRangeChange}>\n <Select.Option value=\"1\">{TextEnum.currentView}</Select.Option>\n <Select.Option value=\"2\">{TextEnum.manualBoxSelect}</Select.Option>\n </Select>\n </Form.Item>\n <Form.Item wrapperCol={{ offset: 8, span: 16 }}>\n <Button type=\"primary\" htmlType=\"submit\">\n {TextEnum.preview}\n </Button>\n </Form.Item>\n </Form>\n\n {/* 预览模态框 */}\n {visible && (\n <Modal\n visible={visible}\n title={TextEnum.preview}\n onCancel={() => setVisible(false)}\n width={1400}\n centered\n onOk={onOk}\n okText={download ? TextEnum.download : TextEnum.print}\n cancelText={TextEnum.cancel}\n >\n <div\n style={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n minHeight: '200px',\n maxHeight: '80vh',\n overflow: 'auto',\n }}\n >\n <img\n ref={imgRef}\n src={img}\n alt=\"制图预览\"\n style={{\n width: 'auto',\n height: 'auto',\n maxWidth: '100%',\n objectFit: 'contain',\n display: 'block',\n }}\n />\n </div>\n </Modal>\n )}\n\n {/* 临时地图容器(仅用于生成预览,不在主界面显示) */}\n <div\n ref={printMapRef}\n className=\"mapr-print-container\"\n style={{\n position: 'absolute',\n left: '-9999px',\n width: 1400,\n height: 600,\n background: '#fff',\n padding: '20px',\n boxSizing: 'border-box',\n }}\n >\n {/* 图例组件:使用主地图的图层数据 */}\n {showLegend && (\n <div\n ref={legendContainerRef}\n style={{\n position: 'absolute',\n bottom: '20px',\n left: '20px',\n maxWidth: '300px',\n zIndex: 1000,\n }}\n >\n <Legend className=\"extra-legend\" />\n </div>\n )}\n </div>\n </DivModal>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ .custom-overviewmap-extra {
2
+ position: absolute;
3
+ top: 0.5rem !important;
4
+ left: 0.5rem;
5
+ width: 150px !important; // 放大宽度
6
+ height: 150px !important; // 放大高度
7
+ z-index: 1000;
8
+ border: 1px solid #ccc;
9
+ border-radius: 4px;
10
+ // background: white;
11
+ }
12
+ .ol-map-custom-scaleLine-right {
13
+ position: absolute;
14
+ right: 24px;
15
+ bottom: 20px;
16
+ }
17
+ .extra-legend {
18
+ .ol-tools-legend-list-wrap {
19
+ display: block !important;
20
+ }
21
+ }
22
+ .mapr-print-container {
23
+ .ol-overviewmap {
24
+ top: 10px !important;
25
+ left: 10px;
26
+ bottom: auto;
27
+ // width: 150px !important; // 放大宽度
28
+ // height: 150px !important; // 放大高度
29
+ // z-index: 1000;
30
+ border: 1px solid #ccc;
31
+ border-radius: 4px;
32
+ background: white;
33
+ }
34
+ }
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.Toolbox = void 0;
8
8
  exports["default"] = Tool;
9
- exports.options = void 0;
10
9
  var _react = _interopRequireWildcard(require("react"));
11
10
  var _ItemWrap = _interopRequireDefault(require("../components/ItemWrap"));
12
11
  var _ToolItem = _interopRequireDefault(require("../components/ToolItem"));
@@ -23,6 +22,7 @@ var _BoxSelect = _interopRequireDefault(require("./BoxSelect"));
23
22
  var _CircleSelect = _interopRequireDefault(require("./CircleSelect"));
24
23
  var _PolygonSelect = _interopRequireDefault(require("./PolygonSelect"));
25
24
  var _SpaceQuery = _interopRequireDefault(require("./SpaceQuery"));
25
+ var _draftingPrint = _interopRequireDefault(require("./draftingPrint"));
26
26
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
27
27
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
28
28
  var P = {
@@ -34,42 +34,48 @@ var P = {
34
34
  boxSelect: _BoxSelect["default"],
35
35
  circleSelect: _CircleSelect["default"],
36
36
  polygonSelect: _PolygonSelect["default"],
37
- spaceQuery: _SpaceQuery["default"]
37
+ spaceQuery: _SpaceQuery["default"],
38
+ draftingPrint: _draftingPrint["default"]
38
39
  };
39
40
  var Toolbox = exports.Toolbox = function Toolbox(props) {
40
41
  var type = props.type;
41
42
  var Page = P[type];
42
43
  return /*#__PURE__*/_react["default"].createElement(Page, props);
43
44
  };
44
- var options = exports.options = [{
45
- label: '测距',
46
- icon: 'icon-ceju',
47
- key: 'measureDistance'
48
- }, {
49
- label: '测面',
50
- icon: 'icon-mianji',
51
- key: 'measureArea'
52
- }, {
53
- label: '地图书签',
54
- icon: 'icon-shuqian',
55
- key: 'mapBookmark'
56
- }, {
57
- label: '地图下载',
58
- icon: 'icon-dituxiazai',
59
- key: 'mapDownload'
60
- }, {
61
- label: '地图打印',
62
- icon: 'icon-ditudayin',
63
- key: 'mapPrint'
64
- }];
65
45
  function Tool(props) {
66
46
  var onScaleLineClick = props.onScaleLineClick,
67
47
  onEagleEyeClick = props.onEagleEyeClick,
68
48
  active = props.active,
69
49
  setActive = props.setActive;
70
50
  var _useProps = (0, _useProps2["default"])(),
71
- map = _useProps.map;
51
+ map = _useProps.map,
52
+ TextEnum = _useProps.TextEnum;
72
53
  var itemWrapRef = (0, _react.useRef)();
54
+ var options = [{
55
+ label: TextEnum.toolMeasureDistanceText,
56
+ icon: 'icon-ceju',
57
+ key: 'measureDistance'
58
+ }, {
59
+ label: TextEnum.toolMeasureAreaText,
60
+ icon: 'icon-mianji',
61
+ key: 'measureArea'
62
+ }, {
63
+ label: TextEnum.toolMapBookmark,
64
+ icon: 'icon-shuqian',
65
+ key: 'mapBookmark'
66
+ }, {
67
+ label: TextEnum.toolMapDownload,
68
+ icon: 'icon-dituxiazai',
69
+ key: 'mapDownload'
70
+ }, {
71
+ label: TextEnum.toolMapPrint,
72
+ icon: 'icon-ditudayin',
73
+ key: 'mapPrint'
74
+ }, {
75
+ label: TextEnum.toolDraftingPrint,
76
+ icon: 'icon-ditudayin',
77
+ key: 'draftingPrint'
78
+ }];
73
79
  (0, _react.useEffect)(function () {
74
80
  // 挂载关闭工具方法
75
81
  map.closeToolbox = function () {
@@ -103,6 +109,7 @@ function Tool(props) {
103
109
  })
104
110
  }, options && options.length > 0 && options.map(function (v) {
105
111
  var params = props[v.key];
112
+ // console.log(111111, v.key, params);
106
113
  if (params !== null && params !== void 0 && params.show) {
107
114
  return /*#__PURE__*/_react["default"].createElement(_ToolItem["default"], {
108
115
  key: v.label,
@@ -164,6 +171,9 @@ Tool.defaultProps = {
164
171
  },
165
172
  spaceQuery: {
166
173
  show: true
174
+ },
175
+ draftingPrint: {
176
+ show: true
167
177
  }
168
178
  };
169
179
  //# sourceMappingURL=index.js.map