@xtctwins/tctwins-bimx-engine 0.2.21 → 0.2.22

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 (71) hide show
  1. package/README.md +5 -5
  2. package/dist/{AnnotationTool-wlMzfke3.mjs → AnnotationTool-BAqnoElU.mjs} +32 -32
  3. package/dist/BIMX_Viewer_Lib.es.js +2 -2
  4. package/dist/BIMX_Viewer_Lib.umd.js +151 -153
  5. package/dist/{CommentTool-BFWKjEwL.mjs → CommentTool-QAQnEThT.mjs} +44 -44
  6. package/dist/{HiddenTool-B39qHPG4.mjs → HiddenTool-YmKJlgqE.mjs} +12 -12
  7. package/dist/{InspectorTool-DuZMt6ck.mjs → InspectorTool-BrLjImHZ.mjs} +25 -25
  8. package/dist/{MeasureTool-CAtJhHvn.mjs → MeasureTool-CUZy5ML9.mjs} +36 -36
  9. package/dist/{NavigateTool-DUJbcOu8.mjs → NavigateTool-DviiOK_a.mjs} +1 -1
  10. package/dist/{RoamTool-VJukLQbx.mjs → RoamTool-CIkux4Y-.mjs} +19 -19
  11. package/dist/ScreenShotTool-Bu0M6ur_.mjs +357 -0
  12. package/dist/{SectionTool-wG-g4bYz.mjs → SectionTool-BJ19Wgfm.mjs} +55 -55
  13. package/dist/{SettingTool-BJIcCCIF.mjs → SettingTool-CUaDVp_g.mjs} +136 -136
  14. package/dist/{StructureTree-ArZXIpjJ.mjs → StructureTree-DIW023ER.mjs} +232 -241
  15. package/dist/{alert-BKbDGve8.mjs → alert-Dv1dFs7z.mjs} +3 -3
  16. package/dist/el-input-number-C1xkBmQ4.mjs +818 -0
  17. package/dist/{index-DLOOTr_z.mjs → index-Db6oz6CK.mjs} +44717 -46965
  18. package/dist/index.html +17 -17
  19. package/dist/{panel.vue_vue_type_style_index_0_lang-BHeUPt0m.mjs → panel.vue_vue_type_style_index_0_lang-DF0tLFJ-.mjs} +1 -1
  20. package/dist/style.css +1 -1
  21. package/dist/{tallPanel-C7-DJpng.mjs → tallPanel-CqAU492j.mjs} +16 -16
  22. package/package.json +65 -66
  23. package/types/components/BCFComponents/BCFAddPanel.vue.d.ts +10 -38
  24. package/types/components/BCFComponents/BCFCommentNew.vue.d.ts +22 -0
  25. package/types/components/BCFComponents/BCFDetailPanel.vue.d.ts +9 -37
  26. package/types/components/BCFComponents/BCFDisplayList.vue.d.ts +7 -5
  27. package/types/components/BCFComponents/BCFFilter.vue.d.ts +7 -5
  28. package/types/components/BCFComponents/BCFTool.vue.d.ts +7 -4
  29. package/types/components/BCFComponents/addObjectOrAnno.vue.d.ts +7 -5
  30. package/types/components/BCFComponents/checkObjectPanel.vue.d.ts +6 -5
  31. package/types/components/BCFComponents/commentInput.vue.d.ts +9 -38
  32. package/types/components/BCFComponents/commentsView.vue.d.ts +7 -38
  33. package/types/components/BCFComponents/dialogPanel.vue.d.ts +8 -5
  34. package/types/components/BCFComponents/imageView.vue.d.ts +7 -5
  35. package/types/components/BCFComponents/imageZoomIn.vue.d.ts +6 -5
  36. package/types/components/BimViewerComponents/AnnotationTool.vue.d.ts +1 -1
  37. package/types/components/BimViewerComponents/CommentTool.vue.d.ts +1 -1
  38. package/types/components/BimViewerComponents/HiddenTool.vue.d.ts +1 -1
  39. package/types/components/BimViewerComponents/NavigateTool.vue.d.ts +1 -1
  40. package/types/components/BimViewerComponents/RoamTool.vue.d.ts +1 -1
  41. package/types/components/BimViewerComponents/SettingTool.vue.d.ts +6 -4
  42. package/types/components/BimViewerComponents/StructureTree.vue.d.ts +1 -3042
  43. package/types/components/BimViewerComponents/Toolbar.vue.d.ts +1 -1
  44. package/types/components/BimViewerComponents/emptyPage.vue.d.ts +8 -0
  45. package/types/components/bimxViewer.vue.d.ts +12 -7
  46. package/types/components/utilsComponents/alert.vue.d.ts +1 -1
  47. package/types/components/utilsComponents/closeButton.vue.d.ts +1 -1
  48. package/types/components/utilsComponents/emptyPage.vue.d.ts +1 -1
  49. package/types/components/utilsComponents/loading.vue.d.ts +1 -1
  50. package/types/components/utilsComponents/panel.vue.d.ts +2 -8
  51. package/types/components/utilsComponents/rectangleButton.vue.d.ts +1 -3
  52. package/types/components/utilsComponents/tallPanel.vue.d.ts +3 -13
  53. package/types/components/utilsComponents/tallPanel_noPos.vue.d.ts +3 -13
  54. package/types/pages/viewerEntry.vue.d.ts +54 -4
  55. package/types/store/bcfReflect.d.ts +0 -2
  56. package/types/store/initConfigs.d.ts +1 -1
  57. package/dist/ScreenShotTool-DoeDZA0a.mjs +0 -357
  58. package/dist/el-input-number-BXp6cJeD.mjs +0 -858
  59. package/types/components/MobileBCFComponents/MobileBCFAdd.vue.d.ts +0 -56
  60. package/types/components/MobileBCFComponents/MobileBCFDetail.vue.d.ts +0 -55
  61. package/types/components/MobileBCFComponents/MobileBCFDisplayList.vue.d.ts +0 -278
  62. package/types/components/MobileBCFComponents/MobileBCFFilter.vue.d.ts +0 -255
  63. package/types/components/MobileBCFComponents/MobileBCFTool.vue.d.ts +0 -17
  64. package/types/components/MobileBCFComponents/MobileCommentInput.vue.d.ts +0 -54
  65. package/types/components/MobileBCFComponents/MobileCommentsView.vue.d.ts +0 -17
  66. package/types/components/MobileBCFComponents/selectPanel.vue.d.ts +0 -12
  67. package/types/components/utilsComponents/closeButton_dark.vue.d.ts +0 -32
  68. package/types/services/request/api.d.ts +0 -3
  69. package/types/services/request/index.d.ts +0 -14
  70. package/types/services/request/types.d.ts +0 -12
  71. package/types/tests/bcf.d.ts +0 -8
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as b, onMounted as w, ref as p, openBlock as i, createElementBlock as n, createElementVNode as s, Fragment as g, renderList as f, unref as a, normalizeClass as h, toDisplayString as N } from "vue";
2
2
  import { N as S } from "./const-B1FlFgEN.mjs";
3
- import { q as T, O as k } from "./index-DLOOTr_z.mjs";
3
+ import { n as T, O as k } from "./index-Db6oz6CK.mjs";
4
4
  const I = { class: "best-view-box" }, V = { class: "best-view-list" }, x = ["onClick"], y = { class: "best-view-icon" }, A = ["src"], B = { class: "best-view-name" }, D = /* @__PURE__ */ b({
5
5
  __name: "NavigateTool",
6
6
  props: ["componentId"],
@@ -1,5 +1,5 @@
1
- import { defineComponent as A, ref as u, onMounted as H, onBeforeUnmount as j, watch as q, openBlock as g, createElementBlock as p, unref as a, createElementVNode as o, createCommentVNode as B, toDisplayString as k } from "vue";
2
- import { q as z, t as m, D as C, v as b, O as l, F as S, A as J } from "./index-DLOOTr_z.mjs";
1
+ import { defineComponent as A, ref as u, onMounted as H, onBeforeUnmount as j, watch as q, openBlock as g, createElementBlock as p, unref as a, createElementVNode as o, createCommentVNode as B, toDisplayString as C } from "vue";
2
+ import { n as z, o as m, B as D, p as b, O as l, A as S, x as J } from "./index-Db6oz6CK.mjs";
3
3
  const K = { class: "roam_container_wrapper" }, Q = {
4
4
  key: 0,
5
5
  class: "roam_container"
@@ -24,19 +24,19 @@ const K = { class: "roam_container_wrapper" }, Q = {
24
24
  }, Ie = ["src"], Le = { class: "center-center" }, ye = ["src"], Re = {
25
25
  id: "roamMoveRight",
26
26
  class: "center-right"
27
- }, Te = ["src"], De = {
27
+ }, Te = ["src"], ke = {
28
28
  id: "roamMoveDown",
29
29
  class: "roam-right-down"
30
- }, ke = ["src"], Ce = /* @__PURE__ */ A({
30
+ }, Ce = ["src"], De = /* @__PURE__ */ A({
31
31
  __name: "RoamTool",
32
32
  props: ["componentId"],
33
33
  emits: ["closePanel", "emitHandler"],
34
- setup(V, { emit: F }) {
35
- const I = z(), h = u("speed-up"), M = u("speed-down"), f = u("1"), _ = u(!1), c = u(!0), L = V, y = F, r = u(!1), E = (t) => {
34
+ setup(V, { emit: U }) {
35
+ const I = z(), h = u("speed-up"), M = u("speed-down"), f = u("1"), _ = u(!1), c = u(!0), L = V, y = U, r = u(!1), E = (t) => {
36
36
  y("emitHandler", t);
37
37
  }, s = u(m("isMobile"));
38
38
  H(() => {
39
- (m("isMobile") || C.showRoam === !1) && (c.value = !1), setTimeout(() => {
39
+ (m("isMobile") || D.showRoam === !1) && (c.value = !1), setTimeout(() => {
40
40
  x(), $(), N(), O(), X(), G();
41
41
  }, 1e3), I.setReadyById(L.componentId);
42
42
  });
@@ -55,7 +55,7 @@ const K = { class: "roam_container_wrapper" }, Q = {
55
55
  t ? window.bimViewer.firstPersonMode.speedUp() : window.bimViewer.firstPersonMode.speedDown();
56
56
  };
57
57
  S.BIMX_CONFIGS.RoamTool || (b.on("BIMX_CONFIGS", () => {
58
- C.showRoam == !1 && (c.value = !1);
58
+ D.showRoam == !1 && (c.value = !1);
59
59
  }), S.BIMX_CONFIGS.RoamTool = !0), q(
60
60
  () => I.isToolActive(L.componentId),
61
61
  (t) => {
@@ -64,7 +64,7 @@ const K = { class: "roam_container_wrapper" }, Q = {
64
64
  );
65
65
  const T = (t) => {
66
66
  m("isMobile") ? r.value = t : (m("hideTool") || b.emit("hideToolbar", t), t ? c.value && (_.value = !0) : _.value = !1);
67
- }, U = () => {
67
+ }, F = () => {
68
68
  c.value = !1, E({
69
69
  isTool: !0,
70
70
  event_target: "RoamTool",
@@ -72,8 +72,8 @@ const K = { class: "roam_container_wrapper" }, Q = {
72
72
  content: {
73
73
  msg: "不要再显示漫游教程"
74
74
  }
75
- }), D();
76
- }, D = () => {
75
+ }), k();
76
+ }, k = () => {
77
77
  _.value = !1;
78
78
  }, P = () => {
79
79
  y("closePanel");
@@ -161,11 +161,11 @@ const K = { class: "roam_container_wrapper" }, Q = {
161
161
  o("div", { class: "container_footer" }, [
162
162
  o("div", {
163
163
  class: "btn1",
164
- onClick: U
164
+ onClick: F
165
165
  }, " 不要再提醒我 "),
166
166
  o("div", {
167
167
  class: "btn2",
168
- onClick: D
168
+ onClick: k
169
169
  }, " 好的,我知道了 ")
170
170
  ])
171
171
  ])) : B("", !0),
@@ -183,7 +183,7 @@ const K = { class: "roam_container_wrapper" }, Q = {
183
183
  src: a(l) + "/bim-viewer/roam-bar/" + M.value + ".png"
184
184
  }, null, 8, oe)
185
185
  ], 32),
186
- o("div", te, k(f.value) + "X", 1),
186
+ o("div", te, C(f.value) + "X", 1),
187
187
  o("div", {
188
188
  class: "up_down_button",
189
189
  onClick: e[3] || (e[3] = (n) => w(!0)),
@@ -233,7 +233,7 @@ const K = { class: "roam_container_wrapper" }, Q = {
233
233
  }, null, 8, _e)
234
234
  ]),
235
235
  o("div", we, [
236
- o("span", null, k(f.value) + "X", 1)
236
+ o("span", null, C(f.value) + "X", 1)
237
237
  ]),
238
238
  o("div", ge, [
239
239
  o("img", {
@@ -271,17 +271,17 @@ const K = { class: "roam_container_wrapper" }, Q = {
271
271
  }, null, 8, Te)
272
272
  ])
273
273
  ]),
274
- o("div", De, [
274
+ o("div", ke, [
275
275
  o("img", {
276
276
  src: a(l) + "/bim-viewer/roam-bar/bottom.svg",
277
277
  alt: ""
278
- }, null, 8, ke)
278
+ }, null, 8, Ce)
279
279
  ])
280
280
  ])
281
281
  ])) : B("", !0)
282
282
  ]));
283
283
  }
284
- }), Fe = /* @__PURE__ */ J(Ce, [["__scopeId", "data-v-ef4cfe46"]]);
284
+ }), Ue = /* @__PURE__ */ J(De, [["__scopeId", "data-v-94cfdfdf"]]);
285
285
  export {
286
- Fe as default
286
+ Ue as default
287
287
  };
@@ -0,0 +1,357 @@
1
+ import { _ as me } from "./panel.vue_vue_type_style_index_0_lang-DF0tLFJ-.mjs";
2
+ import { G, U as $, f as M, H as j, I as H, J as pe, K as W, a as O, L as ve, M as fe, N as be, u as L, _ as P, P as _e, Q as he, R as ge, S as ye, d as Se, w as Ve, W as q, n as Re, q as ke } from "./index-Db6oz6CK.mjs";
3
+ import { ref as R, inject as Ee, computed as g, defineComponent as E, openBlock as k, createElementBlock as B, normalizeClass as y, unref as e, createElementVNode as f, withDirectives as X, isRef as Y, withModifiers as w, vModelRadio as J, renderSlot as x, createTextVNode as N, toDisplayString as T, nextTick as Q, normalizeStyle as Ie, onMounted as Z, provide as Be, reactive as Ce, toRefs as we, watch as ee, createBlock as Ne, withCtx as U, createVNode as C, Fragment as Ge, renderList as Ue, createCommentVNode as ze } from "vue";
4
+ import { a as z } from "./const-B1FlFgEN.mjs";
5
+ const oe = G({
6
+ modelValue: {
7
+ type: [String, Number, Boolean],
8
+ default: void 0
9
+ },
10
+ size: W,
11
+ disabled: Boolean,
12
+ label: {
13
+ type: [String, Number, Boolean],
14
+ default: void 0
15
+ },
16
+ value: {
17
+ type: [String, Number, Boolean],
18
+ default: void 0
19
+ },
20
+ name: {
21
+ type: String,
22
+ default: void 0
23
+ }
24
+ }), $e = G({
25
+ ...oe,
26
+ border: Boolean
27
+ }), ae = {
28
+ [$]: (a) => M(a) || j(a) || H(a),
29
+ [pe]: (a) => M(a) || j(a) || H(a)
30
+ }, le = Symbol("radioGroupKey"), te = (a, b) => {
31
+ const n = R(), o = Ee(le, void 0), d = g(() => !!o), c = g(() => O(a.value) ? a.label : a.value), i = g({
32
+ get() {
33
+ return d.value ? o.modelValue : a.modelValue;
34
+ },
35
+ set(t) {
36
+ d.value ? o.changeEvent(t) : b && b($, t), n.value.checked = a.modelValue === c.value;
37
+ }
38
+ }), p = ve(g(() => o == null ? void 0 : o.size)), l = fe(g(() => o == null ? void 0 : o.disabled)), u = R(!1), v = g(() => l.value || d.value && i.value !== c.value ? -1 : 0);
39
+ return be({
40
+ from: "label act as value",
41
+ replacement: "value",
42
+ version: "3.0.0",
43
+ scope: "el-radio",
44
+ ref: "https://element-plus.org/en-US/component/radio.html"
45
+ }, g(() => d.value && O(a.value))), {
46
+ radioRef: n,
47
+ isGroup: d,
48
+ radioGroup: o,
49
+ focus: u,
50
+ size: p,
51
+ disabled: l,
52
+ tabIndex: v,
53
+ modelValue: i,
54
+ actualValue: c
55
+ };
56
+ }, Le = E({
57
+ name: "ElRadio"
58
+ }), Pe = /* @__PURE__ */ E({
59
+ ...Le,
60
+ props: $e,
61
+ emits: ae,
62
+ setup(a, { emit: b }) {
63
+ const n = a, o = L("radio"), { radioRef: d, radioGroup: c, focus: i, size: p, disabled: l, modelValue: u, actualValue: v } = te(n, b);
64
+ function t() {
65
+ Q(() => b("change", u.value));
66
+ }
67
+ return (_, r) => {
68
+ var s;
69
+ return k(), B("label", {
70
+ class: y([
71
+ e(o).b(),
72
+ e(o).is("disabled", e(l)),
73
+ e(o).is("focus", e(i)),
74
+ e(o).is("bordered", _.border),
75
+ e(o).is("checked", e(u) === e(v)),
76
+ e(o).m(e(p))
77
+ ])
78
+ }, [
79
+ f("span", {
80
+ class: y([
81
+ e(o).e("input"),
82
+ e(o).is("disabled", e(l)),
83
+ e(o).is("checked", e(u) === e(v))
84
+ ])
85
+ }, [
86
+ X(f("input", {
87
+ ref_key: "radioRef",
88
+ ref: d,
89
+ "onUpdate:modelValue": (S) => Y(u) ? u.value = S : null,
90
+ class: y(e(o).e("original")),
91
+ value: e(v),
92
+ name: _.name || ((s = e(c)) == null ? void 0 : s.name),
93
+ disabled: e(l),
94
+ checked: e(u) === e(v),
95
+ type: "radio",
96
+ onFocus: (S) => i.value = !0,
97
+ onBlur: (S) => i.value = !1,
98
+ onChange: t,
99
+ onClick: w(() => {
100
+ }, ["stop"])
101
+ }, null, 42, ["onUpdate:modelValue", "value", "name", "disabled", "checked", "onFocus", "onBlur", "onClick"]), [
102
+ [J, e(u)]
103
+ ]),
104
+ f("span", {
105
+ class: y(e(o).e("inner"))
106
+ }, null, 2)
107
+ ], 2),
108
+ f("span", {
109
+ class: y(e(o).e("label")),
110
+ onKeydown: w(() => {
111
+ }, ["stop"])
112
+ }, [
113
+ x(_.$slots, "default", {}, () => [
114
+ N(T(_.label), 1)
115
+ ])
116
+ ], 42, ["onKeydown"])
117
+ ], 2);
118
+ };
119
+ }
120
+ });
121
+ var xe = /* @__PURE__ */ P(Pe, [["__file", "radio.vue"]]);
122
+ const Te = G({
123
+ ...oe
124
+ }), Fe = E({
125
+ name: "ElRadioButton"
126
+ }), Ae = /* @__PURE__ */ E({
127
+ ...Fe,
128
+ props: Te,
129
+ setup(a) {
130
+ const b = a, n = L("radio"), { radioRef: o, focus: d, size: c, disabled: i, modelValue: p, radioGroup: l, actualValue: u } = te(b), v = g(() => ({
131
+ backgroundColor: (l == null ? void 0 : l.fill) || "",
132
+ borderColor: (l == null ? void 0 : l.fill) || "",
133
+ boxShadow: l != null && l.fill ? `-1px 0 0 0 ${l.fill}` : "",
134
+ color: (l == null ? void 0 : l.textColor) || ""
135
+ }));
136
+ return (t, _) => {
137
+ var r;
138
+ return k(), B("label", {
139
+ class: y([
140
+ e(n).b("button"),
141
+ e(n).is("active", e(p) === e(u)),
142
+ e(n).is("disabled", e(i)),
143
+ e(n).is("focus", e(d)),
144
+ e(n).bm("button", e(c))
145
+ ])
146
+ }, [
147
+ X(f("input", {
148
+ ref_key: "radioRef",
149
+ ref: o,
150
+ "onUpdate:modelValue": (s) => Y(p) ? p.value = s : null,
151
+ class: y(e(n).be("button", "original-radio")),
152
+ value: e(u),
153
+ type: "radio",
154
+ name: t.name || ((r = e(l)) == null ? void 0 : r.name),
155
+ disabled: e(i),
156
+ onFocus: (s) => d.value = !0,
157
+ onBlur: (s) => d.value = !1,
158
+ onClick: w(() => {
159
+ }, ["stop"])
160
+ }, null, 42, ["onUpdate:modelValue", "value", "name", "disabled", "onFocus", "onBlur", "onClick"]), [
161
+ [J, e(p)]
162
+ ]),
163
+ f("span", {
164
+ class: y(e(n).be("button", "inner")),
165
+ style: Ie(e(p) === e(u) ? e(v) : {}),
166
+ onKeydown: w(() => {
167
+ }, ["stop"])
168
+ }, [
169
+ x(t.$slots, "default", {}, () => [
170
+ N(T(t.label), 1)
171
+ ])
172
+ ], 46, ["onKeydown"])
173
+ ], 2);
174
+ };
175
+ }
176
+ });
177
+ var ne = /* @__PURE__ */ P(Ae, [["__file", "radio-button.vue"]]);
178
+ const De = G({
179
+ id: {
180
+ type: String,
181
+ default: void 0
182
+ },
183
+ size: W,
184
+ disabled: Boolean,
185
+ modelValue: {
186
+ type: [String, Number, Boolean],
187
+ default: void 0
188
+ },
189
+ fill: {
190
+ type: String,
191
+ default: ""
192
+ },
193
+ textColor: {
194
+ type: String,
195
+ default: ""
196
+ },
197
+ name: {
198
+ type: String,
199
+ default: void 0
200
+ },
201
+ validateEvent: {
202
+ type: Boolean,
203
+ default: !0
204
+ },
205
+ ..._e(["ariaLabel"])
206
+ }), Ke = ae, Me = E({
207
+ name: "ElRadioGroup"
208
+ }), je = /* @__PURE__ */ E({
209
+ ...Me,
210
+ props: De,
211
+ emits: Ke,
212
+ setup(a, { emit: b }) {
213
+ const n = a, o = L("radio"), d = he(), c = R(), { formItem: i } = ge(), { inputId: p, isLabeledByFormItem: l } = ye(n, {
214
+ formItemContext: i
215
+ }), u = (t) => {
216
+ b($, t), Q(() => b("change", t));
217
+ };
218
+ Z(() => {
219
+ const t = c.value.querySelectorAll("[type=radio]"), _ = t[0];
220
+ !Array.from(t).some((r) => r.checked) && _ && (_.tabIndex = 0);
221
+ });
222
+ const v = g(() => n.name || d.value);
223
+ return Be(le, Ce({
224
+ ...we(n),
225
+ changeEvent: u,
226
+ name: v
227
+ })), ee(() => n.modelValue, () => {
228
+ n.validateEvent && (i == null || i.validate("change").catch((t) => Se(t)));
229
+ }), (t, _) => (k(), B("div", {
230
+ id: e(p),
231
+ ref_key: "radioGroupRef",
232
+ ref: c,
233
+ class: y(e(o).b("group")),
234
+ role: "radiogroup",
235
+ "aria-label": e(l) ? void 0 : t.ariaLabel || "radio-group",
236
+ "aria-labelledby": e(l) ? e(i).labelId : void 0
237
+ }, [
238
+ x(t.$slots, "default")
239
+ ], 10, ["id", "aria-label", "aria-labelledby"]));
240
+ }
241
+ });
242
+ var se = /* @__PURE__ */ P(je, [["__file", "radio-group.vue"]]);
243
+ const He = Ve(xe, {
244
+ RadioButton: ne,
245
+ RadioGroup: se
246
+ }), Oe = q(se);
247
+ q(ne);
248
+ const We = { class: "wrapper" }, qe = { class: "screen_thumbnail" }, Xe = ["src"], Ye = { class: "validity-period" }, Je = {
249
+ key: 0,
250
+ class: "custom"
251
+ }, ao = /* @__PURE__ */ E({
252
+ __name: "ScreenShotTool",
253
+ props: ["componentId"],
254
+ emits: ["closePanel"],
255
+ setup(a, { emit: b }) {
256
+ const n = Re(), o = a, d = R(0), c = R(), i = R(), p = R(), l = b;
257
+ Z(() => {
258
+ c.value = 1280, i.value = 720, n.setReadyById(o.componentId);
259
+ }), ee(
260
+ () => n.isToolActive(o.componentId),
261
+ (r) => {
262
+ r && t(220, 124, !1);
263
+ }
264
+ );
265
+ const u = (r) => {
266
+ d.value = r, r !== 3 && (c.value = z[r].width, i.value = z[r].height);
267
+ }, v = () => {
268
+ l("closePanel");
269
+ }, t = (r, s, S) => {
270
+ const h = document.getElementById("myCanvas"), I = document.createElement("a");
271
+ I.download = "screenshot.png";
272
+ const V = document.createElement("canvas"), m = V.getContext("2d");
273
+ if (h && m) {
274
+ V.width = r, V.height = s;
275
+ const ie = r / h.width, re = s / h.height, F = Math.max(ie, re), A = h.width * F, D = h.height * F, de = (r - A) / 2, ue = (s - D) / 2;
276
+ m.clearRect(0, 0, r, s), m.fillStyle = "transparent", m.fillRect(0, 0, r, s), m.drawImage(h, 0, 0, h.width, h.height, de, ue, A, D), S ? V.toBlob(function(ce) {
277
+ const K = URL.createObjectURL(ce);
278
+ I.href = K, I.click(), URL.revokeObjectURL(K);
279
+ }) : p.value = V.toDataURL("image/png");
280
+ }
281
+ }, _ = () => {
282
+ t(c.value, i.value, !0);
283
+ };
284
+ return (r, s) => {
285
+ const S = He, h = Oe, I = ke, V = me;
286
+ return k(), Ne(V, {
287
+ class: "screen_container",
288
+ width: 240,
289
+ panelTitle: "截图",
290
+ "click-handle": v
291
+ }, {
292
+ default: U(() => [
293
+ f("div", We, [
294
+ f("div", qe, [
295
+ f("img", {
296
+ class: "thumbnail_img",
297
+ src: p.value,
298
+ alt: ""
299
+ }, null, 8, Xe)
300
+ ]),
301
+ C(h, {
302
+ modelValue: d.value,
303
+ "onUpdate:modelValue": s[0] || (s[0] = (m) => d.value = m),
304
+ onChange: u
305
+ }, {
306
+ default: U(() => [
307
+ f("div", Ye, [
308
+ (k(!0), B(Ge, null, Ue(e(z), (m) => (k(), B("div", {
309
+ key: m.id,
310
+ class: "period_box"
311
+ }, [
312
+ C(S, {
313
+ label: m.id
314
+ }, {
315
+ default: U(() => [
316
+ N(T(m.name), 1)
317
+ ]),
318
+ _: 2
319
+ }, 1032, ["label"])
320
+ ]))), 128))
321
+ ])
322
+ ]),
323
+ _: 1
324
+ }, 8, ["modelValue"]),
325
+ d.value === 3 ? (k(), B("div", Je, [
326
+ C(I, {
327
+ modelValue: c.value,
328
+ "onUpdate:modelValue": s[1] || (s[1] = (m) => c.value = m),
329
+ placeholder: "请输入长度"
330
+ }, null, 8, ["modelValue"]),
331
+ s[3] || (s[3] = N(" x ")),
332
+ C(I, {
333
+ modelValue: i.value,
334
+ "onUpdate:modelValue": s[2] || (s[2] = (m) => i.value = m),
335
+ placeholder: "请输入宽度"
336
+ }, null, 8, ["modelValue"])
337
+ ])) : ze("", !0),
338
+ f("div", { class: "footer" }, [
339
+ f("div", {
340
+ class: "btn1",
341
+ onClick: v
342
+ }, " 取消 "),
343
+ f("div", {
344
+ class: "btn2",
345
+ onClick: _
346
+ }, " 保存 ")
347
+ ])
348
+ ])
349
+ ]),
350
+ _: 1
351
+ });
352
+ };
353
+ }
354
+ });
355
+ export {
356
+ ao as default
357
+ };