plain-design 1.0.0-beta.111 → 1.0.0-beta.113
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/plain-design.commonjs.min.js +2 -2
- package/dist/plain-design.min.js +2 -2
- package/dist/report.html +2 -2
- package/package.json +2 -2
- package/src/packages/components/Cascade/createCascadePopper.tsx +2 -1
- package/src/packages/components/Table/standard/PlcTree/RenderPlcTreeNode.tsx +3 -2
- package/src/packages/components/Tree/RenderTreeNode.tsx +2 -1
- package/src/packages/components/TreeCore/TreeCore.type.tsx +1 -1
- package/src/packages/components/TreeCore/createTreeNode.tsx +4 -0
- package/src/packages/uses/useEdit.ts +6 -2
- package/src/packages/uses/useStyle.tsx +2 -0
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "plain-design",
|
3
|
-
"version": "1.0.0-beta.
|
3
|
+
"version": "1.0.0-beta.113",
|
4
4
|
"description": "",
|
5
5
|
"main": "dist/plain-design.min.js",
|
6
6
|
"module": "dist/plain-design.commonjs.min.js",
|
@@ -45,7 +45,7 @@
|
|
45
45
|
"@babel/preset-env": "7.23.7",
|
46
46
|
"@babel/preset-react": "7.23.3",
|
47
47
|
"@babel/preset-typescript": "7.23.3",
|
48
|
-
"@peryl/react-compose": "0.0.
|
48
|
+
"@peryl/react-compose": "0.0.205",
|
49
49
|
"@types/classnames": "^2.2.11",
|
50
50
|
"@types/react": "18.2.4",
|
51
51
|
"@types/react-dom": "18.2.4",
|
@@ -12,6 +12,7 @@ import {tStyleComputed} from "../../uses/useStyle";
|
|
12
12
|
import {getTableRowHeight} from "../Table/table/utils/table.utils";
|
13
13
|
import {PlcIndex} from "../Table/standard/PlcIndex";
|
14
14
|
import {createPopupEditor} from "../usePopupEditor";
|
15
|
+
import {tEditControl} from "../../uses/useEdit";
|
15
16
|
|
16
17
|
export function createCascadePopper(
|
17
18
|
{
|
@@ -31,7 +32,7 @@ export function createCascadePopper(
|
|
31
32
|
getPublicPopperAttrs: () => any,
|
32
33
|
onPopperClose: () => void,
|
33
34
|
onPopperShow?: () => void,
|
34
|
-
editControl:
|
35
|
+
editControl: tEditControl
|
35
36
|
refs: { input: typeof Input.use.class | null | undefined },
|
36
37
|
scopeSlots: any,
|
37
38
|
getTreeAttrs: () => any,
|
@@ -25,6 +25,7 @@ export const RenderPlcTreeNode = designComponent({
|
|
25
25
|
const { refs, onRef } = useRefs({ el: iHTMLDivElement });
|
26
26
|
|
27
27
|
const isLeaf = computed(() => props.treeNode.isLeaf());
|
28
|
+
const leafIcon = computed(() => props.treeNode.leafIcon());
|
28
29
|
const checkStatus = cacheComputed(() => props.treeNode.checkStatus());
|
29
30
|
const isExpanded = cacheComputed(() => props.treeNode.isExpanded());
|
30
31
|
|
@@ -63,7 +64,7 @@ export const RenderPlcTreeNode = designComponent({
|
|
63
64
|
|
64
65
|
return () => {
|
65
66
|
const { treeNode, tableNode } = props;
|
66
|
-
const {
|
67
|
+
const { folderExpandIcon, folderCollapseIcon } = props.treeCore.props;
|
67
68
|
return (
|
68
69
|
<div className={getComponentCls('plc-tree-node')} ref={onRef.el}>
|
69
70
|
<div className="tree-node-operator">
|
@@ -74,7 +75,7 @@ export const RenderPlcTreeNode = designComponent({
|
|
74
75
|
{treeNode.isLoading() ?
|
75
76
|
<Loading type="gamma"/> :
|
76
77
|
<Icon
|
77
|
-
icon={isLeaf.value || treeNode.empty ? leafIcon : isExpanded.value ? folderExpandIcon : folderCollapseIcon}
|
78
|
+
icon={isLeaf.value || treeNode.empty ? leafIcon.value : isExpanded.value ? folderExpandIcon : folderCollapseIcon}
|
78
79
|
/>}
|
79
80
|
</div>
|
80
81
|
{props.treeCore.props.multiple && (
|
@@ -44,6 +44,7 @@ export const RenderTreeNode = designComponent({
|
|
44
44
|
const checkStatus = cacheComputed(() => props.treeNode.checkStatus());
|
45
45
|
const isExpanded = cacheComputed(() => props.treeNode.isExpanded());
|
46
46
|
const isLeaf = cacheComputed(() => props.treeNode.isLeaf());
|
47
|
+
const leafIcon = computed(() => props.treeNode.leafIcon());
|
47
48
|
|
48
49
|
const connectorClassesList = computed(() => {
|
49
50
|
|
@@ -124,7 +125,7 @@ export const RenderTreeNode = designComponent({
|
|
124
125
|
props.treeNode.isLoading() ?
|
125
126
|
<Loading type="gamma"/> :
|
126
127
|
<Icon
|
127
|
-
icon={props.treeNode.isLeaf() || props.treeNode.empty ?
|
128
|
+
icon={props.treeNode.isLeaf() || props.treeNode.empty ? leafIcon.value : isExpanded.value ? tree.props.folderExpandIcon : tree.props.folderCollapseIcon}
|
128
129
|
/>
|
129
130
|
}
|
130
131
|
</div>
|
@@ -70,7 +70,7 @@ export interface iTreeProps {
|
|
70
70
|
/*判断节点是否可以放置*/
|
71
71
|
isAllowDroppable?: (startNode: iTreeNode, moveNode: iTreeNode, dropType: typeof eTreeDropType.TYPE) => boolean | void,
|
72
72
|
/*叶子节点图标*/
|
73
|
-
leafIcon: string,
|
73
|
+
leafIcon: string | ((treeNode: iTreeNode) => string),
|
74
74
|
/*节点收起时显示图标*/
|
75
75
|
folderCollapseIcon: string,
|
76
76
|
/*节点展开时显示的图标*/
|
@@ -112,6 +112,8 @@ export function createTreeNode(
|
|
112
112
|
/*默认情况下,没有设置isLeaf来判断节点是否为叶子节点的话,则判断是否存在有子节点数据来判断是否为叶子节点,如果子节点数据是一个空数组也视为非叶子节点*/
|
113
113
|
return !props.isLeaf ? !childrenData() : props.isLeaf(data);
|
114
114
|
};
|
115
|
+
/*叶子节点的图标*/
|
116
|
+
const leafIcon = () => {return typeof props.leafIcon === "string" ? props.leafIcon : props.leafIcon(data);};
|
115
117
|
/*是否已经选中*/
|
116
118
|
const checkStatus = (): typeof CheckboxStatus.TYPE => getCheckStatus()[key];
|
117
119
|
/*是否可选中*/
|
@@ -194,6 +196,7 @@ export function createTreeNode(
|
|
194
196
|
setChildrenData,
|
195
197
|
children,
|
196
198
|
isLeaf,
|
199
|
+
leafIcon,
|
197
200
|
checkStatus,
|
198
201
|
isCheckAble,
|
199
202
|
isExpanded,
|
@@ -225,6 +228,7 @@ export interface iTreeNode {
|
|
225
228
|
setChildrenData: (childrenData: any[] | null | undefined) => void, // 设置节点子数据
|
226
229
|
children: () => iTreeNode[], // 子节点
|
227
230
|
isLeaf: () => boolean, // 节点是否为叶子节点
|
231
|
+
leafIcon: () => string, // 叶子节点的图标
|
228
232
|
checkStatus: () => typeof CheckboxStatus.TYPE, // 节点的选中状态,check选中,uncheck未选中,minus半选
|
229
233
|
isCheckAble: () => boolean, // 节点是否可以选中
|
230
234
|
isExpanded: () => boolean, // 节点是否已经展开
|
@@ -15,6 +15,7 @@ export const EditProps = {
|
|
15
15
|
} as const;
|
16
16
|
|
17
17
|
export interface EditProvideData {
|
18
|
+
editable: boolean | null,
|
18
19
|
disabled: boolean | null,
|
19
20
|
readonly: boolean | null,
|
20
21
|
loading: boolean | null,
|
@@ -32,7 +33,10 @@ export const useEdit = useFunctionWrapper(
|
|
32
33
|
|
33
34
|
const editState = reactive({ loading: null as null | boolean });
|
34
35
|
|
35
|
-
const editComputed = computed(() => {
|
36
|
+
const editComputed = computed((): EditProvideData => {
|
37
|
+
|
38
|
+
if (ctx.isDestroyed) {return {} as EditProvideData;}
|
39
|
+
|
36
40
|
const {
|
37
41
|
disabled,
|
38
42
|
readonly,
|
@@ -40,7 +44,7 @@ export const useEdit = useFunctionWrapper(
|
|
40
44
|
placeholder
|
41
45
|
} = ctx.props as any as EditProvideData;
|
42
46
|
|
43
|
-
let data = { disabled, readonly, loading, placeholder };
|
47
|
+
let data: EditProvideData = { disabled, readonly, loading, placeholder, editable: false };
|
44
48
|
|
45
49
|
if (data.disabled == null) data.disabled = !!parentEditComputed ? parentEditComputed.value.disabled : false;
|
46
50
|
if (data.readonly == null) data.readonly = !!parentEditComputed ? parentEditComputed.value.readonly : false;
|
@@ -47,6 +47,8 @@ export const useStyle = useFunctionWrapper('style', (ctx, option: UseStyleOption
|
|
47
47
|
const parent = inject(USE_STYLE_PROVIDER, null) as null | { value: UseStyleProvideData };
|
48
48
|
|
49
49
|
const styleComputed = computed(() => {
|
50
|
+
if (ctx.isDestroyed) {return {} as UseStyleProvideData;}
|
51
|
+
|
50
52
|
const defaultData = Object.assign({ shape: applicationConfiguration.value.default.shape, size: applicationConfiguration.value.default.size, inputMode: applicationConfiguration.value.default.inputMode }, option);
|
51
53
|
|
52
54
|
const { shape, size, status, inputMode } = ctx.props;
|