@vue-ui-kit/ant 2.0.9 → 2.1.1

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.
@@ -43,6 +43,7 @@ declare const _default: <T extends Recordable = Recordable, B extends Recordable
43
43
  render: import('e-virt-table').Render;
44
44
  renderFooter: import('e-virt-table').Render;
45
45
  style: any;
46
+ domDataset: any;
46
47
  rules: import('e-virt-table/dist/lib/Validator').Rules | import('e-virt-table/dist/lib/Validator').Rule;
47
48
  message: string;
48
49
  text: string;
@@ -57,12 +58,28 @@ declare const _default: <T extends Recordable = Recordable, B extends Recordable
57
58
  drawTextColor: string;
58
59
  drawTextX: number;
59
60
  drawTextY: number;
60
- drawImageX: number;
61
- drawImageY: number;
62
- drawImageWidth: number;
63
- drawImageHeight: number;
64
- drawImageName: string;
65
- drawImageSource?: HTMLImageElement;
61
+ drawTextWidth: number;
62
+ drawTextHeight: number;
63
+ drawTreeImageX: number;
64
+ drawTreeImageY: number;
65
+ drawTreeImageWidth: number;
66
+ drawTreeImageHeight: number;
67
+ drawTreeImageName: string;
68
+ drawTreeImageSource?: HTMLImageElement;
69
+ drawSelectionImageX: number;
70
+ drawSelectionImageY: number;
71
+ drawSelectionImageWidth: number;
72
+ drawSelectionImageHeight: number;
73
+ drawSelectionImageName: string;
74
+ drawSelectionImageSource?: HTMLImageElement;
75
+ drawHoverImageX: number;
76
+ drawHoverImageY: number;
77
+ drawHoverImageWidth: number;
78
+ drawHoverImageHeight: number;
79
+ drawHoverImageName: string;
80
+ drawHoverImageSource?: HTMLImageElement;
81
+ autoRowHeight: boolean;
82
+ calculatedHeight: number;
66
83
  ellipsis: boolean;
67
84
  rowExpand: boolean;
68
85
  rowHasChildren: boolean;
@@ -70,6 +87,7 @@ declare const _default: <T extends Recordable = Recordable, B extends Recordable
70
87
  selectorCellValueType: import('e-virt-table').SelectorCellValueType;
71
88
  overflowTooltipMaxWidth: number;
72
89
  overflowTooltipPlacement: import('e-virt-table').OverflowTooltipPlacement;
90
+ maxLineClamp: import('e-virt-table').LineClampType;
73
91
  ctx: import('e-virt-table/dist/lib/Context').default;
74
92
  x: number;
75
93
  y: number;
@@ -78,6 +96,7 @@ declare const _default: <T extends Recordable = Recordable, B extends Recordable
78
96
  } | {
79
97
  cell: Cell | import('e-virt-table/dist/lib/CellHeader').default;
80
98
  align: import('e-virt-table').Align;
99
+ hideHeaderSelection: boolean;
81
100
  verticalAlign: import('e-virt-table').VerticalAlign;
82
101
  fixed?: import('e-virt-table').Fixed;
83
102
  minWidth?: number;
@@ -107,16 +126,31 @@ declare const _default: <T extends Recordable = Recordable, B extends Recordable
107
126
  style: Partial<CSSStyleDeclaration>;
108
127
  drawX: number;
109
128
  drawY: number;
129
+ sortIconName: string;
130
+ sortAscIconName: string;
131
+ sortDescIconName: string;
110
132
  visibleWidth: number;
111
133
  visibleHeight: number;
134
+ maxLineClampHeader: import('e-virt-table').LineClampType;
135
+ domDataset: any;
136
+ drawTextX: number;
137
+ drawTextY: number;
138
+ drawTextWidth: number;
139
+ drawTextHeight: number;
112
140
  drawCellBgColor: string;
113
141
  drawTextColor: string;
114
- drawImageX: number;
115
- drawImageY: number;
116
- drawImageWidth: number;
117
- drawImageHeight: number;
118
- drawImageName: string;
119
- drawImageSource: HTMLImageElement | undefined;
142
+ drawSelectionImageX: number;
143
+ drawSelectionImageY: number;
144
+ drawSelectionImageWidth: number;
145
+ drawSelectionImageHeight: number;
146
+ drawSelectionImageName: string;
147
+ drawSelectionImageSource?: HTMLImageElement;
148
+ drawSortImageX: number;
149
+ drawSortImageY: number;
150
+ drawSortImageWidth: number;
151
+ drawSortImageHeight: number;
152
+ drawSortImageName: string;
153
+ drawSortImageSource?: HTMLImageElement;
120
154
  ctx: import('e-virt-table/dist/lib/Context').default;
121
155
  x: number;
122
156
  y: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue-ui-kit/ant",
3
- "version": "2.0.9",
3
+ "version": "2.1.1",
4
4
  "description": "Vue3 UI Kit based on Ant Design",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",
@@ -46,7 +46,7 @@
46
46
  "email": "adoin@qq.com"
47
47
  },
48
48
  "dependencies": {
49
- "e-virt-table": "^1.2.27",
49
+ "e-virt-table": "^1.2.35",
50
50
  "uuid": "^10.0.0",
51
51
  "xe-utils": "^3.7.6"
52
52
  },
@@ -168,6 +168,7 @@ export interface ToolbarConfig {
168
168
  code: string;
169
169
  icon: string;
170
170
  type?: ButtonType;
171
+ content?: string;
171
172
  disabled?: boolean;
172
173
  size?: 'small' | 'large' | 'middle';
173
174
  }>;
@@ -43,4 +43,4 @@
43
43
  </template>
44
44
  <slot />
45
45
  </a-card>
46
- </template>
46
+ </template>
@@ -314,7 +314,7 @@
314
314
  const firstColumn: CanvasColumnProps<D> =
315
315
  staticConfig.value.selectable && staticConfig.value.tree
316
316
  ? {
317
- type: 'tree-selection',
317
+ type: 'selection-tree',
318
318
  width: 40,
319
319
  widthFillDisable: true,
320
320
  title: '',
@@ -517,6 +517,7 @@
517
517
  :loading="loading.toolbar || (!!tool.code && codeLoadings[tool.code])"
518
518
  >
519
519
  <Icon :icon="tool.icon" />
520
+ {{ tool.content }}
520
521
  </a-button>
521
522
  </template>
522
523
  </span>
@@ -38,6 +38,7 @@
38
38
  const propsWithDefaults = computed(() => ({
39
39
  ...props,
40
40
  config: {
41
+ AUTO_ROW_HEIGHT: true,
41
42
  DISABLED: true, // 内部写死的默认配置
42
43
  ...canvasTableDefaults, // 全局配置
43
44
  ...props.config, // 用户传入的配置
@@ -299,6 +300,7 @@
299
300
  v-for="cell in view.cells"
300
301
  :key="`${cell.rowKey}_${cell.key}`"
301
302
  :style="cell.style"
303
+ v-bind="cell.domDataset"
302
304
  >
303
305
  <component
304
306
  v-if="typeof cell.render === 'function'"
@@ -578,6 +578,7 @@
578
578
  :loading="loading.toolbar || (!!tool.code && codeLoadings[tool.code])"
579
579
  >
580
580
  <Icon :icon="tool.icon" />
581
+ {{ tool.content }}
581
582
  </a-button>
582
583
  </template>
583
584
  </span>
@@ -26,7 +26,7 @@ import { ButtonProps } from 'ant-design-vue/lib/button';
26
26
  import { isBadValue, isGoodValue, valued } from '@/utils/is';
27
27
  import TableInput from '@/renders/TableInput.vue';
28
28
  import Icon from '@/renders/Icon';
29
- import { computed, Ref } from 'vue';
29
+ import { computed, ref, Ref } from 'vue';
30
30
 
31
31
  interface BtnOptions extends ButtonProps {
32
32
  content?: string;
@@ -210,12 +210,20 @@ const renderBasic = (name: string) => {
210
210
  },
211
211
  };
212
212
  };
213
-
214
- const renderBtn = (btnOpt: BtnOptions, params: RenderTableParams) =>
213
+ type GetPopupContainer = () => HTMLElement;
214
+ const renderBtn = (
215
+ btnOpt: BtnOptions,
216
+ params: RenderTableParams,
217
+ getPopupContainer?: GetPopupContainer,
218
+ ) =>
215
219
  btnOpt.dropdowns &&
216
220
  btnOpt.dropdowns.length > 0 &&
217
221
  btnOpt.dropdowns.filter((f) => !f.hiddenIf?.(params)).length > 0 ? (
218
- <Dropdown>
222
+ <Dropdown
223
+ getPopupContainer={
224
+ getPopupContainer ?? (() => document.querySelector('.p-wrapper') as HTMLElement)
225
+ }
226
+ >
219
227
  {{
220
228
  default: () => (
221
229
  <Button
@@ -236,7 +244,7 @@ const renderBtn = (btnOpt: BtnOptions, params: RenderTableParams) =>
236
244
  <div class={`dropdown-wrapper ${btnOpt?.dynamicClassName?.(params) ?? ''}`}>
237
245
  {btnOpt
238
246
  .dropdowns!.filter((f) => !f.hiddenIf?.(params))
239
- .map((b) => renderBtn(b, params))}
247
+ .map((b) => renderBtn(b, params, getPopupContainer))}
240
248
  </div>
241
249
  ),
242
250
  }}
@@ -456,20 +464,31 @@ const renders: RenderFactory = {
456
464
  },
457
465
  ButtonTree: {
458
466
  renderDefault({ children = [], props = {} as Recordable }, params: RenderTableParams) {
467
+ const spanRef = ref<HTMLElement | null>(null);
459
468
  return (
460
- <span class={props.noGap ? 'align-no-gap-box' : 'align-gap-box'}>
469
+ <span ref={spanRef} class={props.noGap ? 'align-no-gap-box' : 'align-gap-box'}>
461
470
  {(children as BtnOptions[])
462
471
  .filter((f) => !f.hiddenIf?.(params))
463
- .map((item) => renderBtn(item, params)) ?? []}
472
+ .map((item) =>
473
+ renderBtn(item, params, () => {
474
+ return (
475
+ spanRef.value?.parentElement?.parentElement?.parentElement?.parentElement ||
476
+ document.body
477
+ );
478
+ }),
479
+ ) ?? []}
464
480
  </span>
465
481
  );
466
482
  },
467
483
  },
468
484
  $radio: {
469
485
  renderItemContent(
470
- { props = {}, events = {}, options }: RenderOptions,
486
+ { props = {}, events = {}, options, defaultValue }: RenderOptions,
471
487
  { data, field }: RenderFormParams,
472
488
  ) {
489
+ if (isGoodValue(defaultValue) && valued(field) && isBadValue(data[field!])) {
490
+ data[field!] = defaultValue;
491
+ }
473
492
  return valued(field) ? (
474
493
  <RadioGroup
475
494
  v-model:value={data[field!]}
@@ -518,9 +537,12 @@ const renders: RenderFactory = {
518
537
  },
519
538
  $switch: {
520
539
  renderItemContent(
521
- { props = {}, events = {} }: RenderOptions,
540
+ { props = {}, events = {}, defaultValue }: RenderOptions,
522
541
  { data, field }: RenderFormParams,
523
542
  ) {
543
+ if (isGoodValue(defaultValue) && valued(field) && isBadValue(data[field!])) {
544
+ data[field!] = defaultValue;
545
+ }
524
546
  return valued(field) ? (
525
547
  <Switch
526
548
  v-model:checked={data[field!]}
@@ -534,9 +556,12 @@ const renders: RenderFactory = {
534
556
  },
535
557
  $checkbox: {
536
558
  renderItemContent(
537
- { props = {}, options, events = {} }: RenderOptions,
559
+ { props = {}, options, events = {}, defaultValue }: RenderOptions,
538
560
  { data, field }: RenderFormParams,
539
561
  ) {
562
+ if (isGoodValue(defaultValue) && valued(field) && isBadValue(data[field!])) {
563
+ data[field!] = defaultValue;
564
+ }
540
565
  return valued(field) ? (
541
566
  <CheckboxGroup
542
567
  v-model:value={data[field!]}
@@ -596,11 +621,14 @@ const renders: RenderFactory = {
596
621
  },
597
622
  PercentInput: {
598
623
  renderItemContent(
599
- { props = {}, attrs = {} }: RenderOptions,
624
+ { props = {}, attrs = {}, defaultValue }: RenderOptions,
600
625
  { data, field }: RenderFormParams,
601
626
  ) {
602
627
  const rate = props.parse ? 100 : 1;
603
628
  if (valued(field)) {
629
+ if (isGoodValue(defaultValue) && isBadValue(data[field!])) {
630
+ data[field!] = defaultValue;
631
+ }
604
632
  const percentage = computed({
605
633
  get: () => (data[field!] ?? 0) * rate,
606
634
  set: (val) => {