@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.
Files changed (61) hide show
  1. package/components/batch-editor/index.esm.js +6850 -6840
  2. package/components/batch-editor/index.umd.cjs +20 -20
  3. package/components/button/index.esm.js +6852 -6842
  4. package/components/button/index.umd.cjs +20 -20
  5. package/components/button-edit/index.esm.js +140 -140
  6. package/components/button-edit/index.umd.cjs +1 -1
  7. package/components/button-group/index.esm.js +46 -45
  8. package/components/button-group/index.umd.cjs +1 -1
  9. package/components/common/index.esm.js +16 -12
  10. package/components/common/index.umd.cjs +1 -1
  11. package/components/component/index.esm.js +411 -411
  12. package/components/component/index.umd.cjs +2 -2
  13. package/components/data-view/index.esm.js +6500 -6487
  14. package/components/data-view/index.umd.cjs +21 -21
  15. package/components/designer-canvas/index.esm.js +269 -269
  16. package/components/designer-canvas/index.umd.cjs +1 -1
  17. package/components/expression-editor/index.esm.js +458 -458
  18. package/components/expression-editor/index.umd.cjs +2 -2
  19. package/components/filter-condition-editor/index.esm.js +386 -386
  20. package/components/filter-condition-editor/index.umd.cjs +1 -1
  21. package/components/flow-canvas/index.esm.js +1100 -1100
  22. package/components/flow-canvas/index.umd.cjs +7 -7
  23. package/components/mapping-editor/index.esm.js +243 -243
  24. package/components/mapping-editor/index.umd.cjs +2 -2
  25. package/components/message-box/index.esm.js +82 -82
  26. package/components/message-box/index.umd.cjs +1 -1
  27. package/components/modal/index.esm.js +76 -76
  28. package/components/modal/index.umd.cjs +1 -1
  29. package/components/order/index.esm.js +139 -138
  30. package/components/order/index.umd.cjs +1 -1
  31. package/components/query-solution/index.esm.js +891 -891
  32. package/components/query-solution/index.umd.cjs +1 -1
  33. package/components/response-toolbar/index.esm.js +151 -149
  34. package/components/response-toolbar/index.umd.cjs +1 -1
  35. package/components/schema-selector/index.esm.js +947 -941
  36. package/components/schema-selector/index.umd.cjs +6 -6
  37. package/components/section/index.esm.js +121 -121
  38. package/components/section/index.umd.cjs +2 -2
  39. package/components/sort-condition-editor/index.esm.js +539 -539
  40. package/components/sort-condition-editor/index.umd.cjs +1 -1
  41. package/components/tabs/index.esm.js +448 -442
  42. package/components/tabs/index.umd.cjs +1 -1
  43. package/designer/button-edit/index.esm.js +97 -97
  44. package/designer/button-edit/index.umd.cjs +1 -1
  45. package/designer/data-grid/index.esm.js +6483 -6470
  46. package/designer/data-grid/index.umd.cjs +21 -21
  47. package/designer/farris-designer.all.esm.js +1891 -1885
  48. package/designer/farris-designer.all.umd.cjs +14 -14
  49. package/designer/radio-group/index.esm.js +183 -183
  50. package/designer/radio-group/index.umd.cjs +2 -2
  51. package/designer/response-toolbar/index.esm.js +558 -556
  52. package/designer/response-toolbar/index.umd.cjs +1 -1
  53. package/designer/tabs/index.esm.js +416 -416
  54. package/designer/tabs/index.umd.cjs +2 -2
  55. package/farris.all.esm.js +9133 -9119
  56. package/farris.all.umd.cjs +35 -35
  57. package/package.json +1 -1
  58. package/types/common/index.d.ts +1 -0
  59. package/types/common/utils/attrs.d.ts +26 -0
  60. package/types/modal/src/composition/type.d.ts +2 -0
  61. 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, mergeProps as re } from "vue";
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, EVENT_PROPERTY_TAB_IDS as Qe } from "../common/index.esm.js";
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 et } from "../property-panel/index.esm.js";
9
- import { ButtonProperty as tt } from "../button/index.esm.js";
10
- import { FieldSelectorRepositoryToken as lt } from "../field-selector/index.esm.js";
11
- import { useButtonItemsDesigner as at } from "../collection-property-editor/index.esm.js/src/use-button-items.designer";
12
- const nt = {
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 ot(e, t) {
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 j(i) {
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 && j(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 D() {
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), D());
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 st(e, t, a) {
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 D, F;
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 = ((D = h.value) == null ? void 0 : D.x) || 0, x.value.x = 0) : r.value === "y" && (y = ((F = h.value) == null ? void 0 : F.y) || 0, x.value.y = 0);
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 j(f, y, M) {
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 D = y.querySelector(e.dragHandle);
492
- D && (c.value = D);
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: j,
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 it(e, t) {
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 ut(e, t) {
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: nt,
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 j(l, m) {
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
- j(l, !1);
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
- j(l, !0);
566
+ D(l, !0);
567
567
  }
568
- }], y = o(e.buttons && e.buttons.length ? e.buttons : f), M = A(() => !!h.value), D = A(() => !!W.value && !!y.value), F = o(), N = o(), V = o(e.maximized || !1), {
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
- } = ot(e), {
577
+ } = st(e), {
578
578
  registerDraggle: T
579
- } = st(e, t, u);
580
- function oe() {
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 = oe() : (V.value = !1, u.value = e.draggable);
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`, De = e.position === "right" ? `${window.innerWidth - B}px` : `${(window.innerWidth - B) / 2}px`, ue = {
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: De,
636
+ left: je,
637
637
  width: de() ? "auto" : `${B}px`,
638
638
  height: H
639
639
  };
640
- return e.mask || (ue.pointerEvents = "auto"), ue;
641
- }), se = o(ce() || 1050), xe = A(() => {
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 = se.value, l;
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 = oe();
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 = it(e, t), le = ut(e, t);
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: j,
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) => j(l, !1)
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) => j(l, !1),
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 ie(l) {
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) => ie()
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) => ie()
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() : D.value && Re();
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
- j(l, !1);
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 je(l) {
822
+ function De(l) {
823
823
  return l || "body";
824
824
  }
825
825
  return Xe(() => {
826
- K.value && (se.value = ce() || 1050);
826
+ K.value && (ie.value = ce() || 1050);
827
827
  }), () => g(qe, {
828
- to: je(e.host)
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 rt(e) {
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 dt {
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 rt(a);
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, re({
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 D;
1005
- this.isUseEscCloseModal.value = !0, (D = this.getCurrentModal()) == null || D.close(M == null ? void 0 : M.event);
1004
+ var j;
1005
+ this.isUseEscCloseModal.value = !0, (j = this.getCurrentModal()) == null || j.close(M == null ? void 0 : M.event);
1006
1006
  }, {
1007
- width: j,
1007
+ width: D,
1008
1008
  height: f
1009
- } = s.value, y = this.adaptToWindow(Number(j) || 500, Number(f) || 320);
1010
- Object.assign(s.value, y), R = () => g(J, re({
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 ct = [
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 xt extends et {
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 tt(this.componentId, this.designerHostService, !1));
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: lt,
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
- at(this.designerHostService, {
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 = ct, r = n.eventsEditorUtils.formProperties(a, n.viewModelId, 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: Qe,
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 vt = Symbol("FModalService");
1266
+ const ft = Symbol("FModalService");
1267
1267
  J.install = (e) => {
1268
1268
  e.component(J.name, J);
1269
- const t = new dt(e);
1270
- e.provide(vt, t), e.provide("FModalService", t);
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
- dt as FModalService,
1275
- vt as F_MODAL_SERVICE_TOKEN,
1276
- xt as ModalProperty,
1274
+ ct as FModalService,
1275
+ ft as F_MODAL_SERVICE_TOKEN,
1276
+ Mt as ModalProperty,
1277
1277
  J as default,
1278
- nt as modalProps,
1279
- st as useDraggable,
1280
- ot as useResizeable
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"}})});