@farris/ui-vue 1.8.5-beta.3 → 1.8.5-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/batch-editor/index.esm.js +6850 -6840
- package/components/batch-editor/index.umd.cjs +20 -20
- package/components/button/index.esm.js +6852 -6842
- package/components/button/index.umd.cjs +20 -20
- package/components/button-edit/index.esm.js +140 -140
- package/components/button-edit/index.umd.cjs +1 -1
- package/components/button-group/index.esm.js +46 -45
- package/components/button-group/index.umd.cjs +1 -1
- package/components/common/index.esm.js +16 -12
- package/components/common/index.umd.cjs +1 -1
- package/components/component/index.esm.js +411 -411
- package/components/component/index.umd.cjs +2 -2
- package/components/data-view/index.esm.js +6500 -6487
- package/components/data-view/index.umd.cjs +21 -21
- package/components/designer-canvas/index.esm.js +269 -269
- package/components/designer-canvas/index.umd.cjs +1 -1
- package/components/expression-editor/index.esm.js +458 -458
- package/components/expression-editor/index.umd.cjs +2 -2
- package/components/filter-condition-editor/index.esm.js +386 -386
- package/components/filter-condition-editor/index.umd.cjs +1 -1
- package/components/flow-canvas/index.esm.js +1100 -1100
- package/components/flow-canvas/index.umd.cjs +7 -7
- package/components/mapping-editor/index.esm.js +243 -243
- package/components/mapping-editor/index.umd.cjs +2 -2
- package/components/message-box/index.esm.js +82 -82
- package/components/message-box/index.umd.cjs +1 -1
- package/components/modal/index.esm.js +76 -76
- package/components/modal/index.umd.cjs +1 -1
- package/components/order/index.esm.js +139 -138
- package/components/order/index.umd.cjs +1 -1
- package/components/query-solution/index.esm.js +891 -891
- package/components/query-solution/index.umd.cjs +1 -1
- package/components/response-toolbar/index.esm.js +151 -149
- package/components/response-toolbar/index.umd.cjs +1 -1
- package/components/schema-selector/index.esm.js +947 -941
- package/components/schema-selector/index.umd.cjs +6 -6
- package/components/section/index.esm.js +121 -121
- package/components/section/index.umd.cjs +2 -2
- package/components/sort-condition-editor/index.esm.js +539 -539
- package/components/sort-condition-editor/index.umd.cjs +1 -1
- package/components/tabs/index.esm.js +448 -442
- package/components/tabs/index.umd.cjs +1 -1
- package/designer/button-edit/index.esm.js +97 -97
- package/designer/button-edit/index.umd.cjs +1 -1
- package/designer/data-grid/index.esm.js +6483 -6470
- package/designer/data-grid/index.umd.cjs +21 -21
- package/designer/farris-designer.all.esm.js +1891 -1885
- package/designer/farris-designer.all.umd.cjs +14 -14
- package/designer/radio-group/index.esm.js +183 -183
- package/designer/radio-group/index.umd.cjs +2 -2
- package/designer/response-toolbar/index.esm.js +558 -556
- package/designer/response-toolbar/index.umd.cjs +1 -1
- package/designer/tabs/index.esm.js +416 -416
- package/designer/tabs/index.umd.cjs +2 -2
- package/farris.all.esm.js +9133 -9119
- package/farris.all.umd.cjs +35 -35
- package/package.json +1 -1
- package/types/common/index.d.ts +1 -0
- package/types/common/utils/attrs.d.ts +26 -0
- package/types/modal/src/composition/type.d.ts +2 -0
- package/types/tabs/src/composition/types.d.ts +2 -0
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
var Ne = Object.defineProperty;
|
|
2
2
|
var Ae = (e, t, a) => t in e ? Ne(e, t, { enumerable: !0, configurable: !0, writable: !0, value: a }) : e[t] = a;
|
|
3
3
|
var $ = (e, t, a) => Ae(e, typeof t != "symbol" ? t + "" : t, a);
|
|
4
|
-
import { ref as o, createVNode as g, Fragment as fe, watch as U, defineComponent as $e, computed as A, nextTick as ne, onBeforeMount as Ue, onMounted as Ye, onUnmounted as he, watchEffect as Xe, Teleport as qe, Transition as Je, shallowRef as _e, render as ae, h as Ke, cloneVNode as Ze, createApp as Ge
|
|
4
|
+
import { ref as o, createVNode as g, Fragment as fe, watch as U, defineComponent as $e, computed as A, nextTick as ne, onBeforeMount as Ue, onMounted as Ye, onUnmounted as he, watchEffect as Xe, Teleport as qe, Transition as Je, mergeProps as oe, shallowRef as _e, render as ae, h as Ke, cloneVNode as Ze, createApp as Ge } from "vue";
|
|
5
5
|
import { LocaleService as Z } from "../locale/index.esm.js";
|
|
6
|
-
import { isMobilePhone as de, getMaxZIndex as ce,
|
|
6
|
+
import { isMobilePhone as de, getMaxZIndex as ce, extractDataAttrs as Qe, EVENT_PROPERTY_TAB_IDS as et } from "../common/index.esm.js";
|
|
7
7
|
import me from "../drawer/index.esm.js";
|
|
8
|
-
import { BaseControlProperty as
|
|
9
|
-
import { ButtonProperty as
|
|
10
|
-
import { FieldSelectorRepositoryToken as
|
|
11
|
-
import { useButtonItemsDesigner as
|
|
12
|
-
const
|
|
8
|
+
import { BaseControlProperty as tt } from "../property-panel/index.esm.js";
|
|
9
|
+
import { ButtonProperty as lt } from "../button/index.esm.js";
|
|
10
|
+
import { FieldSelectorRepositoryToken as at } from "../field-selector/index.esm.js";
|
|
11
|
+
import { useButtonItemsDesigner as nt } from "../collection-property-editor/index.esm.js/src/use-button-items.designer";
|
|
12
|
+
const ot = {
|
|
13
13
|
/**
|
|
14
14
|
* 允许点击蒙层关闭对话框
|
|
15
15
|
* @default false
|
|
@@ -227,7 +227,7 @@ class X {
|
|
|
227
227
|
return this.width = t.width, this.height = t.height, this;
|
|
228
228
|
}
|
|
229
229
|
}
|
|
230
|
-
function
|
|
230
|
+
function st(e, t) {
|
|
231
231
|
const a = o(), n = o(), s = o(), r = o(), c = o(), d = o(), v = o(), h = o(), E = o(), x = o(), z = o(), R = o(e.resizeable), O = o(), L = o(e.draggable), W = o(!1);
|
|
232
232
|
function b() {
|
|
233
233
|
const i = n.value || document.body, u = window.getComputedStyle(i);
|
|
@@ -270,7 +270,7 @@ function ot(e, t) {
|
|
|
270
270
|
}
|
|
271
271
|
}
|
|
272
272
|
}
|
|
273
|
-
function
|
|
273
|
+
function D(i) {
|
|
274
274
|
if (!s.value || !r.value || !c.value || !h.value)
|
|
275
275
|
return;
|
|
276
276
|
i.subtract(s.value);
|
|
@@ -281,7 +281,7 @@ function ot(e, t) {
|
|
|
281
281
|
if (!E.value)
|
|
282
282
|
return;
|
|
283
283
|
const u = P.fromEvent(i);
|
|
284
|
-
u &&
|
|
284
|
+
u && D(u);
|
|
285
285
|
}
|
|
286
286
|
function y() {
|
|
287
287
|
if (a.value) {
|
|
@@ -311,11 +311,11 @@ function ot(e, t) {
|
|
|
311
311
|
}
|
|
312
312
|
s.value = void 0, r.value = null, c.value = null, d.value = null, v.value = null, h.value = null, E.value = null, document.removeEventListener("mousemove", f), document.removeEventListener("mouseup", M);
|
|
313
313
|
}
|
|
314
|
-
function
|
|
314
|
+
function j() {
|
|
315
315
|
document.addEventListener("mousemove", f), document.addEventListener("mouseup", M);
|
|
316
316
|
}
|
|
317
317
|
function F(i) {
|
|
318
|
-
i instanceof MouseEvent && i.button === 2 || L.value && (document.body.click(), i.stopPropagation(), i.preventDefault(), s.value = P.fromEvent(i), E.value = i.target, p(i),
|
|
318
|
+
i instanceof MouseEvent && i.button === 2 || L.value && (document.body.click(), i.stopPropagation(), i.preventDefault(), s.value = P.fromEvent(i), E.value = i.target, p(i), j());
|
|
319
319
|
}
|
|
320
320
|
function N(i) {
|
|
321
321
|
return a.value = i, R.value && g(fe, null, [g("div", {
|
|
@@ -414,7 +414,7 @@ function ot(e, t) {
|
|
|
414
414
|
moveToCenter: _
|
|
415
415
|
};
|
|
416
416
|
}
|
|
417
|
-
function
|
|
417
|
+
function it(e, t, a) {
|
|
418
418
|
const n = o(), s = o(e.draggable), r = o(e.lockAxis), c = o(), d = o(), v = o(!1), h = o(new P(0, 0)), E = o(new P(0, 0)), x = o(new P(0, 0)), z = o(new P(0, 0));
|
|
419
419
|
U(() => a.value, (f) => {
|
|
420
420
|
c.value.style.cursor = f ? "move" : "default";
|
|
@@ -430,9 +430,9 @@ function st(e, t, a) {
|
|
|
430
430
|
return !1;
|
|
431
431
|
}
|
|
432
432
|
function O() {
|
|
433
|
-
var
|
|
433
|
+
var j, F;
|
|
434
434
|
let f = x.value.x + E.value.x, y = x.value.y + E.value.y;
|
|
435
|
-
r.value === "x" ? (f = ((
|
|
435
|
+
r.value === "x" ? (f = ((j = h.value) == null ? void 0 : j.x) || 0, x.value.x = 0) : r.value === "y" && (y = ((F = h.value) == null ? void 0 : F.y) || 0, x.value.y = 0);
|
|
436
436
|
const M = `translate3d(${Math.round(f)}px, ${Math.round(y)}px, 0px)`;
|
|
437
437
|
n.value && (n.value.style.transform = M), z.value.x = f, z.value.y = y;
|
|
438
438
|
}
|
|
@@ -480,7 +480,7 @@ function st(e, t, a) {
|
|
|
480
480
|
const y = f.target || f.srcElement;
|
|
481
481
|
c.value !== void 0 && y && !R(y, c.value) || s.value !== !1 && (document.body.click(), f.stopPropagation(), f.preventDefault(), h.value = P.fromEvent(f, n.value), I(), k());
|
|
482
482
|
}
|
|
483
|
-
function
|
|
483
|
+
function D(f, y, M) {
|
|
484
484
|
if (s.value && y) {
|
|
485
485
|
if (f)
|
|
486
486
|
c.value = f;
|
|
@@ -488,15 +488,15 @@ function st(e, t, a) {
|
|
|
488
488
|
if (e.dragHandle instanceof HTMLElement)
|
|
489
489
|
c.value = e.dragHandle;
|
|
490
490
|
else if (typeof e.dragHandle == "string") {
|
|
491
|
-
const
|
|
492
|
-
|
|
491
|
+
const j = y.querySelector(e.dragHandle);
|
|
492
|
+
j && (c.value = j);
|
|
493
493
|
}
|
|
494
494
|
}
|
|
495
495
|
n.value = y, d.value = M, c.value ? (c.value.classList.add("ng-draggable"), c.value.addEventListener("mousedown", S)) : s.value = !1;
|
|
496
496
|
}
|
|
497
497
|
}
|
|
498
498
|
return {
|
|
499
|
-
registerDraggle:
|
|
499
|
+
registerDraggle: D,
|
|
500
500
|
resetTranslate: I
|
|
501
501
|
};
|
|
502
502
|
}
|
|
@@ -510,7 +510,7 @@ function ge(e, t) {
|
|
|
510
510
|
};
|
|
511
511
|
}
|
|
512
512
|
}
|
|
513
|
-
function
|
|
513
|
+
function ut(e, t) {
|
|
514
514
|
const a = o(e.enableEsc);
|
|
515
515
|
let n = null;
|
|
516
516
|
return a.value ? (n = ge("Escape", (s) => {
|
|
@@ -519,7 +519,7 @@ function it(e, t) {
|
|
|
519
519
|
remove: n
|
|
520
520
|
}) : null;
|
|
521
521
|
}
|
|
522
|
-
function
|
|
522
|
+
function rt(e, t) {
|
|
523
523
|
const a = o(e.enableEnter);
|
|
524
524
|
let n = null;
|
|
525
525
|
return a.value ? (n = ge("Enter", (s) => {
|
|
@@ -530,7 +530,7 @@ function ut(e, t) {
|
|
|
530
530
|
}
|
|
531
531
|
const J = /* @__PURE__ */ $e({
|
|
532
532
|
name: "FModal",
|
|
533
|
-
props:
|
|
533
|
+
props: ot,
|
|
534
534
|
emits: ["update:modelValue", "accept", "cancel", "closed", "resize", "esc", "enter", "stopMove", "buttonClick"],
|
|
535
535
|
setup(e, t) {
|
|
536
536
|
const a = o(e.width || 300), n = o(e.height || 200), s = o(e.modelValue), r = o(""), c = o(e.class), d = o(e.fitContent), v = o(e.showHeader), h = o(""), E = o(e.showCloseButton), x = o(e.showMaxButton), z = o(!1), R = o(e.dialogType), O = o(e.src), L = o(""), W = o(e.showButtons), b = o(e.title), p = o(e.containment || null), k = o();
|
|
@@ -540,7 +540,7 @@ const J = /* @__PURE__ */ $e({
|
|
|
540
540
|
const l = document.querySelectorAll(".farris-modal").length;
|
|
541
541
|
(!l || l - 1 <= 0) && k.value === document.querySelectorAll(".farris-modal")[0] && document.body.classList.remove("modal-open"), k.value && k.value.classList.remove("show");
|
|
542
542
|
}
|
|
543
|
-
function
|
|
543
|
+
function D(l, m) {
|
|
544
544
|
const B = m ? "accept" : "cancel";
|
|
545
545
|
Promise.resolve().then(() => {
|
|
546
546
|
var H;
|
|
@@ -556,16 +556,16 @@ const J = /* @__PURE__ */ $e({
|
|
|
556
556
|
text: Z.getLocaleValue("messageBox.cancel") || "取消",
|
|
557
557
|
class: "btn btn-secondary",
|
|
558
558
|
handle: (l) => {
|
|
559
|
-
|
|
559
|
+
D(l, !1);
|
|
560
560
|
}
|
|
561
561
|
}, {
|
|
562
562
|
name: "accept",
|
|
563
563
|
text: Z.getLocaleValue("messageBox.ok") || "确定",
|
|
564
564
|
class: "btn btn-primary",
|
|
565
565
|
handle: (l) => {
|
|
566
|
-
|
|
566
|
+
D(l, !0);
|
|
567
567
|
}
|
|
568
|
-
}], y = o(e.buttons && e.buttons.length ? e.buttons : f), M = A(() => !!h.value),
|
|
568
|
+
}], y = o(e.buttons && e.buttons.length ? e.buttons : f), M = A(() => !!h.value), j = A(() => !!W.value && !!y.value), F = o(), N = o(), V = o(e.maximized || !1), {
|
|
569
569
|
renderResizeBar: G,
|
|
570
570
|
maximize: _,
|
|
571
571
|
restore: Q,
|
|
@@ -574,10 +574,10 @@ const J = /* @__PURE__ */ $e({
|
|
|
574
574
|
allowDrag: u,
|
|
575
575
|
unWindowResizeHandle: C,
|
|
576
576
|
moveToCenter: w
|
|
577
|
-
} =
|
|
577
|
+
} = st(e), {
|
|
578
578
|
registerDraggle: T
|
|
579
|
-
} =
|
|
580
|
-
function
|
|
579
|
+
} = it(e, t, u);
|
|
580
|
+
function se() {
|
|
581
581
|
return !!document.querySelectorAll(".farris-modal").length && document.body.classList.contains("modal-open");
|
|
582
582
|
}
|
|
583
583
|
U(() => e.title, (l, m) => {
|
|
@@ -585,7 +585,7 @@ const J = /* @__PURE__ */ $e({
|
|
|
585
585
|
}), U(() => e.modelValue, (l, m) => {
|
|
586
586
|
l !== m && (s.value = l, s.value && e.draggable && ne(() => {
|
|
587
587
|
N.value && !p.value && (p.value = N.value.parentElement, q.value = p.value, T(F.value, N.value, q.value), w());
|
|
588
|
-
}), l || (p.value && (p.value = null), S())), s.value ? I.value =
|
|
588
|
+
}), l || (p.value && (p.value = null), S())), s.value ? I.value = se() : (V.value = !1, u.value = e.draggable);
|
|
589
589
|
}), U(() => e.showHeader, (l, m) => {
|
|
590
590
|
l !== m && (v.value = l);
|
|
591
591
|
}), U(() => e.showButtons, (l, m) => {
|
|
@@ -630,20 +630,20 @@ const J = /* @__PURE__ */ $e({
|
|
|
630
630
|
height: "100vh",
|
|
631
631
|
margin: "0"
|
|
632
632
|
};
|
|
633
|
-
const B = Math.min(a.value, l), H = e.position === "right" ? "100%" : d.value ? "auto" : `${Math.min(n.value, m - 10)}px`, Y = `${(window.innerHeight - (H === "100%" || H === "auto" ? 0 : parseInt(H))) / 2}px`,
|
|
633
|
+
const B = Math.min(a.value, l), H = e.position === "right" ? "100%" : d.value ? "auto" : `${Math.min(n.value, m - 10)}px`, Y = `${(window.innerHeight - (H === "100%" || H === "auto" ? 0 : parseInt(H))) / 2}px`, je = e.position === "right" ? `${window.innerWidth - B}px` : `${(window.innerWidth - B) / 2}px`, re = {
|
|
634
634
|
position: "absolute",
|
|
635
635
|
top: Y,
|
|
636
|
-
left:
|
|
636
|
+
left: je,
|
|
637
637
|
width: de() ? "auto" : `${B}px`,
|
|
638
638
|
height: H
|
|
639
639
|
};
|
|
640
|
-
return e.mask || (
|
|
641
|
-
}),
|
|
640
|
+
return e.mask || (re.pointerEvents = "auto"), re;
|
|
641
|
+
}), ie = o(ce() || 1050), xe = A(() => {
|
|
642
642
|
const l = {
|
|
643
643
|
display: "block",
|
|
644
644
|
overflow: "hidden"
|
|
645
645
|
};
|
|
646
|
-
return e.mask || (l.pointerEvents = "none", l.backgroundColor = "transparent"), I.value && (l.backgroundColor = "transparent"), l.zIndex =
|
|
646
|
+
return e.mask || (l.pointerEvents = "none", l.backgroundColor = "transparent"), I.value && (l.backgroundColor = "transparent"), l.zIndex = ie.value, l;
|
|
647
647
|
}), Me = A(() => ({
|
|
648
648
|
"modal-content": !0,
|
|
649
649
|
"modal-content-has-header": v.value,
|
|
@@ -691,15 +691,15 @@ const J = /* @__PURE__ */ $e({
|
|
|
691
691
|
}
|
|
692
692
|
let te = null, le = null;
|
|
693
693
|
Ue(() => {
|
|
694
|
-
I.value =
|
|
694
|
+
I.value = se();
|
|
695
695
|
}), Ye(() => {
|
|
696
|
-
N.value && !p.value && (p.value = N.value.parentElement, q.value = p.value, T(F.value, N.value, q.value)), K.value && document.body.classList.add("modal-open"), te =
|
|
696
|
+
N.value && !p.value && (p.value = N.value.parentElement, q.value = p.value, T(F.value, N.value, q.value)), K.value && document.body.classList.add("modal-open"), te = ut(e, t), le = rt(e, t);
|
|
697
697
|
}), he(() => {
|
|
698
698
|
C && C(), te && te.remove(), le && le.remove();
|
|
699
699
|
}), t.expose({
|
|
700
700
|
modalElementRef: N,
|
|
701
701
|
updateModalOptions: Te,
|
|
702
|
-
close:
|
|
702
|
+
close: D,
|
|
703
703
|
maxDialog: ee,
|
|
704
704
|
isMaximized: V,
|
|
705
705
|
disableButtons: (l, m = !0) => {
|
|
@@ -711,7 +711,7 @@ const J = /* @__PURE__ */ $e({
|
|
|
711
711
|
function Se() {
|
|
712
712
|
return g("div", {
|
|
713
713
|
class: "action-wrapper",
|
|
714
|
-
onClick: (l) =>
|
|
714
|
+
onClick: (l) => D(l, !1)
|
|
715
715
|
}, [g("span", {
|
|
716
716
|
class: "close-icon"
|
|
717
717
|
}, [g("i", {
|
|
@@ -731,7 +731,7 @@ const J = /* @__PURE__ */ $e({
|
|
|
731
731
|
class: ke.value
|
|
732
732
|
}, null)]), E.value && g("li", {
|
|
733
733
|
class: "f-btn-icon f-bare",
|
|
734
|
-
onClick: (l) =>
|
|
734
|
+
onClick: (l) => D(l, !1),
|
|
735
735
|
style: "pointer-events: auto;"
|
|
736
736
|
}, [g("span", {
|
|
737
737
|
class: "f-icon modal_close"
|
|
@@ -751,8 +751,8 @@ const J = /* @__PURE__ */ $e({
|
|
|
751
751
|
onWheel: Fe
|
|
752
752
|
}, [y.value.map((l) => {
|
|
753
753
|
var H;
|
|
754
|
-
const m = o(l.disabled), B = l.class || ((H = l.appearance) == null ? void 0 : H.class);
|
|
755
|
-
return g("button", {
|
|
754
|
+
const m = o(l.disabled), B = l.class || ((H = l.appearance) == null ? void 0 : H.class) || "btn btn-secondary";
|
|
755
|
+
return g("button", oe(Qe(l), {
|
|
756
756
|
name: l.name,
|
|
757
757
|
style: l.styles,
|
|
758
758
|
type: "button",
|
|
@@ -761,24 +761,24 @@ const J = /* @__PURE__ */ $e({
|
|
|
761
761
|
onClick: (Y) => {
|
|
762
762
|
Pe(l, Y);
|
|
763
763
|
}
|
|
764
|
-
}, [!!l.iconClass && g("i", {
|
|
764
|
+
}), [!!l.iconClass && g("i", {
|
|
765
765
|
class: l.iconClass
|
|
766
766
|
}, null), l.text]);
|
|
767
767
|
})])]);
|
|
768
768
|
}
|
|
769
|
-
function
|
|
769
|
+
function ue(l) {
|
|
770
770
|
x.value && ee();
|
|
771
771
|
}
|
|
772
772
|
function Oe() {
|
|
773
773
|
return g(fe, null, [V.value && g("div", {
|
|
774
774
|
class: "modal-header",
|
|
775
775
|
style: "position: absolute;background: transparent;height: 45px;width: 100%;",
|
|
776
|
-
onDblclick: (l) =>
|
|
776
|
+
onDblclick: (l) => ue()
|
|
777
777
|
}, null), g("div", {
|
|
778
778
|
ref: F,
|
|
779
779
|
class: "modal-header",
|
|
780
780
|
style: Ee.value,
|
|
781
|
-
onDblclick: (l) =>
|
|
781
|
+
onDblclick: (l) => ue()
|
|
782
782
|
}, [t.slots.headerTemplate ? t.slots.headerTemplate() : g("div", {
|
|
783
783
|
class: "modal-title"
|
|
784
784
|
}, [M.value && g("span", {
|
|
@@ -791,13 +791,13 @@ const J = /* @__PURE__ */ $e({
|
|
|
791
791
|
}, [Ie()])])]);
|
|
792
792
|
}
|
|
793
793
|
function Le() {
|
|
794
|
-
return t.slots.footerTemplate ? t.slots.footerTemplate() :
|
|
794
|
+
return t.slots.footerTemplate ? t.slots.footerTemplate() : j.value && Re();
|
|
795
795
|
}
|
|
796
796
|
function We(l) {
|
|
797
797
|
if (l.stopPropagation(), e.allowClickMaskToClose) {
|
|
798
798
|
if (l.target !== k.value)
|
|
799
799
|
return;
|
|
800
|
-
|
|
800
|
+
D(l, !1);
|
|
801
801
|
}
|
|
802
802
|
}
|
|
803
803
|
function Ve() {
|
|
@@ -819,13 +819,13 @@ const J = /* @__PURE__ */ $e({
|
|
|
819
819
|
src: O.value
|
|
820
820
|
}, null)]), Le()]), !d.value && N.value && !V.value && G(N.value)]);
|
|
821
821
|
}
|
|
822
|
-
function
|
|
822
|
+
function De(l) {
|
|
823
823
|
return l || "body";
|
|
824
824
|
}
|
|
825
825
|
return Xe(() => {
|
|
826
|
-
K.value && (
|
|
826
|
+
K.value && (ie.value = ce() || 1050);
|
|
827
827
|
}), () => g(qe, {
|
|
828
|
-
to:
|
|
828
|
+
to: De(e.host)
|
|
829
829
|
}, {
|
|
830
830
|
default: () => [K.value && g(Je, {
|
|
831
831
|
name: "fade",
|
|
@@ -847,7 +847,7 @@ function ye(e) {
|
|
|
847
847
|
if (e.render && typeof e.render == "function")
|
|
848
848
|
return e.render;
|
|
849
849
|
}
|
|
850
|
-
function
|
|
850
|
+
function dt(e) {
|
|
851
851
|
const t = document.createElement("div");
|
|
852
852
|
t.style.display = "contents";
|
|
853
853
|
const a = e.type || "modal", n = Ge({
|
|
@@ -917,7 +917,7 @@ function rt(e) {
|
|
|
917
917
|
});
|
|
918
918
|
return document.body.appendChild(t), n.use(Z.i18n), n.mount(t), n;
|
|
919
919
|
}
|
|
920
|
-
class
|
|
920
|
+
class ct {
|
|
921
921
|
// private activeModalInstance = computed(() => {
|
|
922
922
|
// return this.modalRefs[this.activeModalIndex.value];
|
|
923
923
|
// });
|
|
@@ -951,7 +951,7 @@ class dt {
|
|
|
951
951
|
showButtons: !0,
|
|
952
952
|
showHeader: !0
|
|
953
953
|
}, t);
|
|
954
|
-
return
|
|
954
|
+
return dt(a);
|
|
955
955
|
}
|
|
956
956
|
close(t) {
|
|
957
957
|
var a, n;
|
|
@@ -985,7 +985,7 @@ class dt {
|
|
|
985
985
|
}, z = o();
|
|
986
986
|
let R;
|
|
987
987
|
if (n === "drawer")
|
|
988
|
-
R = () => g(me,
|
|
988
|
+
R = () => g(me, oe({
|
|
989
989
|
ref: z,
|
|
990
990
|
modelValue: r.value,
|
|
991
991
|
"onUpdate:modelValue": (b) => r.value = b,
|
|
@@ -1001,13 +1001,13 @@ class dt {
|
|
|
1001
1001
|
}), k = s.value.resizeHandle || ((M) => {
|
|
1002
1002
|
}), I = t.stopMoveHandle || ((M) => {
|
|
1003
1003
|
}), S = (M) => {
|
|
1004
|
-
var
|
|
1005
|
-
this.isUseEscCloseModal.value = !0, (
|
|
1004
|
+
var j;
|
|
1005
|
+
this.isUseEscCloseModal.value = !0, (j = this.getCurrentModal()) == null || j.close(M == null ? void 0 : M.event);
|
|
1006
1006
|
}, {
|
|
1007
|
-
width:
|
|
1007
|
+
width: D,
|
|
1008
1008
|
height: f
|
|
1009
|
-
} = s.value, y = this.adaptToWindow(Number(
|
|
1010
|
-
Object.assign(s.value, y), R = () => g(J,
|
|
1009
|
+
} = s.value, y = this.adaptToWindow(Number(D) || 500, Number(f) || 320);
|
|
1010
|
+
Object.assign(s.value, y), R = () => g(J, oe({
|
|
1011
1011
|
ref: z,
|
|
1012
1012
|
modelValue: r.value,
|
|
1013
1013
|
"onUpdate:modelValue": (M) => r.value = M
|
|
@@ -1057,7 +1057,7 @@ class dt {
|
|
|
1057
1057
|
};
|
|
1058
1058
|
}
|
|
1059
1059
|
}
|
|
1060
|
-
const
|
|
1060
|
+
const vt = [
|
|
1061
1061
|
{
|
|
1062
1062
|
label: "beforeClose",
|
|
1063
1063
|
name: "关闭前事件"
|
|
@@ -1071,14 +1071,14 @@ const ct = [
|
|
|
1071
1071
|
name: "取消事件"
|
|
1072
1072
|
}
|
|
1073
1073
|
], ve = (e) => e && e.length ? e.map((t) => `${t.name}[${t.bindingPath}]`).join(",") : "";
|
|
1074
|
-
class
|
|
1074
|
+
class Mt extends tt {
|
|
1075
1075
|
constructor(a, n) {
|
|
1076
1076
|
super(a, n);
|
|
1077
1077
|
$(this, "numberEditor", {
|
|
1078
1078
|
type: "number-spinner",
|
|
1079
1079
|
useThousands: !1
|
|
1080
1080
|
});
|
|
1081
|
-
$(this, "buttonProperty", new
|
|
1081
|
+
$(this, "buttonProperty", new lt(this.componentId, this.designerHostService, !1));
|
|
1082
1082
|
}
|
|
1083
1083
|
getPropertyConfig(a) {
|
|
1084
1084
|
const n = this.getEventPropConfig(a);
|
|
@@ -1185,7 +1185,7 @@ class xt extends et {
|
|
|
1185
1185
|
textField: "name",
|
|
1186
1186
|
valueField: "bindingPath",
|
|
1187
1187
|
searchFields: ["name", "bindingPath"],
|
|
1188
|
-
repositoryToken:
|
|
1188
|
+
repositoryToken: at,
|
|
1189
1189
|
displayFormatter: ve
|
|
1190
1190
|
},
|
|
1191
1191
|
toData: {
|
|
@@ -1230,7 +1230,7 @@ class xt extends et {
|
|
|
1230
1230
|
});
|
|
1231
1231
|
},
|
|
1232
1232
|
onClickButton: () => {
|
|
1233
|
-
|
|
1233
|
+
nt(this.designerHostService, {
|
|
1234
1234
|
buttons: n,
|
|
1235
1235
|
modalPropertyData: a,
|
|
1236
1236
|
componentId: this.componentId,
|
|
@@ -1246,13 +1246,13 @@ class xt extends et {
|
|
|
1246
1246
|
};
|
|
1247
1247
|
}
|
|
1248
1248
|
getEventPropConfig(a) {
|
|
1249
|
-
const n = this, s =
|
|
1249
|
+
const n = this, s = vt, r = n.eventsEditorUtils.formProperties(a, n.viewModelId, s);
|
|
1250
1250
|
return {
|
|
1251
1251
|
title: "事件",
|
|
1252
1252
|
hideTitle: !0,
|
|
1253
1253
|
properties: n.createBaseEventProperty(r),
|
|
1254
1254
|
refreshPanelAfterChanged: !0,
|
|
1255
|
-
tabId:
|
|
1255
|
+
tabId: et,
|
|
1256
1256
|
tabName: "交互",
|
|
1257
1257
|
setPropertyRelates(d, v) {
|
|
1258
1258
|
const h = d.propertyValue;
|
|
@@ -1263,19 +1263,19 @@ class xt extends et {
|
|
|
1263
1263
|
};
|
|
1264
1264
|
}
|
|
1265
1265
|
}
|
|
1266
|
-
const
|
|
1266
|
+
const ft = Symbol("FModalService");
|
|
1267
1267
|
J.install = (e) => {
|
|
1268
1268
|
e.component(J.name, J);
|
|
1269
|
-
const t = new
|
|
1270
|
-
e.provide(
|
|
1269
|
+
const t = new ct(e);
|
|
1270
|
+
e.provide(ft, t), e.provide("FModalService", t);
|
|
1271
1271
|
};
|
|
1272
1272
|
export {
|
|
1273
1273
|
J as FModal,
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1274
|
+
ct as FModalService,
|
|
1275
|
+
ft as F_MODAL_SERVICE_TOKEN,
|
|
1276
|
+
Mt as ModalProperty,
|
|
1277
1277
|
J as default,
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1278
|
+
ot as modalProps,
|
|
1279
|
+
it as useDraggable,
|
|
1280
|
+
st as useResizeable
|
|
1281
1281
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(C,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("../locale/index.umd.js"),require("../common/index.umd.js"),require("../drawer/index.umd.js"),require("../property-panel/index.umd.js"),require("../button/index.umd.js"),require("../field-selector/index.umd.js"),require("../collection-property-editor/index.umd.js/src/use-button-items.designer")):typeof define=="function"&&define.amd?define(["exports","vue","../locale/index.umd.js","../common/index.umd.js","../drawer/index.umd.js","../property-panel/index.umd.js","../button/index.umd.js","../field-selector/index.umd.js","../collection-property-editor/index.umd.js/src/use-button-items.designer"],e):(C=typeof globalThis<"u"?globalThis:C||self,e(C.modal={},C.Vue,C.locale,C.common,C.FDrawer,C.propertyPanel,C.button,C.fieldSelector,C.useButtonItems_designer))})(this,function(C,e,A,_,le,ve,ge,ye,be){"use strict";var Xe=Object.defineProperty;var _e=(C,e,A)=>e in C?Xe(C,e,{enumerable:!0,configurable:!0,writable:!0,value:A}):C[e]=A;var $=(C,e,A)=>_e(C,typeof e!="symbol"?e+"":e,A);const ae={allowClickMaskToClose:{type:Boolean,default:!1},beforeClose:{type:Function,default:()=>!0},class:{type:String,default:""},maskClass:{type:String,default:""},title:{type:String,default:""},width:{type:Number,default:500},height:{type:Number,default:320},buttons:{type:Array,default:[]},modelValue:{type:Boolean,default:!1},mask:{type:Boolean,default:!0},showHeader:{type:Boolean,default:!0},showButtons:{type:Boolean,default:!0},fitContent:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},showFloatingClose:{type:Boolean,default:!1},showMaxButton:{type:Boolean,default:!1},minHeight:{type:Number},maxHeight:{type:Number},minWidth:{type:Number},maxWidth:{type:Number},containment:{type:Object,default:null},resizeable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},dragHandle:{type:Object,default:null},closedCallback:{type:Function,default:null},openedCallback:{type:Function,default:null},resizeHandle:{type:Function,default:null},render:{type:Function,default:null},acceptCallback:{type:Function,default:null},rejectCallback:{type:Function,default:null},enableEsc:{type:Boolean,default:!0},enableEnter:{type:Boolean,default:!1},dialogType:{type:String,default:""},src:{type:String,default:""},footerHeight:{type:Number,default:60},position:{type:String,default:"center"},host:{type:Object,default:"body"},isMessager:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1},maximized:{type:Boolean,default:!1},useTransform:{type:Boolean,default:!0}};class V{constructor(a,n){this.x=a,this.y=n}static getTransformInfo(a){const o=window.getComputedStyle(a).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(o.length>=6){const s=parseInt(o[4],10),u=parseInt(o[5],10);return{x:s,y:u}}return{x:0,y:0}}static fromEvent(a,n=null){if(this.isMouseEvent(a))return new V(a.clientX,a.clientY);if(n===null||a.changedTouches.length===1)return new V(a.changedTouches[0].clientX,a.changedTouches[0].clientY);for(let o=0;o<a.changedTouches.length;o++)if(a.changedTouches[o].target===n)return new V(a.changedTouches[o].clientX,a.changedTouches[o].clientY)}static isMouseEvent(a){return Object.prototype.toString.apply(a).indexOf("MouseEvent")===8}static isIPosition(a){return!!a&&"x"in a&&"y"in a}static getCurrent(a){const n=new V(0,0);if(window){const o=window.getComputedStyle(a);if(o){const s=parseInt(o.getPropertyValue("left"),10),u=parseInt(o.getPropertyValue("top"),10);n.x=isNaN(s)?0:s,n.y=isNaN(u)?0:u}return n}return null}static copy(a){return new V(0,0).set(a)}get value(){return{x:this.x,y:this.y}}add(a){return this.x+=a.x,this.y+=a.y,this}subtract(a){return this.x-=a.x,this.y-=a.y,this}multiply(a){this.x*=a,this.y*=a}divide(a){this.x/=a,this.y/=a}reset(){return this.x=0,this.y=0,this}set(a){return this.x=a.x,this.y=a.y,this}}class U{constructor(a,n){this.width=a,this.height=n}static getCurrent(a){const n=new U(0,0);if(window){const o=window.getComputedStyle(a);return o&&(n.width=parseInt(o.getPropertyValue("width"),10),n.height=parseInt(o.getPropertyValue("height"),10)),n}return null}static copy(a){return new U(0,0).set(a)}set(a){return this.width=a.width,this.height=a.height,this}}function ne(t,a){const n=e.ref(),o=e.ref(),s=e.ref(),u=e.ref(),c=e.ref(),d=e.ref(),f=e.ref(),m=e.ref(),E=e.ref(),x=e.ref(),z=e.ref(),I=e.ref(t.resizeable),F=e.ref(),R=e.ref(t.draggable),j=e.ref(!1);function y(){const i=o.value||document.body,r=window.getComputedStyle(i);if(!r||!n.value)return;const p=V.getTransformInfo(n.value),b={};f.value&&(b.deltaL=n.value.offsetLeft-f.value.x,b.deltaT=n.value.offsetTop-f.value.y);const T=r.getPropertyValue("position");b.width=i.clientWidth,b.height=i.clientHeight,b.pr=parseInt(r.getPropertyValue("padding-right"),10),b.pb=parseInt(r.getPropertyValue("padding-bottom"),10),b.position=r.getPropertyValue("position"),T==="static"&&(i.style.position="relative"),b.translateX=p.x,b.translateY=p.y,x.value=b}function w(i){if(n.value){u.value=U.getCurrent(n.value),c.value=V.getCurrent(n.value),d.value=u.value?U.copy(u.value):null,f.value=c.value?V.copy(c.value):null,y();const r=i.target.getAttribute("type")||"";m.value={n:!!r.match(/n/),s:!!r.match(/s/),w:!!r.match(/w/),e:!!r.match(/e/)}}}function k(){var i,r,p,b;if(n.value){const T=n.value;m.value&&((m.value.n||m.value.s)&&((i=d.value)!=null&&i.height)&&(T.style.height=d.value.height+"px"),(m.value.w||m.value.e)&&((r=d.value)!=null&&r.width)&&(T.style.width=d.value.width+"px"),f.value&&((p=f.value)!=null&&p.x&&(T.style.left=f.value.x+"px"),(b=f.value)!=null&&b.y&&(T.style.top=f.value.y+"px")))}}function H(){const i=t.minHeight?t.minHeight:1,r=t.minWidth?t.minWidth:1;d.value&&f.value&&m.value&&u.value&&(d.value.height<i&&(d.value.height=i,m.value.n&&c.value&&(f.value.y=c.value.y+(u.value.height-i))),d.value.width<r&&(d.value.width=r,m.value.w&&c.value&&(f.value.x=c.value.x+(u.value.width-r))),t.maxHeight&&d.value.height>t.maxHeight&&(d.value.height=t.maxHeight,c.value&&m.value.n&&(f.value.y=c.value.y+(u.value.height-t.maxHeight))),t.maxWidth&&d.value.width>t.maxWidth&&(d.value.width=t.maxWidth,m.value.w&&c.value&&(f.value.x=c.value.x+(u.value.width-t.maxWidth))))}function N(){if(o.value){const i=x.value;if(f.value&&d.value&&m.value&&u.value){const r=i.width-i.pr-i.deltaL-i.translateX-f.value.x,p=i.height-i.pb-i.deltaT-i.translateY-f.value.y;m.value.n&&f.value.y+i.translateY<0&&c.value&&(f.value.y=-i.translateY,d.value.height=u.value.height+c.value.y+i.translateY),m.value.w&&f.value.x+i.translateX<0&&c.value&&(f.value.x=-i.translateX,d.value.width=u.value.width+c.value.x+i.translateX),d.value.width>r&&(d.value.width=r),d.value.height>p&&(d.value.height=p)}}}function L(i){if(!s.value||!u.value||!c.value||!m.value)return;i.subtract(s.value);const r=i.x,p=i.y;m.value.n?(f.value.y=c.value.y+p,d.value.height=u.value.height-p):m.value.s&&(d.value.height=u.value.height+p),m.value.e?d.value.width=u.value.width+r:m.value.w&&(d.value.width=u.value.width-r,f.value.x=c.value.x+r),N(),H(),k()}function h(i){if(!E.value)return;const r=V.fromEvent(i);r&&L(r)}function g(){if(n.value){const{width:i,height:r,x:p,y:b}=n.value.getBoundingClientRect(),T=V.getTransformInfo(n.value);return{size:{width:i,height:r},position:{x:p-T.x,y:b-T.y}}}return null}function M(i){if(n.value){const r=g();z.value=r}s.value=void 0,u.value=null,c.value=null,d.value=null,f.value=null,m.value=null,E.value=null,document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",M)}function W(){document.addEventListener("mousemove",h),document.addEventListener("mouseup",M)}function S(i){i instanceof MouseEvent&&i.button===2||R.value&&(document.body.click(),i.stopPropagation(),i.preventDefault(),s.value=V.fromEvent(i),E.value=i.target,w(i),W())}function D(i){return n.value=i,I.value&&e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:r=>S(r)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:r=>S(r)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:r=>S(r)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:r=>S(r)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:r=>S(r)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:r=>S(r)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:r=>S(r)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:r=>S(r)},null)])}function O(i=!0){document.body.click();const r=o.value||document.body,p=U.getCurrent(r),b=n.value;i&&b&&(F.value=g(),F.value.transform=b.style.transform),p&&b&&(d.value=p,d.value.height-=14,d.value.width-=14,b.style.height=d.value.height+"px",b.style.width=d.value.width+"px",b.style.left="7px",b.style.top="7px",b.style.transform="",z.value={size:d.value,position:{x:0,y:0}},R.value=!1,j.value=!0)}function Z(){var i,r;if(document.body.click(),F.value){const p={width:F.value.size.width||0,height:F.value.size.height||0},b={x:(window.innerWidth-p.width)/2,y:(window.innerHeight-p.height)/2};(i=d.value)==null||i.set(p),(r=f.value)==null||r.set(b);const T=n.value;T.style.height=p.height+"px",T.style.width=p.width+"px",T.style.left=`${b.x}px`,T.style.top=`${b.y}px`,T.style.transform="",z.value={size:p,position:b},R.value=t.draggable,j.value=!1}}function J(){if(n.value){const i=U.getCurrent(n.value);if(i){const{width:r,height:p}=i;n.value.style.left=`${(window.innerWidth-r)/2}px`,n.value.style.top=`${(window.innerHeight-p)/2}px`,n.value.style.transform=""}}}function G(){const i=()=>{j.value?O(!1):J(),document.body.click()};return window.addEventListener("resize",i),()=>{window.removeEventListener("resize",i)}}const X=G();return{renderResizeBar:D,boundingElement:o,resizedEventParam:z,maximize:O,restore:Z,allowDrag:R,isMaximized:j,unWindowResizeHandle:X,moveToCenter:J}}function oe(t,a,n){const o=e.ref(),s=e.ref(t.draggable),u=e.ref(t.lockAxis),c=e.ref(),d=e.ref(),f=e.ref(!1),m=e.ref(new V(0,0)),E=e.ref(new V(0,0)),x=e.ref(new V(0,0)),z=e.ref(new V(0,0));e.watch(()=>n.value,h=>{c.value.style.cursor=h?"move":"default"});function I(h,g){if(g.tagName==="BUTTON")return!1;if(g===h)return!0;for(const M in g.children)if(Object.prototype.hasOwnProperty.call(g.children,M)&&I(h,g.children[M]))return!0;return!1}function F(){var W,S;let h=x.value.x+E.value.x,g=x.value.y+E.value.y;u.value==="x"?(h=((W=m.value)==null?void 0:W.x)||0,x.value.x=0):u.value==="y"&&(g=((S=m.value)==null?void 0:S.y)||0,x.value.y=0);const M=`translate3d(${Math.round(h)}px, ${Math.round(g)}px, 0px)`;o.value&&(o.value.style.transform=M),z.value.x=h,z.value.y=g}function R(){if(!d.value||!o.value)return null;const h=d.value.getBoundingClientRect(),g=o.value.getBoundingClientRect(),M={top:h.top<g.top,right:h.right>g.right,bottom:h.bottom>g.bottom,left:h.left<g.left};return M.top||(x.value.y-=g.top-h.top),M.bottom||(x.value.y-=g.bottom-h.bottom),M.right||(x.value.x-=g.right-h.right),M.left||(x.value.x-=g.left-h.left),F(),M}function j(h){h&&(m.value&&h.subtract(m.value),x.value.set(h),F(),R())}function y(h){f.value&&s.value&&(h.stopPropagation(),h.preventDefault(),j(V.fromEvent(h,c.value)))}function w(){var h;if(f.value){if(f.value=!1,E.value.add(x.value),x.value.reset(),(h=o.value)==null||h.classList.remove("ng-dragging"),!t.useTransform&&o.value){const{left:g,top:M}=o.value.getBoundingClientRect();o.value.style.left=Math.ceil(g)+"px",o.value.style.top=Math.ceil(M)+"px",o.value.style.transform="none"}a.emit("stopMove"),document.removeEventListener("mousemove",y),document.removeEventListener("mouseup",w)}}function k(){!f.value&&c.value&&(f.value=!0,c.value.classList.add("ng-dragging"),document.addEventListener("mousemove",y),document.addEventListener("mouseup",w))}function H(){if(o.value){const h=V.getTransformInfo(o.value);E.value.set(h);return}E.value.reset()}function N(h){if(!n.value||h instanceof MouseEvent&&h.button===2)return;const g=h.target||h.srcElement;c.value!==void 0&&g&&!I(g,c.value)||s.value!==!1&&(document.body.click(),h.stopPropagation(),h.preventDefault(),m.value=V.fromEvent(h,o.value),H(),k())}function L(h,g,M){if(s.value&&g){if(h)c.value=h;else if(t.dragHandle){if(t.dragHandle instanceof HTMLElement)c.value=t.dragHandle;else if(typeof t.dragHandle=="string"){const W=g.querySelector(t.dragHandle);W&&(c.value=W)}}o.value=g,d.value=M,c.value?(c.value.classList.add("ng-draggable"),c.value.addEventListener("mousedown",N)):s.value=!1}}return{registerDraggle:L,resetTranslate:H}}function se(t,a){if(t){const n=o=>{o.key.toLowerCase()===t.toLowerCase()&&a({event:o,key:t})};return document.addEventListener("keydown",n),()=>{document.removeEventListener("keydown",n)}}}function we(t,a){const n=e.ref(t.enableEsc);let o=null;return n.value?(o=se("Escape",s=>{a.emit("esc",{event:s.event,type:"esc"})}),{remove:o}):null}function pe(t,a){const n=e.ref(t.enableEnter);let o=null;return n.value?(o=se("Enter",s=>{a.emit("enter",{event:s.event,type:"enter"})}),{remove:o}):null}const q=e.defineComponent({name:"FModal",props:ae,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter","stopMove","buttonClick"],setup(t,a){const n=e.ref(t.width||300),o=e.ref(t.height||200),s=e.ref(t.modelValue),u=e.ref(""),c=e.ref(t.class),d=e.ref(t.fitContent),f=e.ref(t.showHeader),m=e.ref(""),E=e.ref(t.showCloseButton),x=e.ref(t.showMaxButton),z=e.ref(!1),I=e.ref(t.dialogType),F=e.ref(t.src),R=e.ref(""),j=e.ref(t.showButtons),y=e.ref(t.title),w=e.ref(t.containment||null),k=e.ref();y.value==="错误提示"&&(y.value=A.LocaleService.getLocaleValue("messageBox.errorTitle"));const H=e.ref(!1);function N(){const l=document.querySelectorAll(".farris-modal").length;(!l||l-1<=0)&&k.value===document.querySelectorAll(".farris-modal")[0]&&document.body.classList.remove("modal-open"),k.value&&k.value.classList.remove("show")}function L(l,v){const B=v?"accept":"cancel";Promise.resolve().then(()=>{var P;return(P=t.beforeClose)==null?void 0:P.call(t,{closeType:B})}).then(P=>{P&&(s.value=!1,a.emit("update:modelValue",!1),v!=null&&a.emit(v?"accept":"cancel"),a.emit("closed",l),N())})}const h=[{name:"cancel",text:A.LocaleService.getLocaleValue("messageBox.cancel")||"取消",class:"btn btn-secondary",handle:l=>{L(l,!1)}},{name:"accept",text:A.LocaleService.getLocaleValue("messageBox.ok")||"确定",class:"btn btn-primary",handle:l=>{L(l,!0)}}],g=e.ref(t.buttons&&t.buttons.length?t.buttons:h),M=e.computed(()=>!!m.value),W=e.computed(()=>!!j.value&&!!g.value),S=e.ref(),D=e.ref(),O=e.ref(t.maximized||!1),{renderResizeBar:Z,maximize:J,restore:G,boundingElement:X,resizedEventParam:i,allowDrag:r,unWindowResizeHandle:p,moveToCenter:b}=ne(t),{registerDraggle:T}=oe(t,a,r);function ce(){return!!document.querySelectorAll(".farris-modal").length&&document.body.classList.contains("modal-open")}e.watch(()=>t.title,(l,v)=>{l!==v&&(y.value=l)}),e.watch(()=>t.modelValue,(l,v)=>{l!==v&&(s.value=l,s.value&&t.draggable&&e.nextTick(()=>{D.value&&!w.value&&(w.value=D.value.parentElement,X.value=w.value,T(S.value,D.value,X.value),b())}),l||(w.value&&(w.value=null),N())),s.value?H.value=ce():(O.value=!1,r.value=t.draggable)}),e.watch(()=>t.showHeader,(l,v)=>{l!==v&&(f.value=l)}),e.watch(()=>t.showButtons,(l,v)=>{l!==v&&(j.value=l)}),e.watch(()=>i.value,(l,v)=>{const B=l||{},P=v||{};JSON.stringify(B)!==JSON.stringify(P)&&a.emit("resize",{newSize:l,oldSize:v,isMaximized:O.value})}),e.watch([()=>t.width,()=>t.height],(l,v)=>{(l[0]!==v[0]||l[1]!==v[1])&&(n.value=l[0]||500,o.value=l[1]||600)}),e.watch(()=>t.class,(l,v)=>{c.value=l});const K=e.computed(()=>(s.value&&document.body.classList.add("modal-open"),s.value)),Ee=e.computed(()=>{var B;const l={modal:!0,"farris-modal":!0,fade:!0,"fe-cmp-page-modal":!!t.showFloatingClose};l["f-modal-fitContent"]=!!d.value,l.show=!!K.value;const v=(B=t.maskClass)==null?void 0:B.split(" ");return v==null||v.reduce((P,Y)=>(P[Y]=!0,P),l),l}),ke=e.computed(()=>{var B;const l={"modal-dialog":!0},v=(B=c.value)==null?void 0:B.split(" ");return v==null||v.reduce((P,Y)=>(P[Y]=!0,P),l),l}),Be=()=>_.isMobilePhone()&&!t.isMessager||!!t.fullscreen,ze=e.computed(()=>{const l=document.documentElement.clientWidth,v=document.documentElement.clientHeight;if(O.value)return{position:"fixed",top:"0px",left:"0px",width:"100vw",height:"100vh",margin:"0"};const B=Math.min(n.value,l),P=t.position==="right"?"100%":d.value?"auto":`${Math.min(o.value,v-10)}px`,Y=`${(window.innerHeight-(P==="100%"||P==="auto"?0:parseInt(P)))/2}px`,Ye=t.position==="right"?`${window.innerWidth-B}px`:`${(window.innerWidth-B)/2}px`,me={position:"absolute",top:Y,left:Ye,width:_.isMobilePhone()?"auto":`${B}px`,height:P};return t.mask||(me.pointerEvents="auto"),me}),fe=e.ref(_.getMaxZIndex()||1050),Pe=e.computed(()=>{const l={display:"block",overflow:"hidden"};return t.mask||(l.pointerEvents="none",l.backgroundColor="transparent"),H.value&&(l.backgroundColor="transparent"),l.zIndex=fe.value,l}),Ve=e.computed(()=>({"modal-content":!0,"modal-content-has-header":f.value,"is-mobile":Be()})),Te=e.computed(()=>{const l={display:f.value?"":"none"};return l["pointer-events"]=r.value?"auto":"none",l}),Ne=e.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:O.value})),He=e.computed(()=>({"modal-body":!0,"f-utils-flex-column":I.value==="iframe","f-utils-fill":!0}));function Se(){return{height:`${t.footerHeight||60}px`}}const Ie=e.computed(()=>{const l={textAlgin:R.value},v=Se();return Object.assign(l,v)});function Q(l){if(l==null||l.stopPropagation(),O.value){O.value=!1,G();return}J(),O.value=!0}async function Fe(l,v){l.handle?await l.handle(v,l)&&a.emit("closed",v):a.emit("buttonClick",{button:l,$event:v})}function Re(l){l.width&&(n.value=l.width),l.height&&(o.value=l.height),l.buttons&&(g.value=l.buttons),l.title&&(y.value=l.title)}let ee=null,te=null;e.onBeforeMount(()=>{H.value=ce()}),e.onMounted(()=>{D.value&&!w.value&&(w.value=D.value.parentElement,X.value=w.value,T(S.value,D.value,X.value)),K.value&&document.body.classList.add("modal-open"),ee=we(t,a),te=pe(t,a)}),e.onUnmounted(()=>{p&&p(),ee&&ee.remove(),te&&te.remove()}),a.expose({modalElementRef:D,updateModalOptions:Re,close:L,maxDialog:Q,isMaximized:O,disableButtons:(l,v=!0)=>{g.value.forEach(B=>{B.name&&l.includes(B.name)&&(B.disabled=v)})}});function je(){return e.createVNode("div",{class:"action-wrapper",onClick:l=>L(l,!1)},[e.createVNode("span",{class:"close-icon"},[e.createVNode("i",{class:"f-icon f-icon-close"},null)])])}function Oe(){return e.createVNode("ul",null,[z.value&&e.createVNode("li",{class:"f-btn-icon f-bare"},[e.createVNode("span",{class:"f-icon modal_minimize"},null)]),x.value&&e.createVNode("li",{onClick:Q,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[e.createVNode("span",{class:Ne.value},null)]),E.value&&e.createVNode("li",{class:"f-btn-icon f-bare",onClick:l=>L(l,!1),style:"pointer-events: auto;"},[e.createVNode("span",{class:"f-icon modal_close"},null)])])}const Le=l=>{l.preventDefault();const v=l.currentTarget,B=l.deltaY*.5;v.scrollLeft+=B};function We(){return e.createVNode("div",{class:"modal-footer",style:Ie.value},[g.value&&e.createVNode("div",{class:"buttons",onWheel:Le},[g.value.map(l=>{var P;const v=e.ref(l.disabled),B=l.class||((P=l.appearance)==null?void 0:P.class);return e.createVNode("button",{name:l.name,style:l.styles,type:"button",disabled:v.value,class:B+(l.iconClass?" btn-icontext":"")+(l.visible===!1?"d-none":""),onClick:Y=>{Fe(l,Y)}},[!!l.iconClass&&e.createVNode("i",{class:l.iconClass},null),l.text])})])])}function he(l){x.value&&Q()}function De(){return e.createVNode(e.Fragment,null,[O.value&&e.createVNode("div",{class:"modal-header",style:"position: absolute;background: transparent;height: 45px;width: 100%;",onDblclick:l=>he()},null),e.createVNode("div",{ref:S,class:"modal-header",style:Te.value,onDblclick:l=>he()},[a.slots.headerTemplate?a.slots.headerTemplate():e.createVNode("div",{class:"modal-title"},[M.value&&e.createVNode("span",{class:m.value,style:"margin-right: 8px"},null),e.createVNode("span",{class:"modal-title-label"},[y.value])]),e.createVNode("div",{class:"actions"},[Oe()])])])}function Ae(){return a.slots.footerTemplate?a.slots.footerTemplate():W.value&&We()}function $e(l){if(l.stopPropagation(),t.allowClickMaskToClose){if(l.target!==k.value)return;L(l,!1)}}function Ue(){var l,v;return e.createVNode("div",{id:u.value,class:ke.value,style:ze.value,ref:D},[t.showFloatingClose&&je(),e.createVNode("div",{class:Ve.value},[f.value&&De(),e.createVNode("div",{class:He.value},[(v=(l=a.slots).default)==null?void 0:v.call(l),I.value==="iframe"&&e.createVNode("iframe",{title:u.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:F.value},null)]),Ae()]),!d.value&&D.value&&!O.value&&Z(D.value)])}function qe(l){return l||"body"}return e.watchEffect(()=>{K.value&&(fe.value=_.getMaxZIndex()||1050)}),()=>e.createVNode(e.Teleport,{to:qe(t.host)},{default:()=>[K.value&&e.createVNode(e.Transition,{name:"fade",appear:!0},{default:()=>[e.createVNode("div",{ref:k,class:Ee.value,style:Pe.value,onClick:$e},[Ue()])]})]})}});function ie(t){if(t.content&&t.content.render)return t.content.render;if(t.render&&typeof t.render=="function")return t.render}function xe(t){const a=document.createElement("div");a.style.display="contents";const n=t.type||"modal",o=e.createApp({setup(s,u){e.onUnmounted(()=>{document.body.removeChild(a)});const c=e.ref(),d=e.ref(t.class||""),f=e.ref(!0),m=e.ref(t.title||""),E=ie(t),x=t.closedCallback||(N=>{}),z=N=>{f.value=!1,o.unmount(),x(N)};if(u.expose({ref:c}),n==="drawer")return()=>e.createVNode(le,{ref:c,modelValue:f.value,"onUpdate:modelValue":N=>f.value=N,id:"modal-service-drawer",title:m.value,width:t.width,height:t.height,position:t.position,backgroundColor:t.backgroundColor,host:t.host,showMask:t.showMask,allowClickMaskToClose:t.allowClickMaskToClose,transparent:t.transparent,showHeader:t.showHeader,showFooter:t.showButtons,buttons:t.buttons,beforeClose:t.beforeClose,customClass:d.value,onAfterClose:z},{default:()=>[E&&E(o)]});const I=e.ref(!!t.showButtons),F=e.ref(!!t.showHeader),R=e.ref(t.showCloseButton==null?!0:t.showCloseButton),j=e.ref(!!t.showFloatingClose),y=t.acceptCallback||(()=>{}),w=t.rejectCallback||(()=>{}),k=t.resizeHandle||(N=>{}),H=t.stopMoveHandle||(N=>{});return()=>e.createVNode(q,{ref:c,class:d.value,modelValue:f.value,"onUpdate:modelValue":N=>f.value=N,title:m.value,width:t.width,height:t.height,buttons:t.buttons,"show-header":F.value,"show-buttons":I.value,"show-close-button":R.value,"show-max-button":!1,showFloatingClose:j.value,onAccept:y,onCancel:w,fitContent:t.fitContent==null?!0:t.fitContent,onClosed:z,onResize:k,onStopMove:H},{default:()=>[E&&E(o)]})}});return document.body.appendChild(a),o.use(A.LocaleService.i18n),o.mount(a),o}class re{constructor(a){$(this,"appContext",null);$(this,"modalRef",e.ref());$(this,"activeModalIndex",e.ref(0));$(this,"modalRefs",{});$(this,"isUseEscCloseModal",e.ref(!1));this.app=a,this.appContext=a?a._context:null}getCurrentModal(){return this.modalRefs[this.activeModalIndex.value]}adaptToWindow(a,n){const{width:o,height:s}={width:window.innerWidth,height:window.innerHeight};return o<a&&(a=o-14),s<n&&(n=s-14),{width:a,height:n}}static show(a){const n=Object.assign({title:"",showButtons:!0,showHeader:!0},a);return xe(n)}close(a){var n,o;a?(o=a.value)==null||o.close():(n=this.getCurrentModal())==null||n.close()}open(a){const n=document.createDocumentFragment(),o=a.type||"modal";a.showMaxButton&&a.fitContent&&(a.showMaxButton=!1);const s=e.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0,maximized:!1},a)),u=e.ref(!0),c=ie(s.value),d=s.value.closedCallback||((y,w)=>{}),f=s.value.openedCallback||(y=>{});let m;const E=y=>{var k;u.value=!1;const w=(k=y==null?void 0:y.target)==null?void 0:k.classList.contains("modal_close");d(y,this.isUseEscCloseModal.value?"esc":w?"icon":"button")},x=y=>{E(y),m&&e.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],e.render(null,n),m=null,this.modalRef.value=null,this.modalRefs){const w=Object.keys(this.modalRefs).map(k=>Number(k));w.length>0?this.activeModalIndex.value=Math.max(...w):this.activeModalIndex.value=0,this.modalRefs[this.activeModalIndex.value]&&(this.modalRef.value=this.modalRefs[this.activeModalIndex.value])}this.isUseEscCloseModal.value=!1})},z=e.ref();let I;if(o==="drawer")I=()=>e.createVNode(le,e.mergeProps({ref:z,modelValue:u.value,"onUpdate:modelValue":y=>u.value=y,id:"modal-service-drawer"},s.value,{onAfterClose:x}),{default:()=>[c&&c(this.app)]});else{const y=s.value.acceptCallback||(()=>{}),w=s.value.rejectCallback||(()=>{}),k=s.value.resizeHandle||(M=>{}),H=a.stopMoveHandle||(M=>{}),N=M=>{var W;this.isUseEscCloseModal.value=!0,(W=this.getCurrentModal())==null||W.close(M==null?void 0:M.event)},{width:L,height:h}=s.value,g=this.adaptToWindow(Number(L)||500,Number(h)||320);Object.assign(s.value,g),I=()=>e.createVNode(q,e.mergeProps({ref:z,modelValue:u.value,"onUpdate:modelValue":M=>u.value=M},s.value,{isMessager:s.value.class&&s.value.class.indexOf("modal-message")>-1,onAccept:y,onCancel:w,onClosed:x,onResize:k,onEsc:N,onStopMove:H,maximized:s.value.maximized}),{default:()=>[c&&c(this.app)]})}m=(y=>{const w=e.h(I,y);return w.appContext=this.appContext,e.render(w,n),w})({...s.value}),this.activeModalIndex.value++;const R=this.activeModalIndex.value;this.modalRefs[R]=z.value;const j=y=>{s.value={...s.value,...y},m&&e.render(e.cloneVNode(m,{...s}),n)};return e.nextTick(()=>{this.modalRefs[R]=z.value,this.modalRef.value=z.value,f(new Event("opened"))}),{update:j,destroy:x,modalRef:z,close:()=>{var y;(y=z.value)==null||y.close()},disableButtons:(y,w=!0)=>{var k,H;(H=(k=z.value)==null?void 0:k.disableButtons)==null||H.call(k,y,w)}}}}const Ce=[{label:"beforeClose",name:"关闭前事件"},{label:"onAccept",name:"确定事件"},{label:"onCancel",name:"取消事件"}],ue=t=>t&&t.length?t.map(a=>`${a.name}[${a.bindingPath}]`).join(","):"";class Me extends ve.BaseControlProperty{constructor(n,o){super(n,o);$(this,"numberEditor",{type:"number-spinner",useThousands:!1});$(this,"buttonProperty",new ge.ButtonProperty(this.componentId,this.designerHostService,!1))}getPropertyConfig(n){const o=this.getEventPropConfig(n);return this.propertyConfig.categories.dialog=this.getDialogPropertyConfig(n),this.propertyConfig.categories.eventsEditor=o,this.propertyConfig}getToDataSource(){const n=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId),o=this.schemaService.getPrimaryField();return o?n.filter(s=>s.data.bindingPath!==o):n}getModalButtons(n){const o=this.formSchemaUtils.getExternalComponents().find(s=>s.id===n);return o?o.buttons||[]:[]}setModalButtons(n,o){const s=this.formSchemaUtils.getExternalComponents().find(u=>u.id===n);s&&(s.buttons=o)}getDialogPropertyConfig(n){const o=this.getModalButtons(n.id);return{description:"窗口尺寸配置",title:"窗口",parentPropertyID:"dialog",properties:{showHeader:{description:"是否展示头部",title:"是否展示头部",type:"boolean",refreshPanelAfterChanged:!0},title:{description:"标题",title:"标题",type:"string",visible:!!n.showHeader},width:{description:"窗口宽度,单位:px,最小值:300px,最大值:3000px",title:"宽度",type:"number",editor:{...this.numberEditor,min:300,max:3e3}},height:{description:"窗口高度,单位:px,最小值:200px,最大值:2000px",title:"高度",type:"number",editor:{...this.numberEditor,min:200,max:2e3}},resizeable:{description:"允许鼠标拖拽窗口边缘调整尺寸",title:"允许调整窗口尺寸",type:"boolean",visible:!0},enableEsc:{description:"允许ESC关闭",title:"允许ESC关闭",type:"boolean",visible:!1},showMaxButton:{description:"显示最大化按钮",title:"显示最大化按钮",type:"boolean",visible:!0},showCloseButton:{description:"显示关闭按钮",title:"显示关闭按钮",type:"boolean",visible:!0},mapFields:{description:"弹出表单选中的数据映射到表单字段",title:"映射字段",type:"string",visible:!1,editor:{type:"mapping-editor",modalWidth:800,modalHeight:600,editable:!1,beforeOpen:({fromDataSource:s,toDataSource:u,gridColumns:c,repository:d})=>{if(!n.contents||!n.contents.length||!n.contents[0].externalComponent)return{open:!1,messager:"请选择一个表单"};const{id:f,relativePath:m}=n.contents[0].externalComponent;return u.value=this.getToDataSource(),c[1].editor.data=u.value,this.metadataService.getRefMetadata(m,f).then(E=>{let x=JSON.parse(E.data.content).Contents;typeof x=="string"&&(x=JSON.parse(x)),s.value=d.buildTreeData(x.module.entity[0]),c[0].editor.data=u.value}),!0},fromData:{editable:!0,formatter:(s,u)=>`${u.raw.name} [${u.raw.bindingPath}]`,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],repositoryToken:ye.FieldSelectorRepositoryToken,displayFormatter:ue},toData:{editable:!1,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],formatter:(s,u)=>`${u.raw.name} [${u.raw.bindingPath}]`,displayFormatter:ue}}},showButtons:{description:"是否显示底部按钮组",title:"显示底部按钮组",type:"boolean",refreshPanelAfterChanged:!0,visible:!0},buttons:{description:"弹窗底部自定义按钮, 未设置时使用默认按钮,显示取消、确定",title:"按钮组",type:"array",defaultValue:`共 ${o.length} 项`,visible:!1,$converter:{convertFrom:()=>`共 ${o.length} 项`},editor:{type:"button-edit",editable:!1,enableClear:!0,buttonContent:'<i class="f-icon f-icon-lookup"></i>',onClear:()=>{const{messagerService:s}=this.designerHostService;s.question("您确定要清空所有按钮吗?","",()=>{this.setModalButtons(n.id,[]),this.getFormDesignerInstance().reloadPropertyPanel()},()=>{this.getFormDesignerInstance().reloadPropertyPanel()})},onClickButton:()=>{be.useButtonItemsDesigner(this.designerHostService,{buttons:o,modalPropertyData:n,componentId:this.componentId,viewModelId:this.viewModelId,forModalFooter:!0}).show(()=>{this.getFormDesignerInstance().reloadPropertyPanel()})}}}}}}getEventPropConfig(n){const o=this,s=Ce,u=o.eventsEditorUtils.formProperties(n,o.viewModelId,s);return{title:"事件",hideTitle:!0,properties:o.createBaseEventProperty(u),refreshPanelAfterChanged:!0,tabId:_.EVENT_PROPERTY_TAB_IDS,tabName:"交互",setPropertyRelates(d,f){const m=d.propertyValue;delete n[o.viewModelId],m&&o.eventsEditorUtils.saveRelatedParameters(n,o.viewModelId,m.events,m),s.forEach(E=>{f[E.label]=n[E.label]})}}}}const de=Symbol("FModalService");q.install=t=>{t.component(q.name,q);const a=new re(t);t.provide(de,a),t.provide("FModalService",a)},C.FModal=q,C.FModalService=re,C.F_MODAL_SERVICE_TOKEN=de,C.ModalProperty=Me,C.default=q,C.modalProps=ae,C.useDraggable=oe,C.useResizeable=ne,Object.defineProperties(C,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(C,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("../locale/index.umd.js"),require("../common/index.umd.js"),require("../drawer/index.umd.js"),require("../property-panel/index.umd.js"),require("../button/index.umd.js"),require("../field-selector/index.umd.js"),require("../collection-property-editor/index.umd.js/src/use-button-items.designer")):typeof define=="function"&&define.amd?define(["exports","vue","../locale/index.umd.js","../common/index.umd.js","../drawer/index.umd.js","../property-panel/index.umd.js","../button/index.umd.js","../field-selector/index.umd.js","../collection-property-editor/index.umd.js/src/use-button-items.designer"],e):(C=typeof globalThis<"u"?globalThis:C||self,e(C.modal={},C.Vue,C.locale,C.common,C.FDrawer,C.propertyPanel,C.button,C.fieldSelector,C.useButtonItems_designer))})(this,function(C,e,A,X,le,ve,ge,ye,be){"use strict";var Xe=Object.defineProperty;var _e=(C,e,A)=>e in C?Xe(C,e,{enumerable:!0,configurable:!0,writable:!0,value:A}):C[e]=A;var $=(C,e,A)=>_e(C,typeof e!="symbol"?e+"":e,A);const ae={allowClickMaskToClose:{type:Boolean,default:!1},beforeClose:{type:Function,default:()=>!0},class:{type:String,default:""},maskClass:{type:String,default:""},title:{type:String,default:""},width:{type:Number,default:500},height:{type:Number,default:320},buttons:{type:Array,default:[]},modelValue:{type:Boolean,default:!1},mask:{type:Boolean,default:!0},showHeader:{type:Boolean,default:!0},showButtons:{type:Boolean,default:!0},fitContent:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},showFloatingClose:{type:Boolean,default:!1},showMaxButton:{type:Boolean,default:!1},minHeight:{type:Number},maxHeight:{type:Number},minWidth:{type:Number},maxWidth:{type:Number},containment:{type:Object,default:null},resizeable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},dragHandle:{type:Object,default:null},closedCallback:{type:Function,default:null},openedCallback:{type:Function,default:null},resizeHandle:{type:Function,default:null},render:{type:Function,default:null},acceptCallback:{type:Function,default:null},rejectCallback:{type:Function,default:null},enableEsc:{type:Boolean,default:!0},enableEnter:{type:Boolean,default:!1},dialogType:{type:String,default:""},src:{type:String,default:""},footerHeight:{type:Number,default:60},position:{type:String,default:"center"},host:{type:Object,default:"body"},isMessager:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1},maximized:{type:Boolean,default:!1},useTransform:{type:Boolean,default:!0}};class V{constructor(a,n){this.x=a,this.y=n}static getTransformInfo(a){const o=window.getComputedStyle(a).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(o.length>=6){const s=parseInt(o[4],10),u=parseInt(o[5],10);return{x:s,y:u}}return{x:0,y:0}}static fromEvent(a,n=null){if(this.isMouseEvent(a))return new V(a.clientX,a.clientY);if(n===null||a.changedTouches.length===1)return new V(a.changedTouches[0].clientX,a.changedTouches[0].clientY);for(let o=0;o<a.changedTouches.length;o++)if(a.changedTouches[o].target===n)return new V(a.changedTouches[o].clientX,a.changedTouches[o].clientY)}static isMouseEvent(a){return Object.prototype.toString.apply(a).indexOf("MouseEvent")===8}static isIPosition(a){return!!a&&"x"in a&&"y"in a}static getCurrent(a){const n=new V(0,0);if(window){const o=window.getComputedStyle(a);if(o){const s=parseInt(o.getPropertyValue("left"),10),u=parseInt(o.getPropertyValue("top"),10);n.x=isNaN(s)?0:s,n.y=isNaN(u)?0:u}return n}return null}static copy(a){return new V(0,0).set(a)}get value(){return{x:this.x,y:this.y}}add(a){return this.x+=a.x,this.y+=a.y,this}subtract(a){return this.x-=a.x,this.y-=a.y,this}multiply(a){this.x*=a,this.y*=a}divide(a){this.x/=a,this.y/=a}reset(){return this.x=0,this.y=0,this}set(a){return this.x=a.x,this.y=a.y,this}}class U{constructor(a,n){this.width=a,this.height=n}static getCurrent(a){const n=new U(0,0);if(window){const o=window.getComputedStyle(a);return o&&(n.width=parseInt(o.getPropertyValue("width"),10),n.height=parseInt(o.getPropertyValue("height"),10)),n}return null}static copy(a){return new U(0,0).set(a)}set(a){return this.width=a.width,this.height=a.height,this}}function ne(t,a){const n=e.ref(),o=e.ref(),s=e.ref(),u=e.ref(),c=e.ref(),d=e.ref(),f=e.ref(),m=e.ref(),E=e.ref(),x=e.ref(),z=e.ref(),I=e.ref(t.resizeable),F=e.ref(),R=e.ref(t.draggable),j=e.ref(!1);function y(){const i=o.value||document.body,r=window.getComputedStyle(i);if(!r||!n.value)return;const p=V.getTransformInfo(n.value),b={};f.value&&(b.deltaL=n.value.offsetLeft-f.value.x,b.deltaT=n.value.offsetTop-f.value.y);const T=r.getPropertyValue("position");b.width=i.clientWidth,b.height=i.clientHeight,b.pr=parseInt(r.getPropertyValue("padding-right"),10),b.pb=parseInt(r.getPropertyValue("padding-bottom"),10),b.position=r.getPropertyValue("position"),T==="static"&&(i.style.position="relative"),b.translateX=p.x,b.translateY=p.y,x.value=b}function w(i){if(n.value){u.value=U.getCurrent(n.value),c.value=V.getCurrent(n.value),d.value=u.value?U.copy(u.value):null,f.value=c.value?V.copy(c.value):null,y();const r=i.target.getAttribute("type")||"";m.value={n:!!r.match(/n/),s:!!r.match(/s/),w:!!r.match(/w/),e:!!r.match(/e/)}}}function k(){var i,r,p,b;if(n.value){const T=n.value;m.value&&((m.value.n||m.value.s)&&((i=d.value)!=null&&i.height)&&(T.style.height=d.value.height+"px"),(m.value.w||m.value.e)&&((r=d.value)!=null&&r.width)&&(T.style.width=d.value.width+"px"),f.value&&((p=f.value)!=null&&p.x&&(T.style.left=f.value.x+"px"),(b=f.value)!=null&&b.y&&(T.style.top=f.value.y+"px")))}}function H(){const i=t.minHeight?t.minHeight:1,r=t.minWidth?t.minWidth:1;d.value&&f.value&&m.value&&u.value&&(d.value.height<i&&(d.value.height=i,m.value.n&&c.value&&(f.value.y=c.value.y+(u.value.height-i))),d.value.width<r&&(d.value.width=r,m.value.w&&c.value&&(f.value.x=c.value.x+(u.value.width-r))),t.maxHeight&&d.value.height>t.maxHeight&&(d.value.height=t.maxHeight,c.value&&m.value.n&&(f.value.y=c.value.y+(u.value.height-t.maxHeight))),t.maxWidth&&d.value.width>t.maxWidth&&(d.value.width=t.maxWidth,m.value.w&&c.value&&(f.value.x=c.value.x+(u.value.width-t.maxWidth))))}function N(){if(o.value){const i=x.value;if(f.value&&d.value&&m.value&&u.value){const r=i.width-i.pr-i.deltaL-i.translateX-f.value.x,p=i.height-i.pb-i.deltaT-i.translateY-f.value.y;m.value.n&&f.value.y+i.translateY<0&&c.value&&(f.value.y=-i.translateY,d.value.height=u.value.height+c.value.y+i.translateY),m.value.w&&f.value.x+i.translateX<0&&c.value&&(f.value.x=-i.translateX,d.value.width=u.value.width+c.value.x+i.translateX),d.value.width>r&&(d.value.width=r),d.value.height>p&&(d.value.height=p)}}}function L(i){if(!s.value||!u.value||!c.value||!m.value)return;i.subtract(s.value);const r=i.x,p=i.y;m.value.n?(f.value.y=c.value.y+p,d.value.height=u.value.height-p):m.value.s&&(d.value.height=u.value.height+p),m.value.e?d.value.width=u.value.width+r:m.value.w&&(d.value.width=u.value.width-r,f.value.x=c.value.x+r),N(),H(),k()}function h(i){if(!E.value)return;const r=V.fromEvent(i);r&&L(r)}function g(){if(n.value){const{width:i,height:r,x:p,y:b}=n.value.getBoundingClientRect(),T=V.getTransformInfo(n.value);return{size:{width:i,height:r},position:{x:p-T.x,y:b-T.y}}}return null}function M(i){if(n.value){const r=g();z.value=r}s.value=void 0,u.value=null,c.value=null,d.value=null,f.value=null,m.value=null,E.value=null,document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",M)}function W(){document.addEventListener("mousemove",h),document.addEventListener("mouseup",M)}function S(i){i instanceof MouseEvent&&i.button===2||R.value&&(document.body.click(),i.stopPropagation(),i.preventDefault(),s.value=V.fromEvent(i),E.value=i.target,w(i),W())}function D(i){return n.value=i,I.value&&e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:r=>S(r)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:r=>S(r)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:r=>S(r)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:r=>S(r)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:r=>S(r)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:r=>S(r)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:r=>S(r)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:r=>S(r)},null)])}function O(i=!0){document.body.click();const r=o.value||document.body,p=U.getCurrent(r),b=n.value;i&&b&&(F.value=g(),F.value.transform=b.style.transform),p&&b&&(d.value=p,d.value.height-=14,d.value.width-=14,b.style.height=d.value.height+"px",b.style.width=d.value.width+"px",b.style.left="7px",b.style.top="7px",b.style.transform="",z.value={size:d.value,position:{x:0,y:0}},R.value=!1,j.value=!0)}function Z(){var i,r;if(document.body.click(),F.value){const p={width:F.value.size.width||0,height:F.value.size.height||0},b={x:(window.innerWidth-p.width)/2,y:(window.innerHeight-p.height)/2};(i=d.value)==null||i.set(p),(r=f.value)==null||r.set(b);const T=n.value;T.style.height=p.height+"px",T.style.width=p.width+"px",T.style.left=`${b.x}px`,T.style.top=`${b.y}px`,T.style.transform="",z.value={size:p,position:b},R.value=t.draggable,j.value=!1}}function J(){if(n.value){const i=U.getCurrent(n.value);if(i){const{width:r,height:p}=i;n.value.style.left=`${(window.innerWidth-r)/2}px`,n.value.style.top=`${(window.innerHeight-p)/2}px`,n.value.style.transform=""}}}function G(){const i=()=>{j.value?O(!1):J(),document.body.click()};return window.addEventListener("resize",i),()=>{window.removeEventListener("resize",i)}}const _=G();return{renderResizeBar:D,boundingElement:o,resizedEventParam:z,maximize:O,restore:Z,allowDrag:R,isMaximized:j,unWindowResizeHandle:_,moveToCenter:J}}function oe(t,a,n){const o=e.ref(),s=e.ref(t.draggable),u=e.ref(t.lockAxis),c=e.ref(),d=e.ref(),f=e.ref(!1),m=e.ref(new V(0,0)),E=e.ref(new V(0,0)),x=e.ref(new V(0,0)),z=e.ref(new V(0,0));e.watch(()=>n.value,h=>{c.value.style.cursor=h?"move":"default"});function I(h,g){if(g.tagName==="BUTTON")return!1;if(g===h)return!0;for(const M in g.children)if(Object.prototype.hasOwnProperty.call(g.children,M)&&I(h,g.children[M]))return!0;return!1}function F(){var W,S;let h=x.value.x+E.value.x,g=x.value.y+E.value.y;u.value==="x"?(h=((W=m.value)==null?void 0:W.x)||0,x.value.x=0):u.value==="y"&&(g=((S=m.value)==null?void 0:S.y)||0,x.value.y=0);const M=`translate3d(${Math.round(h)}px, ${Math.round(g)}px, 0px)`;o.value&&(o.value.style.transform=M),z.value.x=h,z.value.y=g}function R(){if(!d.value||!o.value)return null;const h=d.value.getBoundingClientRect(),g=o.value.getBoundingClientRect(),M={top:h.top<g.top,right:h.right>g.right,bottom:h.bottom>g.bottom,left:h.left<g.left};return M.top||(x.value.y-=g.top-h.top),M.bottom||(x.value.y-=g.bottom-h.bottom),M.right||(x.value.x-=g.right-h.right),M.left||(x.value.x-=g.left-h.left),F(),M}function j(h){h&&(m.value&&h.subtract(m.value),x.value.set(h),F(),R())}function y(h){f.value&&s.value&&(h.stopPropagation(),h.preventDefault(),j(V.fromEvent(h,c.value)))}function w(){var h;if(f.value){if(f.value=!1,E.value.add(x.value),x.value.reset(),(h=o.value)==null||h.classList.remove("ng-dragging"),!t.useTransform&&o.value){const{left:g,top:M}=o.value.getBoundingClientRect();o.value.style.left=Math.ceil(g)+"px",o.value.style.top=Math.ceil(M)+"px",o.value.style.transform="none"}a.emit("stopMove"),document.removeEventListener("mousemove",y),document.removeEventListener("mouseup",w)}}function k(){!f.value&&c.value&&(f.value=!0,c.value.classList.add("ng-dragging"),document.addEventListener("mousemove",y),document.addEventListener("mouseup",w))}function H(){if(o.value){const h=V.getTransformInfo(o.value);E.value.set(h);return}E.value.reset()}function N(h){if(!n.value||h instanceof MouseEvent&&h.button===2)return;const g=h.target||h.srcElement;c.value!==void 0&&g&&!I(g,c.value)||s.value!==!1&&(document.body.click(),h.stopPropagation(),h.preventDefault(),m.value=V.fromEvent(h,o.value),H(),k())}function L(h,g,M){if(s.value&&g){if(h)c.value=h;else if(t.dragHandle){if(t.dragHandle instanceof HTMLElement)c.value=t.dragHandle;else if(typeof t.dragHandle=="string"){const W=g.querySelector(t.dragHandle);W&&(c.value=W)}}o.value=g,d.value=M,c.value?(c.value.classList.add("ng-draggable"),c.value.addEventListener("mousedown",N)):s.value=!1}}return{registerDraggle:L,resetTranslate:H}}function se(t,a){if(t){const n=o=>{o.key.toLowerCase()===t.toLowerCase()&&a({event:o,key:t})};return document.addEventListener("keydown",n),()=>{document.removeEventListener("keydown",n)}}}function we(t,a){const n=e.ref(t.enableEsc);let o=null;return n.value?(o=se("Escape",s=>{a.emit("esc",{event:s.event,type:"esc"})}),{remove:o}):null}function pe(t,a){const n=e.ref(t.enableEnter);let o=null;return n.value?(o=se("Enter",s=>{a.emit("enter",{event:s.event,type:"enter"})}),{remove:o}):null}const q=e.defineComponent({name:"FModal",props:ae,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter","stopMove","buttonClick"],setup(t,a){const n=e.ref(t.width||300),o=e.ref(t.height||200),s=e.ref(t.modelValue),u=e.ref(""),c=e.ref(t.class),d=e.ref(t.fitContent),f=e.ref(t.showHeader),m=e.ref(""),E=e.ref(t.showCloseButton),x=e.ref(t.showMaxButton),z=e.ref(!1),I=e.ref(t.dialogType),F=e.ref(t.src),R=e.ref(""),j=e.ref(t.showButtons),y=e.ref(t.title),w=e.ref(t.containment||null),k=e.ref();y.value==="错误提示"&&(y.value=A.LocaleService.getLocaleValue("messageBox.errorTitle"));const H=e.ref(!1);function N(){const l=document.querySelectorAll(".farris-modal").length;(!l||l-1<=0)&&k.value===document.querySelectorAll(".farris-modal")[0]&&document.body.classList.remove("modal-open"),k.value&&k.value.classList.remove("show")}function L(l,v){const B=v?"accept":"cancel";Promise.resolve().then(()=>{var P;return(P=t.beforeClose)==null?void 0:P.call(t,{closeType:B})}).then(P=>{P&&(s.value=!1,a.emit("update:modelValue",!1),v!=null&&a.emit(v?"accept":"cancel"),a.emit("closed",l),N())})}const h=[{name:"cancel",text:A.LocaleService.getLocaleValue("messageBox.cancel")||"取消",class:"btn btn-secondary",handle:l=>{L(l,!1)}},{name:"accept",text:A.LocaleService.getLocaleValue("messageBox.ok")||"确定",class:"btn btn-primary",handle:l=>{L(l,!0)}}],g=e.ref(t.buttons&&t.buttons.length?t.buttons:h),M=e.computed(()=>!!m.value),W=e.computed(()=>!!j.value&&!!g.value),S=e.ref(),D=e.ref(),O=e.ref(t.maximized||!1),{renderResizeBar:Z,maximize:J,restore:G,boundingElement:_,resizedEventParam:i,allowDrag:r,unWindowResizeHandle:p,moveToCenter:b}=ne(t),{registerDraggle:T}=oe(t,a,r);function ce(){return!!document.querySelectorAll(".farris-modal").length&&document.body.classList.contains("modal-open")}e.watch(()=>t.title,(l,v)=>{l!==v&&(y.value=l)}),e.watch(()=>t.modelValue,(l,v)=>{l!==v&&(s.value=l,s.value&&t.draggable&&e.nextTick(()=>{D.value&&!w.value&&(w.value=D.value.parentElement,_.value=w.value,T(S.value,D.value,_.value),b())}),l||(w.value&&(w.value=null),N())),s.value?H.value=ce():(O.value=!1,r.value=t.draggable)}),e.watch(()=>t.showHeader,(l,v)=>{l!==v&&(f.value=l)}),e.watch(()=>t.showButtons,(l,v)=>{l!==v&&(j.value=l)}),e.watch(()=>i.value,(l,v)=>{const B=l||{},P=v||{};JSON.stringify(B)!==JSON.stringify(P)&&a.emit("resize",{newSize:l,oldSize:v,isMaximized:O.value})}),e.watch([()=>t.width,()=>t.height],(l,v)=>{(l[0]!==v[0]||l[1]!==v[1])&&(n.value=l[0]||500,o.value=l[1]||600)}),e.watch(()=>t.class,(l,v)=>{c.value=l});const K=e.computed(()=>(s.value&&document.body.classList.add("modal-open"),s.value)),Ee=e.computed(()=>{var B;const l={modal:!0,"farris-modal":!0,fade:!0,"fe-cmp-page-modal":!!t.showFloatingClose};l["f-modal-fitContent"]=!!d.value,l.show=!!K.value;const v=(B=t.maskClass)==null?void 0:B.split(" ");return v==null||v.reduce((P,Y)=>(P[Y]=!0,P),l),l}),ke=e.computed(()=>{var B;const l={"modal-dialog":!0},v=(B=c.value)==null?void 0:B.split(" ");return v==null||v.reduce((P,Y)=>(P[Y]=!0,P),l),l}),Be=()=>X.isMobilePhone()&&!t.isMessager||!!t.fullscreen,ze=e.computed(()=>{const l=document.documentElement.clientWidth,v=document.documentElement.clientHeight;if(O.value)return{position:"fixed",top:"0px",left:"0px",width:"100vw",height:"100vh",margin:"0"};const B=Math.min(n.value,l),P=t.position==="right"?"100%":d.value?"auto":`${Math.min(o.value,v-10)}px`,Y=`${(window.innerHeight-(P==="100%"||P==="auto"?0:parseInt(P)))/2}px`,Ye=t.position==="right"?`${window.innerWidth-B}px`:`${(window.innerWidth-B)/2}px`,me={position:"absolute",top:Y,left:Ye,width:X.isMobilePhone()?"auto":`${B}px`,height:P};return t.mask||(me.pointerEvents="auto"),me}),fe=e.ref(X.getMaxZIndex()||1050),Pe=e.computed(()=>{const l={display:"block",overflow:"hidden"};return t.mask||(l.pointerEvents="none",l.backgroundColor="transparent"),H.value&&(l.backgroundColor="transparent"),l.zIndex=fe.value,l}),Ve=e.computed(()=>({"modal-content":!0,"modal-content-has-header":f.value,"is-mobile":Be()})),Te=e.computed(()=>{const l={display:f.value?"":"none"};return l["pointer-events"]=r.value?"auto":"none",l}),Ne=e.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:O.value})),He=e.computed(()=>({"modal-body":!0,"f-utils-flex-column":I.value==="iframe","f-utils-fill":!0}));function Se(){return{height:`${t.footerHeight||60}px`}}const Ie=e.computed(()=>{const l={textAlgin:R.value},v=Se();return Object.assign(l,v)});function Q(l){if(l==null||l.stopPropagation(),O.value){O.value=!1,G();return}J(),O.value=!0}async function Fe(l,v){l.handle?await l.handle(v,l)&&a.emit("closed",v):a.emit("buttonClick",{button:l,$event:v})}function Re(l){l.width&&(n.value=l.width),l.height&&(o.value=l.height),l.buttons&&(g.value=l.buttons),l.title&&(y.value=l.title)}let ee=null,te=null;e.onBeforeMount(()=>{H.value=ce()}),e.onMounted(()=>{D.value&&!w.value&&(w.value=D.value.parentElement,_.value=w.value,T(S.value,D.value,_.value)),K.value&&document.body.classList.add("modal-open"),ee=we(t,a),te=pe(t,a)}),e.onUnmounted(()=>{p&&p(),ee&&ee.remove(),te&&te.remove()}),a.expose({modalElementRef:D,updateModalOptions:Re,close:L,maxDialog:Q,isMaximized:O,disableButtons:(l,v=!0)=>{g.value.forEach(B=>{B.name&&l.includes(B.name)&&(B.disabled=v)})}});function je(){return e.createVNode("div",{class:"action-wrapper",onClick:l=>L(l,!1)},[e.createVNode("span",{class:"close-icon"},[e.createVNode("i",{class:"f-icon f-icon-close"},null)])])}function Oe(){return e.createVNode("ul",null,[z.value&&e.createVNode("li",{class:"f-btn-icon f-bare"},[e.createVNode("span",{class:"f-icon modal_minimize"},null)]),x.value&&e.createVNode("li",{onClick:Q,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[e.createVNode("span",{class:Ne.value},null)]),E.value&&e.createVNode("li",{class:"f-btn-icon f-bare",onClick:l=>L(l,!1),style:"pointer-events: auto;"},[e.createVNode("span",{class:"f-icon modal_close"},null)])])}const Le=l=>{l.preventDefault();const v=l.currentTarget,B=l.deltaY*.5;v.scrollLeft+=B};function We(){return e.createVNode("div",{class:"modal-footer",style:Ie.value},[g.value&&e.createVNode("div",{class:"buttons",onWheel:Le},[g.value.map(l=>{var P;const v=e.ref(l.disabled),B=l.class||((P=l.appearance)==null?void 0:P.class)||"btn btn-secondary";return e.createVNode("button",e.mergeProps(X.extractDataAttrs(l),{name:l.name,style:l.styles,type:"button",disabled:v.value,class:B+(l.iconClass?" btn-icontext":"")+(l.visible===!1?"d-none":""),onClick:Y=>{Fe(l,Y)}}),[!!l.iconClass&&e.createVNode("i",{class:l.iconClass},null),l.text])})])])}function he(l){x.value&&Q()}function De(){return e.createVNode(e.Fragment,null,[O.value&&e.createVNode("div",{class:"modal-header",style:"position: absolute;background: transparent;height: 45px;width: 100%;",onDblclick:l=>he()},null),e.createVNode("div",{ref:S,class:"modal-header",style:Te.value,onDblclick:l=>he()},[a.slots.headerTemplate?a.slots.headerTemplate():e.createVNode("div",{class:"modal-title"},[M.value&&e.createVNode("span",{class:m.value,style:"margin-right: 8px"},null),e.createVNode("span",{class:"modal-title-label"},[y.value])]),e.createVNode("div",{class:"actions"},[Oe()])])])}function Ae(){return a.slots.footerTemplate?a.slots.footerTemplate():W.value&&We()}function $e(l){if(l.stopPropagation(),t.allowClickMaskToClose){if(l.target!==k.value)return;L(l,!1)}}function Ue(){var l,v;return e.createVNode("div",{id:u.value,class:ke.value,style:ze.value,ref:D},[t.showFloatingClose&&je(),e.createVNode("div",{class:Ve.value},[f.value&&De(),e.createVNode("div",{class:He.value},[(v=(l=a.slots).default)==null?void 0:v.call(l),I.value==="iframe"&&e.createVNode("iframe",{title:u.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:F.value},null)]),Ae()]),!d.value&&D.value&&!O.value&&Z(D.value)])}function qe(l){return l||"body"}return e.watchEffect(()=>{K.value&&(fe.value=X.getMaxZIndex()||1050)}),()=>e.createVNode(e.Teleport,{to:qe(t.host)},{default:()=>[K.value&&e.createVNode(e.Transition,{name:"fade",appear:!0},{default:()=>[e.createVNode("div",{ref:k,class:Ee.value,style:Pe.value,onClick:$e},[Ue()])]})]})}});function ie(t){if(t.content&&t.content.render)return t.content.render;if(t.render&&typeof t.render=="function")return t.render}function xe(t){const a=document.createElement("div");a.style.display="contents";const n=t.type||"modal",o=e.createApp({setup(s,u){e.onUnmounted(()=>{document.body.removeChild(a)});const c=e.ref(),d=e.ref(t.class||""),f=e.ref(!0),m=e.ref(t.title||""),E=ie(t),x=t.closedCallback||(N=>{}),z=N=>{f.value=!1,o.unmount(),x(N)};if(u.expose({ref:c}),n==="drawer")return()=>e.createVNode(le,{ref:c,modelValue:f.value,"onUpdate:modelValue":N=>f.value=N,id:"modal-service-drawer",title:m.value,width:t.width,height:t.height,position:t.position,backgroundColor:t.backgroundColor,host:t.host,showMask:t.showMask,allowClickMaskToClose:t.allowClickMaskToClose,transparent:t.transparent,showHeader:t.showHeader,showFooter:t.showButtons,buttons:t.buttons,beforeClose:t.beforeClose,customClass:d.value,onAfterClose:z},{default:()=>[E&&E(o)]});const I=e.ref(!!t.showButtons),F=e.ref(!!t.showHeader),R=e.ref(t.showCloseButton==null?!0:t.showCloseButton),j=e.ref(!!t.showFloatingClose),y=t.acceptCallback||(()=>{}),w=t.rejectCallback||(()=>{}),k=t.resizeHandle||(N=>{}),H=t.stopMoveHandle||(N=>{});return()=>e.createVNode(q,{ref:c,class:d.value,modelValue:f.value,"onUpdate:modelValue":N=>f.value=N,title:m.value,width:t.width,height:t.height,buttons:t.buttons,"show-header":F.value,"show-buttons":I.value,"show-close-button":R.value,"show-max-button":!1,showFloatingClose:j.value,onAccept:y,onCancel:w,fitContent:t.fitContent==null?!0:t.fitContent,onClosed:z,onResize:k,onStopMove:H},{default:()=>[E&&E(o)]})}});return document.body.appendChild(a),o.use(A.LocaleService.i18n),o.mount(a),o}class re{constructor(a){$(this,"appContext",null);$(this,"modalRef",e.ref());$(this,"activeModalIndex",e.ref(0));$(this,"modalRefs",{});$(this,"isUseEscCloseModal",e.ref(!1));this.app=a,this.appContext=a?a._context:null}getCurrentModal(){return this.modalRefs[this.activeModalIndex.value]}adaptToWindow(a,n){const{width:o,height:s}={width:window.innerWidth,height:window.innerHeight};return o<a&&(a=o-14),s<n&&(n=s-14),{width:a,height:n}}static show(a){const n=Object.assign({title:"",showButtons:!0,showHeader:!0},a);return xe(n)}close(a){var n,o;a?(o=a.value)==null||o.close():(n=this.getCurrentModal())==null||n.close()}open(a){const n=document.createDocumentFragment(),o=a.type||"modal";a.showMaxButton&&a.fitContent&&(a.showMaxButton=!1);const s=e.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0,maximized:!1},a)),u=e.ref(!0),c=ie(s.value),d=s.value.closedCallback||((y,w)=>{}),f=s.value.openedCallback||(y=>{});let m;const E=y=>{var k;u.value=!1;const w=(k=y==null?void 0:y.target)==null?void 0:k.classList.contains("modal_close");d(y,this.isUseEscCloseModal.value?"esc":w?"icon":"button")},x=y=>{E(y),m&&e.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],e.render(null,n),m=null,this.modalRef.value=null,this.modalRefs){const w=Object.keys(this.modalRefs).map(k=>Number(k));w.length>0?this.activeModalIndex.value=Math.max(...w):this.activeModalIndex.value=0,this.modalRefs[this.activeModalIndex.value]&&(this.modalRef.value=this.modalRefs[this.activeModalIndex.value])}this.isUseEscCloseModal.value=!1})},z=e.ref();let I;if(o==="drawer")I=()=>e.createVNode(le,e.mergeProps({ref:z,modelValue:u.value,"onUpdate:modelValue":y=>u.value=y,id:"modal-service-drawer"},s.value,{onAfterClose:x}),{default:()=>[c&&c(this.app)]});else{const y=s.value.acceptCallback||(()=>{}),w=s.value.rejectCallback||(()=>{}),k=s.value.resizeHandle||(M=>{}),H=a.stopMoveHandle||(M=>{}),N=M=>{var W;this.isUseEscCloseModal.value=!0,(W=this.getCurrentModal())==null||W.close(M==null?void 0:M.event)},{width:L,height:h}=s.value,g=this.adaptToWindow(Number(L)||500,Number(h)||320);Object.assign(s.value,g),I=()=>e.createVNode(q,e.mergeProps({ref:z,modelValue:u.value,"onUpdate:modelValue":M=>u.value=M},s.value,{isMessager:s.value.class&&s.value.class.indexOf("modal-message")>-1,onAccept:y,onCancel:w,onClosed:x,onResize:k,onEsc:N,onStopMove:H,maximized:s.value.maximized}),{default:()=>[c&&c(this.app)]})}m=(y=>{const w=e.h(I,y);return w.appContext=this.appContext,e.render(w,n),w})({...s.value}),this.activeModalIndex.value++;const R=this.activeModalIndex.value;this.modalRefs[R]=z.value;const j=y=>{s.value={...s.value,...y},m&&e.render(e.cloneVNode(m,{...s}),n)};return e.nextTick(()=>{this.modalRefs[R]=z.value,this.modalRef.value=z.value,f(new Event("opened"))}),{update:j,destroy:x,modalRef:z,close:()=>{var y;(y=z.value)==null||y.close()},disableButtons:(y,w=!0)=>{var k,H;(H=(k=z.value)==null?void 0:k.disableButtons)==null||H.call(k,y,w)}}}}const Ce=[{label:"beforeClose",name:"关闭前事件"},{label:"onAccept",name:"确定事件"},{label:"onCancel",name:"取消事件"}],ue=t=>t&&t.length?t.map(a=>`${a.name}[${a.bindingPath}]`).join(","):"";class Me extends ve.BaseControlProperty{constructor(n,o){super(n,o);$(this,"numberEditor",{type:"number-spinner",useThousands:!1});$(this,"buttonProperty",new ge.ButtonProperty(this.componentId,this.designerHostService,!1))}getPropertyConfig(n){const o=this.getEventPropConfig(n);return this.propertyConfig.categories.dialog=this.getDialogPropertyConfig(n),this.propertyConfig.categories.eventsEditor=o,this.propertyConfig}getToDataSource(){const n=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId),o=this.schemaService.getPrimaryField();return o?n.filter(s=>s.data.bindingPath!==o):n}getModalButtons(n){const o=this.formSchemaUtils.getExternalComponents().find(s=>s.id===n);return o?o.buttons||[]:[]}setModalButtons(n,o){const s=this.formSchemaUtils.getExternalComponents().find(u=>u.id===n);s&&(s.buttons=o)}getDialogPropertyConfig(n){const o=this.getModalButtons(n.id);return{description:"窗口尺寸配置",title:"窗口",parentPropertyID:"dialog",properties:{showHeader:{description:"是否展示头部",title:"是否展示头部",type:"boolean",refreshPanelAfterChanged:!0},title:{description:"标题",title:"标题",type:"string",visible:!!n.showHeader},width:{description:"窗口宽度,单位:px,最小值:300px,最大值:3000px",title:"宽度",type:"number",editor:{...this.numberEditor,min:300,max:3e3}},height:{description:"窗口高度,单位:px,最小值:200px,最大值:2000px",title:"高度",type:"number",editor:{...this.numberEditor,min:200,max:2e3}},resizeable:{description:"允许鼠标拖拽窗口边缘调整尺寸",title:"允许调整窗口尺寸",type:"boolean",visible:!0},enableEsc:{description:"允许ESC关闭",title:"允许ESC关闭",type:"boolean",visible:!1},showMaxButton:{description:"显示最大化按钮",title:"显示最大化按钮",type:"boolean",visible:!0},showCloseButton:{description:"显示关闭按钮",title:"显示关闭按钮",type:"boolean",visible:!0},mapFields:{description:"弹出表单选中的数据映射到表单字段",title:"映射字段",type:"string",visible:!1,editor:{type:"mapping-editor",modalWidth:800,modalHeight:600,editable:!1,beforeOpen:({fromDataSource:s,toDataSource:u,gridColumns:c,repository:d})=>{if(!n.contents||!n.contents.length||!n.contents[0].externalComponent)return{open:!1,messager:"请选择一个表单"};const{id:f,relativePath:m}=n.contents[0].externalComponent;return u.value=this.getToDataSource(),c[1].editor.data=u.value,this.metadataService.getRefMetadata(m,f).then(E=>{let x=JSON.parse(E.data.content).Contents;typeof x=="string"&&(x=JSON.parse(x)),s.value=d.buildTreeData(x.module.entity[0]),c[0].editor.data=u.value}),!0},fromData:{editable:!0,formatter:(s,u)=>`${u.raw.name} [${u.raw.bindingPath}]`,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],repositoryToken:ye.FieldSelectorRepositoryToken,displayFormatter:ue},toData:{editable:!1,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],formatter:(s,u)=>`${u.raw.name} [${u.raw.bindingPath}]`,displayFormatter:ue}}},showButtons:{description:"是否显示底部按钮组",title:"显示底部按钮组",type:"boolean",refreshPanelAfterChanged:!0,visible:!0},buttons:{description:"弹窗底部自定义按钮, 未设置时使用默认按钮,显示取消、确定",title:"按钮组",type:"array",defaultValue:`共 ${o.length} 项`,visible:!1,$converter:{convertFrom:()=>`共 ${o.length} 项`},editor:{type:"button-edit",editable:!1,enableClear:!0,buttonContent:'<i class="f-icon f-icon-lookup"></i>',onClear:()=>{const{messagerService:s}=this.designerHostService;s.question("您确定要清空所有按钮吗?","",()=>{this.setModalButtons(n.id,[]),this.getFormDesignerInstance().reloadPropertyPanel()},()=>{this.getFormDesignerInstance().reloadPropertyPanel()})},onClickButton:()=>{be.useButtonItemsDesigner(this.designerHostService,{buttons:o,modalPropertyData:n,componentId:this.componentId,viewModelId:this.viewModelId,forModalFooter:!0}).show(()=>{this.getFormDesignerInstance().reloadPropertyPanel()})}}}}}}getEventPropConfig(n){const o=this,s=Ce,u=o.eventsEditorUtils.formProperties(n,o.viewModelId,s);return{title:"事件",hideTitle:!0,properties:o.createBaseEventProperty(u),refreshPanelAfterChanged:!0,tabId:X.EVENT_PROPERTY_TAB_IDS,tabName:"交互",setPropertyRelates(d,f){const m=d.propertyValue;delete n[o.viewModelId],m&&o.eventsEditorUtils.saveRelatedParameters(n,o.viewModelId,m.events,m),s.forEach(E=>{f[E.label]=n[E.label]})}}}}const de=Symbol("FModalService");q.install=t=>{t.component(q.name,q);const a=new re(t);t.provide(de,a),t.provide("FModalService",a)},C.FModal=q,C.FModalService=re,C.F_MODAL_SERVICE_TOKEN=de,C.ModalProperty=Me,C.default=q,C.modalProps=ae,C.useDraggable=oe,C.useResizeable=ne,Object.defineProperties(C,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|