@gct-paas/render 0.1.6-dev.0 → 0.1.6-dev.2
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/components/card-view-render/card-view-render.css +71 -0
- package/es/components/card-view-render/card-view-render.d.ts +38 -0
- package/es/components/card-view-render/card-view-render.mjs +85 -0
- 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 +3 -2
- package/es/components/index.mjs +2 -0
- package/es/hooks/index.mjs +1 -1
- package/es/index.mjs +8 -6
- package/es/utils/expression/regularExpression/methods.mjs +1 -1
- package/es/utils/index.mjs +1 -1
- package/es/utils/search/listhook.mjs +4 -0
- package/package.json +9 -9
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;
|
|
@@ -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-card-view-render {
|
|
66
|
+
position: relative;
|
|
67
|
+
}
|
|
68
|
+
.gct-card-view-render .gct-design-render {
|
|
69
|
+
width: auto;
|
|
70
|
+
height: auto;
|
|
71
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
export declare const CardViewRender: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
3
|
+
id: {
|
|
4
|
+
type: StringConstructor;
|
|
5
|
+
required: true;
|
|
6
|
+
};
|
|
7
|
+
modelKey: {
|
|
8
|
+
type: StringConstructor;
|
|
9
|
+
required: true;
|
|
10
|
+
};
|
|
11
|
+
fetch: {
|
|
12
|
+
type: PropType<() => Promise<IObject>>;
|
|
13
|
+
};
|
|
14
|
+
preview: {
|
|
15
|
+
type: BooleanConstructor;
|
|
16
|
+
default: boolean;
|
|
17
|
+
};
|
|
18
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "mounted"[], "mounted", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
19
|
+
id: {
|
|
20
|
+
type: StringConstructor;
|
|
21
|
+
required: true;
|
|
22
|
+
};
|
|
23
|
+
modelKey: {
|
|
24
|
+
type: StringConstructor;
|
|
25
|
+
required: true;
|
|
26
|
+
};
|
|
27
|
+
fetch: {
|
|
28
|
+
type: PropType<() => Promise<IObject>>;
|
|
29
|
+
};
|
|
30
|
+
preview: {
|
|
31
|
+
type: BooleanConstructor;
|
|
32
|
+
default: boolean;
|
|
33
|
+
};
|
|
34
|
+
}>> & Readonly<{
|
|
35
|
+
onMounted?: ((...args: any[]) => any) | undefined;
|
|
36
|
+
}>, {
|
|
37
|
+
preview: boolean;
|
|
38
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { DesignRenderViewPrefix } from "../../constant/index.mjs";
|
|
2
|
+
import { DesignRender } from "../design-render/design-render.mjs";
|
|
3
|
+
import './card-view-render.css';/* empty css */
|
|
4
|
+
import { gctMemoizeAsync, useNamespace } from "@gct-paas/core";
|
|
5
|
+
import { computed, createVNode, defineComponent, nextTick, ref } from "vue";
|
|
6
|
+
//#region src/components/card-view-render/card-view-render.tsx
|
|
7
|
+
var loadModelAsync = gctMemoizeAsync(_api.apaas.commonInfoCard.getGetById);
|
|
8
|
+
var CardViewRender = /* @__PURE__ */ defineComponent({
|
|
9
|
+
name: "CardViewRender",
|
|
10
|
+
props: {
|
|
11
|
+
id: {
|
|
12
|
+
type: String,
|
|
13
|
+
required: true
|
|
14
|
+
},
|
|
15
|
+
modelKey: {
|
|
16
|
+
type: String,
|
|
17
|
+
required: true
|
|
18
|
+
},
|
|
19
|
+
fetch: { type: Function },
|
|
20
|
+
preview: {
|
|
21
|
+
type: Boolean,
|
|
22
|
+
default: false
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
emits: ["mounted"],
|
|
26
|
+
setup(props, { emit, slots }) {
|
|
27
|
+
const ns = useNamespace("card-view-render");
|
|
28
|
+
const isLoading = ref(false);
|
|
29
|
+
const isLoaded = ref(false);
|
|
30
|
+
const json = ref(null);
|
|
31
|
+
const data = ref({});
|
|
32
|
+
const style = computed(() => {
|
|
33
|
+
if (json.value) return { width: json.value.pageNode?.data.width ? `${json.value.pageNode.data.width}px` : "" };
|
|
34
|
+
return {};
|
|
35
|
+
});
|
|
36
|
+
async function loadModel() {
|
|
37
|
+
const res = await loadModelAsync({
|
|
38
|
+
id: props.id,
|
|
39
|
+
modelKey: props.modelKey,
|
|
40
|
+
type: "CARD"
|
|
41
|
+
});
|
|
42
|
+
if (res && res.designerJson) json.value = JSON.parse(decodeURIComponent(res.designerJson));
|
|
43
|
+
}
|
|
44
|
+
async function onInit() {
|
|
45
|
+
if (!props.id) return;
|
|
46
|
+
try {
|
|
47
|
+
isLoading.value = true;
|
|
48
|
+
await loadModel();
|
|
49
|
+
if (props.preview !== true && props.fetch) data.value = await props.fetch() || {};
|
|
50
|
+
} catch (error) {
|
|
51
|
+
console.error(error);
|
|
52
|
+
} finally {
|
|
53
|
+
isLoading.value = false;
|
|
54
|
+
}
|
|
55
|
+
isLoaded.value = true;
|
|
56
|
+
await nextTick();
|
|
57
|
+
setTimeout(() => {
|
|
58
|
+
emit("mounted", json.value?.pageNode?.data);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
onInit();
|
|
62
|
+
return () => {
|
|
63
|
+
return createVNode("div", {
|
|
64
|
+
"class": ns.b(),
|
|
65
|
+
"style": style.value
|
|
66
|
+
}, [isLoading.value && slots.loading ? slots.loading?.() : null, !json.value || !isLoaded.value ? null : createVNode(DesignRender, {
|
|
67
|
+
"context": {
|
|
68
|
+
data: data.value,
|
|
69
|
+
id: props.id,
|
|
70
|
+
modelKey: props.modelKey
|
|
71
|
+
},
|
|
72
|
+
"model": {
|
|
73
|
+
nodes: json.value.nodes,
|
|
74
|
+
pageNode: json.value.pageNode,
|
|
75
|
+
tree: json.value.tree,
|
|
76
|
+
type: DesignRenderViewPrefix.CARD_VIEW
|
|
77
|
+
},
|
|
78
|
+
"prefix": DesignRenderViewPrefix.CARD_VIEW,
|
|
79
|
+
"preview": props.preview
|
|
80
|
+
}, null)]);
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
//#endregion
|
|
85
|
+
export { CardViewRender };
|
|
@@ -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,3 @@
|
|
|
1
|
-
|
|
2
|
-
export {
|
|
1
|
+
export { CardViewRender } from './card-view-render/card-view-render';
|
|
2
|
+
export { DesignRender } from './design-render/design-render';
|
|
3
|
+
export { default as HandwritingPad } from './HandwritingPad.vue';
|
package/es/components/index.mjs
CHANGED
package/es/hooks/index.mjs
CHANGED
package/es/index.mjs
CHANGED
|
@@ -4,15 +4,20 @@ import { DateFormat, DatepickerRanges } from "./constant/data-format.mjs";
|
|
|
4
4
|
import { ControllerType, 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";
|
|
13
|
+
import { CardViewRender } from "./components/card-view-render/card-view-render.mjs";
|
|
7
14
|
import HandwritingPad_default from "./components/HandwritingPad.vue.mjs";
|
|
8
15
|
import "./components/index.mjs";
|
|
9
|
-
import { useGctSelect } from "./hooks/useStorageRef.mjs";
|
|
10
16
|
import { Globals, PageTypeEnum, formMap, getPageTitle, getPremission, globalVarCaches, pageDataforJson, pageGlobaVariables, setFormData } from "./Event/utils/runGlobalByPage.mjs";
|
|
11
17
|
import { calculate, identify } from "./utils/expression/index.mjs";
|
|
12
18
|
import { transformPropsField } from "./utils/field-attrs/index.mjs";
|
|
13
19
|
import { RenderPluginPgkUtil } from "./utils/render-plugin-pkg-util/render-plugin-pkg-util.mjs";
|
|
14
20
|
import { schemaToStyle, useStyle } from "./utils/useStyle.mjs";
|
|
15
|
-
import { FieldSchema, initFieldWidgetRuntime } from "./utils/getFieldSchema.mjs";
|
|
16
21
|
import { addDataByForm, setDataByForm, transSelectData, transformData, transformDataToDict, transformSourceData } from "./utils/model-transformer.mjs";
|
|
17
22
|
import { cacheAdapter } from "./utils/cacheAdapter.mjs";
|
|
18
23
|
import { getRefInfoId } from "./utils/get-ref-data.mjs";
|
|
@@ -28,9 +33,6 @@ import { useDisplayRuleColumnByStyles, useDisplayRuleOptions, useVisibileByRuleH
|
|
|
28
33
|
import { dependencyToShow, dependencyToShowSync, tableWidgetByDept, tableWidgetToShow, useDependencyToShow, useDependencyToShowList } from "./Event/Dependency/useDependencyToShow.mjs";
|
|
29
34
|
import { useDependency, useDependencyByRequired } from "./Event/Dependency/useDependency.mjs";
|
|
30
35
|
import "./Event/index.mjs";
|
|
31
|
-
import { useDesignRenderController } from "./hooks/use-design-render-controller/use-design-render-controller.mjs";
|
|
32
|
-
import { useAsyncFileAttrs } from "./hooks/widgets/useFileAttrsHooks.mjs";
|
|
33
|
-
import "./hooks/index.mjs";
|
|
34
36
|
import { Vue3DndDraggableItem } from "./modules/vue3-dnd/components/vue3-dnd-draggable-item/vue3-dnd-draggable-item.mjs";
|
|
35
37
|
import { Vue3DndDraggable } from "./modules/vue3-dnd/components/vue3-dnd-draggable/vue3-dnd-draggable.mjs";
|
|
36
38
|
import "./modules/vue3-dnd/index.mjs";
|
|
@@ -40,4 +42,4 @@ function onInit() {
|
|
|
40
42
|
else console.warn("渲染注册已存在,可能存在重复注册问题,请检查是否有重复引入渲染包的情况");
|
|
41
43
|
}
|
|
42
44
|
//#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 };
|
|
45
|
+
export { CardViewRender, Context, ControllerType, DESIGN_DATA_KEY_TAG, DESIGN_TYPE, DateFormat, DateRangeMap, DatepickerRanges, DesignItemAttribute, DesignRender, 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 };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __exportAll } from "../../../_virtual/_rolldown/runtime.mjs";
|
|
2
2
|
import dayjs from "dayjs";
|
|
3
|
-
import BigNumberJS from "bignumber.js";
|
|
4
3
|
import { isEqual, isNull, isUndefined } from "lodash-es";
|
|
4
|
+
import BigNumberJS from "bignumber.js";
|
|
5
5
|
import utc from "dayjs/plugin/utc";
|
|
6
6
|
import timezone from "dayjs/plugin/timezone";
|
|
7
7
|
import quarterOfYear from "dayjs/plugin/quarterOfYear";
|
package/es/utils/index.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import "./getFieldSchema.mjs";
|
|
1
2
|
import "./expression/index.mjs";
|
|
2
3
|
import "./field-attrs/index.mjs";
|
|
3
4
|
import "./render-plugin-pkg-util/render-plugin-pkg-util.mjs";
|
|
4
5
|
import "./useStyle.mjs";
|
|
5
|
-
import "./getFieldSchema.mjs";
|
|
6
6
|
import "./model-transformer.mjs";
|
|
7
7
|
import "./cacheAdapter.mjs";
|
|
8
8
|
import "./get-ref-data.mjs";
|
|
@@ -4,9 +4,13 @@ import { isArray } from "lodash-es";
|
|
|
4
4
|
//#region src/utils/search/listhook.ts
|
|
5
5
|
/** 数据类型 */
|
|
6
6
|
var ValueTypeEnum = {
|
|
7
|
+
/** 固定值 */
|
|
7
8
|
FIXED: "FIXED",
|
|
9
|
+
/** 系统变量 */
|
|
8
10
|
SYS: "SYS",
|
|
11
|
+
/** 字段 */
|
|
9
12
|
FIELD: "FIELD",
|
|
13
|
+
/** 变量 */
|
|
10
14
|
VAR: "VAR"
|
|
11
15
|
};
|
|
12
16
|
function getIExp(exp, ignoreOptions = []) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gct-paas/render",
|
|
3
|
-
"version": "0.1.6-dev.
|
|
3
|
+
"version": "0.1.6-dev.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "paas 平台网页端底包",
|
|
6
6
|
"loader": "dist/loader.esm.min.js",
|
|
@@ -44,10 +44,10 @@
|
|
|
44
44
|
"qx-util": "^0.4.8",
|
|
45
45
|
"vue": "^3.5.30",
|
|
46
46
|
"vue3-dnd": "^2.1.0",
|
|
47
|
-
"@gct-paas/core-web": "0.1.6-dev.
|
|
48
|
-
"@gct-paas/schema": "0.1.6-dev.
|
|
49
|
-
"@gct-paas/core": "0.1.6-dev.
|
|
50
|
-
"@gct-paas/scss": "0.1.6-dev.
|
|
47
|
+
"@gct-paas/core-web": "0.1.6-dev.2",
|
|
48
|
+
"@gct-paas/schema": "0.1.6-dev.2",
|
|
49
|
+
"@gct-paas/core": "0.1.6-dev.2",
|
|
50
|
+
"@gct-paas/scss": "0.1.6-dev.2"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@types/escodegen": "^0.0.10",
|
|
@@ -57,10 +57,10 @@
|
|
|
57
57
|
"peerDependencies": {
|
|
58
58
|
"@gct-paas/api": "^0.1.4-dev.4",
|
|
59
59
|
"vue": ">=3",
|
|
60
|
-
"@gct-paas/core": "0.1.6-dev.
|
|
61
|
-
"@gct-paas/
|
|
62
|
-
"@gct-paas/schema": "0.1.6-dev.
|
|
63
|
-
"@gct-paas/
|
|
60
|
+
"@gct-paas/core": "0.1.6-dev.2",
|
|
61
|
+
"@gct-paas/core-web": "0.1.6-dev.2",
|
|
62
|
+
"@gct-paas/schema": "0.1.6-dev.2",
|
|
63
|
+
"@gct-paas/scss": "0.1.6-dev.2"
|
|
64
64
|
},
|
|
65
65
|
"scripts": {
|
|
66
66
|
"dev": "cross-env NODE_ENV=development vite build --watch --config vite.dev.config.ts",
|