@deot/vc 1.0.12 → 1.0.14
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.d.ts +37 -9
- package/dist/index.iife.js +77 -48
- package/dist/index.umd.cjs +77 -48
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -4175,7 +4175,7 @@ export declare const Components: {
|
|
|
4175
4175
|
validator: (v: string) => boolean;
|
|
4176
4176
|
default: string;
|
|
4177
4177
|
};
|
|
4178
|
-
|
|
4178
|
+
contentClass: (ObjectConstructor | StringConstructor)[];
|
|
4179
4179
|
width: {
|
|
4180
4180
|
type: NumberConstructor;
|
|
4181
4181
|
};
|
|
@@ -4223,6 +4223,10 @@ export declare const Components: {
|
|
|
4223
4223
|
type: BooleanConstructor;
|
|
4224
4224
|
default: boolean;
|
|
4225
4225
|
};
|
|
4226
|
+
border: {
|
|
4227
|
+
type: BooleanConstructor;
|
|
4228
|
+
default: boolean;
|
|
4229
|
+
};
|
|
4226
4230
|
onOk: {
|
|
4227
4231
|
type: FunctionConstructor;
|
|
4228
4232
|
};
|
|
@@ -4242,6 +4246,7 @@ export declare const Components: {
|
|
|
4242
4246
|
mask: boolean;
|
|
4243
4247
|
modelValue: boolean;
|
|
4244
4248
|
closable: boolean;
|
|
4249
|
+
border: boolean;
|
|
4245
4250
|
content: string | ((props: Record<string, unknown>, context: SetupContext) => any);
|
|
4246
4251
|
maskClosable: boolean;
|
|
4247
4252
|
scrollable: boolean;
|
|
@@ -4275,7 +4280,7 @@ export declare const Components: {
|
|
|
4275
4280
|
validator: (v: string) => boolean;
|
|
4276
4281
|
default: string;
|
|
4277
4282
|
};
|
|
4278
|
-
|
|
4283
|
+
contentClass: (ObjectConstructor | StringConstructor)[];
|
|
4279
4284
|
width: {
|
|
4280
4285
|
type: NumberConstructor;
|
|
4281
4286
|
};
|
|
@@ -4323,6 +4328,10 @@ export declare const Components: {
|
|
|
4323
4328
|
type: BooleanConstructor;
|
|
4324
4329
|
default: boolean;
|
|
4325
4330
|
};
|
|
4331
|
+
border: {
|
|
4332
|
+
type: BooleanConstructor;
|
|
4333
|
+
default: boolean;
|
|
4334
|
+
};
|
|
4326
4335
|
onOk: {
|
|
4327
4336
|
type: FunctionConstructor;
|
|
4328
4337
|
};
|
|
@@ -4342,6 +4351,7 @@ export declare const Components: {
|
|
|
4342
4351
|
mask: boolean;
|
|
4343
4352
|
modelValue: boolean;
|
|
4344
4353
|
closable: boolean;
|
|
4354
|
+
border: boolean;
|
|
4345
4355
|
content: string | ((props: Record<string, unknown>, context: SetupContext) => any);
|
|
4346
4356
|
maskClosable: boolean;
|
|
4347
4357
|
scrollable: boolean;
|
|
@@ -4372,7 +4382,7 @@ export declare const Components: {
|
|
|
4372
4382
|
validator: (v: string) => boolean;
|
|
4373
4383
|
default: string;
|
|
4374
4384
|
};
|
|
4375
|
-
|
|
4385
|
+
contentClass: (ObjectConstructor | StringConstructor)[];
|
|
4376
4386
|
width: {
|
|
4377
4387
|
type: NumberConstructor;
|
|
4378
4388
|
};
|
|
@@ -4420,6 +4430,10 @@ export declare const Components: {
|
|
|
4420
4430
|
type: BooleanConstructor;
|
|
4421
4431
|
default: boolean;
|
|
4422
4432
|
};
|
|
4433
|
+
border: {
|
|
4434
|
+
type: BooleanConstructor;
|
|
4435
|
+
default: boolean;
|
|
4436
|
+
};
|
|
4423
4437
|
onOk: {
|
|
4424
4438
|
type: FunctionConstructor;
|
|
4425
4439
|
};
|
|
@@ -4439,6 +4453,7 @@ export declare const Components: {
|
|
|
4439
4453
|
mask: boolean;
|
|
4440
4454
|
modelValue: boolean;
|
|
4441
4455
|
closable: boolean;
|
|
4456
|
+
border: boolean;
|
|
4442
4457
|
content: string | ((props: Record<string, unknown>, context: SetupContext) => any);
|
|
4443
4458
|
maskClosable: boolean;
|
|
4444
4459
|
scrollable: boolean;
|
|
@@ -4455,6 +4470,7 @@ export declare const Components: {
|
|
|
4455
4470
|
mask: boolean;
|
|
4456
4471
|
modelValue: boolean;
|
|
4457
4472
|
closable: boolean;
|
|
4473
|
+
border: boolean;
|
|
4458
4474
|
content: string | ((props: Record<string, unknown>, context: SetupContext) => any);
|
|
4459
4475
|
maskClosable: boolean;
|
|
4460
4476
|
scrollable: boolean;
|
|
@@ -4467,10 +4483,10 @@ export declare const Components: {
|
|
|
4467
4483
|
title?: string | undefined;
|
|
4468
4484
|
mode?: "error" | "success" | "info" | "warning" | undefined;
|
|
4469
4485
|
onCancel?: Function | undefined;
|
|
4470
|
-
portalClass?: string | Record<string, any> | undefined;
|
|
4471
4486
|
width?: number | undefined;
|
|
4472
4487
|
wrapperStyle?: string | Record<string, any> | undefined;
|
|
4473
4488
|
onOk?: Function | undefined;
|
|
4489
|
+
contentClass?: string | Record<string, any> | undefined;
|
|
4474
4490
|
} & {
|
|
4475
4491
|
onClose: (...args: any[]) => any;
|
|
4476
4492
|
}>) => PortalLeaf;
|
|
@@ -4480,6 +4496,7 @@ export declare const Components: {
|
|
|
4480
4496
|
mask: boolean;
|
|
4481
4497
|
modelValue: boolean;
|
|
4482
4498
|
closable: boolean;
|
|
4499
|
+
border: boolean;
|
|
4483
4500
|
content: string | ((props: Record<string, unknown>, context: SetupContext) => any);
|
|
4484
4501
|
maskClosable: boolean;
|
|
4485
4502
|
scrollable: boolean;
|
|
@@ -4492,10 +4509,10 @@ export declare const Components: {
|
|
|
4492
4509
|
title?: string | undefined;
|
|
4493
4510
|
mode?: "error" | "success" | "info" | "warning" | undefined;
|
|
4494
4511
|
onCancel?: Function | undefined;
|
|
4495
|
-
portalClass?: string | Record<string, any> | undefined;
|
|
4496
4512
|
width?: number | undefined;
|
|
4497
4513
|
wrapperStyle?: string | Record<string, any> | undefined;
|
|
4498
4514
|
onOk?: Function | undefined;
|
|
4515
|
+
contentClass?: string | Record<string, any> | undefined;
|
|
4499
4516
|
} & {
|
|
4500
4517
|
onClose: (...args: any[]) => any;
|
|
4501
4518
|
}>) => PortalLeaf;
|
|
@@ -4505,6 +4522,7 @@ export declare const Components: {
|
|
|
4505
4522
|
mask: boolean;
|
|
4506
4523
|
modelValue: boolean;
|
|
4507
4524
|
closable: boolean;
|
|
4525
|
+
border: boolean;
|
|
4508
4526
|
content: string | ((props: Record<string, unknown>, context: SetupContext) => any);
|
|
4509
4527
|
maskClosable: boolean;
|
|
4510
4528
|
scrollable: boolean;
|
|
@@ -4517,10 +4535,10 @@ export declare const Components: {
|
|
|
4517
4535
|
title?: string | undefined;
|
|
4518
4536
|
mode?: "error" | "success" | "info" | "warning" | undefined;
|
|
4519
4537
|
onCancel?: Function | undefined;
|
|
4520
|
-
portalClass?: string | Record<string, any> | undefined;
|
|
4521
4538
|
width?: number | undefined;
|
|
4522
4539
|
wrapperStyle?: string | Record<string, any> | undefined;
|
|
4523
4540
|
onOk?: Function | undefined;
|
|
4541
|
+
contentClass?: string | Record<string, any> | undefined;
|
|
4524
4542
|
} & {
|
|
4525
4543
|
onClose: (...args: any[]) => any;
|
|
4526
4544
|
}>) => PortalLeaf;
|
|
@@ -4530,6 +4548,7 @@ export declare const Components: {
|
|
|
4530
4548
|
mask: boolean;
|
|
4531
4549
|
modelValue: boolean;
|
|
4532
4550
|
closable: boolean;
|
|
4551
|
+
border: boolean;
|
|
4533
4552
|
content: string | ((props: Record<string, unknown>, context: SetupContext) => any);
|
|
4534
4553
|
maskClosable: boolean;
|
|
4535
4554
|
scrollable: boolean;
|
|
@@ -4542,10 +4561,10 @@ export declare const Components: {
|
|
|
4542
4561
|
title?: string | undefined;
|
|
4543
4562
|
mode?: "error" | "success" | "info" | "warning" | undefined;
|
|
4544
4563
|
onCancel?: Function | undefined;
|
|
4545
|
-
portalClass?: string | Record<string, any> | undefined;
|
|
4546
4564
|
width?: number | undefined;
|
|
4547
4565
|
wrapperStyle?: string | Record<string, any> | undefined;
|
|
4548
4566
|
onOk?: Function | undefined;
|
|
4567
|
+
contentClass?: string | Record<string, any> | undefined;
|
|
4549
4568
|
} & {
|
|
4550
4569
|
onClose: (...args: any[]) => any;
|
|
4551
4570
|
}>) => PortalLeaf;
|
|
@@ -4569,7 +4588,7 @@ export declare const Components: {
|
|
|
4569
4588
|
validator: (v: string) => boolean;
|
|
4570
4589
|
default: string;
|
|
4571
4590
|
};
|
|
4572
|
-
|
|
4591
|
+
contentClass: (ObjectConstructor | StringConstructor)[];
|
|
4573
4592
|
width: {
|
|
4574
4593
|
type: NumberConstructor;
|
|
4575
4594
|
};
|
|
@@ -4617,6 +4636,10 @@ export declare const Components: {
|
|
|
4617
4636
|
type: BooleanConstructor;
|
|
4618
4637
|
default: boolean;
|
|
4619
4638
|
};
|
|
4639
|
+
border: {
|
|
4640
|
+
type: BooleanConstructor;
|
|
4641
|
+
default: boolean;
|
|
4642
|
+
};
|
|
4620
4643
|
onOk: {
|
|
4621
4644
|
type: FunctionConstructor;
|
|
4622
4645
|
};
|
|
@@ -4641,7 +4664,7 @@ export declare const Components: {
|
|
|
4641
4664
|
validator: (v: string) => boolean;
|
|
4642
4665
|
default: string;
|
|
4643
4666
|
};
|
|
4644
|
-
|
|
4667
|
+
contentClass: (ObjectConstructor | StringConstructor)[];
|
|
4645
4668
|
width: {
|
|
4646
4669
|
type: NumberConstructor;
|
|
4647
4670
|
};
|
|
@@ -4689,6 +4712,10 @@ export declare const Components: {
|
|
|
4689
4712
|
type: BooleanConstructor;
|
|
4690
4713
|
default: boolean;
|
|
4691
4714
|
};
|
|
4715
|
+
border: {
|
|
4716
|
+
type: BooleanConstructor;
|
|
4717
|
+
default: boolean;
|
|
4718
|
+
};
|
|
4692
4719
|
onOk: {
|
|
4693
4720
|
type: FunctionConstructor;
|
|
4694
4721
|
};
|
|
@@ -4708,6 +4735,7 @@ export declare const Components: {
|
|
|
4708
4735
|
mask: boolean;
|
|
4709
4736
|
modelValue: boolean;
|
|
4710
4737
|
closable: boolean;
|
|
4738
|
+
border: boolean;
|
|
4711
4739
|
content: string | ((props: Record<string, unknown>, context: SetupContext) => any);
|
|
4712
4740
|
maskClosable: boolean;
|
|
4713
4741
|
scrollable: boolean;
|
package/dist/index.iife.js
CHANGED
|
@@ -24841,7 +24841,7 @@ var Vc = (function (exports, vue) {
|
|
|
24841
24841
|
});
|
|
24842
24842
|
const COMPONENT_NAME$1T = "vc-alert";
|
|
24843
24843
|
const THEME_MAP = {
|
|
24844
|
-
info: ["#
|
|
24844
|
+
info: ["#2B72FD", "#91d5ff", "#e6f7ff"],
|
|
24845
24845
|
success: ["#52c41a", "#b7eb8f", "#f6ffed"],
|
|
24846
24846
|
error: ["#ed4014", "#ffb08f", "#fbe9e9"],
|
|
24847
24847
|
warning: ["#ffbf00", "#ffe58f", "#fffbe6"]
|
|
@@ -33841,7 +33841,7 @@ var Vc = (function (exports, vue) {
|
|
|
33841
33841
|
validator: (v) => /(small|medium|large)/.test(v),
|
|
33842
33842
|
default: "small"
|
|
33843
33843
|
},
|
|
33844
|
-
|
|
33844
|
+
contentClass: [Object, String],
|
|
33845
33845
|
width: {
|
|
33846
33846
|
type: Number
|
|
33847
33847
|
},
|
|
@@ -33890,6 +33890,10 @@ var Vc = (function (exports, vue) {
|
|
|
33890
33890
|
type: Boolean,
|
|
33891
33891
|
default: true
|
|
33892
33892
|
},
|
|
33893
|
+
border: {
|
|
33894
|
+
type: Boolean,
|
|
33895
|
+
default: false
|
|
33896
|
+
},
|
|
33893
33897
|
/**
|
|
33894
33898
|
* 兼容portal设计, 实现Promise方式
|
|
33895
33899
|
*/
|
|
@@ -34142,7 +34146,8 @@ var Vc = (function (exports, vue) {
|
|
|
34142
34146
|
"class": [{
|
|
34143
34147
|
"is-drag": props2.draggable,
|
|
34144
34148
|
"is-large": props2.size === "large" || props2.size === "medium",
|
|
34145
|
-
"
|
|
34149
|
+
"has-footer": props2.footer && (props2.cancelText || props2.okText),
|
|
34150
|
+
"has-border": props2.border
|
|
34146
34151
|
}, "vc-modal__container"],
|
|
34147
34152
|
"style": [basicStyle.value, draggableStyle.value]
|
|
34148
34153
|
}, [vue.createVNode("div", {
|
|
@@ -34174,7 +34179,7 @@ var Vc = (function (exports, vue) {
|
|
|
34174
34179
|
"height": isTransitionEnd.value ? row.height : void 0,
|
|
34175
34180
|
"contentClass": [{
|
|
34176
34181
|
"is-confirm": props2.mode
|
|
34177
|
-
}, props2.
|
|
34182
|
+
}, props2.contentClass, "vc-modal__content"]
|
|
34178
34183
|
}, {
|
|
34179
34184
|
default: () => [typeof props2.content === "string" ? vue.createVNode("div", {
|
|
34180
34185
|
"innerHTML": props2.content
|
|
@@ -35558,7 +35563,7 @@ var Vc = (function (exports, vue) {
|
|
|
35558
35563
|
color: {
|
|
35559
35564
|
type: [Object, String],
|
|
35560
35565
|
default: () => ({
|
|
35561
|
-
normal: "#
|
|
35566
|
+
normal: "#2B72FD",
|
|
35562
35567
|
success: "#52c41a",
|
|
35563
35568
|
error: "#f5222d"
|
|
35564
35569
|
})
|
|
@@ -36705,6 +36710,8 @@ var Vc = (function (exports, vue) {
|
|
|
36705
36710
|
});
|
|
36706
36711
|
if (!originalData.length) {
|
|
36707
36712
|
rebuildData.value = [];
|
|
36713
|
+
} else {
|
|
36714
|
+
rebuildData.value = originalData.slice();
|
|
36708
36715
|
}
|
|
36709
36716
|
offsetPageSize.value = 0;
|
|
36710
36717
|
await refreshLayout(0, originalData.length);
|
|
@@ -37811,17 +37818,24 @@ var Vc = (function (exports, vue) {
|
|
|
37811
37818
|
const dataInstanceChanged = this.states._data !== data;
|
|
37812
37819
|
this.states._data = data;
|
|
37813
37820
|
this.states.data = data;
|
|
37821
|
+
const caches = /* @__PURE__ */ new Map();
|
|
37822
|
+
this.states.list.forEach((item) => {
|
|
37823
|
+
item.rows.forEach((row) => {
|
|
37824
|
+
caches.set(row.data, row);
|
|
37825
|
+
});
|
|
37826
|
+
});
|
|
37814
37827
|
this.states.list = data.reduce((pre, row, index) => {
|
|
37828
|
+
const cache = caches.get(row) || { heightMap: {} };
|
|
37815
37829
|
pre.push({
|
|
37816
37830
|
rows: [
|
|
37817
37831
|
{
|
|
37818
37832
|
index,
|
|
37819
37833
|
data: row,
|
|
37820
|
-
height: "",
|
|
37834
|
+
height: cache.height || "",
|
|
37821
37835
|
heightMap: {
|
|
37822
|
-
left: "",
|
|
37823
|
-
main: "",
|
|
37824
|
-
right: ""
|
|
37836
|
+
left: cache.heightMap.left || "",
|
|
37837
|
+
main: cache.heightMap.main || "",
|
|
37838
|
+
right: cache.heightMap.right || ""
|
|
37825
37839
|
}
|
|
37826
37840
|
}
|
|
37827
37841
|
],
|
|
@@ -37829,6 +37843,7 @@ var Vc = (function (exports, vue) {
|
|
|
37829
37843
|
});
|
|
37830
37844
|
return pre;
|
|
37831
37845
|
}, []);
|
|
37846
|
+
caches.clear();
|
|
37832
37847
|
this.current.update();
|
|
37833
37848
|
this.expand.update();
|
|
37834
37849
|
if (!this.states.reserveSelection) {
|
|
@@ -37962,12 +37977,12 @@ var Vc = (function (exports, vue) {
|
|
|
37962
37977
|
*/
|
|
37963
37978
|
cleanSelection() {
|
|
37964
37979
|
const { primaryKey } = this.table.props;
|
|
37965
|
-
const { selection = [] } = this.states;
|
|
37980
|
+
const { selection = [], data } = this.states;
|
|
37966
37981
|
let deleted;
|
|
37967
37982
|
if (primaryKey) {
|
|
37968
37983
|
deleted = [];
|
|
37969
37984
|
const selectedMap = getValuesMap(selection, primaryKey);
|
|
37970
|
-
const dataMap = getValuesMap(
|
|
37985
|
+
const dataMap = getValuesMap(data, primaryKey);
|
|
37971
37986
|
for (const key in selectedMap) {
|
|
37972
37987
|
if (hasOwn$1(selectedMap, key) && !dataMap[key]) {
|
|
37973
37988
|
deleted.push(selectedMap[key].row);
|
|
@@ -38138,8 +38153,10 @@ var Vc = (function (exports, vue) {
|
|
|
38138
38153
|
const NormalList = /* @__PURE__ */ vue.defineComponent({
|
|
38139
38154
|
name: COMPONENT_NAME$h,
|
|
38140
38155
|
props: {
|
|
38141
|
-
data:
|
|
38142
|
-
|
|
38156
|
+
data: {
|
|
38157
|
+
type: Array,
|
|
38158
|
+
default: () => []
|
|
38159
|
+
}
|
|
38143
38160
|
},
|
|
38144
38161
|
emits: ["row-resize"],
|
|
38145
38162
|
setup(props2, {
|
|
@@ -38180,7 +38197,7 @@ var Vc = (function (exports, vue) {
|
|
|
38180
38197
|
expose
|
|
38181
38198
|
}) {
|
|
38182
38199
|
const instance = vue.getCurrentInstance();
|
|
38183
|
-
const table =
|
|
38200
|
+
const table = vue.inject("vc-table");
|
|
38184
38201
|
const states = useStates({
|
|
38185
38202
|
data: "data",
|
|
38186
38203
|
list: "list",
|
|
@@ -38304,7 +38321,7 @@ var Vc = (function (exports, vue) {
|
|
|
38304
38321
|
column,
|
|
38305
38322
|
row
|
|
38306
38323
|
};
|
|
38307
|
-
table.
|
|
38324
|
+
table.hoverState.value = hoverState;
|
|
38308
38325
|
table.emit("cell-mouse-enter", hoverState.row, hoverState.column, hoverState.cell, e);
|
|
38309
38326
|
}
|
|
38310
38327
|
const cellChild = e.target.querySelector(".vc-table__cell");
|
|
@@ -38333,7 +38350,7 @@ var Vc = (function (exports, vue) {
|
|
|
38333
38350
|
const handleCellMouseLeave = (e) => {
|
|
38334
38351
|
const cell = getCell(e);
|
|
38335
38352
|
if (!cell) return;
|
|
38336
|
-
const oldHoverState = table.
|
|
38353
|
+
const oldHoverState = table.hoverState.value || {};
|
|
38337
38354
|
table.emit("cell-mouse-leave", oldHoverState.row, oldHoverState.column, oldHoverState.cell, e);
|
|
38338
38355
|
};
|
|
38339
38356
|
const handleMouseEnter = debounce$1((index) => {
|
|
@@ -38371,6 +38388,7 @@ var Vc = (function (exports, vue) {
|
|
|
38371
38388
|
columns
|
|
38372
38389
|
} = states;
|
|
38373
38390
|
const key = getValueOfRow(row, rowIndex);
|
|
38391
|
+
const selected = props2.store.isSelected(row);
|
|
38374
38392
|
return vue.createVNode("div", {
|
|
38375
38393
|
"key": key,
|
|
38376
38394
|
"class": [getRowClass(row, rowIndex), "vc-table__tr"],
|
|
@@ -38391,10 +38409,12 @@ var Vc = (function (exports, vue) {
|
|
|
38391
38409
|
};
|
|
38392
38410
|
if (columnsHidden.value[columnIndex]) {
|
|
38393
38411
|
return vue.createVNode("div", {
|
|
38412
|
+
"key": column.id,
|
|
38394
38413
|
"style": [sizeStyle]
|
|
38395
38414
|
}, null);
|
|
38396
38415
|
}
|
|
38397
38416
|
return vue.createVNode("div", {
|
|
38417
|
+
"key": column.id,
|
|
38398
38418
|
"style": [getCellStyle(rowIndex, columnIndex, row, column), sizeStyle],
|
|
38399
38419
|
"class": [getCellClass(rowIndex, columnIndex, row, column), "vc-table__td"],
|
|
38400
38420
|
"onMouseenter": (e) => handleCellMouseEnter(e, row),
|
|
@@ -38404,7 +38424,8 @@ var Vc = (function (exports, vue) {
|
|
|
38404
38424
|
column,
|
|
38405
38425
|
rowIndex,
|
|
38406
38426
|
columnIndex,
|
|
38407
|
-
store: props2.store
|
|
38427
|
+
store: props2.store,
|
|
38428
|
+
selected
|
|
38408
38429
|
})]);
|
|
38409
38430
|
})]);
|
|
38410
38431
|
};
|
|
@@ -38438,7 +38459,7 @@ var Vc = (function (exports, vue) {
|
|
|
38438
38459
|
wrapper,
|
|
38439
38460
|
getRootElement: () => instance.vnode.el
|
|
38440
38461
|
});
|
|
38441
|
-
const layout = table.
|
|
38462
|
+
const layout = table.layout;
|
|
38442
38463
|
return () => {
|
|
38443
38464
|
return vue.createVNode("div", {
|
|
38444
38465
|
"class": "vc-table__body"
|
|
@@ -38448,7 +38469,7 @@ var Vc = (function (exports, vue) {
|
|
|
38448
38469
|
"disabled": true,
|
|
38449
38470
|
"class": "vc-table__tbody",
|
|
38450
38471
|
"scrollerOptions": {
|
|
38451
|
-
barTo: `.${table.
|
|
38472
|
+
barTo: `.${table.tableId}`,
|
|
38452
38473
|
native: false,
|
|
38453
38474
|
always: false,
|
|
38454
38475
|
showBar: !props2.fixed,
|
|
@@ -38500,7 +38521,7 @@ var Vc = (function (exports, vue) {
|
|
|
38500
38521
|
}
|
|
38501
38522
|
},
|
|
38502
38523
|
setup(props2) {
|
|
38503
|
-
const table =
|
|
38524
|
+
const table = vue.inject("vc-table");
|
|
38504
38525
|
const instance = vue.getCurrentInstance();
|
|
38505
38526
|
const draggingColumn = vue.ref(null);
|
|
38506
38527
|
const dragging = vue.ref(false);
|
|
@@ -38606,7 +38627,7 @@ var Vc = (function (exports, vue) {
|
|
|
38606
38627
|
if (column.children && column.children.length > 0) return;
|
|
38607
38628
|
if (draggingColumn.value && props2.border) {
|
|
38608
38629
|
dragging.value = true;
|
|
38609
|
-
table.
|
|
38630
|
+
table.resizeProxyVisible.value = true;
|
|
38610
38631
|
const tableEl = table.vnode.el;
|
|
38611
38632
|
const tableLeft = tableEl.getBoundingClientRect().left;
|
|
38612
38633
|
const columnEl = instance.vnode.el.querySelector(`.vc-table__th.${column.id}`);
|
|
@@ -38619,7 +38640,7 @@ var Vc = (function (exports, vue) {
|
|
|
38619
38640
|
startColumnLeft: columnRect.left - tableLeft,
|
|
38620
38641
|
tableLeft
|
|
38621
38642
|
};
|
|
38622
|
-
const resizeProxy = table.
|
|
38643
|
+
const resizeProxy = table.resizeProxy.value;
|
|
38623
38644
|
resizeProxy.style.left = dragState.value.startLeft + "px";
|
|
38624
38645
|
document.onselectstart = () => false;
|
|
38625
38646
|
document.ondragstart = () => false;
|
|
@@ -38976,7 +38997,8 @@ var Vc = (function (exports, vue) {
|
|
|
38976
38997
|
emits: ["select", "select-all", "selection-change", "cell-mouse-enter", "cell-mouse-leave", "cell-click", "cell-dblclick", "row-click", "row-contextmenu", "row-dblclick", "header-click", "header-contextmenu", "current-change", "header-dragend ", "expand-change", "sort-change"],
|
|
38977
38998
|
setup(props2, {
|
|
38978
38999
|
slots,
|
|
38979
|
-
expose
|
|
39000
|
+
expose,
|
|
39001
|
+
emit
|
|
38980
39002
|
}) {
|
|
38981
39003
|
const instance = vue.getCurrentInstance();
|
|
38982
39004
|
const store = new Store({
|
|
@@ -39088,7 +39110,8 @@ var Vc = (function (exports, vue) {
|
|
|
39088
39110
|
};
|
|
39089
39111
|
}
|
|
39090
39112
|
return {
|
|
39091
|
-
height: layout.states.viewportHeight ? layout.states.viewportHeight + "px" : ""
|
|
39113
|
+
height: layout.states.viewportHeight ? layout.states.viewportHeight + "px" : "",
|
|
39114
|
+
bottom: 0
|
|
39092
39115
|
};
|
|
39093
39116
|
}
|
|
39094
39117
|
});
|
|
@@ -39275,8 +39298,8 @@ var Vc = (function (exports, vue) {
|
|
|
39275
39298
|
}, {
|
|
39276
39299
|
immediate: true
|
|
39277
39300
|
});
|
|
39278
|
-
vue.watch(() => props2.data, (
|
|
39279
|
-
store.setData(
|
|
39301
|
+
vue.watch(() => [props2.data, props2.data.length], () => {
|
|
39302
|
+
store.setData(props2.data);
|
|
39280
39303
|
isReady.value && vue.nextTick(refreshLayout);
|
|
39281
39304
|
}, {
|
|
39282
39305
|
immediate: true
|
|
@@ -39312,7 +39335,7 @@ var Vc = (function (exports, vue) {
|
|
|
39312
39335
|
isUnMount = true;
|
|
39313
39336
|
unbindEvents();
|
|
39314
39337
|
});
|
|
39315
|
-
|
|
39338
|
+
const exposed = {
|
|
39316
39339
|
bodyXWrapper,
|
|
39317
39340
|
bodyYWrapper,
|
|
39318
39341
|
tableId,
|
|
@@ -39334,8 +39357,12 @@ var Vc = (function (exports, vue) {
|
|
|
39334
39357
|
isReady,
|
|
39335
39358
|
hoverState,
|
|
39336
39359
|
renderExpanded,
|
|
39337
|
-
hiddenColumns
|
|
39338
|
-
|
|
39360
|
+
hiddenColumns,
|
|
39361
|
+
props: props2,
|
|
39362
|
+
emit
|
|
39363
|
+
};
|
|
39364
|
+
expose(exposed);
|
|
39365
|
+
vue.provide("vc-table", exposed);
|
|
39339
39366
|
return () => {
|
|
39340
39367
|
return vue.createVNode("div", {
|
|
39341
39368
|
"class": [classes.value, tableId, "vc-table"],
|
|
@@ -39371,7 +39398,9 @@ var Vc = (function (exports, vue) {
|
|
|
39371
39398
|
}, null), props2.data.length === 0 && vue.createVNode("div", {
|
|
39372
39399
|
"ref": emptyBlock,
|
|
39373
39400
|
"style": bodyWidthStyle.value,
|
|
39374
|
-
"class":
|
|
39401
|
+
"class": [{
|
|
39402
|
+
"is-absolute": !!props2.height
|
|
39403
|
+
}, "vc-table__empty-wrapper"]
|
|
39375
39404
|
}, [vue.createVNode("span", {
|
|
39376
39405
|
"class": "vc-table__empty-text"
|
|
39377
39406
|
}, [slots.empty ? slots.empty() : props2.emptyText || "暂无数据"])]), slots.append && vue.createVNode("div", {
|
|
@@ -39519,10 +39548,11 @@ var Vc = (function (exports, vue) {
|
|
|
39519
39548
|
column,
|
|
39520
39549
|
store,
|
|
39521
39550
|
rowIndex,
|
|
39522
|
-
level
|
|
39551
|
+
level,
|
|
39552
|
+
selected
|
|
39523
39553
|
}) {
|
|
39524
39554
|
return vue.withDirectives(vue.createVNode(Checkbox, {
|
|
39525
|
-
"modelValue":
|
|
39555
|
+
"modelValue": selected,
|
|
39526
39556
|
"disabled": column.selectable ? !column.selectable.call(null, row, rowIndex) : false,
|
|
39527
39557
|
"onChange": () => store.rowSelectedChanged(row),
|
|
39528
39558
|
"onClick": (e) => e.stopPropagation()
|
|
@@ -39690,14 +39720,13 @@ var Vc = (function (exports, vue) {
|
|
|
39690
39720
|
tooltip: [String, Function]
|
|
39691
39721
|
},
|
|
39692
39722
|
setup(props2, {
|
|
39693
|
-
slots
|
|
39694
|
-
expose
|
|
39723
|
+
slots
|
|
39695
39724
|
}) {
|
|
39696
39725
|
const instance = vue.getCurrentInstance();
|
|
39697
|
-
const table =
|
|
39698
|
-
const parent =
|
|
39726
|
+
const table = vue.inject("vc-table");
|
|
39727
|
+
const parent = vue.inject("vc-table-column", table);
|
|
39699
39728
|
const isSubColumn = table !== parent;
|
|
39700
|
-
const columnId = vue.ref((parent.
|
|
39729
|
+
const columnId = vue.ref((parent.tableId || parent.columnId) + getUid("column"));
|
|
39701
39730
|
const realWidth = vue.computed(() => {
|
|
39702
39731
|
return parseWidth(props2.width);
|
|
39703
39732
|
});
|
|
@@ -39761,7 +39790,7 @@ var Vc = (function (exports, vue) {
|
|
|
39761
39790
|
column.renderCell = (data) => vue.createVNode("div", {
|
|
39762
39791
|
"class": "vc-table__cell"
|
|
39763
39792
|
}, [originRenderCell(data)]);
|
|
39764
|
-
table.
|
|
39793
|
+
table.renderExpanded.value = (data) => {
|
|
39765
39794
|
return slots.default ? slots.default(data) : slots.default;
|
|
39766
39795
|
};
|
|
39767
39796
|
} else {
|
|
@@ -39778,7 +39807,7 @@ var Vc = (function (exports, vue) {
|
|
|
39778
39807
|
class: "vc-table__cell",
|
|
39779
39808
|
style: {}
|
|
39780
39809
|
};
|
|
39781
|
-
if (!isEmpty$1(table.
|
|
39810
|
+
if (!isEmpty$1(table.store.states.treeData) && !prefix2 && data.isExpandColumn) {
|
|
39782
39811
|
prefix2 = vue.createVNode("span", {
|
|
39783
39812
|
"class": "vc-table-un-expand__indent"
|
|
39784
39813
|
}, null);
|
|
@@ -39816,15 +39845,15 @@ var Vc = (function (exports, vue) {
|
|
|
39816
39845
|
const registerWatchers = () => {
|
|
39817
39846
|
Object.keys(props2).forEach((k) => vue.watch(() => props2[k], (v) => columnConfig[k] = v));
|
|
39818
39847
|
vue.watch(() => props2.fixed, () => {
|
|
39819
|
-
table.
|
|
39848
|
+
table.store.scheduleLayout(true);
|
|
39820
39849
|
});
|
|
39821
39850
|
vue.watch(() => realWidth.value, (v) => {
|
|
39822
39851
|
columnConfig["width"] = v;
|
|
39823
39852
|
columnConfig["realWidth"] = v;
|
|
39824
|
-
table.
|
|
39853
|
+
table.store.scheduleLayout(false);
|
|
39825
39854
|
});
|
|
39826
39855
|
vue.watch(() => realMinWidth.value, () => {
|
|
39827
|
-
table.
|
|
39856
|
+
table.store.scheduleLayout(false);
|
|
39828
39857
|
});
|
|
39829
39858
|
};
|
|
39830
39859
|
vue.onBeforeMount(() => {
|
|
@@ -39832,15 +39861,15 @@ var Vc = (function (exports, vue) {
|
|
|
39832
39861
|
registerWatchers();
|
|
39833
39862
|
});
|
|
39834
39863
|
vue.onMounted(() => {
|
|
39835
|
-
const children = isSubColumn ? parent.vnode.el.children : parent.
|
|
39864
|
+
const children = isSubColumn ? parent.vnode.el.children : parent.hiddenColumns.value.children;
|
|
39836
39865
|
const columnIndex = [...children].indexOf(instance.vnode.el);
|
|
39837
|
-
table.
|
|
39866
|
+
table.store.insertColumn(columnConfig, columnIndex, isSubColumn && parent.columnConfig);
|
|
39838
39867
|
});
|
|
39839
39868
|
vue.onUnmounted(() => {
|
|
39840
39869
|
if (!instance.parent) return;
|
|
39841
|
-
table.
|
|
39870
|
+
table.store.removeColumn(columnConfig, isSubColumn && parent.columnConfig);
|
|
39842
39871
|
});
|
|
39843
|
-
|
|
39872
|
+
vue.provide("vc-table-column", {
|
|
39844
39873
|
columnId,
|
|
39845
39874
|
columnConfig
|
|
39846
39875
|
});
|
|
@@ -40058,7 +40087,7 @@ var Vc = (function (exports, vue) {
|
|
|
40058
40087
|
if (!Array.from(items).length) return;
|
|
40059
40088
|
let offset = 0;
|
|
40060
40089
|
if (index > 0) {
|
|
40061
|
-
const gutter =
|
|
40090
|
+
const gutter = 12;
|
|
40062
40091
|
for (let i = 0; i < index; i++) {
|
|
40063
40092
|
offset += parseFloat(items[i].offsetWidth) + gutter;
|
|
40064
40093
|
}
|
|
@@ -40122,7 +40151,7 @@ var Vc = (function (exports, vue) {
|
|
|
40122
40151
|
}, [slots.extra?.()]), vue.createVNode("div", {
|
|
40123
40152
|
"ref": wrapper,
|
|
40124
40153
|
"style": {
|
|
40125
|
-
padding: tabs.scrollable.value
|
|
40154
|
+
padding: tabs.scrollable.value ? "0 24px" : 0
|
|
40126
40155
|
},
|
|
40127
40156
|
"class": "vc-tabs__bar"
|
|
40128
40157
|
}, [tabs.scrollable.value && vue.createVNode(Icon, {
|
package/dist/index.umd.cjs
CHANGED
|
@@ -24844,7 +24844,7 @@
|
|
|
24844
24844
|
});
|
|
24845
24845
|
const COMPONENT_NAME$1T = "vc-alert";
|
|
24846
24846
|
const THEME_MAP = {
|
|
24847
|
-
info: ["#
|
|
24847
|
+
info: ["#2B72FD", "#91d5ff", "#e6f7ff"],
|
|
24848
24848
|
success: ["#52c41a", "#b7eb8f", "#f6ffed"],
|
|
24849
24849
|
error: ["#ed4014", "#ffb08f", "#fbe9e9"],
|
|
24850
24850
|
warning: ["#ffbf00", "#ffe58f", "#fffbe6"]
|
|
@@ -33844,7 +33844,7 @@
|
|
|
33844
33844
|
validator: (v) => /(small|medium|large)/.test(v),
|
|
33845
33845
|
default: "small"
|
|
33846
33846
|
},
|
|
33847
|
-
|
|
33847
|
+
contentClass: [Object, String],
|
|
33848
33848
|
width: {
|
|
33849
33849
|
type: Number
|
|
33850
33850
|
},
|
|
@@ -33893,6 +33893,10 @@
|
|
|
33893
33893
|
type: Boolean,
|
|
33894
33894
|
default: true
|
|
33895
33895
|
},
|
|
33896
|
+
border: {
|
|
33897
|
+
type: Boolean,
|
|
33898
|
+
default: false
|
|
33899
|
+
},
|
|
33896
33900
|
/**
|
|
33897
33901
|
* 兼容portal设计, 实现Promise方式
|
|
33898
33902
|
*/
|
|
@@ -34145,7 +34149,8 @@
|
|
|
34145
34149
|
"class": [{
|
|
34146
34150
|
"is-drag": props2.draggable,
|
|
34147
34151
|
"is-large": props2.size === "large" || props2.size === "medium",
|
|
34148
|
-
"
|
|
34152
|
+
"has-footer": props2.footer && (props2.cancelText || props2.okText),
|
|
34153
|
+
"has-border": props2.border
|
|
34149
34154
|
}, "vc-modal__container"],
|
|
34150
34155
|
"style": [basicStyle.value, draggableStyle.value]
|
|
34151
34156
|
}, [vue.createVNode("div", {
|
|
@@ -34177,7 +34182,7 @@
|
|
|
34177
34182
|
"height": isTransitionEnd.value ? row.height : void 0,
|
|
34178
34183
|
"contentClass": [{
|
|
34179
34184
|
"is-confirm": props2.mode
|
|
34180
|
-
}, props2.
|
|
34185
|
+
}, props2.contentClass, "vc-modal__content"]
|
|
34181
34186
|
}, {
|
|
34182
34187
|
default: () => [typeof props2.content === "string" ? vue.createVNode("div", {
|
|
34183
34188
|
"innerHTML": props2.content
|
|
@@ -35561,7 +35566,7 @@
|
|
|
35561
35566
|
color: {
|
|
35562
35567
|
type: [Object, String],
|
|
35563
35568
|
default: () => ({
|
|
35564
|
-
normal: "#
|
|
35569
|
+
normal: "#2B72FD",
|
|
35565
35570
|
success: "#52c41a",
|
|
35566
35571
|
error: "#f5222d"
|
|
35567
35572
|
})
|
|
@@ -36708,6 +36713,8 @@
|
|
|
36708
36713
|
});
|
|
36709
36714
|
if (!originalData.length) {
|
|
36710
36715
|
rebuildData.value = [];
|
|
36716
|
+
} else {
|
|
36717
|
+
rebuildData.value = originalData.slice();
|
|
36711
36718
|
}
|
|
36712
36719
|
offsetPageSize.value = 0;
|
|
36713
36720
|
await refreshLayout(0, originalData.length);
|
|
@@ -37814,17 +37821,24 @@
|
|
|
37814
37821
|
const dataInstanceChanged = this.states._data !== data;
|
|
37815
37822
|
this.states._data = data;
|
|
37816
37823
|
this.states.data = data;
|
|
37824
|
+
const caches = /* @__PURE__ */ new Map();
|
|
37825
|
+
this.states.list.forEach((item) => {
|
|
37826
|
+
item.rows.forEach((row) => {
|
|
37827
|
+
caches.set(row.data, row);
|
|
37828
|
+
});
|
|
37829
|
+
});
|
|
37817
37830
|
this.states.list = data.reduce((pre, row, index) => {
|
|
37831
|
+
const cache = caches.get(row) || { heightMap: {} };
|
|
37818
37832
|
pre.push({
|
|
37819
37833
|
rows: [
|
|
37820
37834
|
{
|
|
37821
37835
|
index,
|
|
37822
37836
|
data: row,
|
|
37823
|
-
height: "",
|
|
37837
|
+
height: cache.height || "",
|
|
37824
37838
|
heightMap: {
|
|
37825
|
-
left: "",
|
|
37826
|
-
main: "",
|
|
37827
|
-
right: ""
|
|
37839
|
+
left: cache.heightMap.left || "",
|
|
37840
|
+
main: cache.heightMap.main || "",
|
|
37841
|
+
right: cache.heightMap.right || ""
|
|
37828
37842
|
}
|
|
37829
37843
|
}
|
|
37830
37844
|
],
|
|
@@ -37832,6 +37846,7 @@
|
|
|
37832
37846
|
});
|
|
37833
37847
|
return pre;
|
|
37834
37848
|
}, []);
|
|
37849
|
+
caches.clear();
|
|
37835
37850
|
this.current.update();
|
|
37836
37851
|
this.expand.update();
|
|
37837
37852
|
if (!this.states.reserveSelection) {
|
|
@@ -37965,12 +37980,12 @@
|
|
|
37965
37980
|
*/
|
|
37966
37981
|
cleanSelection() {
|
|
37967
37982
|
const { primaryKey } = this.table.props;
|
|
37968
|
-
const { selection = [] } = this.states;
|
|
37983
|
+
const { selection = [], data } = this.states;
|
|
37969
37984
|
let deleted;
|
|
37970
37985
|
if (primaryKey) {
|
|
37971
37986
|
deleted = [];
|
|
37972
37987
|
const selectedMap = getValuesMap(selection, primaryKey);
|
|
37973
|
-
const dataMap = getValuesMap(
|
|
37988
|
+
const dataMap = getValuesMap(data, primaryKey);
|
|
37974
37989
|
for (const key in selectedMap) {
|
|
37975
37990
|
if (hasOwn$1(selectedMap, key) && !dataMap[key]) {
|
|
37976
37991
|
deleted.push(selectedMap[key].row);
|
|
@@ -38141,8 +38156,10 @@
|
|
|
38141
38156
|
const NormalList = /* @__PURE__ */ vue.defineComponent({
|
|
38142
38157
|
name: COMPONENT_NAME$h,
|
|
38143
38158
|
props: {
|
|
38144
|
-
data:
|
|
38145
|
-
|
|
38159
|
+
data: {
|
|
38160
|
+
type: Array,
|
|
38161
|
+
default: () => []
|
|
38162
|
+
}
|
|
38146
38163
|
},
|
|
38147
38164
|
emits: ["row-resize"],
|
|
38148
38165
|
setup(props2, {
|
|
@@ -38183,7 +38200,7 @@
|
|
|
38183
38200
|
expose
|
|
38184
38201
|
}) {
|
|
38185
38202
|
const instance = vue.getCurrentInstance();
|
|
38186
|
-
const table =
|
|
38203
|
+
const table = vue.inject("vc-table");
|
|
38187
38204
|
const states = useStates({
|
|
38188
38205
|
data: "data",
|
|
38189
38206
|
list: "list",
|
|
@@ -38307,7 +38324,7 @@
|
|
|
38307
38324
|
column,
|
|
38308
38325
|
row
|
|
38309
38326
|
};
|
|
38310
|
-
table.
|
|
38327
|
+
table.hoverState.value = hoverState;
|
|
38311
38328
|
table.emit("cell-mouse-enter", hoverState.row, hoverState.column, hoverState.cell, e);
|
|
38312
38329
|
}
|
|
38313
38330
|
const cellChild = e.target.querySelector(".vc-table__cell");
|
|
@@ -38336,7 +38353,7 @@
|
|
|
38336
38353
|
const handleCellMouseLeave = (e) => {
|
|
38337
38354
|
const cell = getCell(e);
|
|
38338
38355
|
if (!cell) return;
|
|
38339
|
-
const oldHoverState = table.
|
|
38356
|
+
const oldHoverState = table.hoverState.value || {};
|
|
38340
38357
|
table.emit("cell-mouse-leave", oldHoverState.row, oldHoverState.column, oldHoverState.cell, e);
|
|
38341
38358
|
};
|
|
38342
38359
|
const handleMouseEnter = debounce$1((index) => {
|
|
@@ -38374,6 +38391,7 @@
|
|
|
38374
38391
|
columns
|
|
38375
38392
|
} = states;
|
|
38376
38393
|
const key = getValueOfRow(row, rowIndex);
|
|
38394
|
+
const selected = props2.store.isSelected(row);
|
|
38377
38395
|
return vue.createVNode("div", {
|
|
38378
38396
|
"key": key,
|
|
38379
38397
|
"class": [getRowClass(row, rowIndex), "vc-table__tr"],
|
|
@@ -38394,10 +38412,12 @@
|
|
|
38394
38412
|
};
|
|
38395
38413
|
if (columnsHidden.value[columnIndex]) {
|
|
38396
38414
|
return vue.createVNode("div", {
|
|
38415
|
+
"key": column.id,
|
|
38397
38416
|
"style": [sizeStyle]
|
|
38398
38417
|
}, null);
|
|
38399
38418
|
}
|
|
38400
38419
|
return vue.createVNode("div", {
|
|
38420
|
+
"key": column.id,
|
|
38401
38421
|
"style": [getCellStyle(rowIndex, columnIndex, row, column), sizeStyle],
|
|
38402
38422
|
"class": [getCellClass(rowIndex, columnIndex, row, column), "vc-table__td"],
|
|
38403
38423
|
"onMouseenter": (e) => handleCellMouseEnter(e, row),
|
|
@@ -38407,7 +38427,8 @@
|
|
|
38407
38427
|
column,
|
|
38408
38428
|
rowIndex,
|
|
38409
38429
|
columnIndex,
|
|
38410
|
-
store: props2.store
|
|
38430
|
+
store: props2.store,
|
|
38431
|
+
selected
|
|
38411
38432
|
})]);
|
|
38412
38433
|
})]);
|
|
38413
38434
|
};
|
|
@@ -38441,7 +38462,7 @@
|
|
|
38441
38462
|
wrapper,
|
|
38442
38463
|
getRootElement: () => instance.vnode.el
|
|
38443
38464
|
});
|
|
38444
|
-
const layout = table.
|
|
38465
|
+
const layout = table.layout;
|
|
38445
38466
|
return () => {
|
|
38446
38467
|
return vue.createVNode("div", {
|
|
38447
38468
|
"class": "vc-table__body"
|
|
@@ -38451,7 +38472,7 @@
|
|
|
38451
38472
|
"disabled": true,
|
|
38452
38473
|
"class": "vc-table__tbody",
|
|
38453
38474
|
"scrollerOptions": {
|
|
38454
|
-
barTo: `.${table.
|
|
38475
|
+
barTo: `.${table.tableId}`,
|
|
38455
38476
|
native: false,
|
|
38456
38477
|
always: false,
|
|
38457
38478
|
showBar: !props2.fixed,
|
|
@@ -38503,7 +38524,7 @@
|
|
|
38503
38524
|
}
|
|
38504
38525
|
},
|
|
38505
38526
|
setup(props2) {
|
|
38506
|
-
const table =
|
|
38527
|
+
const table = vue.inject("vc-table");
|
|
38507
38528
|
const instance = vue.getCurrentInstance();
|
|
38508
38529
|
const draggingColumn = vue.ref(null);
|
|
38509
38530
|
const dragging = vue.ref(false);
|
|
@@ -38609,7 +38630,7 @@
|
|
|
38609
38630
|
if (column.children && column.children.length > 0) return;
|
|
38610
38631
|
if (draggingColumn.value && props2.border) {
|
|
38611
38632
|
dragging.value = true;
|
|
38612
|
-
table.
|
|
38633
|
+
table.resizeProxyVisible.value = true;
|
|
38613
38634
|
const tableEl = table.vnode.el;
|
|
38614
38635
|
const tableLeft = tableEl.getBoundingClientRect().left;
|
|
38615
38636
|
const columnEl = instance.vnode.el.querySelector(`.vc-table__th.${column.id}`);
|
|
@@ -38622,7 +38643,7 @@
|
|
|
38622
38643
|
startColumnLeft: columnRect.left - tableLeft,
|
|
38623
38644
|
tableLeft
|
|
38624
38645
|
};
|
|
38625
|
-
const resizeProxy = table.
|
|
38646
|
+
const resizeProxy = table.resizeProxy.value;
|
|
38626
38647
|
resizeProxy.style.left = dragState.value.startLeft + "px";
|
|
38627
38648
|
document.onselectstart = () => false;
|
|
38628
38649
|
document.ondragstart = () => false;
|
|
@@ -38979,7 +39000,8 @@
|
|
|
38979
39000
|
emits: ["select", "select-all", "selection-change", "cell-mouse-enter", "cell-mouse-leave", "cell-click", "cell-dblclick", "row-click", "row-contextmenu", "row-dblclick", "header-click", "header-contextmenu", "current-change", "header-dragend ", "expand-change", "sort-change"],
|
|
38980
39001
|
setup(props2, {
|
|
38981
39002
|
slots,
|
|
38982
|
-
expose
|
|
39003
|
+
expose,
|
|
39004
|
+
emit
|
|
38983
39005
|
}) {
|
|
38984
39006
|
const instance = vue.getCurrentInstance();
|
|
38985
39007
|
const store = new Store({
|
|
@@ -39091,7 +39113,8 @@
|
|
|
39091
39113
|
};
|
|
39092
39114
|
}
|
|
39093
39115
|
return {
|
|
39094
|
-
height: layout.states.viewportHeight ? layout.states.viewportHeight + "px" : ""
|
|
39116
|
+
height: layout.states.viewportHeight ? layout.states.viewportHeight + "px" : "",
|
|
39117
|
+
bottom: 0
|
|
39095
39118
|
};
|
|
39096
39119
|
}
|
|
39097
39120
|
});
|
|
@@ -39278,8 +39301,8 @@
|
|
|
39278
39301
|
}, {
|
|
39279
39302
|
immediate: true
|
|
39280
39303
|
});
|
|
39281
|
-
vue.watch(() => props2.data, (
|
|
39282
|
-
store.setData(
|
|
39304
|
+
vue.watch(() => [props2.data, props2.data.length], () => {
|
|
39305
|
+
store.setData(props2.data);
|
|
39283
39306
|
isReady.value && vue.nextTick(refreshLayout);
|
|
39284
39307
|
}, {
|
|
39285
39308
|
immediate: true
|
|
@@ -39315,7 +39338,7 @@
|
|
|
39315
39338
|
isUnMount = true;
|
|
39316
39339
|
unbindEvents();
|
|
39317
39340
|
});
|
|
39318
|
-
|
|
39341
|
+
const exposed = {
|
|
39319
39342
|
bodyXWrapper,
|
|
39320
39343
|
bodyYWrapper,
|
|
39321
39344
|
tableId,
|
|
@@ -39337,8 +39360,12 @@
|
|
|
39337
39360
|
isReady,
|
|
39338
39361
|
hoverState,
|
|
39339
39362
|
renderExpanded,
|
|
39340
|
-
hiddenColumns
|
|
39341
|
-
|
|
39363
|
+
hiddenColumns,
|
|
39364
|
+
props: props2,
|
|
39365
|
+
emit
|
|
39366
|
+
};
|
|
39367
|
+
expose(exposed);
|
|
39368
|
+
vue.provide("vc-table", exposed);
|
|
39342
39369
|
return () => {
|
|
39343
39370
|
return vue.createVNode("div", {
|
|
39344
39371
|
"class": [classes.value, tableId, "vc-table"],
|
|
@@ -39374,7 +39401,9 @@
|
|
|
39374
39401
|
}, null), props2.data.length === 0 && vue.createVNode("div", {
|
|
39375
39402
|
"ref": emptyBlock,
|
|
39376
39403
|
"style": bodyWidthStyle.value,
|
|
39377
|
-
"class":
|
|
39404
|
+
"class": [{
|
|
39405
|
+
"is-absolute": !!props2.height
|
|
39406
|
+
}, "vc-table__empty-wrapper"]
|
|
39378
39407
|
}, [vue.createVNode("span", {
|
|
39379
39408
|
"class": "vc-table__empty-text"
|
|
39380
39409
|
}, [slots.empty ? slots.empty() : props2.emptyText || "暂无数据"])]), slots.append && vue.createVNode("div", {
|
|
@@ -39522,10 +39551,11 @@
|
|
|
39522
39551
|
column,
|
|
39523
39552
|
store,
|
|
39524
39553
|
rowIndex,
|
|
39525
|
-
level
|
|
39554
|
+
level,
|
|
39555
|
+
selected
|
|
39526
39556
|
}) {
|
|
39527
39557
|
return vue.withDirectives(vue.createVNode(Checkbox, {
|
|
39528
|
-
"modelValue":
|
|
39558
|
+
"modelValue": selected,
|
|
39529
39559
|
"disabled": column.selectable ? !column.selectable.call(null, row, rowIndex) : false,
|
|
39530
39560
|
"onChange": () => store.rowSelectedChanged(row),
|
|
39531
39561
|
"onClick": (e) => e.stopPropagation()
|
|
@@ -39693,14 +39723,13 @@
|
|
|
39693
39723
|
tooltip: [String, Function]
|
|
39694
39724
|
},
|
|
39695
39725
|
setup(props2, {
|
|
39696
|
-
slots
|
|
39697
|
-
expose
|
|
39726
|
+
slots
|
|
39698
39727
|
}) {
|
|
39699
39728
|
const instance = vue.getCurrentInstance();
|
|
39700
|
-
const table =
|
|
39701
|
-
const parent =
|
|
39729
|
+
const table = vue.inject("vc-table");
|
|
39730
|
+
const parent = vue.inject("vc-table-column", table);
|
|
39702
39731
|
const isSubColumn = table !== parent;
|
|
39703
|
-
const columnId = vue.ref((parent.
|
|
39732
|
+
const columnId = vue.ref((parent.tableId || parent.columnId) + getUid("column"));
|
|
39704
39733
|
const realWidth = vue.computed(() => {
|
|
39705
39734
|
return parseWidth(props2.width);
|
|
39706
39735
|
});
|
|
@@ -39764,7 +39793,7 @@
|
|
|
39764
39793
|
column.renderCell = (data) => vue.createVNode("div", {
|
|
39765
39794
|
"class": "vc-table__cell"
|
|
39766
39795
|
}, [originRenderCell(data)]);
|
|
39767
|
-
table.
|
|
39796
|
+
table.renderExpanded.value = (data) => {
|
|
39768
39797
|
return slots.default ? slots.default(data) : slots.default;
|
|
39769
39798
|
};
|
|
39770
39799
|
} else {
|
|
@@ -39781,7 +39810,7 @@
|
|
|
39781
39810
|
class: "vc-table__cell",
|
|
39782
39811
|
style: {}
|
|
39783
39812
|
};
|
|
39784
|
-
if (!isEmpty$1(table.
|
|
39813
|
+
if (!isEmpty$1(table.store.states.treeData) && !prefix2 && data.isExpandColumn) {
|
|
39785
39814
|
prefix2 = vue.createVNode("span", {
|
|
39786
39815
|
"class": "vc-table-un-expand__indent"
|
|
39787
39816
|
}, null);
|
|
@@ -39819,15 +39848,15 @@
|
|
|
39819
39848
|
const registerWatchers = () => {
|
|
39820
39849
|
Object.keys(props2).forEach((k) => vue.watch(() => props2[k], (v) => columnConfig[k] = v));
|
|
39821
39850
|
vue.watch(() => props2.fixed, () => {
|
|
39822
|
-
table.
|
|
39851
|
+
table.store.scheduleLayout(true);
|
|
39823
39852
|
});
|
|
39824
39853
|
vue.watch(() => realWidth.value, (v) => {
|
|
39825
39854
|
columnConfig["width"] = v;
|
|
39826
39855
|
columnConfig["realWidth"] = v;
|
|
39827
|
-
table.
|
|
39856
|
+
table.store.scheduleLayout(false);
|
|
39828
39857
|
});
|
|
39829
39858
|
vue.watch(() => realMinWidth.value, () => {
|
|
39830
|
-
table.
|
|
39859
|
+
table.store.scheduleLayout(false);
|
|
39831
39860
|
});
|
|
39832
39861
|
};
|
|
39833
39862
|
vue.onBeforeMount(() => {
|
|
@@ -39835,15 +39864,15 @@
|
|
|
39835
39864
|
registerWatchers();
|
|
39836
39865
|
});
|
|
39837
39866
|
vue.onMounted(() => {
|
|
39838
|
-
const children = isSubColumn ? parent.vnode.el.children : parent.
|
|
39867
|
+
const children = isSubColumn ? parent.vnode.el.children : parent.hiddenColumns.value.children;
|
|
39839
39868
|
const columnIndex = [...children].indexOf(instance.vnode.el);
|
|
39840
|
-
table.
|
|
39869
|
+
table.store.insertColumn(columnConfig, columnIndex, isSubColumn && parent.columnConfig);
|
|
39841
39870
|
});
|
|
39842
39871
|
vue.onUnmounted(() => {
|
|
39843
39872
|
if (!instance.parent) return;
|
|
39844
|
-
table.
|
|
39873
|
+
table.store.removeColumn(columnConfig, isSubColumn && parent.columnConfig);
|
|
39845
39874
|
});
|
|
39846
|
-
|
|
39875
|
+
vue.provide("vc-table-column", {
|
|
39847
39876
|
columnId,
|
|
39848
39877
|
columnConfig
|
|
39849
39878
|
});
|
|
@@ -40061,7 +40090,7 @@
|
|
|
40061
40090
|
if (!Array.from(items).length) return;
|
|
40062
40091
|
let offset = 0;
|
|
40063
40092
|
if (index > 0) {
|
|
40064
|
-
const gutter =
|
|
40093
|
+
const gutter = 12;
|
|
40065
40094
|
for (let i = 0; i < index; i++) {
|
|
40066
40095
|
offset += parseFloat(items[i].offsetWidth) + gutter;
|
|
40067
40096
|
}
|
|
@@ -40125,7 +40154,7 @@
|
|
|
40125
40154
|
}, [slots.extra?.()]), vue.createVNode("div", {
|
|
40126
40155
|
"ref": wrapper,
|
|
40127
40156
|
"style": {
|
|
40128
|
-
padding: tabs.scrollable.value
|
|
40157
|
+
padding: tabs.scrollable.value ? "0 24px" : 0
|
|
40129
40158
|
},
|
|
40130
40159
|
"class": "vc-tabs__bar"
|
|
40131
40160
|
}, [tabs.scrollable.value && vue.createVNode(Icon, {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deot/vc",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.14",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
"access": "public"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@deot/vc-components": "^1.0.
|
|
23
|
-
"@deot/vc-hooks": "^1.0.
|
|
24
|
-
"@deot/vc-shared": "^1.0.
|
|
22
|
+
"@deot/vc-components": "^1.0.14",
|
|
23
|
+
"@deot/vc-hooks": "^1.0.14",
|
|
24
|
+
"@deot/vc-shared": "^1.0.14"
|
|
25
25
|
},
|
|
26
26
|
"peerDependencies": {
|
|
27
27
|
"vue": "*"
|