@progress/kendo-vue-grid 8.0.3-develop.4 → 8.1.0-develop.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.
- package/Grid.d.ts +18 -2
- package/Grid.js +1 -1
- package/Grid.mjs +655 -511
- package/GridNav.d.ts +12 -2
- package/GridNav.js +1 -1
- package/GridNav.mjs +52 -24
- package/GridState.d.ts +12 -5
- package/GridState.js +1 -1
- package/GridState.mjs +84 -77
- package/RootGrid.d.ts +6 -0
- package/RootGrid.js +1 -1
- package/RootGrid.mjs +25 -25
- package/StatusBar.d.ts +55 -5
- package/StatusBar.js +8 -0
- package/StatusBar.mjs +81 -0
- package/cells/GridCell.d.ts +3 -0
- package/cells/GridCell.js +1 -1
- package/cells/GridCell.mjs +32 -29
- package/cells/GridEditCell.d.ts +2 -0
- package/cells/GridEditCell.js +1 -1
- package/cells/GridEditCell.mjs +1 -0
- package/cells/GridSelectionCell.js +1 -1
- package/cells/GridSelectionCell.mjs +16 -16
- package/common.d.ts +3 -0
- package/common.js +1 -1
- package/common.mjs +3 -0
- package/components/table/GridTable.d.ts +18 -0
- package/components/table/GridTable.js +8 -0
- package/components/table/GridTable.mjs +41 -0
- package/components/table/GridTableScrollable.d.ts +20 -0
- package/components/table/GridTableScrollable.js +8 -0
- package/components/table/GridTableScrollable.mjs +45 -0
- package/dist/cdn/js/kendo-vue-grid.js +1 -1
- package/drag/ColumnDraggable.js +1 -1
- package/drag/ColumnDraggable.mjs +5 -4
- package/header/FilterRow.d.ts +3 -0
- package/header/FilterRow.js +1 -1
- package/header/FilterRow.mjs +46 -44
- package/header/Header.d.ts +5 -2
- package/header/Header.js +1 -1
- package/header/Header.mjs +10 -5
- package/header/HeaderRow.d.ts +3 -0
- package/header/HeaderRow.js +1 -1
- package/header/HeaderRow.mjs +148 -139
- package/index.d.mts +1 -0
- package/index.d.ts +1 -0
- package/index.js +1 -1
- package/index.mjs +20 -16
- package/interfaces/GridCellProps.d.ts +11 -0
- package/interfaces/GridColumnProps.d.ts +10 -6
- package/interfaces/GridProps.d.ts +31 -3
- package/interfaces/events.d.ts +26 -3
- 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 +68 -67
- package/utils/virtualColumns.d.ts +17 -0
- package/utils/virtualColumns.js +1 -1
- package/utils/virtualColumns.mjs +132 -39
package/drag/ColumnDraggable.js
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),a=require("@progress/kendo-vue-common"),n=r.defineComponent({props:{onPressHandler:Function,onDragHandler:Function,onReleaseHandler:Function},mounted(){this.$el&&(this.draggable=this.$refs.draggable)},methods:{onPress(t){const e=this.draggable&&this.draggable.element;e&&this.$emit("pressHandler",t,e)},onDrag(t){const e=this.draggable&&this.draggable.element;e&&this.$emit("dragHandler",t,e)},onRelease(t){const e=this.draggable&&this.draggable.element;e&&this.$emit("releaseHandler",t,e)}},render(){const t=a.getDefaultSlots(this);return r.createVNode(a.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:"draggable"},{default:()=>[r.createVNode("tr",{class:"k-table-row",role:"row"},[t])]})}});exports.ColumnDraggable=n;
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),a=require("@progress/kendo-vue-common"),n=r.defineComponent({props:{onPressHandler:Function,onDragHandler:Function,onReleaseHandler:Function},mounted(){this.$el&&(this.draggable=this.$refs.draggable)},methods:{onPress(t){const e=this.draggable&&this.draggable.element;e&&this.$emit("pressHandler",t,e)},onDrag(t){const e=this.draggable&&this.draggable.element;e&&this.$emit("dragHandler",t,e)},onRelease(t){const e=this.draggable&&this.draggable.element;e&&this.$emit("releaseHandler",t,e)}},render(){const t=a.getDefaultSlots(this);return r.createVNode(a.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:"draggable"},{default:()=>[r.createVNode("tr",{class:"k-table-row",role:"row","aria-rowindex":this.$props.key},[t])]})}});exports.ColumnDraggable=n;
|
package/drag/ColumnDraggable.mjs
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
import { defineComponent as a, createVNode as r } from "vue";
|
|
9
|
-
import { getDefaultSlots as
|
|
9
|
+
import { getDefaultSlots as s, Draggable as n } from "@progress/kendo-vue-common";
|
|
10
10
|
const i = /* @__PURE__ */ a({
|
|
11
11
|
props: {
|
|
12
12
|
onPressHandler: Function,
|
|
@@ -31,8 +31,8 @@ const i = /* @__PURE__ */ a({
|
|
|
31
31
|
}
|
|
32
32
|
},
|
|
33
33
|
render() {
|
|
34
|
-
const t =
|
|
35
|
-
return r(
|
|
34
|
+
const t = s(this);
|
|
35
|
+
return r(n, {
|
|
36
36
|
onPress: this.onPress,
|
|
37
37
|
onDrag: this.onDrag,
|
|
38
38
|
onRelease: this.onRelease,
|
|
@@ -40,7 +40,8 @@ const i = /* @__PURE__ */ a({
|
|
|
40
40
|
}, {
|
|
41
41
|
default: () => [r("tr", {
|
|
42
42
|
class: "k-table-row",
|
|
43
|
-
role: "row"
|
|
43
|
+
role: "row",
|
|
44
|
+
"aria-rowindex": this.$props.key
|
|
44
45
|
}, [t])]
|
|
45
46
|
});
|
|
46
47
|
}
|
package/header/FilterRow.d.ts
CHANGED
|
@@ -25,6 +25,7 @@ export interface FilterRowProps {
|
|
|
25
25
|
size?: null | 'small' | 'medium' | 'large';
|
|
26
26
|
cellsToRender?: GridCellRenderModel[];
|
|
27
27
|
columnVirtualization?: boolean;
|
|
28
|
+
columnsMap?: number[][];
|
|
28
29
|
onFilterchange: (filters: CompositeFilterDescriptor) => void;
|
|
29
30
|
}
|
|
30
31
|
/**
|
|
@@ -42,6 +43,7 @@ declare const FilterRow: import('vue').DefineComponent<import('vue').ExtractProp
|
|
|
42
43
|
size: PropType<"small" | "medium" | "large">;
|
|
43
44
|
cellsToRender: PropType<GridCellRenderModel[]>;
|
|
44
45
|
columnVirtualization: PropType<boolean>;
|
|
46
|
+
columnsMap: PropType<number[][]>;
|
|
45
47
|
onFilterchange: PropType<(filters: CompositeFilterDescriptor) => void>;
|
|
46
48
|
}>, {
|
|
47
49
|
kendoLocalizationService: {};
|
|
@@ -60,6 +62,7 @@ declare const FilterRow: import('vue').DefineComponent<import('vue').ExtractProp
|
|
|
60
62
|
size: PropType<"small" | "medium" | "large">;
|
|
61
63
|
cellsToRender: PropType<GridCellRenderModel[]>;
|
|
62
64
|
columnVirtualization: PropType<boolean>;
|
|
65
|
+
columnsMap: PropType<number[][]>;
|
|
63
66
|
onFilterchange: PropType<(filters: CompositeFilterDescriptor) => void>;
|
|
64
67
|
}>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
65
68
|
export { FilterRow };
|
package/header/FilterRow.js
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),f=require("../filterCommon.js"),I=require("../cells/GridFilterCell.js"),V=require("@progress/kendo-vue-intl"),v=require("../messages/main.js"),h=require("@progress/kendo-vue-data-tools"),L=require("../utils/virtualColumns.js");function z(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!o.isVNode(t)}const j=o.defineComponent({name:"kendoFilterRow",props:{grid:Object,columns:Array,filter:Object,filterOperators:Object,sort:[Object,Array],cellRender:[String,Function,Object],isRtl:Boolean,ariaRowIndex:Number,size:String,cellsToRender:Array,columnVirtualization:Boolean,columnsMap:Array,onFilterchange:Function},inject:{kendoLocalizationService:{default:null}},methods:{headerCellClassName(t,r){let l=r?" k-grid-header-sticky":"";return this.$props.sort&&this.$props.sort.filter(d=>d.field===t).length>0&&(l+=" k-sorted"),l},setFilter(t,r,l,d){const a=[];(t!==""&&t!==null||r!=="")&&a.push({field:l,operator:r,value:t}),this.$props.filter&&this.$props.filter.filters&&(this.$props.filter.filters||[]).forEach(c=>{const p=c;p&&p.field!==l&&a.push(p)});const g=a.length>0?{logic:"and",filters:a}:null;this.$emit("filterchange",g,d)}},setup(){return{kendoLocalizationService:o.inject("kendoLocalizationService",{})}},render(){const t=V.provideLocalizationService(this),r=this.$props.filter&&this.$props.filter.filters||[],l=(e,i=null)=>{const n=r.filter(s=>s.field===e)[0];return n?n.value:i},d=e=>{const i=r.filter(n=>n.field===e)[0];return i?i.operator:null};let a=0,g=-1;const u=L.getVirtualHeaderCellsToRender({cellsToRender:this.$props.cellsToRender||[],columns:this.$props.columns,rowIndex:0,enableVirtualization:this.$props.columnVirtualization,columnsMap:this.$props.columnsMap}),c=u.columnsToRender.length>0,p=this.$props.columns.filter(e=>e.children.length===0),x=c?u.columnsToRender.map(e=>this.$props.columns[e]).filter(e=>e.children.length===0):p,y=c?u.colSpans:[],S=x.map(function(e,i){const n=F=>{this.setFilter(F.value,F.operator,e.field,F)},s=f.getFilterType(e.filter),b=(e.title||e.field)+" "+f.getAriaLabel(s,t),C=o.createVNode(I.GridFilterCell,{grid:this.$props.grid,field:e.field,title:e.filterTitle,value:l(e.field,s==="text"?"":null),operator:d(e.field),operators:f.operatorMap(this.$props.filterOperators[s]||[],t),booleanValues:f.operatorMap(f.booleanFilterValues,t),filterType:s,onChange:n,render:e.filterCell||this.$props.cellRender,"aria-label":b,size:this.$props.size},null),R=e.declarationIndex>=0?++g:--a,$={ariaLabel:e.filterable?t.toLanguageString(v.filterAriaLabel,v.messages[v.filterAriaLabel]):void 0,ariaColumnIndex:e.ariaColumnIndex},k=e.locked&&e.left!==void 0?this.$props.isRtl?{left:e.right+"px",right:e.left+"px"}:{left:e.left+"px",right:e.right+"px"}:void 0,m=c&&y[i]!==void 0?y[i]:void 0,T=o.createVNode(h.HeaderTdElement,{key:R,role:"gridcell",columnId:h.tableKeyboardNavigationTools.getFilterColumnId(e.id),navigatable:e.navigatable,style:k,class:this.headerCellClassName(e.field,e.locked)||void 0,ariaColumnIndex:$.ariaColumnIndex,"aria-label":b,colSpan:m},z(C)?C:{default:()=>[C]});return e.filterable&&T||o.createVNode(h.HeaderTdElement,{key:R,role:"gridcell",columnId:h.tableKeyboardNavigationTools.getFilterColumnId(e.id),navigatable:e.navigatable,style:k,class:this.headerCellClassName(e.field,e.locked)||void 0,ariaColumnIndex:$.ariaColumnIndex,"aria-label":b,colSpan:m},null)},this);return o.createVNode("tr",{class:"k-table-row k-filter-row","aria-rowindex":this.ariaRowIndex,role:"row"},[S])}});exports.FilterRow=j;
|
package/header/FilterRow.mjs
CHANGED
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
import { defineComponent as z, createVNode as c, inject as L, isVNode as j } from "vue";
|
|
9
|
-
import { getFilterType as O, getAriaLabel as V, operatorMap as
|
|
10
|
-
import { GridFilterCell as
|
|
11
|
-
import { provideLocalizationService as
|
|
12
|
-
import { filterAriaLabel as v, messages as
|
|
13
|
-
import { HeaderTdElement as
|
|
14
|
-
import { getVirtualHeaderCellsToRender as
|
|
15
|
-
function
|
|
9
|
+
import { getFilterType as O, getAriaLabel as V, operatorMap as R, booleanFilterValues as w } from "../filterCommon.mjs";
|
|
10
|
+
import { GridFilterCell as A } from "../cells/GridFilterCell.mjs";
|
|
11
|
+
import { provideLocalizationService as N } from "@progress/kendo-vue-intl";
|
|
12
|
+
import { filterAriaLabel as v, messages as M } from "../messages/main.mjs";
|
|
13
|
+
import { HeaderTdElement as y, tableKeyboardNavigationTools as k } from "@progress/kendo-vue-data-tools";
|
|
14
|
+
import { getVirtualHeaderCellsToRender as B } from "../utils/virtualColumns.mjs";
|
|
15
|
+
function E(t) {
|
|
16
16
|
return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !j(t);
|
|
17
17
|
}
|
|
18
18
|
const Q = /* @__PURE__ */ z({
|
|
@@ -29,6 +29,7 @@ const Q = /* @__PURE__ */ z({
|
|
|
29
29
|
size: String,
|
|
30
30
|
cellsToRender: Array,
|
|
31
31
|
columnVirtualization: Boolean,
|
|
32
|
+
columnsMap: Array,
|
|
32
33
|
onFilterchange: Function
|
|
33
34
|
},
|
|
34
35
|
inject: {
|
|
@@ -38,24 +39,24 @@ const Q = /* @__PURE__ */ z({
|
|
|
38
39
|
},
|
|
39
40
|
methods: {
|
|
40
41
|
headerCellClassName(t, r) {
|
|
41
|
-
let
|
|
42
|
-
return this.$props.sort && this.$props.sort.filter((s) => s.field === t).length > 0 && (
|
|
42
|
+
let l = r ? " k-grid-header-sticky" : "";
|
|
43
|
+
return this.$props.sort && this.$props.sort.filter((s) => s.field === t).length > 0 && (l += " k-sorted"), l;
|
|
43
44
|
},
|
|
44
|
-
setFilter(t, r,
|
|
45
|
+
setFilter(t, r, l, s) {
|
|
45
46
|
const o = [];
|
|
46
47
|
(t !== "" && t !== null || r !== "") && o.push({
|
|
47
|
-
field:
|
|
48
|
+
field: l,
|
|
48
49
|
operator: r,
|
|
49
50
|
value: t
|
|
50
51
|
}), this.$props.filter && this.$props.filter.filters && (this.$props.filter.filters || []).forEach((d) => {
|
|
51
|
-
const
|
|
52
|
-
|
|
52
|
+
const p = d;
|
|
53
|
+
p && p.field !== l && o.push(p);
|
|
53
54
|
});
|
|
54
|
-
const
|
|
55
|
+
const u = o.length > 0 ? {
|
|
55
56
|
logic: "and",
|
|
56
57
|
filters: o
|
|
57
58
|
} : null;
|
|
58
|
-
this.$emit("filterchange",
|
|
59
|
+
this.$emit("filterchange", u, s);
|
|
59
60
|
}
|
|
60
61
|
},
|
|
61
62
|
setup() {
|
|
@@ -64,68 +65,69 @@ const Q = /* @__PURE__ */ z({
|
|
|
64
65
|
};
|
|
65
66
|
},
|
|
66
67
|
render() {
|
|
67
|
-
const t =
|
|
68
|
+
const t = N(this), r = this.$props.filter && this.$props.filter.filters || [], l = (e, i = null) => {
|
|
68
69
|
const n = r.filter((a) => a.field === e)[0];
|
|
69
|
-
return n ? n.value :
|
|
70
|
+
return n ? n.value : i;
|
|
70
71
|
}, s = (e) => {
|
|
71
|
-
const
|
|
72
|
-
return
|
|
72
|
+
const i = r.filter((n) => n.field === e)[0];
|
|
73
|
+
return i ? i.operator : null;
|
|
73
74
|
};
|
|
74
|
-
let o = 0,
|
|
75
|
-
const
|
|
75
|
+
let o = 0, u = -1;
|
|
76
|
+
const f = B({
|
|
76
77
|
cellsToRender: this.$props.cellsToRender || [],
|
|
77
78
|
columns: this.$props.columns,
|
|
78
79
|
rowIndex: 0,
|
|
79
80
|
// FilterRow is always a single row
|
|
80
|
-
enableVirtualization: this.$props.columnVirtualization
|
|
81
|
-
|
|
81
|
+
enableVirtualization: this.$props.columnVirtualization,
|
|
82
|
+
columnsMap: this.$props.columnsMap
|
|
83
|
+
}), d = f.columnsToRender.length > 0, p = this.$props.columns.filter((e) => e.children.length === 0), I = d ? f.columnsToRender.map((e) => this.$props.columns[e]).filter((e) => e.children.length === 0) : p, m = d ? f.colSpans : [], S = I.map(function(e, i) {
|
|
82
84
|
const n = (b) => {
|
|
83
85
|
this.setFilter(b.value, b.operator, e.field, b);
|
|
84
|
-
}, a = O(e.filter),
|
|
86
|
+
}, a = O(e.filter), h = (e.title || e.field) + " " + V(a, t), g = c(A, {
|
|
85
87
|
grid: this.$props.grid,
|
|
86
88
|
field: e.field,
|
|
87
89
|
title: e.filterTitle,
|
|
88
|
-
value:
|
|
90
|
+
value: l(e.field, a === "text" ? "" : null),
|
|
89
91
|
operator: s(e.field),
|
|
90
|
-
operators:
|
|
91
|
-
booleanValues:
|
|
92
|
+
operators: R(this.$props.filterOperators[a] || [], t),
|
|
93
|
+
booleanValues: R(w, t),
|
|
92
94
|
filterType: a,
|
|
93
95
|
onChange: n,
|
|
94
96
|
render: e.filterCell || this.$props.cellRender,
|
|
95
|
-
"aria-label":
|
|
97
|
+
"aria-label": h,
|
|
96
98
|
size: this.$props.size
|
|
97
|
-
}, null),
|
|
98
|
-
ariaLabel: e.filterable ? t.toLanguageString(v,
|
|
99
|
+
}, null), C = e.declarationIndex >= 0 ? ++u : --o, F = {
|
|
100
|
+
ariaLabel: e.filterable ? t.toLanguageString(v, M[v]) : void 0,
|
|
99
101
|
ariaColumnIndex: e.ariaColumnIndex
|
|
100
|
-
},
|
|
102
|
+
}, $ = e.locked && e.left !== void 0 ? this.$props.isRtl ? {
|
|
101
103
|
left: e.right + "px",
|
|
102
104
|
right: e.left + "px"
|
|
103
105
|
} : {
|
|
104
106
|
left: e.left + "px",
|
|
105
107
|
right: e.right + "px"
|
|
106
|
-
} : void 0,
|
|
107
|
-
key:
|
|
108
|
+
} : void 0, x = d && m[i] !== void 0 ? m[i] : void 0, T = c(y, {
|
|
109
|
+
key: C,
|
|
108
110
|
role: "gridcell",
|
|
109
|
-
columnId:
|
|
111
|
+
columnId: k.getFilterColumnId(e.id),
|
|
110
112
|
navigatable: e.navigatable,
|
|
111
|
-
style:
|
|
113
|
+
style: $,
|
|
112
114
|
class: this.headerCellClassName(e.field, e.locked) || void 0,
|
|
113
115
|
ariaColumnIndex: F.ariaColumnIndex,
|
|
114
|
-
"aria-label":
|
|
115
|
-
colSpan:
|
|
116
|
-
},
|
|
116
|
+
"aria-label": h,
|
|
117
|
+
colSpan: x
|
|
118
|
+
}, E(g) ? g : {
|
|
117
119
|
default: () => [g]
|
|
118
120
|
});
|
|
119
|
-
return e.filterable && T || c(
|
|
120
|
-
key:
|
|
121
|
+
return e.filterable && T || c(y, {
|
|
122
|
+
key: C,
|
|
121
123
|
role: "gridcell",
|
|
122
|
-
columnId:
|
|
124
|
+
columnId: k.getFilterColumnId(e.id),
|
|
123
125
|
navigatable: e.navigatable,
|
|
124
|
-
style:
|
|
126
|
+
style: $,
|
|
125
127
|
class: this.headerCellClassName(e.field, e.locked) || void 0,
|
|
126
128
|
ariaColumnIndex: F.ariaColumnIndex,
|
|
127
|
-
"aria-label":
|
|
128
|
-
colSpan:
|
|
129
|
+
"aria-label": h,
|
|
130
|
+
colSpan: x
|
|
129
131
|
}, null);
|
|
130
132
|
}, this);
|
|
131
133
|
return c("tr", {
|
package/header/Header.d.ts
CHANGED
|
@@ -56,7 +56,8 @@ declare const Header: import('vue').DefineComponent<import('vue').ExtractPropTyp
|
|
|
56
56
|
}, {
|
|
57
57
|
setScrollLeft(scrollLeft: number): void;
|
|
58
58
|
setWidth(width: number): void;
|
|
59
|
-
|
|
59
|
+
handleHeaderScroll(e: Event): void;
|
|
60
|
+
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "headerscroll"[], "headerscroll", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
60
61
|
staticHeaders: PropType<boolean>;
|
|
61
62
|
headerRow: PropType<any>;
|
|
62
63
|
columnResize: PropType<{
|
|
@@ -66,5 +67,7 @@ declare const Header: import('vue').DefineComponent<import('vue').ExtractPropTyp
|
|
|
66
67
|
cols: PropType<Element[]>;
|
|
67
68
|
size: PropType<string>;
|
|
68
69
|
draggable: PropType<boolean>;
|
|
69
|
-
}>> & Readonly<{
|
|
70
|
+
}>> & Readonly<{
|
|
71
|
+
onHeaderscroll?: (...args: any[]) => any;
|
|
72
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
70
73
|
export { Header };
|
package/header/Header.js
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),l=require("../utils/main.js"),t=require("@progress/kendo-vue-common"),o=r.defineComponent({props:{staticHeaders:Boolean,headerRow:Object,columnResize:Object,cols:Array,size:String,draggable:Boolean},data(){return{divStyle:{},element:null,headerWrap:null,table:null}},computed:{wrapperClass(){return{"k-grid-header":!0,"k-grid-draggable-header":this.$props.draggable}},tableClass(){const{size:e}=this.$props;return{"k-table":!0,"k-grid-header-table":!0,[`k-table-${t.kendoThemeMaps.sizeMap[e]||e}`]:e}}},mounted(){this.headerWrap=t.getRef(this,"headerWrap"),this.table=t.getRef(this,"table"),this.$props.columnResize.colGroupHeader=t.getRef(this,"colGroupHeader");const e=l.isRtl(this.$el);this.$props.columnResize&&this.$props.columnResize.setIsRtl(e)},methods:{setScrollLeft(e){this.headerWrap&&(this.headerWrap.scrollLeft=e)},setWidth(e){this.table&&(this.table.style.width=e+"px")}},setup(){const e=r.ref(null),s=r.ref(null),a=r.ref(null);return{headerWrapRef:e,tableRef:s,colGroupHeaderRef:a}},render(){return this.$props.staticHeaders?r.createVNode("div",{class:this.wrapperClass},[r.createVNode("div",{ref:t.setRef(this,"headerWrap"),class:"k-grid-header-wrap"},[r.createVNode("table",{class:this.tableClass,ref:t.setRef(this,"table"),role:"none"},[r.createVNode("colgroup",{ref:t.setRef(this,"colGroupHeader")},[this.$props.cols]),this.$props.headerRow])])]):this.$props.headerRow}});exports.Header=o;
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),l=require("../utils/main.js"),t=require("@progress/kendo-vue-common"),o=r.defineComponent({props:{staticHeaders:Boolean,headerRow:Object,columnResize:Object,cols:Array,size:String,draggable:Boolean},emits:["headerscroll"],data(){return{divStyle:{},element:null,headerWrap:null,table:null}},computed:{wrapperClass(){return{"k-grid-header":!0,"k-grid-draggable-header":this.$props.draggable}},tableClass(){const{size:e}=this.$props;return{"k-table":!0,"k-grid-header-table":!0,[`k-table-${t.kendoThemeMaps.sizeMap[e]||e}`]:e}}},mounted(){this.headerWrap=t.getRef(this,"headerWrap"),this.table=t.getRef(this,"table"),this.$props.columnResize.colGroupHeader=t.getRef(this,"colGroupHeader");const e=l.isRtl(this.$el);this.$props.columnResize&&this.$props.columnResize.setIsRtl(e)},methods:{setScrollLeft(e){this.headerWrap&&(this.headerWrap.scrollLeft=e)},setWidth(e){this.table&&(this.table.style.width=e+"px")},handleHeaderScroll(e){this.$emit("headerscroll",e)}},setup(){const e=r.ref(null),s=r.ref(null),a=r.ref(null);return{headerWrapRef:e,tableRef:s,colGroupHeaderRef:a}},render(){return this.$props.staticHeaders?r.createVNode("div",{class:this.wrapperClass},[r.createVNode("div",{ref:t.setRef(this,"headerWrap"),class:"k-grid-header-wrap",onScroll:this.handleHeaderScroll},[r.createVNode("table",{class:this.tableClass,ref:t.setRef(this,"table"),role:"none"},[r.createVNode("colgroup",{ref:t.setRef(this,"colGroupHeader")},[this.$props.cols]),this.$props.headerRow])])]):this.$props.headerRow}});exports.Header=o;
|
package/header/Header.mjs
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
import { defineComponent as i, createVNode as r, ref as t } from "vue";
|
|
9
|
-
import { isRtl as
|
|
10
|
-
import { setRef as s, getRef as a, kendoThemeMaps as
|
|
9
|
+
import { isRtl as h } from "../utils/main.mjs";
|
|
10
|
+
import { setRef as s, getRef as a, kendoThemeMaps as d } from "@progress/kendo-vue-common";
|
|
11
11
|
const u = /* @__PURE__ */ i({
|
|
12
12
|
props: {
|
|
13
13
|
staticHeaders: Boolean,
|
|
@@ -17,6 +17,7 @@ const u = /* @__PURE__ */ i({
|
|
|
17
17
|
size: String,
|
|
18
18
|
draggable: Boolean
|
|
19
19
|
},
|
|
20
|
+
emits: ["headerscroll"],
|
|
20
21
|
data() {
|
|
21
22
|
return {
|
|
22
23
|
divStyle: {},
|
|
@@ -39,13 +40,13 @@ const u = /* @__PURE__ */ i({
|
|
|
39
40
|
return {
|
|
40
41
|
"k-table": !0,
|
|
41
42
|
"k-grid-header-table": !0,
|
|
42
|
-
[`k-table-${
|
|
43
|
+
[`k-table-${d.sizeMap[e] || e}`]: e
|
|
43
44
|
};
|
|
44
45
|
}
|
|
45
46
|
},
|
|
46
47
|
mounted() {
|
|
47
48
|
this.headerWrap = a(this, "headerWrap"), this.table = a(this, "table"), this.$props.columnResize.colGroupHeader = a(this, "colGroupHeader");
|
|
48
|
-
const e =
|
|
49
|
+
const e = h(this.$el);
|
|
49
50
|
this.$props.columnResize && this.$props.columnResize.setIsRtl(e);
|
|
50
51
|
},
|
|
51
52
|
methods: {
|
|
@@ -54,6 +55,9 @@ const u = /* @__PURE__ */ i({
|
|
|
54
55
|
},
|
|
55
56
|
setWidth(e) {
|
|
56
57
|
this.table && (this.table.style.width = e + "px");
|
|
58
|
+
},
|
|
59
|
+
handleHeaderScroll(e) {
|
|
60
|
+
this.$emit("headerscroll", e);
|
|
57
61
|
}
|
|
58
62
|
},
|
|
59
63
|
setup() {
|
|
@@ -69,7 +73,8 @@ const u = /* @__PURE__ */ i({
|
|
|
69
73
|
class: this.wrapperClass
|
|
70
74
|
}, [r("div", {
|
|
71
75
|
ref: s(this, "headerWrap"),
|
|
72
|
-
class: "k-grid-header-wrap"
|
|
76
|
+
class: "k-grid-header-wrap",
|
|
77
|
+
onScroll: this.handleHeaderScroll
|
|
73
78
|
}, [r("table", {
|
|
74
79
|
class: this.tableClass,
|
|
75
80
|
ref: s(this, "table"),
|
package/header/HeaderRow.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export interface HeaderRowProps extends ColumnDraggableProps {
|
|
|
24
24
|
sortable?: GridSortSettings;
|
|
25
25
|
groupable?: any;
|
|
26
26
|
reorderable?: boolean;
|
|
27
|
+
headerSelectionValue?: boolean | any[];
|
|
27
28
|
onSortChange?: (descriptors: SortDescriptor[], e: any) => void;
|
|
28
29
|
sort?: any;
|
|
29
30
|
filter?: CompositeFilterDescriptor;
|
|
@@ -76,6 +77,7 @@ declare const HeaderRow: import('vue').DefineComponent<import('vue').ExtractProp
|
|
|
76
77
|
columnMenuIcon: PropType<SVGIcon>;
|
|
77
78
|
isRtl: PropType<boolean>;
|
|
78
79
|
isColCountDefined: PropType<boolean>;
|
|
80
|
+
headerSelectionValue: PropType<boolean | any[]>;
|
|
79
81
|
columnsInitial: PropType<ExtendedColumnProps[]>;
|
|
80
82
|
onSortChange: PropType<(descriptors: SortDescriptor[], e: any) => void>;
|
|
81
83
|
onFilterChange: PropType<Function>;
|
|
@@ -127,6 +129,7 @@ declare const HeaderRow: import('vue').DefineComponent<import('vue').ExtractProp
|
|
|
127
129
|
columnMenuIcon: PropType<SVGIcon>;
|
|
128
130
|
isRtl: PropType<boolean>;
|
|
129
131
|
isColCountDefined: PropType<boolean>;
|
|
132
|
+
headerSelectionValue: PropType<boolean | any[]>;
|
|
130
133
|
columnsInitial: PropType<ExtendedColumnProps[]>;
|
|
131
134
|
onSortChange: PropType<(descriptors: SortDescriptor[], e: any) => void>;
|
|
132
135
|
onFilterChange: PropType<Function>;
|
package/header/HeaderRow.js
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("vue"),K=require("../interfaces/GridSortSettings.js"),P=require("../drag/ColumnResizer.js"),_=require("../drag/ColumnDraggable.js"),G=require("./GridHeaderCell.js"),E=require("../columnMenu/ColumnMenu.js"),p=require("@progress/kendo-vue-common"),U=require("@progress/kendo-vue-data-tools"),s=require("../messages/main.js"),W=require("@progress/kendo-vue-intl"),O=require("@progress/kendo-svg-icons"),J=require("../utils/virtualColumns.js");function y(n){return typeof n=="function"||Object.prototype.toString.call(n)==="[object Object]"&&!l.isVNode(n)}const R={none:"none",asc:"ascending",desc:"descending"},Q={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},X=l.defineComponent({name:"KendoHeaderRow",props:{grid:Object,cellRender:[String,Function,Object],groupable:[Boolean,Object],reorderable:Boolean,sortable:[Boolean,Object],sort:{type:Array},filter:Object,filterable:Boolean,filterOperators:Object,filterChange:Function,filterRow:Object,columns:Array,cellsToRender:Array,columnVirtualization:Boolean,columnsMap:Array,columnResize:Object,columnMenu:[Boolean,String,Function,Object],columnMenuAnimate:{type:[Boolean,Object],default:function(){return!0}},columnMenuIcon:Object,isRtl:Boolean,isColCountDefined:Boolean,headerSelectionValue:[Boolean,Array],columnsInitial:Array,onSortChange:Function,onFilterChange:Function,onSelectionchange:Function,onPressHandler:Function,onDragHandler:Function,onReleaseHandler:Function},inject:{onNavFocus:{default:p.noop},kendoLocalizationService:{default:null}},data(){return{columnMenuOpened:{}}},created(){this.serviceIndex=0,this.index=-1,this._element=null,this.cellClick=this.cellClick.bind(this)},methods:{pressHandler(n,t){this.$emit("pressHandler",n,t)},dragHandler(n,t){this.$emit("dragHandler",n,t)},releaseHandler(n){this.$emit("releaseHandler",n)},selectionChangeHandler(n){this.$emit("selectionchange",n)},cellClick(n,t){if(n.preventDefault(),!p.hasListener.call(this,"sortChange"))return;const{allowUnsort:m,mode:g}=K.normalize(this.$props.sortable||!1,t.sortable||!1),a=(this.$props.sort||[]).filter(o=>o.field===t.field)[0],c=Q[m][a&&a.dir||""],d=g==="single"?[]:(this.$props.sort||[]).filter(o=>o.field!==t.field);c!==""&&t.field&&d.push({field:t.field,dir:c}),this.sortChangeHandler(d,{event:n,field:t.field})},sortChangeHandler(n,t){this.$emit("sortChange",n,t)},filterChangeHandler(n,t){this.$emit("filterChange",n,t)},cellClass(n,t,m){const g=t?" "+t:"";let a="k-header"+(m?" k-grid-header-sticky":"")+g;return this.$props.sort&&this.$props.sort.filter(c=>c.field===n).length>0&&(a+=" k-sorted"),a},cellKeyDown(n,t){n.defaultPrevented||(n.keyCode===p.Keys.enter&&this.cellClick(n,t),n.altKey&&n.keyCode===p.Keys.down&&t.field&&(n.preventDefault(),this.columnMenuOpened={[t.field]:!0}))},getTemplate(n){return p.templateRendering.call(this.$props.grid,n,p.getListeners.call(this.$props.grid))},columnMenuClose(){this.onNavFocus({}),this.columnMenuOpened={}}},computed:{element(){return this._element},theadClasses(){return{"k-table-thead":!0}}},render(){const n=W.provideLocalizationService(this),t=n.toLanguageString(s.sortableColumnAriaLabel,s.messages[s.sortableColumnAriaLabel]),m=n.toLanguageString(s.sortableColumnAscendingAriaLabel,s.messages[s.sortableColumnAscendingAriaLabel]),g=n.toLanguageString(s.sortableColumnDescendingAriaLabel,s.messages[s.sortableColumnDescendingAriaLabel]);this.serviceIndex=0,this.index=-1;const a=this.$props.columnVirtualization,c=function(d,o){const i=J.getVirtualHeaderCellsToRender({cellsToRender:this.$props.cellsToRender||[],columns:this.$props.columns,rowIndex:o,enableVirtualization:a,columnsMap:this.$props.columnsMap}),M=a;let k=M&&i.columnsToRender?i.columnsToRender:d;const I=M?i.colSpans:[];return!k||k.length===0?[]:k.map(function(A,L){var V;const e=this.$props.columns[A],b=this.$props.sortable&&e.sortable,S=this.$props.sort?this.$props.sort.findIndex(r=>r.field===e.field):-1,H=S>=0&&this.$props.sort[S].dir||"none",h=function(r){if(!this.$props.sort)return null;const C=r>=0?this.$props.sort[r].dir:"";return r>=0&&[l.createVNode("span",{key:1,class:"k-sort-icon"},[l.createVNode(p.Icon,{name:"sort-"+C+"-small",icon:C==="asc"?O.sortAscSmallIcon:O.sortDescSmallIcon},null)]),this.$props.sort.length>1&&l.createVNode("span",{key:2,class:"k-sort-icon"},[l.createVNode("span",{class:"k-sort-order"},[r+1])])]}.call(this,S),u=e.columnMenu||e.columnMenu===!1?e.columnMenu:this.$props.columnMenu,z=e.menuIcon||this.$props.columnMenuIcon,D=(e.kFirst?"k-first ":"")+this.cellClass(e.field,e.headerClassName,e.locked)+(u?" k-filterable":""),N=!u||typeof u=="boolean"?!!u:this.getTemplate(u),v=i.skipOffset?{borderLeftWidth:"1px"}:void 0,w=e.locked&&e.left!==void 0?this.$props.isRtl?{left:e.right+"px",right:e.left+"px"}:{left:e.left+"px",right:e.right+"px"}:v,j=R[H]==="none"?t:R[H]==="ascending"?m:g;let f=e.isAccessible?{ariaSort:R[H],ariaLabel:j,role:"columnheader",ariaColumnIndex:this.$props.isColCountDefined?this.$props.columnsInitial.findIndex(r=>r.field===e.field)+1:void 0,ariaSelected:!1,ariaHaspopup:u?"menu":this.$props.filterable&&e.filterable?"dialog":void 0}:{role:"columnheader"};const F=e.declarationIndex>=0?++this.index:--this.serviceIndex,T=e.columnMenuOpened!==void 0?e.columnMenuOpened:this.columnMenuOpened[e.field],q=(V=I[L])!=null?V:e.headerColSpan;return l.createVNode(U.HeaderThElement,{ariaSort:b?f.ariaSort:void 0,ariaLabel:b?f.ariaLabel:void 0,role:f.role,ariaColumnIndex:f.ariaColumnIndex,ariaSelected:f.ariaSelected,ariaHaspopup:f.ariaHaspopup,key:F,colSpan:q,rowSpan:e.rowSpan,class:D,style:w,columnId:e.id,navigatable:e.navigatable,onKeydown:r=>this.cellKeyDown(r,e)},{default:()=>{var r,C;return[[e.children.length===0&&u&&l.createVNode(E.ColumnMenu,{key:0,column:{field:e.field,filter:e.filter},opened:T,animate:this.$props.columnMenuAnimate,sortable:b,sort:this.$props.sort,onClose:this.columnMenuClose,onSortchange:this.sortChangeHandler,filter:this.$props.filter,filterable:this.$props.filterable&&e.filterable,filterOperators:this.$props.filterOperators,onFilterchange:this.filterChangeHandler,render:N,columnMenuIcon:z},null),e.internalHeaderCell&&l.createVNode("span",{class:"k-cell-inner"},[l.createVNode(e.internalHeaderCell,{key:1,field:e.field,sortable:b,onHeadercellclick:$=>this.cellClick($,e),onSelectionchange:this.selectionChangeHandler,selectionValue:(r=e.headerSelectionValue)!=null?r:this.$props.headerSelectionValue,title:e.title,render:(e.headerCell||this.$props.cellRender)&&this.getTemplate(e.headerCell||this.$props.cellRender)},y(h)?h:{default:()=>[h]})])||l.createVNode("span",{class:"k-cell-inner"},[l.createVNode(G.GridHeaderCell,{key:1,field:e.field,sortable:b,onHeadercellclick:$=>this.cellClick($,e),selectionValue:(C=e.headerSelectionValue)!=null?C:this.$props.headerSelectionValue,title:e.title,render:(e.headerCell||this.$props.cellRender)&&this.getTemplate(e.headerCell||this.$props.cellRender)},y(h)?h:{default:()=>[h]})]),this.$props.columnResize&&this.$props.columnResize.resizable&&e.resizable&&l.createVNode(P.ColumnResizer,{key:2,onResize:($,x,B)=>this.$props.columnResize&&this.$props.columnResize.dragHandler($,e,x,B)},null)]]}})},this)};return l.createVNode("thead",{role:"rowgroup",class:this.theadClasses,"data-keyboardnavheader":!0},[this.$props.columnsMap.map(function(d,o){let i;return(this.$props.groupable||this.$props.reorderable)&&l.createVNode(_.ColumnDraggable,{key:o,onPressHandler:this.pressHandler,onDragHandler:this.dragHandler,onReleaseHandler:this.releaseHandler},y(i=c.call(this,d,o))?i:{default:()=>[i]})||l.createVNode("tr",{class:"k-table-row",role:"row","aria-rowindex":o+1},[c.call(this,d,o)])},this),this.$props.filterRow])}});exports.HeaderRow=X;
|