@veltra/desktop 1.7.11 → 1.7.13

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 (134) hide show
  1. package/dist/components/batch-edit/batch-edit-form.js +2 -6
  2. package/dist/components/batch-edit/batch-edit-form.js.map +1 -1
  3. package/dist/components/batch-edit/batch-edit.js +0 -1
  4. package/dist/components/batch-edit/batch-edit.js.map +1 -1
  5. package/dist/components/batch-edit/helper.d.ts +1 -2
  6. package/dist/components/condition-editor/core/evaluator.d.ts +4 -5
  7. package/dist/components/contextmenu/api.d.ts +1 -2
  8. package/dist/components/contextmenu/di.d.ts +2 -3
  9. package/dist/components/form/form.js.map +1 -1
  10. package/dist/components/form/form.vue_vue_type_script_setup_true_lang.js +12 -13
  11. package/dist/components/form/form.vue_vue_type_script_setup_true_lang.js.map +1 -1
  12. package/dist/components/form/use-node-interceptor.js +31 -3
  13. package/dist/components/form/use-node-interceptor.js.map +1 -1
  14. package/dist/components/form-item/form-item.js.map +1 -1
  15. package/dist/components/form-item/form-item.vue_vue_type_script_setup_true_lang.js +1 -2
  16. package/dist/components/form-item/form-item.vue_vue_type_script_setup_true_lang.js.map +1 -1
  17. package/dist/components/loading/directive.d.ts +1 -2
  18. package/dist/components/message/message.d.ts +1 -2
  19. package/dist/components/message-confirm/message-confirm.d.ts +1 -2
  20. package/dist/components/notification/notification.d.ts +1 -2
  21. package/dist/components/table/node/col.js +19 -0
  22. package/dist/components/table/node/col.js.map +1 -1
  23. package/dist/components/table/table-cell.js +2 -0
  24. package/dist/components/table/table-cell.js.map +1 -1
  25. package/dist/components/table/table-foot.js +2 -0
  26. package/dist/components/table/table-foot.js.map +1 -1
  27. package/dist/components/table/table-head.js +1 -0
  28. package/dist/components/table/table-head.js.map +1 -1
  29. package/dist/components/table/table-row.js +2 -0
  30. package/dist/components/table/table-row.js.map +1 -1
  31. package/dist/components/table/use-columns.d.ts +1 -2
  32. package/dist/index.d.ts +2 -2
  33. package/dist/install.d.ts +3 -3
  34. package/dist/types/action.d.ts +7 -8
  35. package/dist/types/animation.d.ts +4 -5
  36. package/dist/types/auto-complete.d.ts +4 -5
  37. package/dist/types/badge.d.ts +4 -5
  38. package/dist/types/batch-edit.d.ts +9 -12
  39. package/dist/types/breadcrumb.d.ts +6 -7
  40. package/dist/types/button.d.ts +5 -6
  41. package/dist/types/calendar.d.ts +7 -8
  42. package/dist/types/card.d.ts +7 -8
  43. package/dist/types/cascade.d.ts +6 -7
  44. package/dist/types/check-tag.d.ts +4 -5
  45. package/dist/types/checkbox-group.d.ts +3 -4
  46. package/dist/types/checkbox.d.ts +5 -6
  47. package/dist/types/code-editor.d.ts +5 -6
  48. package/dist/types/collapse.d.ts +6 -7
  49. package/dist/types/condition-editor.d.ts +11 -12
  50. package/dist/types/contextmenu.d.ts +5 -6
  51. package/dist/types/css-transition.d.ts +4 -5
  52. package/dist/types/date-panel.d.ts +3 -4
  53. package/dist/types/date-picker.d.ts +5 -6
  54. package/dist/types/date-range-picker.d.ts +6 -7
  55. package/dist/types/dialog.d.ts +5 -6
  56. package/dist/types/drawer.d.ts +6 -7
  57. package/dist/types/dropdown.d.ts +4 -5
  58. package/dist/types/dual-nav.d.ts +6 -7
  59. package/dist/types/empty.d.ts +4 -5
  60. package/dist/types/expression-editor.d.ts +6 -7
  61. package/dist/types/file-picker.d.ts +4 -5
  62. package/dist/types/file-viewer.d.ts +6 -7
  63. package/dist/types/float-button.d.ts +5 -6
  64. package/dist/types/form-item.d.ts +3 -4
  65. package/dist/types/form.d.ts +4 -7
  66. package/dist/types/gantt-chart.d.ts +4 -5
  67. package/dist/types/grid-input.d.ts +4 -5
  68. package/dist/types/grid.d.ts +7 -8
  69. package/dist/types/group-input.d.ts +4 -5
  70. package/dist/types/group-nav.d.ts +3 -4
  71. package/dist/types/icon.d.ts +3 -4
  72. package/dist/types/image-cropper.d.ts +9 -10
  73. package/dist/types/index.d.ts +2 -2
  74. package/dist/types/input.d.ts +4 -5
  75. package/dist/types/layout.d.ts +4 -5
  76. package/dist/types/list.d.ts +4 -5
  77. package/dist/types/loading.d.ts +5 -6
  78. package/dist/types/message-confirm.d.ts +8 -9
  79. package/dist/types/message.d.ts +8 -9
  80. package/dist/types/multi-auto-complete.d.ts +4 -5
  81. package/dist/types/multi-select.d.ts +4 -5
  82. package/dist/types/multi-tree-select.d.ts +4 -5
  83. package/dist/types/nav.d.ts +5 -6
  84. package/dist/types/node-render.d.ts +2 -3
  85. package/dist/types/notification.d.ts +8 -9
  86. package/dist/types/number-input.d.ts +3 -4
  87. package/dist/types/number-range-input.d.ts +4 -5
  88. package/dist/types/number.d.ts +3 -4
  89. package/dist/types/paginator.d.ts +4 -5
  90. package/dist/types/palette.d.ts +7 -8
  91. package/dist/types/password-input.d.ts +4 -5
  92. package/dist/types/pop-confirm.d.ts +4 -5
  93. package/dist/types/pop.d.ts +4 -5
  94. package/dist/types/progress-nodes.d.ts +4 -5
  95. package/dist/types/progress.d.ts +4 -5
  96. package/dist/types/quick-batch-edit.d.ts +4 -5
  97. package/dist/types/radio-group.d.ts +4 -5
  98. package/dist/types/radio.d.ts +4 -5
  99. package/dist/types/rich-text-editor.d.ts +6 -7
  100. package/dist/types/scroll.d.ts +5 -6
  101. package/dist/types/segment.d.ts +5 -6
  102. package/dist/types/select.d.ts +4 -5
  103. package/dist/types/slider.d.ts +4 -5
  104. package/dist/types/steps.d.ts +5 -6
  105. package/dist/types/switch.d.ts +4 -5
  106. package/dist/types/table-editor.d.ts +4 -5
  107. package/dist/types/table.d.ts +23 -13
  108. package/dist/types/tabs.d.ts +13 -14
  109. package/dist/types/tag.d.ts +3 -4
  110. package/dist/types/text-editor.d.ts +5 -6
  111. package/dist/types/text.d.ts +4 -5
  112. package/dist/types/textarea.d.ts +4 -5
  113. package/dist/types/theme.d.ts +3 -4
  114. package/dist/types/tip.d.ts +6 -7
  115. package/dist/types/tree-select.d.ts +4 -5
  116. package/dist/types/tree.d.ts +6 -6
  117. package/dist/types/watermark.d.ts +4 -5
  118. package/package.json +5 -5
  119. package/src/components/batch-edit/__test__/batch-edit.test.ts +0 -138
  120. package/src/components/batch-edit/batch-edit-form.vue +2 -16
  121. package/src/components/form/__test__/form.test.ts +125 -33
  122. package/src/components/form/form.vue +10 -11
  123. package/src/components/form/use-node-interceptor.ts +36 -2
  124. package/src/components/form-item/__test__/form-item.test.ts +1 -10
  125. package/src/components/form-item/form-item.vue +2 -9
  126. package/src/components/table/__test__/column-style.test.ts +67 -0
  127. package/src/components/table/node/col.ts +30 -1
  128. package/src/components/table/table-cell.vue +7 -2
  129. package/src/components/table/table-foot.vue +2 -0
  130. package/src/components/table/table-head.tsx +1 -0
  131. package/src/components/table/table-row.tsx +2 -0
  132. package/src/types/batch-edit.ts +0 -2
  133. package/src/types/form.ts +0 -2
  134. package/src/types/table.ts +12 -0
@@ -1,7 +1,26 @@
1
1
  import { TreeNode } from '@cat-kit/core'
2
+ import { withUnit } from '@veltra/utils'
2
3
  import { isReactive, reactive, shallowReactive } from 'vue'
3
4
 
4
- import type { TableColumn, TableColumnAlign } from '../../../types'
5
+ import type { TableColumn, TableColumnAlign, TableColumnStyle } from '../../../types'
6
+
7
+ function normalizeColumnStyle(style?: TableColumnStyle): Record<string, string> | undefined {
8
+ if (!style) return undefined
9
+
10
+ const result: Record<string, string> = {}
11
+
12
+ if (style.color !== undefined) {
13
+ result.color = style.color
14
+ }
15
+ if (style.fontSize !== undefined) {
16
+ const fontSize = withUnit(style.fontSize, 'px')
17
+ if (fontSize !== undefined) {
18
+ result.fontSize = fontSize
19
+ }
20
+ }
21
+
22
+ return Object.keys(result).length ? result : undefined
23
+ }
5
24
 
6
25
  export class ColumnNode extends TreeNode<TableColumn, ColumnNode> {
7
26
  declare children?: ColumnNode[] | undefined
@@ -44,6 +63,16 @@ export class ColumnNode extends TreeNode<TableColumn, ColumnNode> {
44
63
  this.data.headerAlign = val
45
64
  }
46
65
 
66
+ /** 表体/表尾单元格样式 */
67
+ get cellStyle(): Record<string, string> | undefined {
68
+ return normalizeColumnStyle(this.data.style)
69
+ }
70
+
71
+ /** 表头单元格样式 */
72
+ get headerCellStyle(): Record<string, string> | undefined {
73
+ return normalizeColumnStyle(this.data.headerStyle ?? this.data.style)
74
+ }
75
+
47
76
  /** 宽度 */
48
77
  get width(): number | undefined {
49
78
  const width = this.data.width ?? this.derived.allocatedWidth
@@ -24,13 +24,18 @@ defineOptions({ name: 'UTableCell' })
24
24
  * 父组件 `TableRow` 已经持有注入上下文,直接把 `cellClass` 传下来即可;
25
25
  * 这里变成「完全受控」的纯渲染单元。
26
26
  */
27
- const { left, right } = defineProps<{
27
+ const { left, right, cellStyle } = defineProps<{
28
28
  cellClass: string
29
29
  left?: number
30
30
  right?: number
31
+ cellStyle?: Record<string, string>
31
32
  rowspan?: number
32
33
  colspan?: number
33
34
  }>()
34
35
 
35
- const style = computed(() => ({ left: withUnit(left, 'px'), right: withUnit(right, 'px') }))
36
+ const style = computed(() => ({
37
+ ...cellStyle,
38
+ left: withUnit(left, 'px'),
39
+ right: withUnit(right, 'px')
40
+ }))
36
41
  </script>
@@ -5,6 +5,7 @@
5
5
  v-if="leafColumns[0]"
6
6
  :class="getCellClass(leafColumns[0])"
7
7
  :style="{
8
+ ...leafColumns[0].cellStyle,
8
9
  right: withUnit(leafColumns[0].style.right, 'px'),
9
10
  left: withUnit(leafColumns[0].style.left, 'px')
10
11
  }"
@@ -16,6 +17,7 @@
16
17
  :class="getCellClass(column)"
17
18
  :key="column.key"
18
19
  :style="{
20
+ ...column.cellStyle,
19
21
  right: withUnit(column.style.right, 'px'),
20
22
  left: withUnit(column.style.left, 'px')
21
23
  }"
@@ -26,6 +26,7 @@ const TableHead: DefineComponent = defineComponent({
26
26
  colspan={column.leafs}
27
27
  rowspan={column.children?.length ? undefined : headers.value.length - headerIndex}
28
28
  style={{
29
+ ...column.headerCellStyle,
29
30
  left: withUnit(column.style.left, 'px'),
30
31
  right: withUnit(column.style.right, 'px')
31
32
  }}
@@ -99,6 +99,7 @@ export const UTableRow: DefineComponent<{ row: ITableRow; index: number }> = def
99
99
  cellClass={getCellClass(_expandColumn)}
100
100
  left={_expandColumn.style.left}
101
101
  right={_expandColumn.style.right}
102
+ cellStyle={_expandColumn.cellStyle}
102
103
  key={row.uid + _expandColumn.key}
103
104
  {...tableProps.mergeCell?.(expandCtx)}
104
105
  >
@@ -156,6 +157,7 @@ export const UTableRow: DefineComponent<{ row: ITableRow; index: number }> = def
156
157
  cellClass={getCellClass(column)}
157
158
  left={column.style.left}
158
159
  right={column.style.right}
160
+ cellStyle={column.cellStyle}
159
161
  key={row.uid + column.key}
160
162
  // @ts-ignore
161
163
  onClick={(e) => handleCellClick(row, column, e)}
@@ -115,8 +115,6 @@ export interface BatchEditProps extends TableProps {
115
115
 
116
116
  /** 批量编辑组件定义的事件 */
117
117
  export interface BatchEditEmits extends TableEmits {
118
- /** 表单控件 change,透传自 UForm */
119
- (e: 'field:change', field: string, ...args: any[]): void
120
118
  /** 更新数据 */
121
119
  (e: 'update:data', value: Record<string, any>[]): void
122
120
  /** 点击底部「新增一行」 */
package/src/types/form.ts CHANGED
@@ -29,8 +29,6 @@ export interface FormProps extends ComponentProps {
29
29
  }
30
30
 
31
31
  export interface FormEmits {
32
- /** 控件 change 事件,仅用户操作触发 */
33
- (e: 'field:change', field: string, ...args: any[]): void
34
32
  /** model 字段值更新,含编程写入 */
35
33
  (e: 'field:update', field: string, value: any): void
36
34
  }
@@ -4,6 +4,11 @@ import type { ShallowRef, Slots, VNode } from 'vue'
4
4
 
5
5
  export type TableColumnAlign = 'left' | 'center' | 'right'
6
6
 
7
+ export interface TableColumnStyle {
8
+ color?: string
9
+ fontSize?: number | string
10
+ }
11
+
7
12
  /**
8
13
  * 合计上下文
9
14
  */
@@ -46,6 +51,10 @@ export interface TableColumn {
46
51
  * @default 'left'
47
52
  */
48
53
  align?: TableColumnAlign
54
+ /** 表体/表尾单元格样式 */
55
+ style?: TableColumnStyle
56
+ /** 表头单元格样式,未指定时取 style */
57
+ headerStyle?: TableColumnStyle
49
58
  /** 列渲染 */
50
59
  render?: (scope: TableColumnRenderContext) => RenderReturn
51
60
  /** 子列 */
@@ -164,6 +173,9 @@ export interface TableColumnNode extends TreeNode<TableColumn> {
164
173
  key: string
165
174
  name: string
166
175
  align: TableColumnAlign
176
+ headerAlign: TableColumnAlign
177
+ cellStyle?: Record<string, string>
178
+ headerCellStyle?: Record<string, string>
167
179
  width: number | undefined
168
180
  minWidth: number | undefined
169
181
  fixed: 'left' | 'right' | undefined