@zyui/components 1.0.27 → 1.0.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/es/index.js +90 -131
  2. package/es/index.mjs +52016 -60794
  3. package/es/index.umd.js +89 -130
  4. package/es/src/components/NodesEditor/NodesEditUI.vue.d.ts +9 -0
  5. package/es/src/components/NodesEditor/NodesEnterUI.vue.d.ts +15 -0
  6. package/es/src/components/NodesEditor/NodesPreviewUI.vue.d.ts +9 -0
  7. package/es/src/components/NodesEditor/NodesSelectUI.vue.d.ts +9 -0
  8. package/es/src/components/NodesEditor/TableOperationButtons/index.vue.d.ts +19 -0
  9. package/es/src/components/NodesEditor/helper.d.ts +59 -0
  10. package/es/src/components/NodesEditor/hooks/useNodesRender.d.ts +2 -0
  11. package/es/src/components/NodesEditor/hooks/useTableOperations.d.ts +25 -0
  12. package/es/src/components/NodesEditor/index.vue.d.ts +9 -0
  13. package/es/src/components/NodesEditor/type.d.ts +7 -0
  14. package/es/style.css +1 -1
  15. package/lib/src/components/NodesEditor/NodesEditUI.vue.d.ts +9 -0
  16. package/lib/src/components/NodesEditor/NodesEnterUI.vue.d.ts +15 -0
  17. package/lib/src/components/NodesEditor/NodesPreviewUI.vue.d.ts +9 -0
  18. package/lib/src/components/NodesEditor/NodesSelectUI.vue.d.ts +9 -0
  19. package/lib/src/components/NodesEditor/TableOperationButtons/index.vue.d.ts +19 -0
  20. package/lib/src/components/NodesEditor/helper.d.ts +59 -0
  21. package/lib/src/components/NodesEditor/hooks/useNodesRender.d.ts +2 -0
  22. package/lib/src/components/NodesEditor/hooks/useTableOperations.d.ts +25 -0
  23. package/lib/src/components/NodesEditor/index.vue.d.ts +9 -0
  24. package/lib/src/components/NodesEditor/type.d.ts +7 -0
  25. package/package.json +1 -1
@@ -12,6 +12,10 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
12
12
  type: StringConstructor;
13
13
  default: string;
14
14
  };
15
+ showTableOperationButtons: {
16
+ type: BooleanConstructor;
17
+ default: boolean;
18
+ };
15
19
  }>, {
16
20
  initNodes: () => Promise<any[]>;
17
21
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
@@ -23,9 +27,14 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
23
27
  type: StringConstructor;
24
28
  default: string;
25
29
  };
30
+ showTableOperationButtons: {
31
+ type: BooleanConstructor;
32
+ default: boolean;
33
+ };
26
34
  }>> & Readonly<{}>, {
27
35
  renderType: string;
28
36
  pagesize: string;
37
+ showTableOperationButtons: boolean;
29
38
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
30
39
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
31
40
  export default _default;
@@ -18,6 +18,13 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
18
18
  type: () => RenderType;
19
19
  default: string;
20
20
  };
21
+ /**
22
+ * 是否显示表格操作按钮(添加/删除行列)
23
+ */
24
+ showTableOperationButtons: {
25
+ type: BooleanConstructor;
26
+ default: boolean;
27
+ };
21
28
  }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
22
29
  pagesize: {
23
30
  type: StringConstructor;
@@ -31,9 +38,17 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
31
38
  type: () => RenderType;
32
39
  default: string;
33
40
  };
41
+ /**
42
+ * 是否显示表格操作按钮(添加/删除行列)
43
+ */
44
+ showTableOperationButtons: {
45
+ type: BooleanConstructor;
46
+ default: boolean;
47
+ };
34
48
  }>> & Readonly<{}>, {
35
49
  renderType: RenderType;
36
50
  pagesize: string;
51
+ showTableOperationButtons: boolean;
37
52
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
38
53
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
39
54
  export default _default;
@@ -18,6 +18,10 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
18
18
  type: () => RenderType;
19
19
  default: string;
20
20
  };
21
+ showTableOperationButtons: {
22
+ type: BooleanConstructor;
23
+ default: boolean;
24
+ };
21
25
  }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
22
26
  pagesize: {
23
27
  type: StringConstructor;
@@ -31,9 +35,14 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
31
35
  type: () => RenderType;
32
36
  default: string;
33
37
  };
38
+ showTableOperationButtons: {
39
+ type: BooleanConstructor;
40
+ default: boolean;
41
+ };
34
42
  }>> & Readonly<{}>, {
35
43
  renderType: RenderType;
36
44
  pagesize: string;
45
+ showTableOperationButtons: boolean;
37
46
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
38
47
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
39
48
  export default _default;
@@ -18,6 +18,10 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
18
18
  type: () => RenderType;
19
19
  default: string;
20
20
  };
21
+ showTableOperationButtons: {
22
+ type: BooleanConstructor;
23
+ default: boolean;
24
+ };
21
25
  }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
22
26
  pagesize: {
23
27
  type: StringConstructor;
@@ -31,9 +35,14 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
31
35
  type: () => RenderType;
32
36
  default: string;
33
37
  };
38
+ showTableOperationButtons: {
39
+ type: BooleanConstructor;
40
+ default: boolean;
41
+ };
34
42
  }>> & Readonly<{}>, {
35
43
  renderType: RenderType;
36
44
  pagesize: string;
45
+ showTableOperationButtons: boolean;
37
46
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
38
47
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
39
48
  export default _default;
@@ -0,0 +1,19 @@
1
+ import { NodeItem } from '../type';
2
+
3
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
4
+ dynamicRowNodes: NodeItem[];
5
+ dynamicColNodes: NodeItem[];
6
+ }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
7
+ dynamicRowNodes: NodeItem[];
8
+ dynamicColNodes: NodeItem[];
9
+ }>>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
10
+ export default _default;
11
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
12
+ type __VLS_TypePropsToRuntimeProps<T> = {
13
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
14
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
15
+ } : {
16
+ type: import('vue').PropType<T[K]>;
17
+ required: true;
18
+ };
19
+ };
@@ -79,4 +79,63 @@ export declare const isTdNode: (node: NodeItem) => boolean;
79
79
  export declare const processTdParagraphStyles: (element: HTMLElement) => void;
80
80
  export declare const delInputNodesElement: (inputNodes: any) => any;
81
81
  export declare const addEmptyClass: (element: HTMLElement) => void;
82
+ /**
83
+ * 获取节点的行索引(从 nodePath 解析)
84
+ * @param node - 节点项
85
+ * @returns 行索引(0-based),如果无法解析则返回 -1
86
+ */
87
+ export declare const getNodeRowIndex: (node: NodeItem) => number;
88
+ /**
89
+ * 获取节点的列索引(从 nodePath 解析)
90
+ * @param node - 节点项
91
+ * @returns 列索引(0-based),如果无法解析则返回 -1
92
+ */
93
+ export declare const getNodeColumnIndex: (node: NodeItem) => number;
94
+ /**
95
+ * 从 nodePath 提取表格路径
96
+ * @param nodePath - 节点路径(如 "table div:nth-of-type(3) > table:nth-of-type(1) > tbody > tr:nth-of-type(2) > td:nth-of-type(1)")
97
+ * @returns 表格路径(如 "table div:nth-of-type(3) > table:nth-of-type(1)"),如果无法提取则返回 null
98
+ */
99
+ export declare const getTablePathFromNodePath: (nodePath: string) => string | null;
100
+ /**
101
+ * 获取指定行的所有节点模板
102
+ * @param nodes - 所有节点数组
103
+ * @param tablePath - 表格路径
104
+ * @param rowIndex - 行索引(0-based)
105
+ * @returns 该行所有节点的模板信息
106
+ */
107
+ export declare const getRowNodeTemplates: (nodes: NodeItem[], tablePath: string, rowIndex: number) => Array<{
108
+ colIndex: number;
109
+ nodeType: string;
110
+ formItemOptions?: any;
111
+ props?: any;
112
+ }>;
113
+ /**
114
+ * 获取指定列的所有节点模板(从第一行获取)
115
+ * @param nodes - 所有节点数组
116
+ * @param tablePath - 表格路径
117
+ * @param colIndex - 列索引(0-based)
118
+ * @returns 该列第一节点的模板信息
119
+ */
120
+ export declare const getColNodeTemplate: (nodes: NodeItem[], tablePath: string, colIndex: number) => {
121
+ nodeType: string;
122
+ formItemOptions?: any;
123
+ props?: any;
124
+ } | null;
125
+ /**
126
+ * 检查指定行的所有节点是否都是动态添加的
127
+ * @param nodes - 所有节点数组
128
+ * @param tablePath - 表格路径
129
+ * @param rowIndex - 行索引(0-based)
130
+ * @returns 是否全是动态节点
131
+ */
132
+ export declare const isRowDynamic: (nodes: NodeItem[], tablePath: string, rowIndex: number) => boolean;
133
+ /**
134
+ * 检查指定列的所有节点是否都是动态添加的
135
+ * @param nodes - 所有节点数组
136
+ * @param tablePath - 表格路径
137
+ * @param colIndex - 列索引(0-based)
138
+ * @returns 是否全是动态节点
139
+ */
140
+ export declare const isColDynamic: (nodes: NodeItem[], tablePath: string, colIndex: number) => boolean;
82
141
  export {};
@@ -25,6 +25,7 @@ export declare function useNodesRender(): {
25
25
  }[] | undefined;
26
26
  } | undefined;
27
27
  groupKey?: string | undefined;
28
+ isDynamic?: boolean | undefined;
28
29
  }[], WrappedNode[] | {
29
30
  [x: string]: any;
30
31
  nodeType?: string | undefined;
@@ -49,5 +50,6 @@ export declare function useNodesRender(): {
49
50
  }[] | undefined;
50
51
  } | undefined;
51
52
  groupKey?: string | undefined;
53
+ isDynamic?: boolean | undefined;
52
54
  }[]>;
53
55
  };
@@ -0,0 +1,25 @@
1
+ import { ColumnNodeTemplate } from '../type';
2
+
3
+ /**
4
+ * 表格行列操作 Hook
5
+ * 用于在填写态下动态添加/删除行列
6
+ */
7
+ export declare function useTableOperations(): {
8
+ addRowAfter: (tablePath: string, afterRowIndex: number) => Promise<void>;
9
+ addColAfter: (tablePath: string, afterColIndex: number) => Promise<void>;
10
+ deleteRow: (tablePath: string, rowIndex: number) => Promise<boolean>;
11
+ deleteCol: (tablePath: string, colIndex: number) => Promise<boolean>;
12
+ canDeleteRow: (tablePath: string, rowIndex: number) => boolean;
13
+ canDeleteCol: (tablePath: string, colIndex: number) => boolean;
14
+ getTableStructure: (tablePath: string) => {
15
+ rowCount: number;
16
+ colCount: number;
17
+ columnTemplates: ColumnNodeTemplate[];
18
+ };
19
+ getAllTablePaths: () => string[];
20
+ };
21
+ export declare const useTableOperationNodes: () => {
22
+ tableNodes: import('vue').ComputedRef<any[]>;
23
+ dynamicRowNodes: import('vue').ComputedRef<any[]>;
24
+ dynamicColNodes: import('vue').ComputedRef<any[]>;
25
+ };
@@ -79,6 +79,10 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
79
79
  type: BooleanConstructor;
80
80
  default: boolean;
81
81
  };
82
+ showTableOperationButtons: {
83
+ type: BooleanConstructor;
84
+ default: boolean;
85
+ };
82
86
  }>, {
83
87
  formRef: {
84
88
  validate: () => any;
@@ -168,6 +172,10 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
168
172
  type: BooleanConstructor;
169
173
  default: boolean;
170
174
  };
175
+ showTableOperationButtons: {
176
+ type: BooleanConstructor;
177
+ default: boolean;
178
+ };
171
179
  }>> & Readonly<{
172
180
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
173
181
  onOnSelectedNodes?: ((...args: any[]) => any) | undefined;
@@ -185,6 +193,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
185
193
  inputTypes: unknown[];
186
194
  nodesGroups: unknown[];
187
195
  pagesize: string;
196
+ showTableOperationButtons: boolean;
188
197
  headerHtml: string;
189
198
  footerHtml: string;
190
199
  autoHeight: boolean;
@@ -13,6 +13,12 @@ export type FormItemOptions = {
13
13
  [key: string]: any;
14
14
  };
15
15
  export type InputType = string;
16
+ export type ColumnNodeTemplate = {
17
+ colIndex: number;
18
+ nodeType: string;
19
+ formItemOptions?: FormItemOptions;
20
+ props?: Record<string, any>;
21
+ };
16
22
  export type NodesGroups = {
17
23
  id: string;
18
24
  color: string;
@@ -29,6 +35,7 @@ export type NodeItem = {
29
35
  startOffset?: number;
30
36
  formItemOptions?: FormItemOptions;
31
37
  groupKey?: string;
38
+ isDynamic?: boolean;
32
39
  [key: string]: any;
33
40
  };
34
41
  export type MenuAction = 'copy' | 'paste' | 'delete';