@progress/kendo-vue-grid 8.1.0-develop.1 → 8.1.0-develop.3
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/Grid.d.ts +56 -5
- package/Grid.js +1 -1
- package/Grid.mjs +667 -649
- package/GridNav.d.ts +24 -4
- package/GridNav.js +1 -1
- package/GridNav.mjs +62 -22
- package/GridState.d.ts +4 -0
- package/RootGrid.d.ts +32 -11
- package/RootGrid.js +1 -1
- package/RootGrid.mjs +96 -57
- package/cells/GridCell.js +1 -1
- package/cells/GridCell.mjs +35 -26
- package/cells/GridGroupCell.d.ts +10 -0
- package/cells/GridGroupCell.js +1 -1
- package/cells/GridGroupCell.mjs +95 -53
- package/columnMenu/GridColumnMenuCheckboxFilter.d.ts +1 -1
- package/columnMenu/GridColumnMenuCheckboxFilter.js +1 -1
- package/columnMenu/GridColumnMenuCheckboxFilter.mjs +11 -11
- package/common.d.ts +2 -0
- package/common.js +1 -1
- package/common.mjs +2 -0
- package/components/StickyGroupTable.d.ts +85 -0
- package/components/StickyGroupTable.js +8 -0
- package/components/StickyGroupTable.mjs +113 -0
- package/dist/cdn/js/kendo-vue-grid.js +1 -1
- package/drag/ColumnResize.d.ts +10 -1
- package/drag/ColumnResize.js +1 -1
- package/drag/ColumnResize.mjs +129 -104
- package/drag/GroupingIndicator.d.ts +1 -0
- package/drag/GroupingIndicator.js +1 -1
- package/drag/GroupingIndicator.mjs +28 -18
- package/footer/FooterCell.d.ts +43 -0
- package/footer/FooterCell.js +8 -0
- package/footer/FooterCell.mjs +68 -0
- package/footer/FooterRow.d.ts +5 -6
- package/footer/FooterRow.js +1 -1
- package/footer/FooterRow.mjs +16 -39
- package/getRowContents.d.ts +85 -0
- package/getRowContents.js +8 -0
- package/getRowContents.mjs +172 -0
- package/header/GridHeaderGroupSpacerCell.d.ts +11 -0
- package/hooks/useStickyGroups.d.ts +72 -0
- package/hooks/useStickyGroups.js +8 -0
- package/hooks/useStickyGroups.mjs +350 -0
- package/index.d.mts +1 -0
- package/index.d.ts +1 -0
- package/index.js +1 -1
- package/index.mjs +74 -73
- package/interfaces/GridCellProps.d.ts +4 -0
- package/interfaces/GridCellsSettings.d.ts +320 -0
- package/interfaces/GridColumnProps.d.ts +11 -1
- package/interfaces/GridGroupableSettings.d.ts +23 -0
- package/interfaces/GridProps.d.ts +33 -0
- package/messages/main.d.ts +5 -0
- package/messages/main.js +2 -2
- package/messages/main.mjs +15 -13
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +12 -12
- package/utils/main.js +1 -1
- package/utils/main.mjs +80 -76
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import { PropType } from 'vue';
|
|
9
|
+
import { DataRowContext } from '../getRowContents';
|
|
10
|
+
import { StickyGroupItem } from '../hooks/useStickyGroups';
|
|
11
|
+
/**
|
|
12
|
+
* Represents the StickyGroupTable handle.
|
|
13
|
+
*
|
|
14
|
+
* @hidden
|
|
15
|
+
*/
|
|
16
|
+
export interface StickyTableHandle {
|
|
17
|
+
/**
|
|
18
|
+
* Sets the width of the sticky table element.
|
|
19
|
+
*/
|
|
20
|
+
setWidth: (width: number) => void;
|
|
21
|
+
/**
|
|
22
|
+
* Sets the horizontal scroll position of the sticky container.
|
|
23
|
+
*/
|
|
24
|
+
setScrollLeft: (scrollLeft: number) => void;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* @hidden
|
|
28
|
+
*/
|
|
29
|
+
export interface StickyGroupTableProps {
|
|
30
|
+
size?: string;
|
|
31
|
+
items?: any[];
|
|
32
|
+
cols: any[];
|
|
33
|
+
colGroups?: any;
|
|
34
|
+
dataRowContext: DataRowContext;
|
|
35
|
+
position: 'top' | 'bottom';
|
|
36
|
+
isStackedMode?: boolean;
|
|
37
|
+
groupLevelCount?: number;
|
|
38
|
+
rowHeight?: number;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @hidden
|
|
42
|
+
*/
|
|
43
|
+
export declare const StickyGroupTable: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
44
|
+
size: StringConstructor;
|
|
45
|
+
items: ArrayConstructor;
|
|
46
|
+
cols: ArrayConstructor;
|
|
47
|
+
dataRowContext: {
|
|
48
|
+
type: PropType<DataRowContext>;
|
|
49
|
+
required: true;
|
|
50
|
+
};
|
|
51
|
+
position: {
|
|
52
|
+
type: PropType<"bottom" | "top">;
|
|
53
|
+
required: true;
|
|
54
|
+
};
|
|
55
|
+
isStackedMode: BooleanConstructor;
|
|
56
|
+
groupLevelCount: NumberConstructor;
|
|
57
|
+
rowHeight: NumberConstructor;
|
|
58
|
+
}>, {}, {}, {
|
|
59
|
+
isTop(): boolean;
|
|
60
|
+
stickyItems(): StickyGroupItem[];
|
|
61
|
+
hasContent(): boolean;
|
|
62
|
+
containerClassName(): string;
|
|
63
|
+
tableClassName(): string;
|
|
64
|
+
}, {
|
|
65
|
+
setWidth(width: number): void;
|
|
66
|
+
setScrollLeft(scrollLeft: number): void;
|
|
67
|
+
renderRows(): any;
|
|
68
|
+
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
69
|
+
size: StringConstructor;
|
|
70
|
+
items: ArrayConstructor;
|
|
71
|
+
cols: ArrayConstructor;
|
|
72
|
+
dataRowContext: {
|
|
73
|
+
type: PropType<DataRowContext>;
|
|
74
|
+
required: true;
|
|
75
|
+
};
|
|
76
|
+
position: {
|
|
77
|
+
type: PropType<"bottom" | "top">;
|
|
78
|
+
required: true;
|
|
79
|
+
};
|
|
80
|
+
isStackedMode: BooleanConstructor;
|
|
81
|
+
groupLevelCount: NumberConstructor;
|
|
82
|
+
rowHeight: NumberConstructor;
|
|
83
|
+
}>> & Readonly<{}>, {
|
|
84
|
+
isStackedMode: boolean;
|
|
85
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),e=require("@progress/kendo-vue-common"),d=require("../rows/GridRow.js"),c=require("../getRowContents.js"),u=o.defineComponent({name:"StickyGroupTable",props:{size:String,items:Array,cols:Array,dataRowContext:{type:Object,required:!0},position:{type:String,required:!0},isStackedMode:Boolean,groupLevelCount:Number,rowHeight:Number},inject:{sticky:{default:null}},mounted(){this.tableRef=e.getRef(this,"table"),this.colGroupRef=e.getRef(this,"colGroup")},updated(){this.tableRef=e.getRef(this,"table"),this.colGroupRef=e.getRef(this,"colGroup")},computed:{isTop(){return this.position==="top"},stickyItems(){return this.isTop?this.sticky.headerItems||[]:this.sticky.footerItems||[]},hasContent(){return this.stickyItems.length>0},containerClassName(){return e.classNames(e.uGrid.stickyContainer({bottom:!this.isTop}))},tableClassName(){return e.classNames(e.uGrid.table({size:this.size}))}},methods:{setWidth(s){const t=e.getRef(this,"tableRef");t&&(t.style.width=s?s+"px":"")},setScrollLeft(s){const t=this.$el;t&&t.scrollLeft!==s&&(t.scrollLeft=s)},renderRows(){return this.stickyItems.map((s,t)=>{const{item:r,flatIndex:i}=s,a=this.dataRowContext.dataItemKey&&e.getter(this.dataRowContext.dataItemKey)(r.dataItem)||"ai"+i,n=c.getRowContents(this.dataRowContext,r,a,t),l=this.isTop?"groupHeader":"groupFooter";return o.createVNode(d.GridRow,{key:a,rowType:l,item:r,dataIndex:-1,ariaRowIndex:t,absoluteRowIndex:i,isAltRow:!1,isHidden:!1,rowHeight:this.$props.rowHeight,isSelected:!1,isInEdit:!1},{default:()=>[n.row]})})}},render(){return o.createVNode("div",{class:this.containerClassName,style:{display:this.hasContent?"":"none"}},[o.createVNode("table",{ref:e.setRef(this,"table"),class:this.tableClassName},[o.createVNode("colgroup",{ref:e.setRef(this,"colGroup")},[this.$props.cols]),o.createVNode("tbody",{class:e.classNames(e.uGrid.tbody({}))},[this.renderRows()])])])}});exports.StickyGroupTable=u;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import { defineComponent as p, createVNode as s } from "vue";
|
|
9
|
+
import { setRef as d, classNames as r, uGrid as a, getter as m, getRef as o } from "@progress/kendo-vue-common";
|
|
10
|
+
import { GridRow as u } from "../rows/GridRow.mjs";
|
|
11
|
+
import { getRowContents as f } from "../getRowContents.mjs";
|
|
12
|
+
const g = /* @__PURE__ */ p({
|
|
13
|
+
name: "StickyGroupTable",
|
|
14
|
+
props: {
|
|
15
|
+
size: String,
|
|
16
|
+
items: Array,
|
|
17
|
+
cols: Array,
|
|
18
|
+
dataRowContext: {
|
|
19
|
+
type: Object,
|
|
20
|
+
required: !0
|
|
21
|
+
},
|
|
22
|
+
position: {
|
|
23
|
+
type: String,
|
|
24
|
+
required: !0
|
|
25
|
+
},
|
|
26
|
+
isStackedMode: Boolean,
|
|
27
|
+
groupLevelCount: Number,
|
|
28
|
+
rowHeight: Number
|
|
29
|
+
},
|
|
30
|
+
inject: {
|
|
31
|
+
sticky: {
|
|
32
|
+
default: null
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
mounted() {
|
|
36
|
+
this.tableRef = o(this, "table"), this.colGroupRef = o(this, "colGroup");
|
|
37
|
+
},
|
|
38
|
+
updated() {
|
|
39
|
+
this.tableRef = o(this, "table"), this.colGroupRef = o(this, "colGroup");
|
|
40
|
+
},
|
|
41
|
+
computed: {
|
|
42
|
+
isTop() {
|
|
43
|
+
return this.position === "top";
|
|
44
|
+
},
|
|
45
|
+
stickyItems() {
|
|
46
|
+
return this.isTop ? this.sticky.headerItems || [] : this.sticky.footerItems || [];
|
|
47
|
+
},
|
|
48
|
+
hasContent() {
|
|
49
|
+
return this.stickyItems.length > 0;
|
|
50
|
+
},
|
|
51
|
+
containerClassName() {
|
|
52
|
+
return r(a.stickyContainer({
|
|
53
|
+
bottom: !this.isTop
|
|
54
|
+
}));
|
|
55
|
+
},
|
|
56
|
+
tableClassName() {
|
|
57
|
+
return r(a.table({
|
|
58
|
+
size: this.size
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
methods: {
|
|
63
|
+
setWidth(e) {
|
|
64
|
+
const t = o(this, "tableRef");
|
|
65
|
+
t && (t.style.width = e ? e + "px" : "");
|
|
66
|
+
},
|
|
67
|
+
setScrollLeft(e) {
|
|
68
|
+
const t = this.$el;
|
|
69
|
+
t && t.scrollLeft !== e && (t.scrollLeft = e);
|
|
70
|
+
},
|
|
71
|
+
renderRows() {
|
|
72
|
+
return this.stickyItems.map((e, t) => {
|
|
73
|
+
const {
|
|
74
|
+
item: i,
|
|
75
|
+
flatIndex: n
|
|
76
|
+
} = e, l = this.dataRowContext.dataItemKey && m(this.dataRowContext.dataItemKey)(i.dataItem) || "ai" + n, c = f(this.dataRowContext, i, l, t), h = this.isTop ? "groupHeader" : "groupFooter";
|
|
77
|
+
return s(u, {
|
|
78
|
+
key: l,
|
|
79
|
+
rowType: h,
|
|
80
|
+
item: i,
|
|
81
|
+
dataIndex: -1,
|
|
82
|
+
ariaRowIndex: t,
|
|
83
|
+
absoluteRowIndex: n,
|
|
84
|
+
isAltRow: !1,
|
|
85
|
+
isHidden: !1,
|
|
86
|
+
rowHeight: this.$props.rowHeight,
|
|
87
|
+
isSelected: !1,
|
|
88
|
+
isInEdit: !1
|
|
89
|
+
}, {
|
|
90
|
+
default: () => [c.row]
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
render() {
|
|
96
|
+
return s("div", {
|
|
97
|
+
class: this.containerClassName,
|
|
98
|
+
style: {
|
|
99
|
+
display: this.hasContent ? "" : "none"
|
|
100
|
+
}
|
|
101
|
+
}, [s("table", {
|
|
102
|
+
ref: d(this, "table"),
|
|
103
|
+
class: this.tableClassName
|
|
104
|
+
}, [s("colgroup", {
|
|
105
|
+
ref: d(this, "colGroup")
|
|
106
|
+
}, [this.$props.cols]), s("tbody", {
|
|
107
|
+
class: r(a.tbody({}))
|
|
108
|
+
}, [this.renderRows()])])]);
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
export {
|
|
112
|
+
g as StickyGroupTable
|
|
113
|
+
};
|