@farris/ui-vue 1.8.0-alpha.0 → 1.8.0-beta.1

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 (193) hide show
  1. package/components/avatar/index.esm.js +138 -1526
  2. package/components/avatar/index.umd.cjs +1 -6
  3. package/components/button/index.css +1 -1
  4. package/components/button/index.esm.js +15951 -15410
  5. package/components/button/index.umd.cjs +27 -27
  6. package/components/calendar/index.esm.js +269 -255
  7. package/components/calendar/index.umd.cjs +3 -3
  8. package/components/collection-property-editor/index.esm.js +243 -229
  9. package/components/collection-property-editor/index.umd.cjs +2 -2
  10. package/components/combo-list/index.esm.js +32 -32
  11. package/components/combo-list/index.umd.cjs +1 -1
  12. package/components/comment/index.esm.js +473 -456
  13. package/components/comment/index.umd.cjs +6 -6
  14. package/components/component/index.css +1 -1
  15. package/components/component/index.esm.js +2503 -2239
  16. package/components/component/index.umd.cjs +2 -2
  17. package/components/condition/index.esm.js +1064 -954
  18. package/components/condition/index.umd.cjs +2 -2
  19. package/components/data-grid/index.esm.js +1 -1
  20. package/components/data-grid/index.umd.cjs +1 -1
  21. package/components/designer-canvas/index.css +1 -1
  22. package/components/designer-canvas/index.esm.js +3894 -3058
  23. package/components/designer-canvas/index.umd.cjs +1 -1
  24. package/components/drawer/index.esm.js +91 -77
  25. package/components/drawer/index.umd.cjs +2 -2
  26. package/components/dynamic-form/index.esm.js +220 -215
  27. package/components/dynamic-form/index.umd.cjs +1 -1
  28. package/components/dynamic-resolver/index.esm.js +145 -131
  29. package/components/dynamic-resolver/index.umd.cjs +2 -2
  30. package/components/dynamic-view/index.esm.js +336 -329
  31. package/components/dynamic-view/index.umd.cjs +1 -1
  32. package/components/events-editor/index.esm.js +1611 -1536
  33. package/components/events-editor/index.umd.cjs +3 -3
  34. package/components/expression-editor/index.esm.js +219 -219
  35. package/components/expression-editor/index.umd.cjs +2 -2
  36. package/components/external-container/index.esm.js +179 -178
  37. package/components/external-container/index.umd.cjs +1 -1
  38. package/components/fieldset/index.esm.js +285 -221
  39. package/components/fieldset/index.umd.cjs +1 -1
  40. package/components/filter-bar/index.css +1 -0
  41. package/components/filter-bar/index.esm.js +1512 -1290
  42. package/components/filter-bar/index.umd.cjs +7 -7
  43. package/components/filter-condition-editor/index.esm.js +851 -831
  44. package/components/filter-condition-editor/index.umd.cjs +3 -3
  45. package/components/flow-canvas/index.esm.js +520 -501
  46. package/components/flow-canvas/index.umd.cjs +8 -8
  47. package/components/image/index.esm.js +101 -79
  48. package/components/image/index.umd.cjs +3 -3
  49. package/components/language-textbox/index.esm.js +330 -251
  50. package/components/language-textbox/index.umd.cjs +2 -2
  51. package/components/list-nav/index.esm.js +399 -313
  52. package/components/list-nav/index.umd.cjs +1 -1
  53. package/components/locale/index.esm.js +3 -0
  54. package/components/locale/index.umd.cjs +1 -1
  55. package/components/lookup/index.esm.js +997 -976
  56. package/components/lookup/index.umd.cjs +2 -2
  57. package/components/mapping-editor/index.esm.js +725 -705
  58. package/components/mapping-editor/index.umd.cjs +1 -1
  59. package/components/message-box/index.esm.js +542 -522
  60. package/components/message-box/index.umd.cjs +1 -1
  61. package/components/nav/index.esm.js +95 -308
  62. package/components/nav/index.umd.cjs +1 -1
  63. package/components/number-range/index.esm.js +115 -107
  64. package/components/number-range/index.umd.cjs +2 -2
  65. package/components/order/index.esm.js +56 -54
  66. package/components/order/index.umd.cjs +1 -1
  67. package/components/page-footer/index.esm.js +135 -123
  68. package/components/page-footer/index.umd.cjs +1 -1
  69. package/components/page-header/index.esm.js +266 -222
  70. package/components/page-header/index.umd.cjs +1 -1
  71. package/components/property-panel/index.esm.js +402 -375
  72. package/components/property-panel/index.umd.cjs +4 -4
  73. package/components/query-solution/index.esm.js +3171 -3061
  74. package/components/query-solution/index.umd.cjs +7 -7
  75. package/components/response-toolbar/index.esm.js +1 -1
  76. package/components/response-toolbar/index.umd.cjs +1 -1
  77. package/components/schema-selector/index.esm.js +1620 -1608
  78. package/components/schema-selector/index.umd.cjs +5 -5
  79. package/components/scroll-navbar/index.esm.js +150 -136
  80. package/components/scroll-navbar/index.umd.cjs +2 -2
  81. package/components/section/index.esm.js +323 -311
  82. package/components/section/index.umd.cjs +2 -2
  83. package/components/sort-condition-editor/index.esm.js +850 -830
  84. package/components/sort-condition-editor/index.umd.cjs +3 -3
  85. package/components/step/index.esm.js +991 -224
  86. package/components/step/index.umd.cjs +1 -1
  87. package/components/tabs/index.esm.js +356 -334
  88. package/components/tabs/index.umd.cjs +1 -1
  89. package/components/wizard/index.esm.js +159 -162
  90. package/components/wizard/index.umd.cjs +1 -1
  91. package/designer/avatar/index.esm.js +1721 -0
  92. package/designer/avatar/index.umd.cjs +6 -0
  93. package/designer/button-edit/index.esm.js +2 -1
  94. package/designer/button-edit/index.umd.cjs +1 -1
  95. package/designer/data-grid/index.esm.js +693 -659
  96. package/designer/data-grid/index.umd.cjs +6 -6
  97. package/designer/data-view/index.esm.js +90 -78
  98. package/designer/data-view/index.umd.cjs +2 -2
  99. package/designer/date-picker/index.esm.js +203 -203
  100. package/designer/date-picker/index.umd.cjs +1 -1
  101. package/designer/drawer/index.esm.js +181 -167
  102. package/designer/drawer/index.umd.cjs +2 -2
  103. package/designer/dynamic-form/index.esm.js +228 -206
  104. package/designer/dynamic-form/index.umd.cjs +2 -2
  105. package/designer/farris-designer.all.esm.js +10014 -9692
  106. package/designer/farris-designer.all.umd.cjs +18 -18
  107. package/designer/index.css +1 -1
  108. package/designer/input-group/index.esm.js +15 -15
  109. package/designer/input-group/index.umd.cjs +1 -1
  110. package/designer/nav/index.esm.js +1719 -0
  111. package/designer/nav/index.umd.cjs +6 -0
  112. package/designer/number-spinner/index.esm.js +8 -7
  113. package/designer/number-spinner/index.umd.cjs +1 -1
  114. package/designer/radio-group/index.esm.js +133 -125
  115. package/designer/radio-group/index.umd.cjs +2 -2
  116. package/designer/response-toolbar/index.esm.js +864 -863
  117. package/designer/response-toolbar/index.umd.cjs +1 -1
  118. package/designer/section/index.esm.js +245 -183
  119. package/designer/section/index.umd.cjs +1 -1
  120. package/designer/tabs/index.css +1 -1
  121. package/designer/tabs/index.esm.js +3667 -2810
  122. package/designer/tabs/index.umd.cjs +2 -2
  123. package/designer/time-picker/index.esm.js +26 -17
  124. package/designer/time-picker/index.umd.cjs +2 -2
  125. package/designer/tree-grid/index.esm.js +69 -37
  126. package/designer/tree-grid/index.umd.cjs +1 -1
  127. package/designer/wizard/index.esm.js +110 -110
  128. package/designer/wizard/index.umd.cjs +3 -3
  129. package/farris.all.esm.js +39993 -39089
  130. package/farris.all.umd.cjs +36 -36
  131. package/index.css +1 -1
  132. package/locales/filter-bar/ui/en.json +1 -0
  133. package/locales/filter-bar/ui/zh-CHS.json +1 -0
  134. package/locales/filter-bar/ui/zh-CHT.json +1 -0
  135. package/locales/ui/en.json +1 -0
  136. package/locales/ui/zh-CHS.json +1 -0
  137. package/locales/ui/zh-CHT.json +1 -0
  138. package/package.json +1 -1
  139. package/types/avatar/designer.d.ts +28 -0
  140. package/types/avatar/index.d.ts +0 -15
  141. package/types/avatar/src/composition/types.d.ts +3 -0
  142. package/types/avatar/src/composition/use-file.d.ts +19 -0
  143. package/types/avatar/src/composition/use-image.d.ts +1 -1
  144. package/types/avatar/src/designer/avatar.design.props.d.ts +24 -0
  145. package/types/avatar/src/property-config/avatar.property-config.d.ts +11 -13
  146. package/types/avatar/src/schema/schema-mapper.d.ts +2 -0
  147. package/types/components.d.ts +3 -0
  148. package/types/condition/index.d.ts +18 -6
  149. package/types/condition/src/condition-fields.component.d.ts +9 -3
  150. package/types/condition/src/condition-fields.design.component.d.ts +9 -3
  151. package/types/condition/src/condition-list.component.d.ts +9 -3
  152. package/types/condition/src/condition.props.d.ts +11 -0
  153. package/types/data-view/designer/property-config/use-appearance.d.ts +17 -10
  154. package/types/data-view/designer/property-config/use-pagination.d.ts +0 -6
  155. package/types/designer-canvas/src/composition/dg-control.d.ts +13 -0
  156. package/types/dynamic-form/src/component/dynamic-form-label/dynamic-form-label.component.d.ts +3 -0
  157. package/types/dynamic-form/src/component/dynamic-form-label/dynamic-form-label.props.d.ts +4 -0
  158. package/types/dynamic-resolver/src/converter/tree-auto-check.converter.d.ts +3 -0
  159. package/types/dynamic-view/src/components/maps.d.ts +130 -4
  160. package/types/filter-bar/src/composition/types.d.ts +2 -0
  161. package/types/filter-bar/src/filter-bar.props.d.ts +0 -1
  162. package/types/filter-bar/src/locale/locale.d.ts +2 -1
  163. package/types/filter-bar/src/property-config/filter-bar.property-config.d.ts +0 -1
  164. package/types/language-textbox/index.d.ts +65 -2
  165. package/types/language-textbox/src/designer/language-textbox.design.component.d.ts +36 -0
  166. package/types/language-textbox/src/language-textbox.component.d.ts +38 -1
  167. package/types/language-textbox/src/language-textbox.props.d.ts +20 -0
  168. package/types/lookup/src/components/popup-container.component.d.ts +3 -3
  169. package/types/lookup/src/composition/use-compat.d.ts +28 -0
  170. package/types/lookup/src/composition/use-state.d.ts +1 -0
  171. package/types/message-box/src/message-box.service.d.ts +2 -1
  172. package/types/nav/designer.d.ts +28 -0
  173. package/types/nav/index.d.ts +24 -20
  174. package/types/nav/src/designer/nav.design.props.d.ts +29 -0
  175. package/types/nav/src/designer/use-design-rules.d.ts +3 -0
  176. package/types/nav/src/property-config/nav.property-config.d.ts +9 -0
  177. package/types/nav/src/schema/schema-mapper.d.ts +4 -0
  178. package/types/page-footer/src/designer/use-designer-rules.d.ts +2 -2
  179. package/types/page-header/src/designer/use-designer-rules.d.ts +2 -2
  180. package/types/property-panel/src/composition/entity/input-base-property.d.ts +1 -0
  181. package/types/query-solution/src/designer/query-solution-config/composition/use-util.d.ts +1 -1
  182. package/types/query-solution/src/designer/query-solution-config/query-solution-config.props.d.ts +1 -1
  183. package/types/section/src/designer/section.design.props.d.ts +4 -0
  184. package/types/section/src/property-config/section.property-config.d.ts +39 -0
  185. package/types/section/src/schema/toolbar-resolver.d.ts +0 -1
  186. package/types/step/src/designer/use-designer-rules.d.ts +3 -0
  187. package/types/step/src/designer/use-step-creator.d.ts +6 -0
  188. package/types/step/src/property-config/step.property-config.d.ts +15 -0
  189. package/types/step/src/schema/schema-resolver.d.ts +2 -1
  190. package/types/tabs/src/composition/types.d.ts +4 -0
  191. package/types/tabs/src/tabs.props.d.ts +6 -0
  192. package/types/tooltip/index.d.ts +3 -3
  193. package/types/tooltip/src/tooltip.component.d.ts +2 -2
@@ -1,24 +1,24 @@
1
- import { defineComponent as T, createVNode as v, inject as x, ref as P, createTextVNode as j, computed as E, provide as A, watch as $, onMounted as J, Fragment as O } from "vue";
2
- import { resolveAppearance as q, createPropsResolver as L } from "../dynamic-resolver/index.esm.js";
3
- import { DgControl as z, useDesignerComponent as H, FDesignerItem as K } from "../designer-canvas/index.esm.js";
4
- import { FormSchemaRepositorySymbol as k } from "../common/index.esm.js";
5
- import { BaseControlProperty as _ } from "../property-panel/index.esm.js";
6
- import { FLoadingService as W } from "../loading/index.esm.js";
7
- import { FNotifyService as D } from "../notify/index.esm.js";
8
- import { FSchemaSelector as G } from "../schema-selector/index.esm.js";
9
- const Q = /* @__PURE__ */ new Map([
10
- ["appearance", q]
1
+ import { defineComponent as T, createVNode as f, inject as S, ref as y, createTextVNode as j, computed as E, provide as J, watch as q, onMounted as L, Fragment as z } from "vue";
2
+ import { resolveAppearance as H, createPropsResolver as K } from "../dynamic-resolver/index.esm.js";
3
+ import { DgControl as _, useDesignerComponent as W, FDesignerItem as G } from "../designer-canvas/index.esm.js";
4
+ import { FormSchemaRepositorySymbol as D } from "../common/index.esm.js";
5
+ import { BaseControlProperty as Q } from "../property-panel/index.esm.js";
6
+ import { FLoadingService as X } from "../loading/index.esm.js";
7
+ import { FNotifyService as $ } from "../notify/index.esm.js";
8
+ import { FSchemaSelector as Y } from "../schema-selector/index.esm.js";
9
+ const Z = /* @__PURE__ */ new Map([
10
+ ["appearance", H]
11
11
  ]);
12
- function X(a, n, e, t) {
12
+ function V(i, n, e, t) {
13
13
  const o = e.parentComponentInstance;
14
- return o && t && (o.schema.type === z["list-nav"].type ? n.appearance = {
14
+ return o && t && (o.schema.type === _["list-nav"].type ? n.appearance = {
15
15
  class: "position-relative h-100"
16
16
  } : n.appearance = {
17
17
  class: "position-relative",
18
18
  style: "height:300px;flex-shrink: 0;"
19
19
  }), n;
20
20
  }
21
- const Y = "https://json-schema.org/draft/2020-12/schema", Z = "https://farris-design.gitee.io/external-container.schema.json", V = "external-container", ee = "A Farris Visual Component", te = "object", ne = {
21
+ const ee = "https://json-schema.org/draft/2020-12/schema", te = "https://farris-design.gitee.io/external-container.schema.json", ne = "external-container", oe = "A Farris Visual Component", ae = "object", ie = {
22
22
  id: {
23
23
  description: "The unique identifier for a external-container",
24
24
  type: "string"
@@ -56,21 +56,21 @@ const Y = "https://json-schema.org/draft/2020-12/schema", Z = "https://farris-de
56
56
  type: "object",
57
57
  default: {}
58
58
  }
59
- }, oe = [
59
+ }, re = [
60
60
  "id",
61
61
  "type",
62
62
  "externalComponent"
63
- ], ae = {
63
+ ], se = {
64
64
  onCommunication: "通讯事件"
65
- }, ie = {
66
- $schema: Y,
67
- $id: Z,
68
- title: V,
69
- description: ee,
70
- type: te,
71
- properties: ne,
72
- required: oe,
73
- events: ae
65
+ }, ce = {
66
+ $schema: ee,
67
+ $id: te,
68
+ title: ne,
69
+ description: oe,
70
+ type: ae,
71
+ properties: ie,
72
+ required: re,
73
+ events: se
74
74
  }, R = {
75
75
  customClass: { type: String, default: "" },
76
76
  customStyle: { type: String, default: "" },
@@ -79,23 +79,23 @@ const Y = "https://json-schema.org/draft/2020-12/schema", Z = "https://farris-de
79
79
  schema: { type: Object },
80
80
  useIsolateJs: { type: Boolean, default: !1 },
81
81
  externalComponent: { type: Object, default: {} }
82
- }, U = L(R, ie, Q, X), N = /* @__PURE__ */ T({
82
+ }, k = K(R, ce, Z, V), N = /* @__PURE__ */ T({
83
83
  name: "FExternalContainer",
84
84
  props: R,
85
85
  emits: [],
86
- setup(a, n) {
87
- return () => v("div", {
88
- class: a.customClass,
89
- style: a.customStyle
86
+ setup(i, n) {
87
+ return () => f("div", {
88
+ class: i.customClass,
89
+ style: i.customStyle
90
90
  }, [n.slots.default && n.slots.default()]);
91
91
  }
92
- }), re = {
93
- convertFrom: (a, n) => {
92
+ }), le = {
93
+ convertFrom: (i, n) => {
94
94
  var e;
95
- return (e = a.externalComponent) == null ? void 0 : e.name;
95
+ return (e = i.externalComponent) == null ? void 0 : e.name;
96
96
  },
97
- convertTo: (a, n, e) => {
98
- e && (a.externalComponent || (a.externalComponent = {}), Object.assign(a.externalComponent, {
97
+ convertTo: (i, n, e) => {
98
+ e && (i.externalComponent || (i.externalComponent = {}), Object.assign(i.externalComponent, {
99
99
  id: e.id,
100
100
  nameSpace: e.nameSpace,
101
101
  code: e.code,
@@ -107,7 +107,7 @@ const Y = "https://json-schema.org/draft/2020-12/schema", Z = "https://farris-de
107
107
  }));
108
108
  }
109
109
  };
110
- class se extends _ {
110
+ class me extends Q {
111
111
  constructor(n, e) {
112
112
  super(n, e);
113
113
  }
@@ -139,13 +139,13 @@ class se extends _ {
139
139
  { id: "recommend", title: "推荐", type: "Card", dataSource: "Recommand", pagination: !0 },
140
140
  { id: "total", title: "全部", type: "Card", dataSource: "Total", pagination: !0 }
141
141
  ],
142
- repositoryToken: k,
142
+ repositoryToken: D,
143
143
  validateFunction: (t) => {
144
144
  if (t.id)
145
145
  return e.checkFormValidtion(t);
146
146
  }
147
147
  },
148
- $converter: re
148
+ $converter: le
149
149
  }
150
150
  },
151
151
  setPropertyRelates(t) {
@@ -154,17 +154,17 @@ class se extends _ {
154
154
  };
155
155
  }
156
156
  checkFormValidtion(n) {
157
- const e = this.designerHostService.formSchemaUtils.getFormMetadataBasicInfo(), t = W.show();
158
- return this.designerHostService.metadataService.getPickMetadata(e.relativePath, n).then((o) => {
159
- t.value.close();
160
- const l = JSON.parse(o == null ? void 0 : o.metadata.content).Contents, { templateId: m, name: r } = l.module;
161
- if (["list-component", "tree-component", "list-view-component"].includes(m))
157
+ const e = this.designerHostService.formSchemaUtils.getFormMetadataBasicInfo(), t = this.designerHostService.formSchemaUtils.getOptions(), o = X.show();
158
+ return this.designerHostService.metadataService.getPickMetadata(e.relativePath, n).then((m) => {
159
+ o.value.close();
160
+ const u = JSON.parse(m == null ? void 0 : m.metadata.content).Contents, { templateId: c, name: d } = u.module;
161
+ if ((t == null ? void 0 : t.combineFormMode) === "custom" || ["list-component", "tree-component", "list-view-component"].includes(c))
162
162
  return !0;
163
- const g = `表单【${r}】不属于组件类模板,无法被引入到当前表单。`;
164
- return this.designerHostService.messagerService.warning(g), !1;
165
- }, (o) => {
166
- var p;
167
- return t.value.close(), this.designerHostService.messagerService.error(((p = o == null ? void 0 : o.response) == null ? void 0 : p.data.Message) || `查询表单【${n.name}】失败`), !1;
163
+ const r = `表单【${d}】不属于组件类模板,在严格模式下无法被导入到当前表单。<br/>请前往当前表单的配置页面将【表单组合模式】切换为自定义模式后,再引入表单【${d}】。`;
164
+ return this.designerHostService.messagerService.warning(r), !1;
165
+ }, (m) => {
166
+ var l;
167
+ return o.value.close(), this.designerHostService.messagerService.error(((l = m == null ? void 0 : m.response) == null ? void 0 : l.data.Message) || `查询表单【${n.name}】失败`), !1;
168
168
  });
169
169
  }
170
170
  getEventPropConfig(n) {
@@ -181,9 +181,9 @@ class se extends _ {
181
181
  refreshPanelAfterChanged: !0,
182
182
  tabId: "commands",
183
183
  tabName: "交互",
184
- setPropertyRelates(l, m) {
185
- const r = l.propertyValue;
186
- delete n[t.viewModelId], r && (r.setPropertyRelates = this.setPropertyRelates, t.eventsEditorUtils.saveRelatedParameters(n, t.viewModelId, r.events, r));
184
+ setPropertyRelates(l, u) {
185
+ const c = l.propertyValue;
186
+ delete n[t.viewModelId], c && (c.setPropertyRelates = this.setPropertyRelates, t.eventsEditorUtils.saveRelatedParameters(n, t.viewModelId, c.events, c));
187
187
  }
188
188
  };
189
189
  }
@@ -196,83 +196,84 @@ class se extends _ {
196
196
  const t = e.onCommunication.replace(/communication:/g, "").split(";");
197
197
  if (!(t != null && t.length))
198
198
  return;
199
- const o = this.designerHostService.formSchemaUtils.getFormSchema(), p = o.module.communications || [];
199
+ const o = this.designerHostService.formSchemaUtils.getFormSchema(), m = o.module.communications || [];
200
200
  let l = !1;
201
- if (t.map((m) => {
202
- const r = p.find((g) => g.id === m);
203
- r != null && r.source && r.source.formId !== e.externalComponent.id && (r.needDelete = !0, l = !0);
204
- }), o.module.communications = o.module.communications.filter((m) => !m.needDelete), l) {
201
+ if (t.map((u) => {
202
+ const c = m.find((d) => d.id === u);
203
+ c != null && c.source && c.source.formId !== e.externalComponent.id && (c.needDelete = !0, l = !0);
204
+ }), o.module.communications = o.module.communications.filter((u) => !u.needDelete), l) {
205
205
  e.onCommunication = "";
206
- const m = new D();
207
- m.globalConfig = { position: "top-center" }, m.warning({ message: "切换引入表单后,请重新配置组件通讯。" });
206
+ const u = new $();
207
+ u.globalConfig = { position: "top-center" }, u.warning({ message: "切换引入表单后,请重新配置组件通讯。" });
208
208
  }
209
209
  }
210
210
  }
211
- function ce(a, n) {
212
- const e = a.schema;
211
+ function ue(i, n) {
212
+ const e = i.schema;
213
213
  function t() {
214
214
  return !1;
215
215
  }
216
216
  function o() {
217
217
  return !0;
218
218
  }
219
- function p() {
219
+ function m() {
220
220
  return !0;
221
221
  }
222
222
  function l() {
223
223
  return !0;
224
224
  }
225
- function m() {
225
+ function u() {
226
226
  return "position:relative;padding:0 !important;border:0;overflow:hidden;";
227
227
  }
228
- function r(s) {
229
- return new se(s, n).getPropertyConfig(e, a.componentInstance.value);
228
+ function c(r) {
229
+ return new me(r, n).getPropertyConfig(e, i.componentInstance.value);
230
230
  }
231
- function g() {
232
- n != null && n.formSchemaUtils && n.formSchemaUtils.externalFormSchema.delete(a.schema.id);
231
+ function d() {
232
+ n != null && n.formSchemaUtils && n.formSchemaUtils.externalFormSchema.delete(i.schema.id);
233
233
  }
234
- return { canAccepts: t, checkCanDeleteComponent: o, checkCanMoveComponent: p, hideNestedPaddingInDesginerView: l, getStyles: m, getPropsConfig: r, onRemoveComponent: g };
234
+ return { canAccepts: t, checkCanDeleteComponent: o, checkCanMoveComponent: m, hideNestedPaddingInDesginerView: l, getStyles: u, getPropsConfig: c, onRemoveComponent: d };
235
235
  }
236
- const le = /* @__PURE__ */ T({
236
+ const pe = /* @__PURE__ */ T({
237
237
  name: "FImportExteranlSchema",
238
238
  emits: ["close", "submit"],
239
- setup(a, n) {
240
- const e = x("designer-host-service");
239
+ setup(i, n) {
240
+ var P;
241
+ const e = S("designer-host-service");
241
242
  let t;
242
- const o = P(), p = new D();
243
- p.globalConfig = {
243
+ const o = y(), m = new $();
244
+ m.globalConfig = {
244
245
  position: "top-center"
245
246
  };
246
- const l = x("FLoadingService"), m = e.formSchemaUtils.getFormMetadataBasicInfo(), r = P();
247
- async function g(c) {
248
- const d = e.formSchemaUtils.getFormMetadataBasicInfo(), C = l.show();
249
- return e.metadataService.getPickMetadata(d.relativePath, c).then((i) => {
250
- var B;
251
- (B = C.value) == null || B.close();
252
- const S = JSON.parse(i == null ? void 0 : i.metadata.content).Contents, {
253
- templateId: f,
254
- name: y
255
- } = S.module;
256
- if (["list-component", "tree-component", "list-view-component"].includes(f))
247
+ const l = S("FLoadingService"), u = e.formSchemaUtils.getFormMetadataBasicInfo(), c = y(), d = e.formSchemaUtils, r = y(((P = d.getOptions()) == null ? void 0 : P.combineFormMode) === "custom");
248
+ async function v(a) {
249
+ const s = e.formSchemaUtils.getFormMetadataBasicInfo(), h = l.show();
250
+ return e.metadataService.getPickMetadata(s.relativePath, a).then((p) => {
251
+ var U;
252
+ (U = h.value) == null || U.close();
253
+ const C = JSON.parse(p == null ? void 0 : p.metadata.content).Contents, {
254
+ templateId: A,
255
+ name: B
256
+ } = C.module;
257
+ if (r.value || ["list-component", "tree-component", "list-view-component"].includes(A))
257
258
  return !0;
258
- const M = `表单【${y}】不属于组件类模板,无法被引入到当前表单。`;
259
- return e.messagerService.warning(M), !1;
260
- }, (i) => {
261
- var u, S;
262
- return e.messagerService.error(((u = i == null ? void 0 : i.response) == null ? void 0 : u.data.Message) || `查询表单【${c.name}】失败`), (S = C.value) == null || S.close(), !1;
259
+ const O = `表单【${B}】不属于组件类模板,在严格模式下无法被导入到当前表单。<br/>请前往当前表单的配置页面将【表单组合模式】切换为自定义模式后,再引入表单【${B}】。`;
260
+ return e.messagerService.warning(O), !1;
261
+ }, (p) => {
262
+ var g, C;
263
+ return e.messagerService.error(((g = p == null ? void 0 : p.response) == null ? void 0 : g.data.Message) || `查询表单【${a.name}】失败`), (C = h.value) == null || C.close(), !1;
263
264
  });
264
265
  }
265
- async function s() {
266
+ async function F() {
266
267
  if (!o.value) {
267
- p.warning("请选择表单");
268
+ m.warning("请选择表单");
268
269
  return;
269
270
  }
270
- if (await g(o.value))
271
+ if (await v(o.value))
271
272
  return !0;
272
273
  }
273
- function h() {
274
- var d, C;
275
- const c = {
274
+ function b() {
275
+ var s, h;
276
+ const a = {
276
277
  id: o.value.id,
277
278
  nameSpace: o.value.nameSpace,
278
279
  code: o.value.code,
@@ -282,19 +283,19 @@ const le = /* @__PURE__ */ T({
282
283
  relativePath: o.value.relativePath,
283
284
  projectName: o.value.projectName
284
285
  };
285
- n.emit("submit", c), (d = t == null ? void 0 : t.modalRef) != null && d.value.close && ((C = t == null ? void 0 : t.modalRef) == null || C.value.close());
286
+ n.emit("submit", a), (s = t == null ? void 0 : t.modalRef) != null && s.value.close && ((h = t == null ? void 0 : t.modalRef) == null || h.value.close());
286
287
  }
287
- function b() {
288
- var c, d;
289
- (c = t == null ? void 0 : t.modalRef) != null && c.value.close && ((d = t == null ? void 0 : t.modalRef) == null || d.value.close()), n.emit("close");
288
+ function I() {
289
+ var a, s;
290
+ (a = t == null ? void 0 : t.modalRef) != null && a.value.close && ((s = t == null ? void 0 : t.modalRef) == null || s.value.close()), n.emit("close");
290
291
  }
291
- function I(c) {
292
- o.value = c != null && c.length ? c[0] : null;
292
+ function x(a) {
293
+ o.value = a != null && a.length ? a[0] : null;
293
294
  }
294
295
  function w() {
295
- const c = {
296
- formBasicInfo: m
297
- }, d = e.formSchemaUtils.designerMode === "PC_RTC" ? [{
296
+ const a = {
297
+ formBasicInfo: u
298
+ }, s = e.formSchemaUtils.designerMode === "PC_RTC" ? [{
298
299
  id: "total",
299
300
  title: "全部",
300
301
  type: "Card",
@@ -313,24 +314,24 @@ const le = /* @__PURE__ */ T({
313
314
  dataSource: "Total",
314
315
  pagination: !0
315
316
  }];
316
- return () => v(G, {
317
- ref: r,
318
- injectSymbolToken: k,
317
+ return () => f(Y, {
318
+ ref: c,
319
+ injectSymbolToken: D,
319
320
  "view-type": "Tabs",
320
- "view-options": d,
321
- editorParams: c,
321
+ "view-options": s,
322
+ editorParams: a,
322
323
  designerHostService: e,
323
324
  "show-footer": !0,
324
- onSelectionChange: I,
325
- "validate-function": s,
326
- onSubmit: h,
327
- onCancel: b
325
+ onSelectionChange: x,
326
+ "validate-function": F,
327
+ onSubmit: b,
328
+ onCancel: I
328
329
  }, {
329
330
  default: () => [j(" ")]
330
331
  });
331
332
  }
332
- function F(c) {
333
- c.stopPropagation(), o.value = "", t = e.modalService.open({
333
+ function M(a) {
334
+ a.stopPropagation(), o.value = "", t = e.modalService.open({
334
335
  title: "选择表单",
335
336
  width: 950,
336
337
  height: 600,
@@ -341,102 +342,102 @@ const le = /* @__PURE__ */ T({
341
342
  draggable: !0
342
343
  });
343
344
  }
344
- return () => v("div", {
345
+ return () => f("div", {
345
346
  class: "f-import-exteranl-component-button no-drag"
346
- }, [v("div", {
347
+ }, [f("div", {
347
348
  class: "f-import-exteranl-component-button-center",
348
- onClick: F
349
- }, [v("div", {
349
+ onClick: M
350
+ }, [f("div", {
350
351
  class: "f-icon f-icon-add mr-2"
351
- }, null), v("span", null, [j("引入已有表单")])])]);
352
+ }, null), f("span", null, [j("引入已有表单")])])]);
352
353
  }
353
- }), me = /* @__PURE__ */ T({
354
+ }), de = /* @__PURE__ */ T({
354
355
  name: "FExternalContainerDesign",
355
356
  props: R,
356
357
  emits: [],
357
- setup(a, n) {
358
- const e = P(), t = x("designer-host-service"), o = x("design-item-context"), p = ce(o, t), l = H(e, o, p), m = x("FMessageBoxService"), r = x("FLoadingService"), g = t.formSchemaUtils, s = P(a.externalComponent), h = P(), b = E(() => {
359
- var i, u;
360
- return (u = (i = h.value) == null ? void 0 : i.module) == null ? void 0 : u.components[0];
361
- }), I = E(() => !h.value);
362
- A("external-container-id", l.value.schema.id);
363
- function w() {
364
- const i = {
365
- id: s.value.id,
366
- code: s.value.code,
367
- name: s.value.name,
368
- fileName: s.value.fileName,
369
- nameSpace: s.value.nameSpace,
370
- content: h.value,
371
- nameLanguage: s.value.nameLanguage
358
+ setup(i, n) {
359
+ const e = y(), t = S("designer-host-service"), o = S("design-item-context"), m = ue(o, t), l = W(e, o, m), u = S("FMessageBoxService"), c = S("FLoadingService"), d = t.formSchemaUtils, r = y(i.externalComponent), v = y(), F = E(() => {
360
+ var a, s;
361
+ return (s = (a = v.value) == null ? void 0 : a.module) == null ? void 0 : s.components[0];
362
+ }), b = E(() => !v.value);
363
+ J("external-container-id", l.value.schema.id);
364
+ function I() {
365
+ const a = {
366
+ id: r.value.id,
367
+ code: r.value.code,
368
+ name: r.value.name,
369
+ fileName: r.value.fileName,
370
+ nameSpace: r.value.nameSpace,
371
+ content: v.value,
372
+ nameLanguage: r.value.nameLanguage
372
373
  };
373
- g.externalFormSchema.set(l.value.schema.id, i);
374
+ d.externalFormSchema.set(l.value.schema.id, a);
374
375
  }
375
- async function F() {
376
- var u;
377
- const i = t.formSchemaUtils.getFormMetadataBasicInfo();
378
- if ((u = s.value) != null && u.id) {
379
- const S = r == null ? void 0 : r.show({
376
+ async function x() {
377
+ var s;
378
+ const a = t.formSchemaUtils.getFormMetadataBasicInfo();
379
+ if ((s = r.value) != null && s.id) {
380
+ const h = c == null ? void 0 : c.show({
380
381
  message: "数据加载中,请稍候..."
381
382
  });
382
- return t.metadataService.getPickMetadata(i.relativePath, s.value).then((f) => {
383
- var y;
384
- if ((y = f == null ? void 0 : f.metadata) != null && y.content) {
385
- const M = JSON.parse(f.metadata.content);
386
- h.value = M.Contents, w();
383
+ return t.metadataService.getPickMetadata(a.relativePath, r.value).then((p) => {
384
+ var g;
385
+ if ((g = p == null ? void 0 : p.metadata) != null && g.content) {
386
+ const C = JSON.parse(p.metadata.content);
387
+ v.value = C.Contents, I();
387
388
  } else
388
- m.error(`找不到元数据【${s.value.name}】(${s.value.id})。`);
389
- S.value.close();
390
- }, (f) => {
391
- var y;
392
- m.error(((y = f == null ? void 0 : f.response) == null ? void 0 : y.data.Message) || `查询表单【${s.value.name}】失败`), S.value.close();
389
+ u.error(`找不到元数据【${r.value.name}】(${r.value.id})。`);
390
+ h.value.close();
391
+ }, (p) => {
392
+ var g;
393
+ u.error(((g = p == null ? void 0 : p.response) == null ? void 0 : g.data.Message) || `查询表单【${r.value.name}】失败`), h.value.close();
393
394
  });
394
395
  }
395
396
  }
396
- $(() => a.externalComponent, async (i) => {
397
- var u;
398
- !s.value || !i || JSON.stringify(s.value) !== JSON.stringify(i) ? (s.value = i, await F(), (u = o == null ? void 0 : o.setupContext) == null || u.emit("dragEnd")) : s.value = i;
397
+ q(() => i.externalComponent, async (a) => {
398
+ var s;
399
+ !r.value || !a || JSON.stringify(r.value) !== JSON.stringify(a) ? (r.value = a, await x(), (s = o == null ? void 0 : o.setupContext) == null || s.emit("dragEnd")) : r.value = a;
399
400
  }, {
400
401
  deep: !0
401
- }), J(() => {
402
- e.value.componentInstance = l, h.value || F();
402
+ }), L(() => {
403
+ e.value.componentInstance = l, v.value || x();
403
404
  }), n.expose(l.value);
404
- function c() {
405
- return v(O, null, [v(K, {
406
- modelValue: b.value,
407
- "onUpdate:modelValue": (i) => b.value = i,
408
- "external-form-schema": h.value
405
+ function w() {
406
+ return f(z, null, [f(G, {
407
+ modelValue: F.value,
408
+ "onUpdate:modelValue": (a) => F.value = a,
409
+ "external-form-schema": v.value
409
410
  }, null)]);
410
411
  }
411
- async function d(i) {
412
- var u;
413
- l.value.schema.externalComponent = i, s.value = i, await F(), (u = o == null ? void 0 : o.setupContext) == null || u.emit("dragEnd");
412
+ async function M(a) {
413
+ var s;
414
+ l.value.schema.externalComponent = a, r.value = a, await x(), (s = o == null ? void 0 : o.setupContext) == null || s.emit("dragEnd");
414
415
  }
415
- function C() {
416
- return v(le, {
417
- onSubmit: d
416
+ function P() {
417
+ return f(pe, {
418
+ onSubmit: M
418
419
  }, null);
419
420
  }
420
- return () => v("div", {
421
+ return () => f("div", {
421
422
  ref: e,
422
423
  style: "height: inherit;"
423
- }, [I.value ? C() : c()]);
424
+ }, [b.value ? P() : w()]);
424
425
  }
425
- }), Se = {
426
- install(a) {
427
- a.component(N.name, N);
426
+ }), Fe = {
427
+ install(i) {
428
+ i.component(N.name, N);
428
429
  },
429
- register(a, n, e, t) {
430
- a["external-container"] = N, n["external-container"] = U;
430
+ register(i, n, e, t) {
431
+ i["external-container"] = N, n["external-container"] = k;
431
432
  },
432
- registerDesigner(a, n, e) {
433
- a["external-container"] = me, n["external-container"] = U;
433
+ registerDesigner(i, n, e) {
434
+ i["external-container"] = de, n["external-container"] = k;
434
435
  }
435
436
  };
436
437
  export {
437
438
  N as FExternalContainer,
438
- me as FExternalContainerDesign,
439
- Se as default,
439
+ de as FExternalContainerDesign,
440
+ Fe as default,
440
441
  R as externalContainerProps,
441
- U as propsResolver
442
+ k as propsResolver
442
443
  };
@@ -1 +1 @@
1
- (function(m,a){typeof exports=="object"&&typeof module<"u"?a(exports,require("vue"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js"),require("../property-panel/index.umd.js"),require("../loading/index.umd.js"),require("../notify/index.umd.js"),require("../schema-selector/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js","../property-panel/index.umd.js","../loading/index.umd.js","../notify/index.umd.js","../schema-selector/index.umd.js"],a):(m=typeof globalThis<"u"?globalThis:m||self,a(m["external-container"]={},m.Vue,m.dynamicResolver,m.designerCanvas,m.common,m.propertyPanel,m.loading,m.notify,m.schemaSelector))})(this,function(m,a,R,I,B,k,D,E,V){"use strict";const $=new Map([["appearance",R.resolveAppearance]]);function A(i,n,e,t){const o=e.parentComponentInstance;return o&&t&&(o.schema.type===I.DgControl["list-nav"].type?n.appearance={class:"position-relative h-100"}:n.appearance={class:"position-relative",style:"height:300px;flex-shrink: 0;"}),n}const O={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/external-container.schema.json",title:"external-container",description:"A Farris Visual Component",type:"object",properties:{id:{description:"The unique identifier for a external-container",type:"string"},type:{description:"The type string of external-container",type:"string",default:"external-container"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string",default:""}},default:{}},visible:{description:"",type:"boolean",default:!0},url:{description:"The url that load the schema from",type:"string"},externalComponent:{description:"The unique identifier for component",type:"object",default:{}}},required:["id","type","externalComponent"],events:{onCommunication:"通讯事件"}},P={customClass:{type:String,default:""},customStyle:{type:String,default:""},componentType:{type:String,default:""},url:{type:String,default:""},schema:{type:Object},useIsolateJs:{type:Boolean,default:!1},externalComponent:{type:Object,default:{}}},b=R.createPropsResolver(P,O,$,A),j=a.defineComponent({name:"FExternalContainer",props:P,emits:[],setup(i,n){return()=>a.createVNode("div",{class:i.customClass,style:i.customStyle},[n.slots.default&&n.slots.default()])}}),J={convertFrom:(i,n)=>{var e;return(e=i.externalComponent)==null?void 0:e.name},convertTo:(i,n,e)=>{e&&(i.externalComponent||(i.externalComponent={}),Object.assign(i.externalComponent,{id:e.id,nameSpace:e.nameSpace,code:e.code,name:e.name,fileName:e.fileName,bizobjectID:e.bizobjectID,relativePath:e.relativePath,projectName:e.projectName}))}};class L extends k.BaseControlProperty{constructor(n,e){super(n,e)}getPropertyConfig(n,e){return this.propertyConfig.categories.basic=this.getBasicPropConfig(n),this.propertyConfig.categories.appearance=this.getAppearanceConfig(n),this.propertyConfig.categories.content=this.getContentConfig(n),this.propertyConfig.categories.eventsEditor=this.getEventPropConfig(n),this.propertyConfig}getContentConfig(n){const e=this;return{description:"外部表单",title:"内容",properties:{externalComponent:{description:"引入的外部表单",title:"引入表单",type:"string",editor:{type:"schema-selector",title:"选择表单",requiredTip:"请选择表单",modalHeight:600,modalWidth:950,editorParams:{formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},viewOptions:this.formSchemaUtils.designerMode==="PC_RTC"?[{id:"total",title:"全部",type:"Card",dataSource:"Total",pagination:!0}]:[{id:"recommend",title:"推荐",type:"Card",dataSource:"Recommand",pagination:!0},{id:"total",title:"全部",type:"Card",dataSource:"Total",pagination:!0}],repositoryToken:B.FormSchemaRepositorySymbol,validateFunction:t=>{if(t.id)return e.checkFormValidtion(t)}},$converter:J}},setPropertyRelates(t){(t==null?void 0:t.propertyID)==="externalComponent"&&e.syncCommunicationAfterFormChanged(t,n)}}}checkFormValidtion(n){const e=this.designerHostService.formSchemaUtils.getFormMetadataBasicInfo(),t=D.FLoadingService.show();return this.designerHostService.metadataService.getPickMetadata(e.relativePath,n).then(o=>{t.value.close();const d=JSON.parse(o==null?void 0:o.metadata.content).Contents,{templateId:u,name:s}=d.module;if(["list-component","tree-component","list-view-component"].includes(u))return!0;const v=`表单【${s}】不属于组件类模板,无法被引入到当前表单。`;return this.designerHostService.messagerService.warning(v),!1},o=>{var f;return t.value.close(),this.designerHostService.messagerService.error(((f=o==null?void 0:o.response)==null?void 0:f.data.Message)||`查询表单【${n.name}】失败`),!1})}getEventPropConfig(n){const e=[{label:"onCommunication",name:"通讯事件"}],t=this,o=t.eventsEditorUtils.formProperties(n,t.viewModelId,e);return{title:"事件",hideTitle:!0,properties:t.createBaseEventProperty(o),refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(d,u){const s=d.propertyValue;delete n[t.viewModelId],s&&(s.setPropertyRelates=this.setPropertyRelates,t.eventsEditorUtils.saveRelatedParameters(n,t.viewModelId,s.events,s))}}}syncCommunicationAfterFormChanged(n,e){if(!e.onCommunication)return;const t=e.onCommunication.replace(/communication:/g,"").split(";");if(!(t!=null&&t.length))return;const o=this.designerHostService.formSchemaUtils.getFormSchema(),f=o.module.communications||[];let d=!1;if(t.map(u=>{const s=f.find(v=>v.id===u);s!=null&&s.source&&s.source.formId!==e.externalComponent.id&&(s.needDelete=!0,d=!0)}),o.module.communications=o.module.communications.filter(u=>!u.needDelete),d){e.onCommunication="";const u=new E.FNotifyService;u.globalConfig={position:"top-center"},u.warning({message:"切换引入表单后,请重新配置组件通讯。"})}}}function z(i,n){const e=i.schema;function t(){return!1}function o(){return!0}function f(){return!0}function d(){return!0}function u(){return"position:relative;padding:0 !important;border:0;overflow:hidden;"}function s(c){return new L(c,n).getPropertyConfig(e,i.componentInstance.value)}function v(){n!=null&&n.formSchemaUtils&&n.formSchemaUtils.externalFormSchema.delete(i.schema.id)}return{canAccepts:t,checkCanDeleteComponent:o,checkCanMoveComponent:f,hideNestedPaddingInDesginerView:d,getStyles:u,getPropsConfig:s,onRemoveComponent:v}}const _=a.defineComponent({name:"FImportExteranlSchema",emits:["close","submit"],setup(i,n){const e=a.inject("designer-host-service");let t;const o=a.ref(),f=new E.FNotifyService;f.globalConfig={position:"top-center"};const d=a.inject("FLoadingService"),u=e.formSchemaUtils.getFormMetadataBasicInfo(),s=a.ref();async function v(l){const h=e.formSchemaUtils.getFormMetadataBasicInfo(),S=d.show();return e.metadataService.getPickMetadata(h.relativePath,l).then(r=>{var U;(U=S.value)==null||U.close();const y=JSON.parse(r==null?void 0:r.metadata.content).Contents,{templateId:g,name:x}=y.module;if(["list-component","tree-component","list-view-component"].includes(g))return!0;const T=`表单【${x}】不属于组件类模板,无法被引入到当前表单。`;return e.messagerService.warning(T),!1},r=>{var p,y;return e.messagerService.error(((p=r==null?void 0:r.response)==null?void 0:p.data.Message)||`查询表单【${l.name}】失败`),(y=S.value)==null||y.close(),!1})}async function c(){if(!o.value){f.warning("请选择表单");return}if(await v(o.value))return!0}function C(){var h,S;const l={id:o.value.id,nameSpace:o.value.nameSpace,code:o.value.code,name:o.value.name,fileName:o.value.fileName,bizobjectID:o.value.bizobjectID,relativePath:o.value.relativePath,projectName:o.value.projectName};n.emit("submit",l),(h=t==null?void 0:t.modalRef)!=null&&h.value.close&&((S=t==null?void 0:t.modalRef)==null||S.value.close())}function N(){var l,h;(l=t==null?void 0:t.modalRef)!=null&&l.value.close&&((h=t==null?void 0:t.modalRef)==null||h.value.close()),n.emit("close")}function w(l){o.value=l!=null&&l.length?l[0]:null}function M(){const l={formBasicInfo:u},h=e.formSchemaUtils.designerMode==="PC_RTC"?[{id:"total",title:"全部",type:"Card",dataSource:"Total",pagination:!0}]:[{id:"recommend",title:"推荐",type:"Card",dataSource:"Recommand",pagination:!0},{id:"total",title:"全部",type:"Card",dataSource:"Total",pagination:!0}];return()=>a.createVNode(V.FSchemaSelector,{ref:s,injectSymbolToken:B.FormSchemaRepositorySymbol,"view-type":"Tabs","view-options":h,editorParams:l,designerHostService:e,"show-footer":!0,onSelectionChange:w,"validate-function":c,onSubmit:C,onCancel:N},{default:()=>[a.createTextVNode(" ")]})}function F(l){l.stopPropagation(),o.value="",t=e.modalService.open({title:"选择表单",width:950,height:600,fitContent:!1,showButtons:!1,render:M(),enableEsc:!1,draggable:!0})}return()=>a.createVNode("div",{class:"f-import-exteranl-component-button no-drag"},[a.createVNode("div",{class:"f-import-exteranl-component-button-center",onClick:F},[a.createVNode("div",{class:"f-icon f-icon-add mr-2"},null),a.createVNode("span",null,[a.createTextVNode("引入已有表单")])])])}}),q=a.defineComponent({name:"FExternalContainerDesign",props:P,emits:[],setup(i,n){const e=a.ref(),t=a.inject("designer-host-service"),o=a.inject("design-item-context"),f=z(o,t),d=I.useDesignerComponent(e,o,f),u=a.inject("FMessageBoxService"),s=a.inject("FLoadingService"),v=t.formSchemaUtils,c=a.ref(i.externalComponent),C=a.ref(),N=a.computed(()=>{var r,p;return(p=(r=C.value)==null?void 0:r.module)==null?void 0:p.components[0]}),w=a.computed(()=>!C.value);a.provide("external-container-id",d.value.schema.id);function M(){const r={id:c.value.id,code:c.value.code,name:c.value.name,fileName:c.value.fileName,nameSpace:c.value.nameSpace,content:C.value,nameLanguage:c.value.nameLanguage};v.externalFormSchema.set(d.value.schema.id,r)}async function F(){var p;const r=t.formSchemaUtils.getFormMetadataBasicInfo();if((p=c.value)!=null&&p.id){const y=s==null?void 0:s.show({message:"数据加载中,请稍候..."});return t.metadataService.getPickMetadata(r.relativePath,c.value).then(g=>{var x;if((x=g==null?void 0:g.metadata)!=null&&x.content){const T=JSON.parse(g.metadata.content);C.value=T.Contents,M()}else u.error(`找不到元数据【${c.value.name}】(${c.value.id})。`);y.value.close()},g=>{var x;u.error(((x=g==null?void 0:g.response)==null?void 0:x.data.Message)||`查询表单【${c.value.name}】失败`),y.value.close()})}}a.watch(()=>i.externalComponent,async r=>{var p;!c.value||!r||JSON.stringify(c.value)!==JSON.stringify(r)?(c.value=r,await F(),(p=o==null?void 0:o.setupContext)==null||p.emit("dragEnd")):c.value=r},{deep:!0}),a.onMounted(()=>{e.value.componentInstance=d,C.value||F()}),n.expose(d.value);function l(){return a.createVNode(a.Fragment,null,[a.createVNode(I.FDesignerItem,{modelValue:N.value,"onUpdate:modelValue":r=>N.value=r,"external-form-schema":C.value},null)])}async function h(r){var p;d.value.schema.externalComponent=r,c.value=r,await F(),(p=o==null?void 0:o.setupContext)==null||p.emit("dragEnd")}function S(){return a.createVNode(_,{onSubmit:h},null)}return()=>a.createVNode("div",{ref:e,style:"height: inherit;"},[w.value?S():l()])}}),H={install(i){i.component(j.name,j)},register(i,n,e,t){i["external-container"]=j,n["external-container"]=b},registerDesigner(i,n,e){i["external-container"]=q,n["external-container"]=b}};m.FExternalContainer=j,m.FExternalContainerDesign=q,m.default=H,m.externalContainerProps=P,m.propsResolver=b,Object.defineProperties(m,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(m,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("vue"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js"),require("../property-panel/index.umd.js"),require("../loading/index.umd.js"),require("../notify/index.umd.js"),require("../schema-selector/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js","../property-panel/index.umd.js","../loading/index.umd.js","../notify/index.umd.js","../schema-selector/index.umd.js"],o):(m=typeof globalThis<"u"?globalThis:m||self,o(m["external-container"]={},m.Vue,m.dynamicResolver,m.designerCanvas,m.common,m.propertyPanel,m.loading,m.notify,m.schemaSelector))})(this,function(m,o,R,b,B,D,$,E,V){"use strict";const O=new Map([["appearance",R.resolveAppearance]]);function A(r,n,e,t){const a=e.parentComponentInstance;return a&&t&&(a.schema.type===b.DgControl["list-nav"].type?n.appearance={class:"position-relative h-100"}:n.appearance={class:"position-relative",style:"height:300px;flex-shrink: 0;"}),n}const J={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/external-container.schema.json",title:"external-container",description:"A Farris Visual Component",type:"object",properties:{id:{description:"The unique identifier for a external-container",type:"string"},type:{description:"The type string of external-container",type:"string",default:"external-container"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string",default:""}},default:{}},visible:{description:"",type:"boolean",default:!0},url:{description:"The url that load the schema from",type:"string"},externalComponent:{description:"The unique identifier for component",type:"object",default:{}}},required:["id","type","externalComponent"],events:{onCommunication:"通讯事件"}},x={customClass:{type:String,default:""},customStyle:{type:String,default:""},componentType:{type:String,default:""},url:{type:String,default:""},schema:{type:Object},useIsolateJs:{type:Boolean,default:!1},externalComponent:{type:Object,default:{}}},N=R.createPropsResolver(x,J,O,A),F=o.defineComponent({name:"FExternalContainer",props:x,emits:[],setup(r,n){return()=>o.createVNode("div",{class:r.customClass,style:r.customStyle},[n.slots.default&&n.slots.default()])}}),L={convertFrom:(r,n)=>{var e;return(e=r.externalComponent)==null?void 0:e.name},convertTo:(r,n,e)=>{e&&(r.externalComponent||(r.externalComponent={}),Object.assign(r.externalComponent,{id:e.id,nameSpace:e.nameSpace,code:e.code,name:e.name,fileName:e.fileName,bizobjectID:e.bizobjectID,relativePath:e.relativePath,projectName:e.projectName}))}};class z extends D.BaseControlProperty{constructor(n,e){super(n,e)}getPropertyConfig(n,e){return this.propertyConfig.categories.basic=this.getBasicPropConfig(n),this.propertyConfig.categories.appearance=this.getAppearanceConfig(n),this.propertyConfig.categories.content=this.getContentConfig(n),this.propertyConfig.categories.eventsEditor=this.getEventPropConfig(n),this.propertyConfig}getContentConfig(n){const e=this;return{description:"外部表单",title:"内容",properties:{externalComponent:{description:"引入的外部表单",title:"引入表单",type:"string",editor:{type:"schema-selector",title:"选择表单",requiredTip:"请选择表单",modalHeight:600,modalWidth:950,editorParams:{formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},viewOptions:this.formSchemaUtils.designerMode==="PC_RTC"?[{id:"total",title:"全部",type:"Card",dataSource:"Total",pagination:!0}]:[{id:"recommend",title:"推荐",type:"Card",dataSource:"Recommand",pagination:!0},{id:"total",title:"全部",type:"Card",dataSource:"Total",pagination:!0}],repositoryToken:B.FormSchemaRepositorySymbol,validateFunction:t=>{if(t.id)return e.checkFormValidtion(t)}},$converter:L}},setPropertyRelates(t){(t==null?void 0:t.propertyID)==="externalComponent"&&e.syncCommunicationAfterFormChanged(t,n)}}}checkFormValidtion(n){const e=this.designerHostService.formSchemaUtils.getFormMetadataBasicInfo(),t=this.designerHostService.formSchemaUtils.getOptions(),a=$.FLoadingService.show();return this.designerHostService.metadataService.getPickMetadata(e.relativePath,n).then(u=>{a.value.close();const p=JSON.parse(u==null?void 0:u.metadata.content).Contents,{templateId:l,name:h}=p.module;if((t==null?void 0:t.combineFormMode)==="custom"||["list-component","tree-component","list-view-component"].includes(l))return!0;const s=`表单【${h}】不属于组件类模板,在严格模式下无法被导入到当前表单。<br/>请前往当前表单的配置页面将【表单组合模式】切换为自定义模式后,再引入表单【${h}】。`;return this.designerHostService.messagerService.warning(s),!1},u=>{var d;return a.value.close(),this.designerHostService.messagerService.error(((d=u==null?void 0:u.response)==null?void 0:d.data.Message)||`查询表单【${n.name}】失败`),!1})}getEventPropConfig(n){const e=[{label:"onCommunication",name:"通讯事件"}],t=this,a=t.eventsEditorUtils.formProperties(n,t.viewModelId,e);return{title:"事件",hideTitle:!0,properties:t.createBaseEventProperty(a),refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(d,p){const l=d.propertyValue;delete n[t.viewModelId],l&&(l.setPropertyRelates=this.setPropertyRelates,t.eventsEditorUtils.saveRelatedParameters(n,t.viewModelId,l.events,l))}}}syncCommunicationAfterFormChanged(n,e){if(!e.onCommunication)return;const t=e.onCommunication.replace(/communication:/g,"").split(";");if(!(t!=null&&t.length))return;const a=this.designerHostService.formSchemaUtils.getFormSchema(),u=a.module.communications||[];let d=!1;if(t.map(p=>{const l=u.find(h=>h.id===p);l!=null&&l.source&&l.source.formId!==e.externalComponent.id&&(l.needDelete=!0,d=!0)}),a.module.communications=a.module.communications.filter(p=>!p.needDelete),d){e.onCommunication="";const p=new E.FNotifyService;p.globalConfig={position:"top-center"},p.warning({message:"切换引入表单后,请重新配置组件通讯。"})}}}function H(r,n){const e=r.schema;function t(){return!1}function a(){return!0}function u(){return!0}function d(){return!0}function p(){return"position:relative;padding:0 !important;border:0;overflow:hidden;"}function l(s){return new z(s,n).getPropertyConfig(e,r.componentInstance.value)}function h(){n!=null&&n.formSchemaUtils&&n.formSchemaUtils.externalFormSchema.delete(r.schema.id)}return{canAccepts:t,checkCanDeleteComponent:a,checkCanMoveComponent:u,hideNestedPaddingInDesginerView:d,getStyles:p,getPropsConfig:l,onRemoveComponent:h}}const _=o.defineComponent({name:"FImportExteranlSchema",emits:["close","submit"],setup(r,n){var j;const e=o.inject("designer-host-service");let t;const a=o.ref(),u=new E.FNotifyService;u.globalConfig={position:"top-center"};const d=o.inject("FLoadingService"),p=e.formSchemaUtils.getFormMetadataBasicInfo(),l=o.ref(),h=e.formSchemaUtils,s=o.ref(((j=h.getOptions())==null?void 0:j.combineFormMode)==="custom");async function g(i){const c=e.formSchemaUtils.getFormMetadataBasicInfo(),S=d.show();return e.metadataService.getPickMetadata(c.relativePath,i).then(f=>{var k;(k=S.value)==null||k.close();const C=JSON.parse(f==null?void 0:f.metadata.content).Contents,{templateId:W,name:q}=C.module;if(s.value||["list-component","tree-component","list-view-component"].includes(W))return!0;const G=`表单【${q}】不属于组件类模板,在严格模式下无法被导入到当前表单。<br/>请前往当前表单的配置页面将【表单组合模式】切换为自定义模式后,再引入表单【${q}】。`;return e.messagerService.warning(G),!1},f=>{var v,C;return e.messagerService.error(((v=f==null?void 0:f.response)==null?void 0:v.data.Message)||`查询表单【${i.name}】失败`),(C=S.value)==null||C.close(),!1})}async function P(){if(!a.value){u.warning("请选择表单");return}if(await g(a.value))return!0}function I(){var c,S;const i={id:a.value.id,nameSpace:a.value.nameSpace,code:a.value.code,name:a.value.name,fileName:a.value.fileName,bizobjectID:a.value.bizobjectID,relativePath:a.value.relativePath,projectName:a.value.projectName};n.emit("submit",i),(c=t==null?void 0:t.modalRef)!=null&&c.value.close&&((S=t==null?void 0:t.modalRef)==null||S.value.close())}function M(){var i,c;(i=t==null?void 0:t.modalRef)!=null&&i.value.close&&((c=t==null?void 0:t.modalRef)==null||c.value.close()),n.emit("close")}function y(i){a.value=i!=null&&i.length?i[0]:null}function w(){const i={formBasicInfo:p},c=e.formSchemaUtils.designerMode==="PC_RTC"?[{id:"total",title:"全部",type:"Card",dataSource:"Total",pagination:!0}]:[{id:"recommend",title:"推荐",type:"Card",dataSource:"Recommand",pagination:!0},{id:"total",title:"全部",type:"Card",dataSource:"Total",pagination:!0}];return()=>o.createVNode(V.FSchemaSelector,{ref:l,injectSymbolToken:B.FormSchemaRepositorySymbol,"view-type":"Tabs","view-options":c,editorParams:i,designerHostService:e,"show-footer":!0,onSelectionChange:y,"validate-function":P,onSubmit:I,onCancel:M},{default:()=>[o.createTextVNode(" ")]})}function T(i){i.stopPropagation(),a.value="",t=e.modalService.open({title:"选择表单",width:950,height:600,fitContent:!1,showButtons:!1,render:w(),enableEsc:!1,draggable:!0})}return()=>o.createVNode("div",{class:"f-import-exteranl-component-button no-drag"},[o.createVNode("div",{class:"f-import-exteranl-component-button-center",onClick:T},[o.createVNode("div",{class:"f-icon f-icon-add mr-2"},null),o.createVNode("span",null,[o.createTextVNode("引入已有表单")])])])}}),U=o.defineComponent({name:"FExternalContainerDesign",props:x,emits:[],setup(r,n){const e=o.ref(),t=o.inject("designer-host-service"),a=o.inject("design-item-context"),u=H(a,t),d=b.useDesignerComponent(e,a,u),p=o.inject("FMessageBoxService"),l=o.inject("FLoadingService"),h=t.formSchemaUtils,s=o.ref(r.externalComponent),g=o.ref(),P=o.computed(()=>{var i,c;return(c=(i=g.value)==null?void 0:i.module)==null?void 0:c.components[0]}),I=o.computed(()=>!g.value);o.provide("external-container-id",d.value.schema.id);function M(){const i={id:s.value.id,code:s.value.code,name:s.value.name,fileName:s.value.fileName,nameSpace:s.value.nameSpace,content:g.value,nameLanguage:s.value.nameLanguage};h.externalFormSchema.set(d.value.schema.id,i)}async function y(){var c;const i=t.formSchemaUtils.getFormMetadataBasicInfo();if((c=s.value)!=null&&c.id){const S=l==null?void 0:l.show({message:"数据加载中,请稍候..."});return t.metadataService.getPickMetadata(i.relativePath,s.value).then(f=>{var v;if((v=f==null?void 0:f.metadata)!=null&&v.content){const C=JSON.parse(f.metadata.content);g.value=C.Contents,M()}else p.error(`找不到元数据【${s.value.name}】(${s.value.id})。`);S.value.close()},f=>{var v;p.error(((v=f==null?void 0:f.response)==null?void 0:v.data.Message)||`查询表单【${s.value.name}】失败`),S.value.close()})}}o.watch(()=>r.externalComponent,async i=>{var c;!s.value||!i||JSON.stringify(s.value)!==JSON.stringify(i)?(s.value=i,await y(),(c=a==null?void 0:a.setupContext)==null||c.emit("dragEnd")):s.value=i},{deep:!0}),o.onMounted(()=>{e.value.componentInstance=d,g.value||y()}),n.expose(d.value);function w(){return o.createVNode(o.Fragment,null,[o.createVNode(b.FDesignerItem,{modelValue:P.value,"onUpdate:modelValue":i=>P.value=i,"external-form-schema":g.value},null)])}async function T(i){var c;d.value.schema.externalComponent=i,s.value=i,await y(),(c=a==null?void 0:a.setupContext)==null||c.emit("dragEnd")}function j(){return o.createVNode(_,{onSubmit:T},null)}return()=>o.createVNode("div",{ref:e,style:"height: inherit;"},[I.value?j():w()])}}),K={install(r){r.component(F.name,F)},register(r,n,e,t){r["external-container"]=F,n["external-container"]=N},registerDesigner(r,n,e){r["external-container"]=U,n["external-container"]=N}};m.FExternalContainer=F,m.FExternalContainerDesign=U,m.default=K,m.externalContainerProps=x,m.propsResolver=N,Object.defineProperties(m,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});