@gct-paas/render 0.1.6-dev.0 → 0.1.6-dev.10
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/dist/index.min.css +1 -1
- package/dist/loader.esm.min.js +1 -1
- package/es/Event/baseEvent.mjs +3 -1
- package/es/Event/index.d.ts +1 -0
- package/es/Event/index.mjs +1 -0
- package/es/Event/utils/appRedis.mjs +1 -1
- package/es/components/design-render/design-render.css +71 -0
- package/es/components/design-render/design-render.d.ts +41 -0
- package/es/components/design-render/design-render.mjs +121 -0
- package/es/components/design-render-item/design-render-item.d.ts +13 -0
- package/es/components/design-render-item/design-render-item.mjs +22 -0
- package/es/components/index.d.ts +2 -2
- package/es/components/index.mjs +1 -0
- package/es/constant/index.d.ts +14 -0
- package/es/constant/index.mjs +16 -1
- package/es/controller/design-render-base/design-render-base.controller.mjs +1 -0
- package/es/hooks/index.mjs +1 -1
- package/es/index.d.ts +2 -0
- package/es/index.mjs +19 -7
- package/es/props/index.d.ts +73 -0
- package/es/props/index.mjs +71 -0
- package/es/providers/index.d.ts +1 -0
- package/es/providers/index.mjs +1 -0
- package/es/providers/render-design-editor/render-design-editor.provider.d.ts +12 -0
- package/es/providers/render-design-editor/render-design-editor.provider.mjs +15 -0
- package/es/register/node/node.register.mjs +2 -0
- package/es/register/render-register/render-register.d.ts +6 -3
- package/es/register/render-register/render-register.mjs +18 -7
- package/es/types/index.d.ts +10 -0
- package/es/utils/design-install/design-install.d.ts +16 -0
- package/es/utils/design-install/design-install.mjs +28 -0
- package/es/utils/expression/regularExpression/methods.mjs +1 -1
- package/es/utils/index.d.ts +1 -0
- package/es/utils/index.mjs +2 -1
- package/es/utils/search/listhook.mjs +4 -0
- package/package.json +11 -11
package/es/Event/baseEvent.mjs
CHANGED
|
@@ -8,9 +8,9 @@ import { FormComponents, INNER_EVENT, t } from "@gct-paas/core";
|
|
|
8
8
|
import dayjs from "dayjs";
|
|
9
9
|
import { toRaw } from "vue";
|
|
10
10
|
import { useStyleTag } from "@vueuse/core";
|
|
11
|
-
import BigNumberJS from "bignumber.js";
|
|
12
11
|
import * as _ from "lodash-es";
|
|
13
12
|
import { cloneDeep, differenceBy } from "lodash-es";
|
|
13
|
+
import BigNumberJS from "bignumber.js";
|
|
14
14
|
//#region src/Event/baseEvent.ts
|
|
15
15
|
var Events = class {
|
|
16
16
|
context;
|
|
@@ -273,7 +273,9 @@ var Context = class {
|
|
|
273
273
|
div(a, b) {
|
|
274
274
|
return new BigNumberJS(a).div(new BigNumberJS(b)).toNumber();
|
|
275
275
|
},
|
|
276
|
+
/**表格数据data,dict翻译 */
|
|
276
277
|
transformSourceData,
|
|
278
|
+
/**表单数据data,dict翻译*/
|
|
277
279
|
transformData
|
|
278
280
|
};
|
|
279
281
|
$httpBizService = $httpBizService;
|
package/es/Event/index.d.ts
CHANGED
package/es/Event/index.mjs
CHANGED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
@charset "UTF-8";
|
|
2
|
+
/* stylelint-disable scss/no-global-function-names */
|
|
3
|
+
/* bem('block', 'element', 'modifier') => 'ibiz-block__element--modifier' */
|
|
4
|
+
/**
|
|
5
|
+
* 定义 Block 块
|
|
6
|
+
* @param {String} $block - Block 块名称
|
|
7
|
+
* @example
|
|
8
|
+
* @include b('button') {
|
|
9
|
+
* padding: 10px;
|
|
10
|
+
* }
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* 定义 Element 元素
|
|
14
|
+
* @param {String|List} $element - Element 元素名称,支持单个或多个
|
|
15
|
+
* @example
|
|
16
|
+
* @include b('button') {
|
|
17
|
+
* @include e('text') {
|
|
18
|
+
* color: #000;
|
|
19
|
+
* }
|
|
20
|
+
* }
|
|
21
|
+
* // 或传入多个元素
|
|
22
|
+
* @include b('button') {
|
|
23
|
+
* @include e(('text', 'icon')) {
|
|
24
|
+
* margin: 5px;
|
|
25
|
+
* }
|
|
26
|
+
* }
|
|
27
|
+
*/
|
|
28
|
+
/**
|
|
29
|
+
* 定义 Modifier 修饰符
|
|
30
|
+
* @param {String|List} $modifier - Modifier 修饰符名称,支持单个或多个
|
|
31
|
+
* @example
|
|
32
|
+
* @include b('button') {
|
|
33
|
+
* @include m('primary') {
|
|
34
|
+
* background: blue;
|
|
35
|
+
* }
|
|
36
|
+
* }
|
|
37
|
+
* // 或传入多个修饰符
|
|
38
|
+
* @include b('button') {
|
|
39
|
+
* @include m(('primary', 'large')) {
|
|
40
|
+
* background: blue;
|
|
41
|
+
* font-size: 16px;
|
|
42
|
+
* }
|
|
43
|
+
* }
|
|
44
|
+
*/
|
|
45
|
+
/**
|
|
46
|
+
* 定义状态选择器
|
|
47
|
+
* @param {String} $state - 状态名称
|
|
48
|
+
* @example
|
|
49
|
+
* @include b('button') {
|
|
50
|
+
* @include when('disabled') {
|
|
51
|
+
* opacity: 0.5;
|
|
52
|
+
* }
|
|
53
|
+
* }
|
|
54
|
+
*/
|
|
55
|
+
/**
|
|
56
|
+
* 深色主题样式
|
|
57
|
+
* @param {String} $block - Block 块名称
|
|
58
|
+
* @example
|
|
59
|
+
* @include dark('button') {
|
|
60
|
+
* background: #333;
|
|
61
|
+
* color: #fff;
|
|
62
|
+
* }
|
|
63
|
+
*/
|
|
64
|
+
/* stylelint-disable scss/no-global-function-names */
|
|
65
|
+
.gct-design-render {
|
|
66
|
+
position: relative;
|
|
67
|
+
width: 100%;
|
|
68
|
+
height: 100%;
|
|
69
|
+
overflow: hidden auto;
|
|
70
|
+
background-color: #f7f8fa;
|
|
71
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
import { IDesignData } from '@gct-paas/schema';
|
|
3
|
+
export declare const DesignRender: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
4
|
+
model: {
|
|
5
|
+
type: PropType<IDesignData>;
|
|
6
|
+
required: true;
|
|
7
|
+
};
|
|
8
|
+
prefix: {
|
|
9
|
+
type: StringConstructor;
|
|
10
|
+
default: string;
|
|
11
|
+
};
|
|
12
|
+
preview: {
|
|
13
|
+
type: BooleanConstructor;
|
|
14
|
+
default: boolean;
|
|
15
|
+
};
|
|
16
|
+
context: {
|
|
17
|
+
type: PropType<IContext>;
|
|
18
|
+
default: () => {};
|
|
19
|
+
};
|
|
20
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
21
|
+
model: {
|
|
22
|
+
type: PropType<IDesignData>;
|
|
23
|
+
required: true;
|
|
24
|
+
};
|
|
25
|
+
prefix: {
|
|
26
|
+
type: StringConstructor;
|
|
27
|
+
default: string;
|
|
28
|
+
};
|
|
29
|
+
preview: {
|
|
30
|
+
type: BooleanConstructor;
|
|
31
|
+
default: boolean;
|
|
32
|
+
};
|
|
33
|
+
context: {
|
|
34
|
+
type: PropType<IContext>;
|
|
35
|
+
default: () => {};
|
|
36
|
+
};
|
|
37
|
+
}>> & Readonly<{}>, {
|
|
38
|
+
prefix: string;
|
|
39
|
+
preview: boolean;
|
|
40
|
+
context: IContext;
|
|
41
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { RenderNodeRegister } from "../../register/node/node.register.mjs";
|
|
2
|
+
import "../../register/index.mjs";
|
|
3
|
+
import { DesignRenderItem } from "../design-render-item/design-render-item.mjs";
|
|
4
|
+
import './design-render.css';/* empty css */
|
|
5
|
+
import { useDesignRenderController } from "../../hooks/use-design-render-controller/use-design-render-controller.mjs";
|
|
6
|
+
import "../../hooks/index.mjs";
|
|
7
|
+
import { calcStyle, useNamespace } from "@gct-paas/core";
|
|
8
|
+
import { computed, createTextVNode, createVNode, defineComponent, h, resolveComponent, watch } from "vue";
|
|
9
|
+
import { DesignNodeMode } from "@gct-paas/schema";
|
|
10
|
+
//#region src/components/design-render/design-render.tsx
|
|
11
|
+
var DesignRender = /* @__PURE__ */ defineComponent({
|
|
12
|
+
name: "DesignRender",
|
|
13
|
+
props: {
|
|
14
|
+
model: {
|
|
15
|
+
type: Object,
|
|
16
|
+
required: true
|
|
17
|
+
},
|
|
18
|
+
prefix: {
|
|
19
|
+
type: String,
|
|
20
|
+
default: ""
|
|
21
|
+
},
|
|
22
|
+
preview: {
|
|
23
|
+
type: Boolean,
|
|
24
|
+
default: false
|
|
25
|
+
},
|
|
26
|
+
context: {
|
|
27
|
+
type: Object,
|
|
28
|
+
default: () => {
|
|
29
|
+
return {};
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
setup(props) {
|
|
34
|
+
const ns = useNamespace("design-render");
|
|
35
|
+
const c = useDesignRenderController();
|
|
36
|
+
c.prefix = props.prefix;
|
|
37
|
+
c.preview = props.preview;
|
|
38
|
+
c.setNodes(props.model.nodes);
|
|
39
|
+
c.setTree(props.model.tree);
|
|
40
|
+
watch(() => props.context, () => {
|
|
41
|
+
c.state.context = props.context;
|
|
42
|
+
}, { immediate: true });
|
|
43
|
+
const style = computed(() => {
|
|
44
|
+
if (props.model.pageNode) return calcStyle(props.model.pageNode.data);
|
|
45
|
+
return {};
|
|
46
|
+
});
|
|
47
|
+
const rootNodes = c.getNodes();
|
|
48
|
+
function renderNodeItem(node, parent) {
|
|
49
|
+
const provider = RenderNodeRegister.get(node.type, c.prefix);
|
|
50
|
+
const itemC = c.getController(node.id);
|
|
51
|
+
return h(resolveComponent(provider.component), {
|
|
52
|
+
key: node.id,
|
|
53
|
+
c: itemC,
|
|
54
|
+
model: node,
|
|
55
|
+
parent,
|
|
56
|
+
preview: props.preview,
|
|
57
|
+
context: c.state.context,
|
|
58
|
+
pageModel: props.model.pageNode
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
function renderNodeContainer(node, parent) {
|
|
62
|
+
const provider = RenderNodeRegister.get(node.type, c.prefix);
|
|
63
|
+
const items = c.getNodes(node.id);
|
|
64
|
+
const itemC = c.getController(node.id);
|
|
65
|
+
return h(resolveComponent(provider.component), {
|
|
66
|
+
key: node.id,
|
|
67
|
+
c: itemC,
|
|
68
|
+
model: node,
|
|
69
|
+
parent,
|
|
70
|
+
preview: props.preview,
|
|
71
|
+
context: c.state.context,
|
|
72
|
+
pageModel: props.model.pageNode
|
|
73
|
+
}, items.map((_) => {
|
|
74
|
+
return renderNode(_, node);
|
|
75
|
+
}));
|
|
76
|
+
}
|
|
77
|
+
function renderNode(node, parent) {
|
|
78
|
+
const provider = RenderNodeRegister.get(node.type, c.prefix);
|
|
79
|
+
if (!provider) {
|
|
80
|
+
console.warn(`未找到节点类型为${node.type}的渲染器`);
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
let content = null;
|
|
84
|
+
if (provider.mode === DesignNodeMode.CONTAINER) content = renderNodeContainer(node, parent);
|
|
85
|
+
else if (provider.mode === DesignNodeMode.ITEM) content = renderNodeItem(node, parent);
|
|
86
|
+
else content = createVNode("div", null, [
|
|
87
|
+
createTextVNode("未支持的适配器模式["),
|
|
88
|
+
provider.mode,
|
|
89
|
+
createTextVNode("]")
|
|
90
|
+
]);
|
|
91
|
+
return createVNode(DesignRenderItem, { "model": node }, { default: () => content });
|
|
92
|
+
}
|
|
93
|
+
function renderPageNode(child) {
|
|
94
|
+
if (!props.model.pageNode) return child;
|
|
95
|
+
const provider = RenderNodeRegister.get(props.model.pageNode.type, c.prefix);
|
|
96
|
+
if (!provider) {
|
|
97
|
+
console.warn(`未找到页面节点类型为${props.model.pageNode.type}的渲染器`);
|
|
98
|
+
return child;
|
|
99
|
+
}
|
|
100
|
+
const itemC = c.getController(props.model.pageNode.id);
|
|
101
|
+
return h(resolveComponent(provider.component), {
|
|
102
|
+
key: props.model.pageNode.id,
|
|
103
|
+
c: itemC,
|
|
104
|
+
model: props.model.pageNode,
|
|
105
|
+
parent: void 0,
|
|
106
|
+
preview: props.preview,
|
|
107
|
+
context: c.state.context
|
|
108
|
+
}, child);
|
|
109
|
+
}
|
|
110
|
+
return () => {
|
|
111
|
+
return createVNode("div", {
|
|
112
|
+
"class": ns.b(),
|
|
113
|
+
"style": style.value
|
|
114
|
+
}, [renderPageNode(rootNodes.map((node) => {
|
|
115
|
+
return renderNode(node);
|
|
116
|
+
}))]);
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
//#endregion
|
|
121
|
+
export { DesignRender };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
import { IDesignNode } from '@gct-paas/schema';
|
|
3
|
+
export declare const DesignRenderItem: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
4
|
+
model: {
|
|
5
|
+
type: PropType<IDesignNode>;
|
|
6
|
+
required: true;
|
|
7
|
+
};
|
|
8
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
9
|
+
model: {
|
|
10
|
+
type: PropType<IDesignNode>;
|
|
11
|
+
required: true;
|
|
12
|
+
};
|
|
13
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { calcStyle, useNamespace } from "@gct-paas/core";
|
|
2
|
+
import { createVNode, defineComponent } from "vue";
|
|
3
|
+
//#region src/components/design-render-item/design-render-item.tsx
|
|
4
|
+
var DesignRenderItem = /* @__PURE__ */ defineComponent({
|
|
5
|
+
name: "DesignRenderItem",
|
|
6
|
+
props: { model: {
|
|
7
|
+
type: Object,
|
|
8
|
+
required: true
|
|
9
|
+
} },
|
|
10
|
+
setup(props, { slots }) {
|
|
11
|
+
const ns = useNamespace("design-render-item");
|
|
12
|
+
const style = calcStyle(props.model.data);
|
|
13
|
+
return () => {
|
|
14
|
+
return createVNode("div", {
|
|
15
|
+
"class": ns.b(),
|
|
16
|
+
"style": style
|
|
17
|
+
}, [slots.default?.()]);
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
//#endregion
|
|
22
|
+
export { DesignRenderItem };
|
package/es/components/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export { HandwritingPad };
|
|
1
|
+
export { DesignRender } from './design-render/design-render';
|
|
2
|
+
export { default as HandwritingPad } from './HandwritingPad.vue';
|
package/es/components/index.mjs
CHANGED
package/es/constant/index.d.ts
CHANGED
|
@@ -90,5 +90,19 @@ export declare enum RenderNodeType {
|
|
|
90
90
|
/**待办 */
|
|
91
91
|
TODO = "todo"
|
|
92
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* 设计节点类型
|
|
95
|
+
*
|
|
96
|
+
* @author chitanda
|
|
97
|
+
* @date 2025-07-08 13:07:18
|
|
98
|
+
* @export
|
|
99
|
+
* @enum {number}
|
|
100
|
+
*/
|
|
101
|
+
export declare enum DesignNodeType {
|
|
102
|
+
/**
|
|
103
|
+
* 设计编辑器
|
|
104
|
+
*/
|
|
105
|
+
DESIGN_EDITOR = "design_editor"
|
|
106
|
+
}
|
|
93
107
|
export * from './date-time';
|
|
94
108
|
export * from './data-format';
|
package/es/constant/index.mjs
CHANGED
|
@@ -96,5 +96,20 @@ var RenderNodeType = /* @__PURE__ */ function(RenderNodeType) {
|
|
|
96
96
|
RenderNodeType["TODO"] = "todo";
|
|
97
97
|
return RenderNodeType;
|
|
98
98
|
}({});
|
|
99
|
+
/**
|
|
100
|
+
* 设计节点类型
|
|
101
|
+
*
|
|
102
|
+
* @author chitanda
|
|
103
|
+
* @date 2025-07-08 13:07:18
|
|
104
|
+
* @export
|
|
105
|
+
* @enum {number}
|
|
106
|
+
*/
|
|
107
|
+
var DesignNodeType = /* @__PURE__ */ function(DesignNodeType) {
|
|
108
|
+
/**
|
|
109
|
+
* 设计编辑器
|
|
110
|
+
*/
|
|
111
|
+
DesignNodeType["DESIGN_EDITOR"] = "design_editor";
|
|
112
|
+
return DesignNodeType;
|
|
113
|
+
}({});
|
|
99
114
|
//#endregion
|
|
100
|
-
export { ControllerType, DesignRenderViewPrefix, RenderNodeType };
|
|
115
|
+
export { ControllerType, DesignNodeType, DesignRenderViewPrefix, RenderNodeType };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { DesignRenderBaseState } from "../../state/design-render-base/design-render-base.state.mjs";
|
|
2
2
|
//#region src/controller/design-render-base/design-render-base.controller.ts
|
|
3
3
|
var DesignRenderBaseController = class {
|
|
4
|
+
model;
|
|
4
5
|
state = new DesignRenderBaseState();
|
|
5
6
|
constructor(model) {
|
|
6
7
|
this.model = model;
|
package/es/hooks/index.mjs
CHANGED
package/es/index.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ export * from './constant';
|
|
|
3
3
|
export * from './Event';
|
|
4
4
|
export * from './hooks';
|
|
5
5
|
export type * from './interface';
|
|
6
|
+
export * from './props';
|
|
7
|
+
export * from './providers';
|
|
6
8
|
export * from './register';
|
|
7
9
|
export * from './utils';
|
|
8
10
|
export * from './modules/vue3-dnd';
|
package/es/index.mjs
CHANGED
|
@@ -1,18 +1,26 @@
|
|
|
1
1
|
import { RenderRegister } from "./register/render-register/render-register.mjs";
|
|
2
2
|
import { DESIGN_DATA_KEY_TAG, DESIGN_TYPE, DateRangeMap, DesignItemAttribute, getDefaultDate, getDisabledDate, getMobileDateRange } from "./constant/date-time.mjs";
|
|
3
3
|
import { DateFormat, DatepickerRanges } from "./constant/data-format.mjs";
|
|
4
|
-
import { ControllerType, DesignRenderViewPrefix, RenderNodeType } from "./constant/index.mjs";
|
|
4
|
+
import { ControllerType, DesignNodeType, DesignRenderViewPrefix, RenderNodeType } from "./constant/index.mjs";
|
|
5
5
|
import { RenderNodeRegister } from "./register/node/node.register.mjs";
|
|
6
6
|
import "./register/index.mjs";
|
|
7
|
+
import { useDesignRenderController } from "./hooks/use-design-render-controller/use-design-render-controller.mjs";
|
|
8
|
+
import { useGctSelect } from "./hooks/useStorageRef.mjs";
|
|
9
|
+
import { FieldSchema, initFieldWidgetRuntime } from "./utils/getFieldSchema.mjs";
|
|
10
|
+
import { useAsyncFileAttrs } from "./hooks/widgets/useFileAttrsHooks.mjs";
|
|
11
|
+
import "./hooks/index.mjs";
|
|
12
|
+
import { DesignRender } from "./components/design-render/design-render.mjs";
|
|
7
13
|
import HandwritingPad_default from "./components/HandwritingPad.vue.mjs";
|
|
8
14
|
import "./components/index.mjs";
|
|
9
|
-
import {
|
|
15
|
+
import { GlobaAppInfo } from "./Event/utils/appRedis.mjs";
|
|
10
16
|
import { Globals, PageTypeEnum, formMap, getPageTitle, getPremission, globalVarCaches, pageDataforJson, pageGlobaVariables, setFormData } from "./Event/utils/runGlobalByPage.mjs";
|
|
17
|
+
import { RenderDesignEditor } from "./providers/render-design-editor/render-design-editor.provider.mjs";
|
|
18
|
+
import "./providers/index.mjs";
|
|
19
|
+
import { widthRenderDesignEditorInstall } from "./utils/design-install/design-install.mjs";
|
|
11
20
|
import { calculate, identify } from "./utils/expression/index.mjs";
|
|
12
21
|
import { transformPropsField } from "./utils/field-attrs/index.mjs";
|
|
13
22
|
import { RenderPluginPgkUtil } from "./utils/render-plugin-pkg-util/render-plugin-pkg-util.mjs";
|
|
14
23
|
import { schemaToStyle, useStyle } from "./utils/useStyle.mjs";
|
|
15
|
-
import { FieldSchema, initFieldWidgetRuntime } from "./utils/getFieldSchema.mjs";
|
|
16
24
|
import { addDataByForm, setDataByForm, transSelectData, transformData, transformDataToDict, transformSourceData } from "./utils/model-transformer.mjs";
|
|
17
25
|
import { cacheAdapter } from "./utils/cacheAdapter.mjs";
|
|
18
26
|
import { getRefInfoId } from "./utils/get-ref-data.mjs";
|
|
@@ -28,9 +36,7 @@ import { useDisplayRuleColumnByStyles, useDisplayRuleOptions, useVisibileByRuleH
|
|
|
28
36
|
import { dependencyToShow, dependencyToShowSync, tableWidgetByDept, tableWidgetToShow, useDependencyToShow, useDependencyToShowList } from "./Event/Dependency/useDependencyToShow.mjs";
|
|
29
37
|
import { useDependency, useDependencyByRequired } from "./Event/Dependency/useDependency.mjs";
|
|
30
38
|
import "./Event/index.mjs";
|
|
31
|
-
import {
|
|
32
|
-
import { useAsyncFileAttrs } from "./hooks/widgets/useFileAttrsHooks.mjs";
|
|
33
|
-
import "./hooks/index.mjs";
|
|
39
|
+
import { containerNodeProps, nodeEditorProps, nodeProps } from "./props/index.mjs";
|
|
34
40
|
import { Vue3DndDraggableItem } from "./modules/vue3-dnd/components/vue3-dnd-draggable-item/vue3-dnd-draggable-item.mjs";
|
|
35
41
|
import { Vue3DndDraggable } from "./modules/vue3-dnd/components/vue3-dnd-draggable/vue3-dnd-draggable.mjs";
|
|
36
42
|
import "./modules/vue3-dnd/index.mjs";
|
|
@@ -38,6 +44,12 @@ import "./modules/vue3-dnd/index.mjs";
|
|
|
38
44
|
function onInit() {
|
|
39
45
|
if (!_gct.register.render) _gct.register.render = new RenderRegister();
|
|
40
46
|
else console.warn("渲染注册已存在,可能存在重复注册问题,请检查是否有重复引入渲染包的情况");
|
|
47
|
+
Object.defineProperty(window, "_kit", {
|
|
48
|
+
value: {},
|
|
49
|
+
writable: false,
|
|
50
|
+
configurable: false
|
|
51
|
+
});
|
|
41
52
|
}
|
|
53
|
+
onInit();
|
|
42
54
|
//#endregion
|
|
43
|
-
export { Context, ControllerType, DESIGN_DATA_KEY_TAG, DESIGN_TYPE, DateFormat, DateRangeMap, DatepickerRanges, DesignItemAttribute, DesignRenderViewPrefix, Events, FieldSchema, GctComponent, Globals, HandwritingPad_default as HandwritingPad, PageTypeEnum, RenderNodeRegister, RenderNodeType, RenderPluginPgkUtil, RenderRegister, Vue3DndDraggable, Vue3DndDraggableItem, addDataByForm, cacheAdapter, calculate, calculateDepResult, defaultValMap, dependencyToShow, dependencyToShowSync, emptyValueDisplay, formMap, getDefaultDate, getDisabledDate, getIExp, getIKeywordFieldKeys, getMobileDateRange, getPageTitle, getPremission, getQueryDateByKeyWord, getQuerySort, getRefInfoId, globalVarCaches, identify, initFieldWidgetRuntime, insetDep, is, isArray, isBoolean, isDate, isDef, isElement, isEmpty, isEmptyStr, isFunction, isMap, isNull, isNullAndUnDef, isNullOrUnDef, isNumber, isObject, isPromise, isRegExp, isString, isUnDef, isUrl, isWindow, onInit, pageDataforJson, pageGlobaVariables, schemaToStyle, setDataByForm, setFormData, tableWidgetByDept, tableWidgetToShow, transSelectData, transformData, transformDataToDict, transformPropsField, transformSourceData, useAsyncFileAttrs, useDependency, useDependencyByRequired, useDependencyToShow, useDependencyToShowList, useDesignRenderController, useDisplayRuleColumnByStyles, useDisplayRuleOptions, useGctSelect, useGetBodyBySearch, useQueryfilter, useStyle, useVisibileByRuleHook };
|
|
55
|
+
export { Context, ControllerType, DESIGN_DATA_KEY_TAG, DESIGN_TYPE, DateFormat, DateRangeMap, DatepickerRanges, DesignItemAttribute, DesignNodeType, DesignRender, DesignRenderViewPrefix, Events, FieldSchema, GctComponent, GlobaAppInfo, Globals, HandwritingPad_default as HandwritingPad, PageTypeEnum, RenderDesignEditor, RenderNodeRegister, RenderNodeType, RenderPluginPgkUtil, RenderRegister, Vue3DndDraggable, Vue3DndDraggableItem, addDataByForm, cacheAdapter, calculate, calculateDepResult, containerNodeProps, defaultValMap, dependencyToShow, dependencyToShowSync, emptyValueDisplay, formMap, getDefaultDate, getDisabledDate, getIExp, getIKeywordFieldKeys, getMobileDateRange, getPageTitle, getPremission, getQueryDateByKeyWord, getQuerySort, getRefInfoId, globalVarCaches, identify, initFieldWidgetRuntime, insetDep, is, isArray, isBoolean, isDate, isDef, isElement, isEmpty, isEmptyStr, isFunction, isMap, isNull, isNullAndUnDef, isNullOrUnDef, isNumber, isObject, isPromise, isRegExp, isString, isUnDef, isUrl, isWindow, nodeEditorProps, nodeProps, onInit, pageDataforJson, pageGlobaVariables, schemaToStyle, setDataByForm, setFormData, tableWidgetByDept, tableWidgetToShow, transSelectData, transformData, transformDataToDict, transformPropsField, transformSourceData, useAsyncFileAttrs, useDependency, useDependencyByRequired, useDependencyToShow, useDependencyToShowList, useDesignRenderController, useDisplayRuleColumnByStyles, useDisplayRuleOptions, useGctSelect, useGetBodyBySearch, useQueryfilter, useStyle, useVisibileByRuleHook, widthRenderDesignEditorInstall };
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
import { IDesignRenderContainerController, IDesignRenderItemController } from '../interface';
|
|
3
|
+
import { IDesignNode } from '@gct-paas/schema';
|
|
4
|
+
/**
|
|
5
|
+
* 节点类型组件输入参数
|
|
6
|
+
*/
|
|
7
|
+
export declare const nodeProps: {
|
|
8
|
+
readonly preview: {
|
|
9
|
+
readonly type: BooleanConstructor;
|
|
10
|
+
readonly default: false;
|
|
11
|
+
};
|
|
12
|
+
readonly c: {
|
|
13
|
+
readonly type: PropType<IDesignRenderItemController>;
|
|
14
|
+
readonly required: true;
|
|
15
|
+
};
|
|
16
|
+
readonly model: {
|
|
17
|
+
readonly type: PropType<IDesignNode>;
|
|
18
|
+
readonly required: true;
|
|
19
|
+
};
|
|
20
|
+
readonly context: {
|
|
21
|
+
readonly type: PropType<IContext>;
|
|
22
|
+
readonly required: true;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* 节点类型组件输入参数
|
|
27
|
+
*/
|
|
28
|
+
export declare const containerNodeProps: {
|
|
29
|
+
readonly preview: {
|
|
30
|
+
readonly type: BooleanConstructor;
|
|
31
|
+
readonly default: false;
|
|
32
|
+
};
|
|
33
|
+
readonly c: {
|
|
34
|
+
readonly type: PropType<IDesignRenderContainerController>;
|
|
35
|
+
readonly required: true;
|
|
36
|
+
};
|
|
37
|
+
readonly model: {
|
|
38
|
+
readonly type: PropType<IDesignNode>;
|
|
39
|
+
readonly required: true;
|
|
40
|
+
};
|
|
41
|
+
readonly context: {
|
|
42
|
+
readonly type: PropType<IContext>;
|
|
43
|
+
readonly required: true;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* 节点编辑器组件输入参数
|
|
48
|
+
*/
|
|
49
|
+
export declare const nodeEditorProps: {
|
|
50
|
+
preview: {
|
|
51
|
+
type: BooleanConstructor;
|
|
52
|
+
default: boolean;
|
|
53
|
+
};
|
|
54
|
+
c: {
|
|
55
|
+
type: PropType<IDesignRenderItemController>;
|
|
56
|
+
required: boolean;
|
|
57
|
+
};
|
|
58
|
+
model: {
|
|
59
|
+
type: PropType<IDesignNode>;
|
|
60
|
+
required: boolean;
|
|
61
|
+
};
|
|
62
|
+
context: {
|
|
63
|
+
type: PropType<IContext>;
|
|
64
|
+
required: boolean;
|
|
65
|
+
};
|
|
66
|
+
field: {
|
|
67
|
+
type: PropType<IObject>;
|
|
68
|
+
required: boolean;
|
|
69
|
+
};
|
|
70
|
+
value: {
|
|
71
|
+
type: PropType<any>;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
//#region src/props/index.ts
|
|
2
|
+
/**
|
|
3
|
+
* 节点类型组件输入参数
|
|
4
|
+
*/
|
|
5
|
+
var nodeProps = {
|
|
6
|
+
preview: {
|
|
7
|
+
type: Boolean,
|
|
8
|
+
default: false
|
|
9
|
+
},
|
|
10
|
+
c: {
|
|
11
|
+
type: Object,
|
|
12
|
+
required: true
|
|
13
|
+
},
|
|
14
|
+
model: {
|
|
15
|
+
type: Object,
|
|
16
|
+
required: true
|
|
17
|
+
},
|
|
18
|
+
context: {
|
|
19
|
+
type: Object,
|
|
20
|
+
required: true
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* 节点类型组件输入参数
|
|
25
|
+
*/
|
|
26
|
+
var containerNodeProps = {
|
|
27
|
+
preview: {
|
|
28
|
+
type: Boolean,
|
|
29
|
+
default: false
|
|
30
|
+
},
|
|
31
|
+
c: {
|
|
32
|
+
type: Object,
|
|
33
|
+
required: true
|
|
34
|
+
},
|
|
35
|
+
model: {
|
|
36
|
+
type: Object,
|
|
37
|
+
required: true
|
|
38
|
+
},
|
|
39
|
+
context: {
|
|
40
|
+
type: Object,
|
|
41
|
+
required: true
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* 节点编辑器组件输入参数
|
|
46
|
+
*/
|
|
47
|
+
var nodeEditorProps = {
|
|
48
|
+
preview: {
|
|
49
|
+
type: Boolean,
|
|
50
|
+
default: false
|
|
51
|
+
},
|
|
52
|
+
c: {
|
|
53
|
+
type: Object,
|
|
54
|
+
required: true
|
|
55
|
+
},
|
|
56
|
+
model: {
|
|
57
|
+
type: Object,
|
|
58
|
+
required: true
|
|
59
|
+
},
|
|
60
|
+
context: {
|
|
61
|
+
type: Object,
|
|
62
|
+
required: true
|
|
63
|
+
},
|
|
64
|
+
field: {
|
|
65
|
+
type: Object,
|
|
66
|
+
required: true
|
|
67
|
+
},
|
|
68
|
+
value: { type: Object }
|
|
69
|
+
};
|
|
70
|
+
//#endregion
|
|
71
|
+
export { containerNodeProps, nodeEditorProps, nodeProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { RenderDesignEditor } from './render-design-editor/render-design-editor.provider';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./render-design-editor/render-design-editor.provider.mjs";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Component } from 'vue';
|
|
2
|
+
import { IDesignRenderItemController, IRenderEditorNodeProvider } from '../../interface';
|
|
3
|
+
import { DesignNodeMode, IDesignNode } from '@gct-paas/schema';
|
|
4
|
+
import { FIELD_TYPE } from '@gct-paas/core';
|
|
5
|
+
export declare abstract class RenderDesignEditor implements IRenderEditorNodeProvider {
|
|
6
|
+
mode: DesignNodeMode.ITEM;
|
|
7
|
+
type: string;
|
|
8
|
+
fieldKey?: string;
|
|
9
|
+
fieldType?: FIELD_TYPE;
|
|
10
|
+
abstract component: string | Component;
|
|
11
|
+
createController?(_model: IDesignNode): IDesignRenderItemController;
|
|
12
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DesignNodeType } from "../../constant/index.mjs";
|
|
2
|
+
import "vue";
|
|
3
|
+
import { DesignNodeMode } from "@gct-paas/schema";
|
|
4
|
+
//#region src/providers/render-design-editor/render-design-editor.provider.ts
|
|
5
|
+
var RenderDesignEditor = class {
|
|
6
|
+
mode = DesignNodeMode.ITEM;
|
|
7
|
+
type = DesignNodeType.DESIGN_EDITOR;
|
|
8
|
+
fieldKey;
|
|
9
|
+
fieldType;
|
|
10
|
+
createController(_model) {
|
|
11
|
+
throw new Error("Method not implemented.");
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
//#endregion
|
|
15
|
+
export { RenderDesignEditor };
|
|
@@ -40,6 +40,7 @@ var RenderNodeRegister = class {
|
|
|
40
40
|
*/
|
|
41
41
|
static register(name, provider, prefix) {
|
|
42
42
|
const tag = prefix ? `${prefix}:${name}` : name;
|
|
43
|
+
if (this.map.has(tag)) console.warn(`重复注册组件提供者,标识: ${tag},覆盖之前的提供者`);
|
|
43
44
|
this.map.set(tag, provider);
|
|
44
45
|
}
|
|
45
46
|
/**
|
|
@@ -61,6 +62,7 @@ var RenderNodeRegister = class {
|
|
|
61
62
|
this.cache.set(tag, ins);
|
|
62
63
|
return ins;
|
|
63
64
|
}
|
|
65
|
+
console.warn(`未找到组件提供者,标识: ${tag}`);
|
|
64
66
|
return null;
|
|
65
67
|
}
|
|
66
68
|
/**
|