@vunk/form 1.1.76 → 1.1.79

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 (284) hide show
  1. package/components/_plugin-vue_export-helper.mjs +9 -0
  2. package/components/button/{index.js → index.mjs} +33 -29
  3. package/components/button/src/ctx.d.ts +30 -30
  4. package/components/button/src/index.vue.d.ts +69 -69
  5. package/components/cascader/index.css +0 -2
  6. package/components/cascader/{index.js → index.mjs} +22 -22
  7. package/components/cascader/src/ctx.d.ts +37 -45
  8. package/components/cascader/src/index.vue.d.ts +92 -92
  9. package/components/cascader/src/use.d.ts +1 -1
  10. package/components/checkbox/index.css +0 -9
  11. package/components/checkbox/{index.js → index.mjs} +45 -42
  12. package/components/checkbox/src/ctx.d.ts +29 -32
  13. package/components/checkbox/src/index.vue.d.ts +65 -65
  14. package/components/color-picker/{index.js → index.mjs} +24 -23
  15. package/components/color-picker/src/ctx.d.ts +29 -29
  16. package/components/color-picker/src/index.vue.d.ts +77 -64
  17. package/components/date-picker/{index.js → index.mjs} +28 -25
  18. package/components/date-picker/src/ctx.d.ts +49 -49
  19. package/components/date-picker/src/index.vue.d.ts +104 -104
  20. package/components/download-plus/index.css +0 -6
  21. package/components/download-plus/{index.js → index.mjs} +119 -147
  22. package/components/download-plus/src/api.d.ts +1 -1
  23. package/components/download-plus/src/ctx.d.ts +27 -26
  24. package/components/download-plus/src/index.vue.d.ts +59 -59
  25. package/components/esri-input-geojson/index.css +0 -10
  26. package/components/esri-input-geojson/index.mjs +1109 -0
  27. package/components/esri-input-geojson/src/append.vue.d.ts +1 -1
  28. package/components/esri-input-geojson/src/ctx.d.ts +49 -72
  29. package/components/esri-input-geojson/src/index.vue.d.ts +138 -158
  30. package/components/esri-input-geojson/src/types.d.ts +0 -1
  31. package/components/esri-input-geojson/src/viewer.vue.d.ts +18 -19
  32. package/components/form/{index.js → index.mjs} +31 -27
  33. package/components/form/src/ctx.d.ts +13 -297
  34. package/components/form/src/index.vue.d.ts +97 -659
  35. package/components/form-item/index.css +0 -8
  36. package/components/form-item/{index.js → index.mjs} +22 -19
  37. package/components/form-item/src/ctx.d.ts +13 -11
  38. package/components/form-item/src/index.vue.d.ts +20 -20
  39. package/components/form-item-renderer/{index.js → index.mjs} +9 -7
  40. package/components/form-item-renderer/src/index.vue.d.ts +1 -1
  41. package/components/form-item-renderer-template/{index.js → index.mjs} +7 -7
  42. package/components/geoinput/{index.js → index.mjs} +10 -17
  43. package/components/geoinput/src/ctx.d.ts +48 -60
  44. package/components/geoinput/src/index.vue.d.ts +114 -132
  45. package/components/geoinput-read/index.css +0 -2
  46. package/components/geoinput-read/{index.js → index.mjs} +101 -109
  47. package/components/geoinput-read/src/core.vue.d.ts +123 -142
  48. package/components/geoinput-read/src/ctx.d.ts +50 -74
  49. package/components/geoinput-read/src/index.vue.d.ts +102 -120
  50. package/components/geoinput-update/index.css +0 -6
  51. package/components/geoinput-update/index.mjs +399 -0
  52. package/components/geoinput-update/src/ctx.d.ts +49 -69
  53. package/components/geoinput-update/src/index.vue.d.ts +126 -141
  54. package/components/index.mjs +11 -0
  55. package/components/index2.mjs +306 -0
  56. package/components/index3.mjs +484 -0
  57. package/components/input/{index.js → index.mjs} +31 -27
  58. package/components/input/src/ctx.d.ts +47 -66
  59. package/components/input/src/index.vue.d.ts +101 -113
  60. package/components/input-link/index.css +0 -2
  61. package/components/input-link/index.mjs +151 -0
  62. package/components/input-link/src/ctx.d.ts +40 -56
  63. package/components/input-link/src/index.vue.d.ts +89 -101
  64. package/components/input-number/index.css +0 -2
  65. package/components/input-number/{index.js → index.mjs} +25 -25
  66. package/components/input-number/src/ctx.d.ts +31 -37
  67. package/components/input-number/src/index.vue.d.ts +71 -71
  68. package/components/radio/index.css +0 -6
  69. package/components/radio/{index.js → index.mjs} +50 -47
  70. package/components/radio/src/ctx.d.ts +29 -29
  71. package/components/radio/src/index.vue.d.ts +64 -64
  72. package/components/select/index.css +0 -2
  73. package/components/select/{index.js → index.mjs} +49 -48
  74. package/components/select/src/ctx.d.ts +31 -85
  75. package/components/select/src/index.vue.d.ts +121 -230
  76. package/components/slider/{index.js → index.mjs} +28 -24
  77. package/components/slider/src/ctx.d.ts +35 -35
  78. package/components/slider/src/index.vue.d.ts +93 -93
  79. package/components/switch/index.css +0 -2
  80. package/components/switch/{index.js → index.mjs} +29 -24
  81. package/components/switch/src/ctx.d.ts +40 -40
  82. package/components/switch/src/index.vue.d.ts +91 -91
  83. package/components/templates-default/index.mjs +302 -0
  84. package/components/templates-default/src/ctx.d.ts +2 -4
  85. package/components/templates-default/src/index.vue.d.ts +2 -8
  86. package/components/templates-element-plus/index.mjs +106 -0
  87. package/components/templates-esri/index.mjs +59 -0
  88. package/components/templates-layout/index.css +0 -3
  89. package/components/templates-layout/index.mjs +131 -0
  90. package/components/templates-mapbox/index.mjs +59 -0
  91. package/components/upload/index.css +0 -7
  92. package/components/upload/index.mjs +501 -0
  93. package/components/upload/src/ctx.d.ts +36 -38
  94. package/components/upload/src/file.vue.d.ts +22 -21
  95. package/components/upload/src/index.vue.d.ts +78 -78
  96. package/components/upload-plus/index.css +4 -8
  97. package/components/upload-plus/{index.js → index.mjs} +9497 -926
  98. package/components/upload-plus/src/api.d.ts +1 -1
  99. package/components/upload-plus/src/ctx.d.ts +25 -28
  100. package/components/upload-plus/src/index.vue.d.ts +58 -58
  101. package/components/van-cascader/index.css +0 -2
  102. package/components/van-cascader/{index.js → index.mjs} +41 -44
  103. package/components/van-cascader/src/ctx.d.ts +35 -35
  104. package/components/van-cascader/src/index.vue.d.ts +82 -82
  105. package/components/var-datetime-picker/index.css +0 -2
  106. package/components/var-datetime-picker/index.mjs +324 -0
  107. package/components/var-datetime-picker/src/ctx.d.ts +27 -26
  108. package/components/var-datetime-picker/src/index.vue.d.ts +57 -57
  109. package/components/vditor/{index.js → index.mjs} +9 -14
  110. package/components/vditor/src/ctx.d.ts +2 -1
  111. package/components/vditor/src/index.vue.d.ts +2 -3
  112. package/composables/index.mjs +85 -0
  113. package/composables/useSourceManager.d.ts +2 -2
  114. package/defaults.d.ts +1 -1
  115. package/index.css +4 -169
  116. package/index.d.ts +1 -1
  117. package/index.esm.js +44 -1
  118. package/package.json +246 -2
  119. package/shared/const/index.d.ts +1 -1
  120. package/shared/const/index.mjs +56 -0
  121. package/shared/element-plus/ctx.d.ts +26 -94
  122. package/shared/element-plus/index.mjs +285 -0
  123. package/shared/element-plus/instances.d.ts +29 -28
  124. package/shared/form/index.mjs +30 -0
  125. package/shared/helper/index.mjs +9 -0
  126. package/shared/index.mjs +1 -0
  127. package/shared/infer-prop/index.mjs +34 -0
  128. package/shared/progress-it/index.mjs +38 -0
  129. package/shared/rules/index.mjs +53 -0
  130. package/shared/upload/index.mjs +771 -0
  131. package/components/button/src/ctx.js +0 -1
  132. package/components/cascader/src/ctx.js +0 -1
  133. package/components/cascader/src/types.js +0 -1
  134. package/components/cascader/src/use.js +0 -1
  135. package/components/checkbox/src/ctx.js +0 -1
  136. package/components/checkbox/src/index.css +0 -1
  137. package/components/checkbox/src/types.js +0 -1
  138. package/components/color-picker/index.css +0 -1
  139. package/components/color-picker/src/ctx.js +0 -1
  140. package/components/color-picker/src/index.css +0 -1
  141. package/components/color-picker/src/types.js +0 -1
  142. package/components/date-picker/index.css +0 -1
  143. package/components/date-picker/src/ctx.js +0 -1
  144. package/components/date-picker/src/index.css +0 -1
  145. package/components/date-picker/src/types.js +0 -1
  146. package/components/download-plus/src/api.js +0 -1
  147. package/components/download-plus/src/const.js +0 -1
  148. package/components/download-plus/src/ctx.js +0 -1
  149. package/components/download-plus/src/index.css +0 -1
  150. package/components/download-plus/src/types.js +0 -1
  151. package/components/esri-input-geojson/index.js +0 -1563
  152. package/components/esri-input-geojson/src/const.js +0 -1
  153. package/components/esri-input-geojson/src/ctx.js +0 -1
  154. package/components/esri-input-geojson/src/index.css +0 -1
  155. package/components/esri-input-geojson/src/types.js +0 -1
  156. package/components/form/index.css +0 -1
  157. package/components/form/src/ctx.js +0 -1
  158. package/components/form/src/index.css +0 -1
  159. package/components/form/src/types.js +0 -1
  160. package/components/form/src/utils.js +0 -1
  161. package/components/form-item/src/ctx.js +0 -1
  162. package/components/form-item/src/index.css +0 -1
  163. package/components/form-item/src/types.js +0 -1
  164. package/components/form-item-renderer/index.css +0 -1
  165. package/components/form-item-renderer/src/ctx.js +0 -1
  166. package/components/form-item-renderer/src/index.css +0 -1
  167. package/components/form-item-renderer/src/symbols.js +0 -1
  168. package/components/form-item-renderer/src/types.js +0 -1
  169. package/components/form-item-renderer-template/index.css +0 -1
  170. package/components/form-item-renderer-template/src/ctx.js +0 -1
  171. package/components/form-item-renderer-template/src/index.css +0 -1
  172. package/components/form-item-renderer-template/src/types.js +0 -1
  173. package/components/geoinput/index.css +0 -1
  174. package/components/geoinput/src/ctx.js +0 -1
  175. package/components/geoinput/src/index.css +0 -1
  176. package/components/geoinput/src/types.js +0 -1
  177. package/components/geoinput-read/src/ctx.js +0 -1
  178. package/components/geoinput-read/src/index.css +0 -1
  179. package/components/geoinput-read/src/types.js +0 -1
  180. package/components/geoinput-update/index.js +0 -930
  181. package/components/geoinput-update/src/ctx.js +0 -1
  182. package/components/geoinput-update/src/index.css +0 -1
  183. package/components/geoinput-update/src/types.js +0 -1
  184. package/components/input/index.css +0 -1
  185. package/components/input/src/ctx.js +0 -1
  186. package/components/input/src/index.css +0 -1
  187. package/components/input/src/types.js +0 -1
  188. package/components/input-link/index.js +0 -163
  189. package/components/input-link/src/ctx.js +0 -1
  190. package/components/input-link/src/index.css +0 -1
  191. package/components/input-link/src/types.js +0 -1
  192. package/components/input-number/src/ctx.js +0 -1
  193. package/components/input-number/src/index.css +0 -1
  194. package/components/input-number/src/types.js +0 -1
  195. package/components/radio/src/ctx.js +0 -1
  196. package/components/radio/src/index.css +0 -1
  197. package/components/radio/src/types.js +0 -1
  198. package/components/select/src/ctx.js +0 -1
  199. package/components/select/src/index.css +0 -1
  200. package/components/select/src/types.js +0 -1
  201. package/components/slider/index.css +0 -1
  202. package/components/slider/src/ctx.js +0 -1
  203. package/components/slider/src/index.css +0 -1
  204. package/components/slider/src/types.js +0 -1
  205. package/components/switch/src/ctx.js +0 -1
  206. package/components/switch/src/index.css +0 -1
  207. package/components/switch/src/types.js +0 -1
  208. package/components/templates-default/index.css +0 -1
  209. package/components/templates-default/index.js +0 -347
  210. package/components/templates-default/src/ctx.js +0 -1
  211. package/components/templates-default/src/index.css +0 -1
  212. package/components/templates-default/src/types.js +0 -1
  213. package/components/templates-element-plus/index.css +0 -1
  214. package/components/templates-element-plus/index.js +0 -110
  215. package/components/templates-element-plus/src/ctx.js +0 -1
  216. package/components/templates-element-plus/src/index.css +0 -1
  217. package/components/templates-element-plus/src/types.js +0 -1
  218. package/components/templates-esri/index.css +0 -1
  219. package/components/templates-esri/index.js +0 -65
  220. package/components/templates-esri/src/ctx.js +0 -1
  221. package/components/templates-esri/src/index.css +0 -1
  222. package/components/templates-esri/src/types.js +0 -1
  223. package/components/templates-layout/index.js +0 -141
  224. package/components/templates-layout/src/ctx.js +0 -1
  225. package/components/templates-layout/src/index.css +0 -1
  226. package/components/templates-layout/src/types.js +0 -1
  227. package/components/templates-mapbox/index.css +0 -1
  228. package/components/templates-mapbox/index.js +0 -65
  229. package/components/templates-mapbox/src/ctx.js +0 -1
  230. package/components/templates-mapbox/src/index.css +0 -1
  231. package/components/templates-mapbox/src/types.js +0 -1
  232. package/components/upload/index.js +0 -565
  233. package/components/upload/src/ctx.js +0 -1
  234. package/components/upload/src/index.css +0 -1
  235. package/components/upload/src/types.js +0 -1
  236. package/components/upload-plus/src/api.js +0 -28
  237. package/components/upload-plus/src/const.js +0 -1
  238. package/components/upload-plus/src/ctx.js +0 -1
  239. package/components/upload-plus/src/index.css +0 -1
  240. package/components/upload-plus/src/types.js +0 -1
  241. package/components/van-cascader/src/ctx.js +0 -1
  242. package/components/van-cascader/src/index.css +0 -1
  243. package/components/van-cascader/src/types.js +0 -1
  244. package/components/var-datetime-picker/index.js +0 -299
  245. package/components/var-datetime-picker/src/const.js +0 -1
  246. package/components/var-datetime-picker/src/ctx.js +0 -1
  247. package/components/var-datetime-picker/src/index.css +0 -1
  248. package/components/var-datetime-picker/src/types.js +0 -1
  249. package/components/vditor/index.css +0 -1
  250. package/components/vditor/src/ctx.js +0 -1
  251. package/components/vditor/src/index.css +0 -1
  252. package/components/vditor/src/types.js +0 -1
  253. package/composables/index.css +0 -1
  254. package/composables/index.js +0 -1
  255. package/shared/const/index.css +0 -1
  256. package/shared/const/index.js +0 -1
  257. package/shared/element-plus/index.css +0 -1
  258. package/shared/element-plus/index.js +0 -1
  259. package/shared/form/index.css +0 -1
  260. package/shared/form/index.js +0 -1
  261. package/shared/helper/index.css +0 -1
  262. package/shared/helper/index.js +0 -1
  263. package/shared/index.css +0 -1
  264. package/shared/index.js +0 -1
  265. package/shared/infer-prop/index.css +0 -1
  266. package/shared/infer-prop/index.js +0 -1
  267. package/shared/progress-it/index.css +0 -1
  268. package/shared/progress-it/index.js +0 -1
  269. package/shared/rules/index.css +0 -1
  270. package/shared/rules/index.js +0 -1
  271. package/shared/types/form/index.css +0 -1
  272. package/shared/types/form/index.js +0 -1
  273. package/shared/types/index.css +0 -1
  274. package/shared/types/index.js +0 -1
  275. package/shared/types/source/index.css +0 -1
  276. package/shared/types/source/index.js +0 -1
  277. package/shared/types/source-manager/index.css +0 -1
  278. package/shared/types/source-manager/index.js +0 -1
  279. package/shared/upload/index.css +0 -1
  280. package/shared/upload/index.js +0 -1
  281. /package/{components/button/index.css → shared/types/form/index.mjs} +0 -0
  282. /package/{components/button/src/index.css → shared/types/index.mjs} +0 -0
  283. /package/{components/cascader/src/index.css → shared/types/source/index.mjs} +0 -0
  284. /package/{components/button/src/types.js → shared/types/source-manager/index.mjs} +0 -0
@@ -0,0 +1,1109 @@
1
+ import { defineComponent, resolveComponent, openBlock, createBlock, withCtx, createVNode, createCommentVNode, renderSlot, provide, resolveDynamicComponent, normalizeProps, mergeProps, ref, shallowRef, computed, watch, onMounted, nextTick, createElementBlock, toHandlers, withDirectives, createElementVNode, vShow } from 'vue';
2
+ import { _VkfInputCtx, VkfInput } from '@vunk/form/components/input';
3
+ import { bindPropsFactory, onEmitsFactory } from '@vunk/core/shared/utils-vue';
4
+ import { ElButton, ElIcon, ElButtonGroup, ElUpload, ElMessage } from 'element-plus';
5
+ import { u as upload_default, e as edit_default, m as map_location_default, a as document_checked_default } from '../index2.mjs';
6
+ import { _ as _export_sfc } from '../_plugin-vue_export-helper.mjs';
7
+ import { VaTdtBasemap, VaMapView, VaSketch, VaGraphicsLayer } from '@vuesri/core';
8
+ import MapView from '@arcgis/core/views/MapView';
9
+ import SceneView from '@arcgis/core/views/SceneView';
10
+ import { t as toGeojson } from '../index3.mjs';
11
+ import { VkAsyncTeleport } from '@vunk/core';
12
+ import Graphic from '@arcgis/core/Graphic';
13
+ import { useComputedReadonly } from '@vunk/form/composables';
14
+ import { Deferred } from '@vunk/core/shared/utils-promise';
15
+
16
+ var EDIT_TYPE = /* @__PURE__ */ ((EDIT_TYPE2) => {
17
+ EDIT_TYPE2["POINT"] = "point";
18
+ EDIT_TYPE2["POLYGON"] = "polygon";
19
+ EDIT_TYPE2["LINE_STRING"] = "line_string";
20
+ return EDIT_TYPE2;
21
+ })(EDIT_TYPE || {});
22
+ const EDIT_TYPE_OPTIONS = [
23
+ {
24
+ label: "\u70B9",
25
+ value: "point" /* POINT */,
26
+ availableCreatureTools: ["point"]
27
+ },
28
+ {
29
+ label: "\u7EBF",
30
+ value: "line_string" /* LINE_STRING */,
31
+ availableCreatureTools: ["polyline"]
32
+ },
33
+ {
34
+ label: "\u9762",
35
+ value: "polygon" /* POLYGON */,
36
+ availableCreatureTools: ["polygon", "circle", "rectangle"]
37
+ }
38
+ ];
39
+ const EDIT_TYPE_REFLECT = EDIT_TYPE_OPTIONS.reduce((acc, cur) => {
40
+ acc[cur.value] = cur;
41
+ return acc;
42
+ }, {});
43
+ const EMPTY_FEATURE_COLLECTION = {
44
+ type: "FeatureCollection",
45
+ features: []
46
+ };
47
+
48
+ const props = {
49
+ ..._VkfInputCtx.props,
50
+ viewComponent: null,
51
+ viewComponentAttrs: null,
52
+ readonly: {
53
+ type: Boolean,
54
+ default: void 0
55
+ },
56
+ view: {
57
+ type: Object
58
+ },
59
+ editTypes: {
60
+ type: [Array, String],
61
+ default: () => "polygon"
62
+ },
63
+ viewModelActiveFillSymbol: {
64
+ type: Object,
65
+ default: () => ({
66
+ // 红色虚线,无色填充
67
+ type: "simple-fill",
68
+ color: [0, 0, 0, 0],
69
+ style: "solid",
70
+ outline: {
71
+ color: [255, 0, 0, 1],
72
+ width: 2,
73
+ style: "dash"
74
+ }
75
+ })
76
+ },
77
+ viewModelActiveLineSymbol: null,
78
+ viewModelActivePointSymbol: null,
79
+ modelValue: {
80
+ type: Object,
81
+ default: () => EMPTY_FEATURE_COLLECTION
82
+ },
83
+ multiple: {
84
+ type: Boolean,
85
+ default: true
86
+ },
87
+ skipSave: {
88
+ type: Boolean,
89
+ default: false
90
+ },
91
+ showMap: {
92
+ type: Boolean,
93
+ default: false
94
+ },
95
+ dialogEdit: {
96
+ type: Boolean,
97
+ default: true
98
+ },
99
+ dialogEditFullscreen: {
100
+ type: Boolean,
101
+ default: true
102
+ },
103
+ dialogEditTitle: {
104
+ type: String,
105
+ default: "\u7ED8\u5236\u56FE\u6591"
106
+ },
107
+ flying: {
108
+ type: Boolean,
109
+ default: false
110
+ },
111
+ layerIndex: {
112
+ type: Number,
113
+ default: 100
114
+ },
115
+ visibleElements: {
116
+ type: Object,
117
+ default: void 0
118
+ }
119
+ };
120
+ const createBindProps = bindPropsFactory(props);
121
+ const emits = {
122
+ ..._VkfInputCtx.emits,
123
+ "update:modelValue": (e) => e,
124
+ "update:flying": null,
125
+ /**
126
+ * 点击地图定位按钮
127
+ */
128
+ "appendFly": null,
129
+ appendEdit: null
130
+ };
131
+ const createOnEmits = onEmitsFactory(emits);
132
+
133
+ var ctx = /*#__PURE__*/Object.freeze({
134
+ __proto__: null,
135
+ createBindProps: createBindProps,
136
+ createOnEmits: createOnEmits,
137
+ emits: emits,
138
+ props: props
139
+ });
140
+
141
+ var _sfc_main$3 = defineComponent({
142
+ components: {
143
+ ElButton,
144
+ ElIcon,
145
+ ElButtonGroup,
146
+ Upload: upload_default,
147
+ Edit: edit_default,
148
+ ElUpload,
149
+ MapLocation: map_location_default
150
+ },
151
+ props: {
152
+ disabled: Boolean,
153
+ dialog: Boolean,
154
+ upload: {
155
+ type: Boolean,
156
+ default: true
157
+ }
158
+ },
159
+ emits: {
160
+ upload: (e) => e,
161
+ edit: null,
162
+ fly: null
163
+ },
164
+ methods: {
165
+ getFile(file) {
166
+ this.$emit("upload", file);
167
+ },
168
+ uploadClick(e) {
169
+ const target = e.target.querySelector("input[type=file]");
170
+ if (!target) return;
171
+ target.click();
172
+ }
173
+ }
174
+ });
175
+
176
+ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
177
+ const _component_Upload = resolveComponent("Upload");
178
+ const _component_ElIcon = resolveComponent("ElIcon");
179
+ const _component_ElUpload = resolveComponent("ElUpload");
180
+ const _component_Edit = resolveComponent("Edit");
181
+ const _component_ElButton = resolveComponent("ElButton");
182
+ const _component_MapLocation = resolveComponent("MapLocation");
183
+ const _component_ElButtonGroup = resolveComponent("ElButtonGroup");
184
+ return openBlock(), createBlock(_component_ElButtonGroup, null, {
185
+ default: withCtx(() => [
186
+ _ctx.upload ? (openBlock(), createBlock(_component_ElUpload, {
187
+ key: 0,
188
+ class: "el-button el-button--default vkf-esri-input-geojson__upload",
189
+ action: "",
190
+ accept: "file",
191
+ multiple: false,
192
+ "show-file-list": false,
193
+ "auto-upload": false,
194
+ "on-change": _ctx.getFile,
195
+ disabled: _ctx.disabled,
196
+ onClick: _ctx.uploadClick
197
+ }, {
198
+ default: withCtx(() => [
199
+ createVNode(_component_ElIcon, { color: "var(--el-color-primary)" }, {
200
+ default: withCtx(() => [
201
+ createVNode(_component_Upload)
202
+ ]),
203
+ _: 1
204
+ /* STABLE */
205
+ })
206
+ ]),
207
+ _: 1
208
+ /* STABLE */
209
+ }, 8, ["on-change", "disabled", "onClick"])) : createCommentVNode("v-if", true),
210
+ _ctx.dialog ? (openBlock(), createBlock(_component_ElButton, {
211
+ key: 1,
212
+ disabled: _ctx.disabled,
213
+ onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("edit"))
214
+ }, {
215
+ default: withCtx(() => [
216
+ createVNode(_component_ElIcon, { color: "var(--el-color-primary)" }, {
217
+ default: withCtx(() => [
218
+ createVNode(_component_Edit)
219
+ ]),
220
+ _: 1
221
+ /* STABLE */
222
+ })
223
+ ]),
224
+ _: 1
225
+ /* STABLE */
226
+ }, 8, ["disabled"])) : createCommentVNode("v-if", true),
227
+ createVNode(_component_ElButton, {
228
+ onClick: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("fly"))
229
+ }, {
230
+ default: withCtx(() => [
231
+ createVNode(_component_ElIcon, { color: "var(--el-color-primary)" }, {
232
+ default: withCtx(() => [
233
+ createVNode(_component_MapLocation)
234
+ ]),
235
+ _: 1
236
+ /* STABLE */
237
+ })
238
+ ]),
239
+ _: 1
240
+ /* STABLE */
241
+ })
242
+ ]),
243
+ _: 1
244
+ /* STABLE */
245
+ });
246
+ }
247
+ var AppendVue = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render$3], ["__file", "D:\\labCode\\vunk-form2\\packages\\components\\esri-input-geojson\\src\\append.vue"]]);
248
+
249
+ var _sfc_main$2 = /* @__PURE__ */ defineComponent({
250
+ __name: "default-view",
251
+ setup(__props, { expose: __expose }) {
252
+ __expose();
253
+ const __returned__ = { get VaTdtBasemap() {
254
+ return VaTdtBasemap;
255
+ }, get VaMapView() {
256
+ return VaMapView;
257
+ } };
258
+ Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
259
+ return __returned__;
260
+ }
261
+ });
262
+
263
+ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
264
+ return openBlock(), createBlock($setup["VaMapView"], null, {
265
+ default: withCtx(() => [
266
+ createVNode($setup["VaTdtBasemap"]),
267
+ renderSlot(_ctx.$slots, "default")
268
+ ]),
269
+ _: 3
270
+ /* FORWARDED */
271
+ });
272
+ }
273
+ var DefaultView = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$2], ["__file", "D:\\labCode\\vunk-form2\\packages\\components\\esri-input-geojson\\src\\default-view.vue"]]);
274
+
275
+ var _sfc_main$1 = defineComponent({
276
+ components: {
277
+ VaTdtBasemap,
278
+ VaMapView
279
+ },
280
+ props: {
281
+ view: {
282
+ type: Object,
283
+ default: void 0
284
+ },
285
+ viewComponent: {
286
+ type: [Object, Function],
287
+ default: () => DefaultView
288
+ },
289
+ viewComponentAttrs: {
290
+ type: Object,
291
+ default: () => ({})
292
+ }
293
+ },
294
+ setup(props) {
295
+ if (props.view) {
296
+ provide("vaView", props.view);
297
+ if (props.view instanceof MapView) {
298
+ provide("vaMapView", props.view);
299
+ }
300
+ if (props.view instanceof SceneView) {
301
+ provide("vaSceneView", props.view);
302
+ }
303
+ }
304
+ return {};
305
+ }
306
+ });
307
+
308
+ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
309
+ return !_ctx.view ? (openBlock(), createBlock(
310
+ resolveDynamicComponent(_ctx.viewComponent),
311
+ normalizeProps(mergeProps({ key: 0 }, _ctx.viewComponentAttrs)),
312
+ {
313
+ default: withCtx(() => [
314
+ renderSlot(_ctx.$slots, "default")
315
+ ]),
316
+ _: 3
317
+ /* FORWARDED */
318
+ },
319
+ 16
320
+ /* FULL_PROPS */
321
+ )) : renderSlot(_ctx.$slots, "default", { key: 1 });
322
+ }
323
+ var ViewerVue = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__file", "D:\\labCode\\vunk-form2\\packages\\components\\esri-input-geojson\\src\\viewer.vue"]]);
324
+
325
+ /* @preserve
326
+ * @terraformer/arcgis - v2.1.1 - MIT
327
+ * Copyright (c) 2012-2022 Environmental Systems Research Institute, Inc.
328
+ * Tue Aug 02 2022 14:23:48 GMT-0700 (Pacific Daylight Time)
329
+ */
330
+ /* Copyright (c) 2012-2019 Environmental Systems Research Institute, Inc.
331
+ * Apache-2.0 */
332
+
333
+ var edgeIntersectsEdge = function edgeIntersectsEdge(a1, a2, b1, b2) {
334
+ var uaT = (b2[0] - b1[0]) * (a1[1] - b1[1]) - (b2[1] - b1[1]) * (a1[0] - b1[0]);
335
+ var ubT = (a2[0] - a1[0]) * (a1[1] - b1[1]) - (a2[1] - a1[1]) * (a1[0] - b1[0]);
336
+ var uB = (b2[1] - b1[1]) * (a2[0] - a1[0]) - (b2[0] - b1[0]) * (a2[1] - a1[1]);
337
+
338
+ if (uB !== 0) {
339
+ var ua = uaT / uB;
340
+ var ub = ubT / uB;
341
+
342
+ if (ua >= 0 && ua <= 1 && ub >= 0 && ub <= 1) {
343
+ return true;
344
+ }
345
+ }
346
+
347
+ return false;
348
+ };
349
+ var coordinatesContainPoint = function coordinatesContainPoint(coordinates, point) {
350
+ var contains = false;
351
+
352
+ for (var i = -1, l = coordinates.length, j = l - 1; ++i < l; j = i) {
353
+ if ((coordinates[i][1] <= point[1] && point[1] < coordinates[j][1] || coordinates[j][1] <= point[1] && point[1] < coordinates[i][1]) && point[0] < (coordinates[j][0] - coordinates[i][0]) * (point[1] - coordinates[i][1]) / (coordinates[j][1] - coordinates[i][1]) + coordinates[i][0]) {
354
+ contains = !contains;
355
+ }
356
+ }
357
+
358
+ return contains;
359
+ };
360
+ var pointsEqual = function pointsEqual(a, b) {
361
+ for (var i = 0; i < a.length; i++) {
362
+ if (a[i] !== b[i]) {
363
+ return false;
364
+ }
365
+ }
366
+
367
+ return true;
368
+ };
369
+ var arrayIntersectsArray = function arrayIntersectsArray(a, b) {
370
+ for (var i = 0; i < a.length - 1; i++) {
371
+ for (var j = 0; j < b.length - 1; j++) {
372
+ if (edgeIntersectsEdge(a[i], a[i + 1], b[j], b[j + 1])) {
373
+ return true;
374
+ }
375
+ }
376
+ }
377
+
378
+ return false;
379
+ };
380
+
381
+ /* Copyright (c) 2012-2019 Environmental Systems Research Institute, Inc.
382
+ * Apache-2.0 */
383
+
384
+ var closeRing = function closeRing(coordinates) {
385
+ if (!pointsEqual(coordinates[0], coordinates[coordinates.length - 1])) {
386
+ coordinates.push(coordinates[0]);
387
+ }
388
+
389
+ return coordinates;
390
+ }; // determine if polygon ring coordinates are clockwise. clockwise signifies outer ring, counter-clockwise an inner ring
391
+ // or hole. this logic was found at http://stackoverflow.com/questions/1165647/how-to-determine-if-a-list-of-polygon-
392
+ // points-are-in-clockwise-order
393
+
394
+ var ringIsClockwise = function ringIsClockwise(ringToTest) {
395
+ var total = 0;
396
+ var i = 0;
397
+ var rLength = ringToTest.length;
398
+ var pt1 = ringToTest[i];
399
+ var pt2;
400
+
401
+ for (i; i < rLength - 1; i++) {
402
+ pt2 = ringToTest[i + 1];
403
+ total += (pt2[0] - pt1[0]) * (pt2[1] + pt1[1]);
404
+ pt1 = pt2;
405
+ }
406
+
407
+ return total >= 0;
408
+ }; // This function ensures that rings are oriented in the right directions
409
+ // from http://jsperf.com/cloning-an-object/2
410
+
411
+ var shallowClone = function shallowClone(obj) {
412
+ var target = {};
413
+
414
+ for (var i in obj) {
415
+ // both arcgis attributes and geojson props are just hardcoded keys
416
+ if (obj.hasOwnProperty(i)) {
417
+ // eslint-disable-line no-prototype-builtins
418
+ target[i] = obj[i];
419
+ }
420
+ }
421
+
422
+ return target;
423
+ };
424
+
425
+ /* Copyright (c) 2012-2019 Environmental Systems Research Institute, Inc.
426
+ * Apache-2.0 */
427
+
428
+ var coordinatesContainCoordinates = function coordinatesContainCoordinates(outer, inner) {
429
+ var intersects = arrayIntersectsArray(outer, inner);
430
+ var contains = coordinatesContainPoint(outer, inner[0]);
431
+
432
+ if (!intersects && contains) {
433
+ return true;
434
+ }
435
+
436
+ return false;
437
+ }; // do any polygons in this array contain any other polygons in this array?
438
+ // used for checking for holes in arcgis rings
439
+
440
+
441
+ var convertRingsToGeoJSON = function convertRingsToGeoJSON(rings) {
442
+ var outerRings = [];
443
+ var holes = [];
444
+ var x; // iterator
445
+
446
+ var outerRing; // current outer ring being evaluated
447
+
448
+ var hole; // current hole being evaluated
449
+ // for each ring
450
+
451
+ for (var r = 0; r < rings.length; r++) {
452
+ var ring = closeRing(rings[r].slice(0));
453
+
454
+ if (ring.length < 4) {
455
+ continue;
456
+ } // is this ring an outer ring? is it clockwise?
457
+
458
+
459
+ if (ringIsClockwise(ring)) {
460
+ var polygon = [ring.slice().reverse()]; // wind outer rings counterclockwise for RFC 7946 compliance
461
+
462
+ outerRings.push(polygon); // push to outer rings
463
+ } else {
464
+ holes.push(ring.slice().reverse()); // wind inner rings clockwise for RFC 7946 compliance
465
+ }
466
+ }
467
+
468
+ var uncontainedHoles = []; // while there are holes left...
469
+
470
+ while (holes.length) {
471
+ // pop a hole off out stack
472
+ hole = holes.pop(); // loop over all outer rings and see if they contain our hole.
473
+
474
+ var contained = false;
475
+
476
+ for (x = outerRings.length - 1; x >= 0; x--) {
477
+ outerRing = outerRings[x][0];
478
+
479
+ if (coordinatesContainCoordinates(outerRing, hole)) {
480
+ // the hole is contained push it into our polygon
481
+ outerRings[x].push(hole);
482
+ contained = true;
483
+ break;
484
+ }
485
+ } // ring is not contained in any outer ring
486
+ // sometimes this happens https://github.com/Esri/esri-leaflet/issues/320
487
+
488
+
489
+ if (!contained) {
490
+ uncontainedHoles.push(hole);
491
+ }
492
+ } // if we couldn't match any holes using contains we can try intersects...
493
+
494
+
495
+ while (uncontainedHoles.length) {
496
+ // pop a hole off out stack
497
+ hole = uncontainedHoles.pop(); // loop over all outer rings and see if any intersect our hole.
498
+
499
+ var intersects = false;
500
+
501
+ for (x = outerRings.length - 1; x >= 0; x--) {
502
+ outerRing = outerRings[x][0];
503
+
504
+ if (arrayIntersectsArray(outerRing, hole)) {
505
+ // the hole is contained push it into our polygon
506
+ outerRings[x].push(hole);
507
+ intersects = true;
508
+ break;
509
+ }
510
+ }
511
+
512
+ if (!intersects) {
513
+ outerRings.push([hole.reverse()]);
514
+ }
515
+ }
516
+
517
+ if (outerRings.length === 1) {
518
+ return {
519
+ type: 'Polygon',
520
+ coordinates: outerRings[0]
521
+ };
522
+ } else {
523
+ return {
524
+ type: 'MultiPolygon',
525
+ coordinates: outerRings
526
+ };
527
+ }
528
+ };
529
+
530
+ var getId = function getId(attributes, idAttribute) {
531
+ var keys = ['OBJECTID', 'FID'];
532
+
533
+ for (var i = 0; i < keys.length; i++) {
534
+ var key = keys[i];
535
+
536
+ if (key in attributes && (typeof attributes[key] === 'string' || typeof attributes[key] === 'number')) {
537
+ return attributes[key];
538
+ }
539
+ }
540
+
541
+ throw Error('No valid id attribute found');
542
+ };
543
+
544
+ var arcgisToGeoJSON = function arcgisToGeoJSON(arcgis, idAttribute) {
545
+ var geojson = {};
546
+
547
+ if (arcgis.features) {
548
+ geojson.type = 'FeatureCollection';
549
+ geojson.features = [];
550
+
551
+ for (var i = 0; i < arcgis.features.length; i++) {
552
+ geojson.features.push(arcgisToGeoJSON(arcgis.features[i], idAttribute));
553
+ }
554
+ }
555
+
556
+ if (typeof arcgis.x === 'number' && typeof arcgis.y === 'number') {
557
+ geojson.type = 'Point';
558
+ geojson.coordinates = [arcgis.x, arcgis.y];
559
+
560
+ if (typeof arcgis.z === 'number') {
561
+ geojson.coordinates.push(arcgis.z);
562
+ }
563
+ }
564
+
565
+ if (arcgis.points) {
566
+ geojson.type = 'MultiPoint';
567
+ geojson.coordinates = arcgis.points.slice(0);
568
+ }
569
+
570
+ if (arcgis.paths) {
571
+ if (arcgis.paths.length === 1) {
572
+ geojson.type = 'LineString';
573
+ geojson.coordinates = arcgis.paths[0].slice(0);
574
+ } else {
575
+ geojson.type = 'MultiLineString';
576
+ geojson.coordinates = arcgis.paths.slice(0);
577
+ }
578
+ }
579
+
580
+ if (arcgis.rings) {
581
+ geojson = convertRingsToGeoJSON(arcgis.rings.slice(0));
582
+ }
583
+
584
+ if (typeof arcgis.xmin === 'number' && typeof arcgis.ymin === 'number' && typeof arcgis.xmax === 'number' && typeof arcgis.ymax === 'number') {
585
+ geojson.type = 'Polygon';
586
+ geojson.coordinates = [[[arcgis.xmax, arcgis.ymax], [arcgis.xmin, arcgis.ymax], [arcgis.xmin, arcgis.ymin], [arcgis.xmax, arcgis.ymin], [arcgis.xmax, arcgis.ymax]]];
587
+ }
588
+
589
+ if (arcgis.geometry || arcgis.attributes) {
590
+ geojson.type = 'Feature';
591
+ geojson.geometry = arcgis.geometry ? arcgisToGeoJSON(arcgis.geometry) : null;
592
+ geojson.properties = arcgis.attributes ? shallowClone(arcgis.attributes) : null;
593
+
594
+ if (arcgis.attributes) {
595
+ try {
596
+ geojson.id = getId(arcgis.attributes, idAttribute);
597
+ } catch (err) {// don't set an id
598
+ }
599
+ }
600
+ } // if no valid geometry was encountered
601
+
602
+
603
+ if (JSON.stringify(geojson.geometry) === JSON.stringify({})) {
604
+ geojson.geometry = null;
605
+ }
606
+
607
+ if (arcgis.spatialReference && arcgis.spatialReference.wkid && arcgis.spatialReference.wkid !== 4326) {
608
+ console.warn('Object converted in non-standard crs - ' + JSON.stringify(arcgis.spatialReference));
609
+ }
610
+
611
+ return geojson;
612
+ };
613
+
614
+ /* Copyright (c) 2012-2019 Environmental Systems Research Institute, Inc.
615
+ * Apache-2.0 */
616
+ // outer rings are clockwise, holes are counterclockwise
617
+ // used for converting GeoJSON Polygons to ArcGIS Polygons
618
+
619
+ var orientRings = function orientRings(poly) {
620
+ var output = [];
621
+ var polygon = poly.slice(0);
622
+ var outerRing = closeRing(polygon.shift().slice(0));
623
+
624
+ if (outerRing.length >= 4) {
625
+ if (!ringIsClockwise(outerRing)) {
626
+ outerRing.reverse();
627
+ }
628
+
629
+ output.push(outerRing);
630
+
631
+ for (var i = 0; i < polygon.length; i++) {
632
+ var hole = closeRing(polygon[i].slice(0));
633
+
634
+ if (hole.length >= 4) {
635
+ if (ringIsClockwise(hole)) {
636
+ hole.reverse();
637
+ }
638
+
639
+ output.push(hole);
640
+ }
641
+ }
642
+ }
643
+
644
+ return output;
645
+ }; // This function flattens holes in multipolygons to one array of polygons
646
+ // used for converting GeoJSON Polygons to ArcGIS Polygons
647
+
648
+
649
+ var flattenMultiPolygonRings = function flattenMultiPolygonRings(rings) {
650
+ var output = [];
651
+
652
+ for (var i = 0; i < rings.length; i++) {
653
+ var polygon = orientRings(rings[i]);
654
+
655
+ for (var x = polygon.length - 1; x >= 0; x--) {
656
+ var ring = polygon[x].slice(0);
657
+ output.push(ring);
658
+ }
659
+ }
660
+
661
+ return output;
662
+ };
663
+
664
+ var geojsonToArcGIS = function geojsonToArcGIS(geojson, idAttribute) {
665
+ idAttribute = idAttribute || 'OBJECTID';
666
+ var spatialReference = {
667
+ wkid: 4326
668
+ };
669
+ var result = {};
670
+ var i;
671
+
672
+ switch (geojson.type) {
673
+ case 'Point':
674
+ result.x = geojson.coordinates[0];
675
+ result.y = geojson.coordinates[1];
676
+
677
+ if (geojson.coordinates[2] != null) {
678
+ result.z = geojson.coordinates[2];
679
+ }
680
+
681
+ result.spatialReference = spatialReference;
682
+ break;
683
+
684
+ case 'MultiPoint':
685
+ result.points = geojson.coordinates.slice(0);
686
+
687
+ if (geojson.coordinates[0][2] != null) {
688
+ result.hasZ = true;
689
+ }
690
+
691
+ result.spatialReference = spatialReference;
692
+ break;
693
+
694
+ case 'LineString':
695
+ result.paths = [geojson.coordinates.slice(0)];
696
+
697
+ if (geojson.coordinates[0][2] != null) {
698
+ result.hasZ = true;
699
+ }
700
+
701
+ result.spatialReference = spatialReference;
702
+ break;
703
+
704
+ case 'MultiLineString':
705
+ result.paths = geojson.coordinates.slice(0);
706
+
707
+ if (geojson.coordinates[0][0][2] != null) {
708
+ result.hasZ = true;
709
+ }
710
+
711
+ result.spatialReference = spatialReference;
712
+ break;
713
+
714
+ case 'Polygon':
715
+ result.rings = orientRings(geojson.coordinates.slice(0));
716
+
717
+ if (geojson.coordinates[0][0][2] != null) {
718
+ result.hasZ = true;
719
+ }
720
+
721
+ result.spatialReference = spatialReference;
722
+ break;
723
+
724
+ case 'MultiPolygon':
725
+ result.rings = flattenMultiPolygonRings(geojson.coordinates.slice(0));
726
+
727
+ if (geojson.coordinates[0][0][0][2] != null) {
728
+ result.hasZ = true;
729
+ }
730
+
731
+ result.spatialReference = spatialReference;
732
+ break;
733
+
734
+ case 'Feature':
735
+ if (geojson.geometry) {
736
+ result.geometry = geojsonToArcGIS(geojson.geometry, idAttribute);
737
+ }
738
+
739
+ result.attributes = geojson.properties ? shallowClone(geojson.properties) : {};
740
+
741
+ if (geojson.id) {
742
+ result.attributes[idAttribute] = geojson.id;
743
+ }
744
+
745
+ break;
746
+
747
+ case 'FeatureCollection':
748
+ result = [];
749
+
750
+ for (i = 0; i < geojson.features.length; i++) {
751
+ result.push(geojsonToArcGIS(geojson.features[i], idAttribute));
752
+ }
753
+
754
+ break;
755
+
756
+ case 'GeometryCollection':
757
+ result = [];
758
+
759
+ for (i = 0; i < geojson.geometries.length; i++) {
760
+ result.push(geojsonToArcGIS(geojson.geometries[i], idAttribute));
761
+ }
762
+
763
+ break;
764
+ }
765
+
766
+ return result;
767
+ };
768
+
769
+ var _sfc_main = /* @__PURE__ */ defineComponent({
770
+ name: "VkfEsriInputGeojson",
771
+ components: {
772
+ VkfInput,
773
+ VaSketch,
774
+ ViewerVue,
775
+ VkAsyncTeleport,
776
+ DocumentChecked: document_checked_default,
777
+ VaGraphicsLayer
778
+ },
779
+ props,
780
+ emits,
781
+ setup(props2, {
782
+ emit
783
+ }) {
784
+ const inputBindProps = _VkfInputCtx.createBindProps(props2, ["inputSlots", "readonly", "modelValue"]);
785
+ const inputOnEmits = _VkfInputCtx.createOnEmits(emit, ["update:modelValue"]);
786
+ const getInputModelValue = v => {
787
+ const emptyStr = "\u6682\u65E0\u6570\u636E";
788
+ if (!v) return emptyStr;
789
+ if (!v.features.length) return emptyStr;
790
+ return JSON.stringify(v);
791
+ };
792
+ const readonly = useComputedReadonly(props2);
793
+ const sketchIf = ref(!props2.view);
794
+ const sketchRef = shallowRef();
795
+ const shetchPanel = computed(() => {
796
+ const container = sketchRef.value?.container;
797
+ return container?.querySelector(".esri-sketch__panel");
798
+ });
799
+ const viewDef = new Deferred();
800
+ const layerRef = shallowRef();
801
+ const sketchLoad = async e => {
802
+ await e.sketch.when();
803
+ sketchRef.value = e.sketch;
804
+ viewDef.resolve(sketchRef.value.view);
805
+ };
806
+ const layerLoad = async ({
807
+ view,
808
+ layer
809
+ }) => {
810
+ viewDef.resolve(view);
811
+ layerRef.value = layer;
812
+ };
813
+ const availableCreatureTools = computed(() => {
814
+ if (Array.isArray(props2.editTypes)) {
815
+ return props2.editTypes.reduce((pre, cur) => {
816
+ return pre.concat(EDIT_TYPE_REFLECT[cur].availableCreatureTools);
817
+ }, []);
818
+ } else {
819
+ return EDIT_TYPE_REFLECT[props2.editTypes].availableCreatureTools;
820
+ }
821
+ });
822
+ const sketchValueUpdating = ref(false);
823
+ const sketchValue = shallowRef([]);
824
+ watch(() => props2.modelValue, (v, ov) => {
825
+ if (sketchValueUpdating.value) return;
826
+ uSketchValue();
827
+ if (!ov?.features.length) {
828
+ fly();
829
+ }
830
+ }, {
831
+ immediate: true
832
+ });
833
+ const handleUpdateSketchValue = e => {
834
+ sketchValue.value = e;
835
+ if (props2.skipSave) {
836
+ u();
837
+ }
838
+ };
839
+ const normalMapRef = shallowRef();
840
+ const dialogMapRef = shallowRef();
841
+ const mapTo = shallowRef();
842
+ onMounted(() => {
843
+ mapTo.value = normalMapRef.value;
844
+ });
845
+ const dialogShow = ref(false);
846
+ const setDialogShow = v => {
847
+ dialogShow.value = v;
848
+ };
849
+ const dialogOnOpen = async () => {
850
+ mapTo.value = dialogMapRef.value;
851
+ };
852
+ const dialogOnClose = async () => {
853
+ mapTo.value = normalMapRef.value;
854
+ };
855
+ const doSave = () => {
856
+ u();
857
+ ElMessage({
858
+ message: "\u4FDD\u5B58\u6210\u529F",
859
+ type: "success"
860
+ });
861
+ dialogShow.value = false;
862
+ if (props2.view) {
863
+ sketchIf.value = false;
864
+ }
865
+ };
866
+ const append = () => createVNode(AppendVue, {
867
+ "dialog": !readonly.value && props2.dialogEdit,
868
+ "upload": !readonly.value,
869
+ "disabled": props2.disabled,
870
+ "onUpload": onUpload,
871
+ "onEdit": onEdit,
872
+ "onFly": () => {
873
+ if (!props2.showMap && !props2.view) {
874
+ dialogShow.value = true;
875
+ }
876
+ emit("appendFly");
877
+ fly();
878
+ }
879
+ }, null);
880
+ async function onUpload(e) {
881
+ if (!e.raw) return;
882
+ toGeojson(e.raw).then(res => {
883
+ emit("update:modelValue", res);
884
+ }).then(() => {
885
+ ElMessage.success("\u4E0A\u4F20\u6210\u529F");
886
+ }).then(fly);
887
+ }
888
+ function onEdit() {
889
+ if (!props2.view) {
890
+ dialogShow.value = true;
891
+ } else {
892
+ sketchIf.value = true;
893
+ }
894
+ emit("appendEdit");
895
+ }
896
+ function u() {
897
+ sketchValueUpdating.value = true;
898
+ const features = sketchValue.value.map(item => {
899
+ return arcgisToGeoJSON(item);
900
+ });
901
+ emit("update:modelValue", {
902
+ type: "FeatureCollection",
903
+ features
904
+ });
905
+ nextTick(() => {
906
+ sketchValueUpdating.value = false;
907
+ });
908
+ }
909
+ function uSketchValue() {
910
+ const esriData = geojsonToArcGIS(props2.modelValue);
911
+ const graphics = esriData.map(item => {
912
+ const g = item.geometry;
913
+ if (g.rings) {
914
+ g.type = "polygon";
915
+ item.symbol = props2.viewModelActiveFillSymbol;
916
+ } else if (g.paths) {
917
+ g.type = "polyline";
918
+ item.symbol = props2.viewModelActiveLineSymbol;
919
+ } else if (g.x) {
920
+ g.type = "point";
921
+ item.symbol = props2.viewModelActivePointSymbol;
922
+ }
923
+ return new Graphic(item);
924
+ });
925
+ sketchValue.value = graphics;
926
+ }
927
+ watch(() => props2.flying, v => {
928
+ v && fly();
929
+ });
930
+ async function fly() {
931
+ const view = await viewDef.promise;
932
+ if (!view) return;
933
+ emit("update:flying", true);
934
+ await view.when();
935
+ view.goTo(sketchValue.value).finally(() => {
936
+ emit("update:flying", false);
937
+ });
938
+ }
939
+ return {
940
+ inputBindProps,
941
+ inputOnEmits,
942
+ append,
943
+ availableCreatureTools,
944
+ sketchValue,
945
+ handleUpdateSketchValue,
946
+ sketchRef,
947
+ sketchLoad,
948
+ shetchPanel,
949
+ dialogShow,
950
+ setDialogShow,
951
+ normalMapRef,
952
+ dialogMapRef,
953
+ dialogOnOpen,
954
+ dialogOnClose,
955
+ mapTo,
956
+ doSave,
957
+ readonly,
958
+ layerLoad,
959
+ sketchIf,
960
+ fly,
961
+ layerRef,
962
+ getInputModelValue
963
+ };
964
+ }
965
+ });
966
+
967
+ const _hoisted_1 = { class: "vkf-form-item" };
968
+ const _hoisted_2 = {
969
+ ref: "normalMapRef",
970
+ class: "vkf-esri-input-geojson__map"
971
+ };
972
+ const _hoisted_3 = {
973
+ ref: "dialogMapRef",
974
+ class: "vkf-esri-input-geojson-dialog__map"
975
+ };
976
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
977
+ const _component_VkfInput = resolveComponent("VkfInput");
978
+ const _component_DocumentChecked = resolveComponent("DocumentChecked");
979
+ const _component_ElIcon = resolveComponent("ElIcon");
980
+ const _component_VkAsyncTeleport = resolveComponent("VkAsyncTeleport");
981
+ const _component_VaSketch = resolveComponent("VaSketch");
982
+ const _component_VaGraphicsLayer = resolveComponent("VaGraphicsLayer");
983
+ const _component_ViewerVue = resolveComponent("ViewerVue");
984
+ const _component_ElDialog = resolveComponent("ElDialog");
985
+ return openBlock(), createElementBlock("div", _hoisted_1, [
986
+ renderSlot(_ctx.$slots, "custom", {
987
+ modelValue: _ctx.modelValue,
988
+ fly: _ctx.fly,
989
+ setDialogShow: _ctx.setDialogShow,
990
+ layer: _ctx.layerRef,
991
+ showMap: _ctx.showMap
992
+ }, () => [
993
+ createVNode(_component_VkfInput, mergeProps({
994
+ readonly: true,
995
+ "model-value": _ctx.getInputModelValue(_ctx.modelValue)
996
+ }, _ctx.inputBindProps, {
997
+ "input-slots": {
998
+ append: _ctx.append
999
+ }
1000
+ }, toHandlers(_ctx.inputOnEmits)), null, 16, ["model-value", "input-slots"])
1001
+ ]),
1002
+ createVNode(_component_VkAsyncTeleport, { to: _ctx.mapTo }, {
1003
+ default: withCtx(() => [
1004
+ createVNode(_component_ViewerVue, {
1005
+ view: _ctx.view,
1006
+ "view-component": _ctx.viewComponent,
1007
+ viewComponentAttrs: _ctx.viewComponentAttrs
1008
+ }, {
1009
+ default: withCtx(() => [
1010
+ createVNode(_component_VaGraphicsLayer, {
1011
+ index: _ctx.layerIndex,
1012
+ graphics: _ctx.sketchValue,
1013
+ onLoad: _ctx.layerLoad
1014
+ }, {
1015
+ default: withCtx(() => [
1016
+ !(_ctx.readonly || !_ctx.sketchIf) ? (openBlock(), createBlock(_component_VaSketch, {
1017
+ key: 0,
1018
+ "view-model-active-fill-symbol": _ctx.viewModelActiveFillSymbol,
1019
+ "view-model-active-line-symbol": _ctx.viewModelActiveLineSymbol,
1020
+ "view-model-active-point-symbol": _ctx.viewModelActivePointSymbol,
1021
+ multiple: _ctx.multiple,
1022
+ "available-creature-tools": _ctx.availableCreatureTools,
1023
+ "model-value": _ctx.sketchValue,
1024
+ "onUpdate:modelValue": _ctx.handleUpdateSketchValue,
1025
+ onLoad: _ctx.sketchLoad,
1026
+ visibleElements: _ctx.visibleElements
1027
+ }, {
1028
+ default: withCtx(() => [
1029
+ !_ctx.skipSave && _ctx.shetchPanel ? (openBlock(), createBlock(_component_VkAsyncTeleport, {
1030
+ key: 0,
1031
+ to: _ctx.shetchPanel
1032
+ }, {
1033
+ default: withCtx(() => [
1034
+ createVNode(_component_ElIcon, {
1035
+ class: "esri-sketch-ui-save esri-widget--button",
1036
+ onClick: _ctx.doSave
1037
+ }, {
1038
+ default: withCtx(() => [
1039
+ createVNode(_component_DocumentChecked)
1040
+ ]),
1041
+ _: 1
1042
+ /* STABLE */
1043
+ }, 8, ["onClick"])
1044
+ ]),
1045
+ _: 1
1046
+ /* STABLE */
1047
+ }, 8, ["to"])) : createCommentVNode("v-if", true)
1048
+ ]),
1049
+ _: 1
1050
+ /* STABLE */
1051
+ }, 8, ["view-model-active-fill-symbol", "view-model-active-line-symbol", "view-model-active-point-symbol", "multiple", "available-creature-tools", "model-value", "onUpdate:modelValue", "onLoad", "visibleElements"])) : createCommentVNode("v-if", true)
1052
+ ]),
1053
+ _: 1
1054
+ /* STABLE */
1055
+ }, 8, ["index", "graphics", "onLoad"])
1056
+ ]),
1057
+ _: 1
1058
+ /* STABLE */
1059
+ }, 8, ["view", "view-component", "viewComponentAttrs"])
1060
+ ]),
1061
+ _: 1
1062
+ /* STABLE */
1063
+ }, 8, ["to"]),
1064
+ withDirectives(createElementVNode(
1065
+ "div",
1066
+ _hoisted_2,
1067
+ null,
1068
+ 512
1069
+ /* NEED_PATCH */
1070
+ ), [
1071
+ [vShow, _ctx.showMap]
1072
+ ]),
1073
+ createVNode(_component_ElDialog, {
1074
+ modelValue: _ctx.dialogShow,
1075
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.dialogShow = $event),
1076
+ title: _ctx.dialogEditTitle,
1077
+ fullscreen: _ctx.dialogEditFullscreen,
1078
+ "modal-class": "vkf-esri-input-geojson-dialog",
1079
+ "append-to-body": true,
1080
+ "close-on-click-modal": false,
1081
+ draggable: true,
1082
+ onOpen: _ctx.dialogOnOpen,
1083
+ onClose: _ctx.dialogOnClose
1084
+ }, {
1085
+ default: withCtx(() => [
1086
+ createElementVNode(
1087
+ "div",
1088
+ _hoisted_3,
1089
+ null,
1090
+ 512
1091
+ /* NEED_PATCH */
1092
+ )
1093
+ ]),
1094
+ _: 1
1095
+ /* STABLE */
1096
+ }, 8, ["modelValue", "title", "fullscreen", "onOpen", "onClose"])
1097
+ ]);
1098
+ }
1099
+ var VkfEsriInputGeojson = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "D:\\labCode\\vunk-form2\\packages\\components\\esri-input-geojson\\src\\index.vue"]]);
1100
+
1101
+ var types = /*#__PURE__*/Object.freeze({
1102
+ __proto__: null
1103
+ });
1104
+
1105
+ VkfEsriInputGeojson.install = (app) => {
1106
+ app.component(VkfEsriInputGeojson.name, VkfEsriInputGeojson);
1107
+ };
1108
+
1109
+ export { EDIT_TYPE, EDIT_TYPE_OPTIONS, EDIT_TYPE_REFLECT, EMPTY_FEATURE_COLLECTION, VkfEsriInputGeojson, ctx as _VkfEsriInputGeojsonCtx, types as __VkfEsriInputGeojson, VkfEsriInputGeojson as default };