@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.
- package/components/avatar/index.esm.js +138 -1526
- package/components/avatar/index.umd.cjs +1 -6
- package/components/button/index.css +1 -1
- package/components/button/index.esm.js +15951 -15410
- package/components/button/index.umd.cjs +27 -27
- package/components/calendar/index.esm.js +269 -255
- package/components/calendar/index.umd.cjs +3 -3
- package/components/collection-property-editor/index.esm.js +243 -229
- package/components/collection-property-editor/index.umd.cjs +2 -2
- package/components/combo-list/index.esm.js +32 -32
- package/components/combo-list/index.umd.cjs +1 -1
- package/components/comment/index.esm.js +473 -456
- package/components/comment/index.umd.cjs +6 -6
- package/components/component/index.css +1 -1
- package/components/component/index.esm.js +2503 -2239
- package/components/component/index.umd.cjs +2 -2
- package/components/condition/index.esm.js +1064 -954
- package/components/condition/index.umd.cjs +2 -2
- package/components/data-grid/index.esm.js +1 -1
- package/components/data-grid/index.umd.cjs +1 -1
- package/components/designer-canvas/index.css +1 -1
- package/components/designer-canvas/index.esm.js +3894 -3058
- package/components/designer-canvas/index.umd.cjs +1 -1
- package/components/drawer/index.esm.js +91 -77
- package/components/drawer/index.umd.cjs +2 -2
- package/components/dynamic-form/index.esm.js +220 -215
- package/components/dynamic-form/index.umd.cjs +1 -1
- package/components/dynamic-resolver/index.esm.js +145 -131
- package/components/dynamic-resolver/index.umd.cjs +2 -2
- package/components/dynamic-view/index.esm.js +336 -329
- package/components/dynamic-view/index.umd.cjs +1 -1
- package/components/events-editor/index.esm.js +1611 -1536
- package/components/events-editor/index.umd.cjs +3 -3
- package/components/expression-editor/index.esm.js +219 -219
- package/components/expression-editor/index.umd.cjs +2 -2
- package/components/external-container/index.esm.js +179 -178
- package/components/external-container/index.umd.cjs +1 -1
- package/components/fieldset/index.esm.js +285 -221
- package/components/fieldset/index.umd.cjs +1 -1
- package/components/filter-bar/index.css +1 -0
- package/components/filter-bar/index.esm.js +1512 -1290
- package/components/filter-bar/index.umd.cjs +7 -7
- package/components/filter-condition-editor/index.esm.js +851 -831
- package/components/filter-condition-editor/index.umd.cjs +3 -3
- package/components/flow-canvas/index.esm.js +520 -501
- package/components/flow-canvas/index.umd.cjs +8 -8
- package/components/image/index.esm.js +101 -79
- package/components/image/index.umd.cjs +3 -3
- package/components/language-textbox/index.esm.js +330 -251
- package/components/language-textbox/index.umd.cjs +2 -2
- package/components/list-nav/index.esm.js +399 -313
- package/components/list-nav/index.umd.cjs +1 -1
- package/components/locale/index.esm.js +3 -0
- package/components/locale/index.umd.cjs +1 -1
- package/components/lookup/index.esm.js +997 -976
- package/components/lookup/index.umd.cjs +2 -2
- package/components/mapping-editor/index.esm.js +725 -705
- package/components/mapping-editor/index.umd.cjs +1 -1
- package/components/message-box/index.esm.js +542 -522
- package/components/message-box/index.umd.cjs +1 -1
- package/components/nav/index.esm.js +95 -308
- package/components/nav/index.umd.cjs +1 -1
- package/components/number-range/index.esm.js +115 -107
- package/components/number-range/index.umd.cjs +2 -2
- package/components/order/index.esm.js +56 -54
- package/components/order/index.umd.cjs +1 -1
- package/components/page-footer/index.esm.js +135 -123
- package/components/page-footer/index.umd.cjs +1 -1
- package/components/page-header/index.esm.js +266 -222
- package/components/page-header/index.umd.cjs +1 -1
- package/components/property-panel/index.esm.js +402 -375
- package/components/property-panel/index.umd.cjs +4 -4
- package/components/query-solution/index.esm.js +3171 -3061
- package/components/query-solution/index.umd.cjs +7 -7
- package/components/response-toolbar/index.esm.js +1 -1
- package/components/response-toolbar/index.umd.cjs +1 -1
- package/components/schema-selector/index.esm.js +1620 -1608
- package/components/schema-selector/index.umd.cjs +5 -5
- package/components/scroll-navbar/index.esm.js +150 -136
- package/components/scroll-navbar/index.umd.cjs +2 -2
- package/components/section/index.esm.js +323 -311
- package/components/section/index.umd.cjs +2 -2
- package/components/sort-condition-editor/index.esm.js +850 -830
- package/components/sort-condition-editor/index.umd.cjs +3 -3
- package/components/step/index.esm.js +991 -224
- package/components/step/index.umd.cjs +1 -1
- package/components/tabs/index.esm.js +356 -334
- package/components/tabs/index.umd.cjs +1 -1
- package/components/wizard/index.esm.js +159 -162
- package/components/wizard/index.umd.cjs +1 -1
- package/designer/avatar/index.esm.js +1721 -0
- package/designer/avatar/index.umd.cjs +6 -0
- package/designer/button-edit/index.esm.js +2 -1
- package/designer/button-edit/index.umd.cjs +1 -1
- package/designer/data-grid/index.esm.js +693 -659
- package/designer/data-grid/index.umd.cjs +6 -6
- package/designer/data-view/index.esm.js +90 -78
- package/designer/data-view/index.umd.cjs +2 -2
- package/designer/date-picker/index.esm.js +203 -203
- package/designer/date-picker/index.umd.cjs +1 -1
- package/designer/drawer/index.esm.js +181 -167
- package/designer/drawer/index.umd.cjs +2 -2
- package/designer/dynamic-form/index.esm.js +228 -206
- package/designer/dynamic-form/index.umd.cjs +2 -2
- package/designer/farris-designer.all.esm.js +10014 -9692
- package/designer/farris-designer.all.umd.cjs +18 -18
- package/designer/index.css +1 -1
- package/designer/input-group/index.esm.js +15 -15
- package/designer/input-group/index.umd.cjs +1 -1
- package/designer/nav/index.esm.js +1719 -0
- package/designer/nav/index.umd.cjs +6 -0
- package/designer/number-spinner/index.esm.js +8 -7
- package/designer/number-spinner/index.umd.cjs +1 -1
- package/designer/radio-group/index.esm.js +133 -125
- package/designer/radio-group/index.umd.cjs +2 -2
- package/designer/response-toolbar/index.esm.js +864 -863
- package/designer/response-toolbar/index.umd.cjs +1 -1
- package/designer/section/index.esm.js +245 -183
- package/designer/section/index.umd.cjs +1 -1
- package/designer/tabs/index.css +1 -1
- package/designer/tabs/index.esm.js +3667 -2810
- package/designer/tabs/index.umd.cjs +2 -2
- package/designer/time-picker/index.esm.js +26 -17
- package/designer/time-picker/index.umd.cjs +2 -2
- package/designer/tree-grid/index.esm.js +69 -37
- package/designer/tree-grid/index.umd.cjs +1 -1
- package/designer/wizard/index.esm.js +110 -110
- package/designer/wizard/index.umd.cjs +3 -3
- package/farris.all.esm.js +39993 -39089
- package/farris.all.umd.cjs +36 -36
- package/index.css +1 -1
- package/locales/filter-bar/ui/en.json +1 -0
- package/locales/filter-bar/ui/zh-CHS.json +1 -0
- package/locales/filter-bar/ui/zh-CHT.json +1 -0
- package/locales/ui/en.json +1 -0
- package/locales/ui/zh-CHS.json +1 -0
- package/locales/ui/zh-CHT.json +1 -0
- package/package.json +1 -1
- package/types/avatar/designer.d.ts +28 -0
- package/types/avatar/index.d.ts +0 -15
- package/types/avatar/src/composition/types.d.ts +3 -0
- package/types/avatar/src/composition/use-file.d.ts +19 -0
- package/types/avatar/src/composition/use-image.d.ts +1 -1
- package/types/avatar/src/designer/avatar.design.props.d.ts +24 -0
- package/types/avatar/src/property-config/avatar.property-config.d.ts +11 -13
- package/types/avatar/src/schema/schema-mapper.d.ts +2 -0
- package/types/components.d.ts +3 -0
- package/types/condition/index.d.ts +18 -6
- package/types/condition/src/condition-fields.component.d.ts +9 -3
- package/types/condition/src/condition-fields.design.component.d.ts +9 -3
- package/types/condition/src/condition-list.component.d.ts +9 -3
- package/types/condition/src/condition.props.d.ts +11 -0
- package/types/data-view/designer/property-config/use-appearance.d.ts +17 -10
- package/types/data-view/designer/property-config/use-pagination.d.ts +0 -6
- package/types/designer-canvas/src/composition/dg-control.d.ts +13 -0
- package/types/dynamic-form/src/component/dynamic-form-label/dynamic-form-label.component.d.ts +3 -0
- package/types/dynamic-form/src/component/dynamic-form-label/dynamic-form-label.props.d.ts +4 -0
- package/types/dynamic-resolver/src/converter/tree-auto-check.converter.d.ts +3 -0
- package/types/dynamic-view/src/components/maps.d.ts +130 -4
- package/types/filter-bar/src/composition/types.d.ts +2 -0
- package/types/filter-bar/src/filter-bar.props.d.ts +0 -1
- package/types/filter-bar/src/locale/locale.d.ts +2 -1
- package/types/filter-bar/src/property-config/filter-bar.property-config.d.ts +0 -1
- package/types/language-textbox/index.d.ts +65 -2
- package/types/language-textbox/src/designer/language-textbox.design.component.d.ts +36 -0
- package/types/language-textbox/src/language-textbox.component.d.ts +38 -1
- package/types/language-textbox/src/language-textbox.props.d.ts +20 -0
- package/types/lookup/src/components/popup-container.component.d.ts +3 -3
- package/types/lookup/src/composition/use-compat.d.ts +28 -0
- package/types/lookup/src/composition/use-state.d.ts +1 -0
- package/types/message-box/src/message-box.service.d.ts +2 -1
- package/types/nav/designer.d.ts +28 -0
- package/types/nav/index.d.ts +24 -20
- package/types/nav/src/designer/nav.design.props.d.ts +29 -0
- package/types/nav/src/designer/use-design-rules.d.ts +3 -0
- package/types/nav/src/property-config/nav.property-config.d.ts +9 -0
- package/types/nav/src/schema/schema-mapper.d.ts +4 -0
- package/types/page-footer/src/designer/use-designer-rules.d.ts +2 -2
- package/types/page-header/src/designer/use-designer-rules.d.ts +2 -2
- package/types/property-panel/src/composition/entity/input-base-property.d.ts +1 -0
- package/types/query-solution/src/designer/query-solution-config/composition/use-util.d.ts +1 -1
- package/types/query-solution/src/designer/query-solution-config/query-solution-config.props.d.ts +1 -1
- package/types/section/src/designer/section.design.props.d.ts +4 -0
- package/types/section/src/property-config/section.property-config.d.ts +39 -0
- package/types/section/src/schema/toolbar-resolver.d.ts +0 -1
- package/types/step/src/designer/use-designer-rules.d.ts +3 -0
- package/types/step/src/designer/use-step-creator.d.ts +6 -0
- package/types/step/src/property-config/step.property-config.d.ts +15 -0
- package/types/step/src/schema/schema-resolver.d.ts +2 -1
- package/types/tabs/src/composition/types.d.ts +4 -0
- package/types/tabs/src/tabs.props.d.ts +6 -0
- package/types/tooltip/index.d.ts +3 -3
- package/types/tooltip/src/tooltip.component.d.ts +2 -2
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { defineComponent as T, createVNode as
|
|
2
|
-
import { resolveAppearance as
|
|
3
|
-
import { DgControl as
|
|
4
|
-
import { FormSchemaRepositorySymbol as
|
|
5
|
-
import { BaseControlProperty as
|
|
6
|
-
import { FLoadingService as
|
|
7
|
-
import { FNotifyService as
|
|
8
|
-
import { FSchemaSelector as
|
|
9
|
-
const
|
|
10
|
-
["appearance",
|
|
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
|
|
12
|
+
function V(i, n, e, t) {
|
|
13
13
|
const o = e.parentComponentInstance;
|
|
14
|
-
return o && t && (o.schema.type ===
|
|
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
|
|
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
|
-
},
|
|
59
|
+
}, re = [
|
|
60
60
|
"id",
|
|
61
61
|
"type",
|
|
62
62
|
"externalComponent"
|
|
63
|
-
],
|
|
63
|
+
], se = {
|
|
64
64
|
onCommunication: "通讯事件"
|
|
65
|
-
},
|
|
66
|
-
$schema:
|
|
67
|
-
$id:
|
|
68
|
-
title:
|
|
69
|
-
description:
|
|
70
|
-
type:
|
|
71
|
-
properties:
|
|
72
|
-
required:
|
|
73
|
-
events:
|
|
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
|
-
},
|
|
82
|
+
}, k = K(R, ce, Z, V), N = /* @__PURE__ */ T({
|
|
83
83
|
name: "FExternalContainer",
|
|
84
84
|
props: R,
|
|
85
85
|
emits: [],
|
|
86
|
-
setup(
|
|
87
|
-
return () =>
|
|
88
|
-
class:
|
|
89
|
-
style:
|
|
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
|
-
}),
|
|
93
|
-
convertFrom: (
|
|
92
|
+
}), le = {
|
|
93
|
+
convertFrom: (i, n) => {
|
|
94
94
|
var e;
|
|
95
|
-
return (e =
|
|
95
|
+
return (e = i.externalComponent) == null ? void 0 : e.name;
|
|
96
96
|
},
|
|
97
|
-
convertTo: (
|
|
98
|
-
e && (
|
|
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
|
|
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:
|
|
142
|
+
repositoryToken: D,
|
|
143
143
|
validateFunction: (t) => {
|
|
144
144
|
if (t.id)
|
|
145
145
|
return e.checkFormValidtion(t);
|
|
146
146
|
}
|
|
147
147
|
},
|
|
148
|
-
$converter:
|
|
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 =
|
|
158
|
-
return this.designerHostService.metadataService.getPickMetadata(e.relativePath, n).then((
|
|
159
|
-
|
|
160
|
-
const
|
|
161
|
-
if (["list-component", "tree-component", "list-view-component"].includes(
|
|
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
|
|
164
|
-
return this.designerHostService.messagerService.warning(
|
|
165
|
-
}, (
|
|
166
|
-
var
|
|
167
|
-
return
|
|
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,
|
|
185
|
-
const
|
|
186
|
-
delete n[t.viewModelId],
|
|
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(),
|
|
199
|
+
const o = this.designerHostService.formSchemaUtils.getFormSchema(), m = o.module.communications || [];
|
|
200
200
|
let l = !1;
|
|
201
|
-
if (t.map((
|
|
202
|
-
const
|
|
203
|
-
|
|
204
|
-
}), o.module.communications = o.module.communications.filter((
|
|
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
|
|
207
|
-
|
|
206
|
+
const u = new $();
|
|
207
|
+
u.globalConfig = { position: "top-center" }, u.warning({ message: "切换引入表单后,请重新配置组件通讯。" });
|
|
208
208
|
}
|
|
209
209
|
}
|
|
210
210
|
}
|
|
211
|
-
function
|
|
212
|
-
const e =
|
|
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
|
|
219
|
+
function m() {
|
|
220
220
|
return !0;
|
|
221
221
|
}
|
|
222
222
|
function l() {
|
|
223
223
|
return !0;
|
|
224
224
|
}
|
|
225
|
-
function
|
|
225
|
+
function u() {
|
|
226
226
|
return "position:relative;padding:0 !important;border:0;overflow:hidden;";
|
|
227
227
|
}
|
|
228
|
-
function r
|
|
229
|
-
return new
|
|
228
|
+
function c(r) {
|
|
229
|
+
return new me(r, n).getPropertyConfig(e, i.componentInstance.value);
|
|
230
230
|
}
|
|
231
|
-
function
|
|
232
|
-
n != null && n.formSchemaUtils && n.formSchemaUtils.externalFormSchema.delete(
|
|
231
|
+
function d() {
|
|
232
|
+
n != null && n.formSchemaUtils && n.formSchemaUtils.externalFormSchema.delete(i.schema.id);
|
|
233
233
|
}
|
|
234
|
-
return { canAccepts: t, checkCanDeleteComponent: o, checkCanMoveComponent:
|
|
234
|
+
return { canAccepts: t, checkCanDeleteComponent: o, checkCanMoveComponent: m, hideNestedPaddingInDesginerView: l, getStyles: u, getPropsConfig: c, onRemoveComponent: d };
|
|
235
235
|
}
|
|
236
|
-
const
|
|
236
|
+
const pe = /* @__PURE__ */ T({
|
|
237
237
|
name: "FImportExteranlSchema",
|
|
238
238
|
emits: ["close", "submit"],
|
|
239
|
-
setup(
|
|
240
|
-
|
|
239
|
+
setup(i, n) {
|
|
240
|
+
var P;
|
|
241
|
+
const e = S("designer-host-service");
|
|
241
242
|
let t;
|
|
242
|
-
const o =
|
|
243
|
-
|
|
243
|
+
const o = y(), m = new $();
|
|
244
|
+
m.globalConfig = {
|
|
244
245
|
position: "top-center"
|
|
245
246
|
};
|
|
246
|
-
const l =
|
|
247
|
-
async function
|
|
248
|
-
const
|
|
249
|
-
return e.metadataService.getPickMetadata(
|
|
250
|
-
var
|
|
251
|
-
(
|
|
252
|
-
const
|
|
253
|
-
templateId:
|
|
254
|
-
name:
|
|
255
|
-
} =
|
|
256
|
-
if (["list-component", "tree-component", "list-view-component"].includes(
|
|
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
|
|
259
|
-
return e.messagerService.warning(
|
|
260
|
-
}, (
|
|
261
|
-
var
|
|
262
|
-
return e.messagerService.error(((
|
|
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
|
|
266
|
+
async function F() {
|
|
266
267
|
if (!o.value) {
|
|
267
|
-
|
|
268
|
+
m.warning("请选择表单");
|
|
268
269
|
return;
|
|
269
270
|
}
|
|
270
|
-
if (await
|
|
271
|
+
if (await v(o.value))
|
|
271
272
|
return !0;
|
|
272
273
|
}
|
|
273
|
-
function
|
|
274
|
-
var
|
|
275
|
-
const
|
|
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",
|
|
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
|
|
288
|
-
var
|
|
289
|
-
(
|
|
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
|
|
292
|
-
o.value =
|
|
292
|
+
function x(a) {
|
|
293
|
+
o.value = a != null && a.length ? a[0] : null;
|
|
293
294
|
}
|
|
294
295
|
function w() {
|
|
295
|
-
const
|
|
296
|
-
formBasicInfo:
|
|
297
|
-
},
|
|
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 () =>
|
|
317
|
-
ref:
|
|
318
|
-
injectSymbolToken:
|
|
317
|
+
return () => f(Y, {
|
|
318
|
+
ref: c,
|
|
319
|
+
injectSymbolToken: D,
|
|
319
320
|
"view-type": "Tabs",
|
|
320
|
-
"view-options":
|
|
321
|
-
editorParams:
|
|
321
|
+
"view-options": s,
|
|
322
|
+
editorParams: a,
|
|
322
323
|
designerHostService: e,
|
|
323
324
|
"show-footer": !0,
|
|
324
|
-
onSelectionChange:
|
|
325
|
-
"validate-function":
|
|
326
|
-
onSubmit:
|
|
327
|
-
onCancel:
|
|
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
|
|
333
|
-
|
|
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 () =>
|
|
345
|
+
return () => f("div", {
|
|
345
346
|
class: "f-import-exteranl-component-button no-drag"
|
|
346
|
-
}, [
|
|
347
|
+
}, [f("div", {
|
|
347
348
|
class: "f-import-exteranl-component-button-center",
|
|
348
|
-
onClick:
|
|
349
|
-
}, [
|
|
349
|
+
onClick: M
|
|
350
|
+
}, [f("div", {
|
|
350
351
|
class: "f-icon f-icon-add mr-2"
|
|
351
|
-
}, null),
|
|
352
|
+
}, null), f("span", null, [j("引入已有表单")])])]);
|
|
352
353
|
}
|
|
353
|
-
}),
|
|
354
|
+
}), de = /* @__PURE__ */ T({
|
|
354
355
|
name: "FExternalContainerDesign",
|
|
355
356
|
props: R,
|
|
356
357
|
emits: [],
|
|
357
|
-
setup(
|
|
358
|
-
const e =
|
|
359
|
-
var
|
|
360
|
-
return (
|
|
361
|
-
}),
|
|
362
|
-
|
|
363
|
-
function
|
|
364
|
-
const
|
|
365
|
-
id:
|
|
366
|
-
code:
|
|
367
|
-
name:
|
|
368
|
-
fileName:
|
|
369
|
-
nameSpace:
|
|
370
|
-
content:
|
|
371
|
-
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
|
-
|
|
374
|
+
d.externalFormSchema.set(l.value.schema.id, a);
|
|
374
375
|
}
|
|
375
|
-
async function
|
|
376
|
-
var
|
|
377
|
-
const
|
|
378
|
-
if ((
|
|
379
|
-
const
|
|
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(
|
|
383
|
-
var
|
|
384
|
-
if ((
|
|
385
|
-
const
|
|
386
|
-
|
|
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
|
-
|
|
389
|
-
|
|
390
|
-
}, (
|
|
391
|
-
var
|
|
392
|
-
|
|
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
|
-
|
|
397
|
-
var
|
|
398
|
-
!
|
|
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
|
-
}),
|
|
402
|
-
e.value.componentInstance = l,
|
|
402
|
+
}), L(() => {
|
|
403
|
+
e.value.componentInstance = l, v.value || x();
|
|
403
404
|
}), n.expose(l.value);
|
|
404
|
-
function
|
|
405
|
-
return
|
|
406
|
-
modelValue:
|
|
407
|
-
"onUpdate:modelValue": (
|
|
408
|
-
"external-form-schema":
|
|
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
|
|
412
|
-
var
|
|
413
|
-
l.value.schema.externalComponent =
|
|
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
|
|
416
|
-
return
|
|
417
|
-
onSubmit:
|
|
416
|
+
function P() {
|
|
417
|
+
return f(pe, {
|
|
418
|
+
onSubmit: M
|
|
418
419
|
}, null);
|
|
419
420
|
}
|
|
420
|
-
return () =>
|
|
421
|
+
return () => f("div", {
|
|
421
422
|
ref: e,
|
|
422
423
|
style: "height: inherit;"
|
|
423
|
-
}, [
|
|
424
|
+
}, [b.value ? P() : w()]);
|
|
424
425
|
}
|
|
425
|
-
}),
|
|
426
|
-
install(
|
|
427
|
-
|
|
426
|
+
}), Fe = {
|
|
427
|
+
install(i) {
|
|
428
|
+
i.component(N.name, N);
|
|
428
429
|
},
|
|
429
|
-
register(
|
|
430
|
-
|
|
430
|
+
register(i, n, e, t) {
|
|
431
|
+
i["external-container"] = N, n["external-container"] = k;
|
|
431
432
|
},
|
|
432
|
-
registerDesigner(
|
|
433
|
-
|
|
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
|
-
|
|
439
|
-
|
|
439
|
+
de as FExternalContainerDesign,
|
|
440
|
+
Fe as default,
|
|
440
441
|
R as externalContainerProps,
|
|
441
|
-
|
|
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"}})});
|