@progress/kendo-vue-grid 7.1.0-develop.7 → 8.0.0-develop.2

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.
@@ -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"),i=require("../utils/main.js"),d=r.defineComponent({name:"FooterRow",props:{isRtl:Boolean,columns:Array,rowIndex:Number},methods:{columnStyles(t){return t.left!==void 0?this.$props.isRtl?{left:t.right+"px",right:t.left+"px"}:{left:t.left+"px",right:t.right+"px"}:{}}},render(){const t=function(e,s){let o=null;const l=e.locked&&e.left!==void 0?"k-grid-footer-sticky":"",n=e.footerClassName?`k-table-td ${e.footerClassName} ${l}`:"k-table-td "+l;return o=a.getTemplate.call(this,{h:r.h,template:e.footerCell,defaultRendering:null,additionalProps:{field:e.field,colSpan:e.colSpan!==1?e.colSpan:void 0,defaultStyle:this.columnStyles(e)}}),r.createVNode("td",{key:s,colspan:e.colSpan!==1?e.colSpan:void 0,style:this.columnStyles(e),class:n,role:"gridcell"},[o])};return r.createVNode("tr",{class:"k-table-row",role:"row","aria-rowIndex":this.$props.rowIndex},[i.footerColumns(this.$props.columns).map(t,this)])}});exports.FooterRow=d;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),d=require("@progress/kendo-vue-common"),i=require("../utils/main.js"),a=r.defineComponent({name:"FooterRow",props:{isRtl:Boolean,columns:Array,rowIndex:Number},methods:{columnStyles(t){return t.locked&&t.left!==void 0?this.$props.isRtl?{left:t.right+"px",right:t.left+"px"}:{left:t.left+"px",right:t.right+"px"}:void 0}},render(){const t=function(e,s){let o=null;const l=e.locked&&e.left!==void 0?"k-grid-footer-sticky":"",n=e.footerClassName?`k-table-td ${e.footerClassName} ${l}`:"k-table-td "+l;return o=d.getTemplate.call(this,{h:r.h,template:e.footerCell,defaultRendering:null,additionalProps:{field:e.field,colSpan:e.colSpan!==1?e.colSpan:void 0,defaultStyle:this.columnStyles(e)}}),r.createVNode("td",{key:s,colspan:e.colSpan!==1?e.colSpan:void 0,style:this.columnStyles(e),class:n,role:"gridcell"},[o])};return r.createVNode("tr",{class:"k-table-row",role:"row","aria-rowIndex":this.$props.rowIndex},[i.footerColumns(this.$props.columns).map(t,this)])}});exports.FooterRow=a;
@@ -5,7 +5,7 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- import { defineComponent as i, createVNode as l, h as d } from "vue";
8
+ import { defineComponent as i, createVNode as l, h as a } from "vue";
9
9
  import { getTemplate as n } from "@progress/kendo-vue-common";
10
10
  import { footerColumns as p } from "../utils/main.mjs";
11
11
  const g = /* @__PURE__ */ i({
@@ -17,21 +17,21 @@ const g = /* @__PURE__ */ i({
17
17
  },
18
18
  methods: {
19
19
  columnStyles(t) {
20
- return t.left !== void 0 ? this.$props.isRtl ? {
20
+ return t.locked && t.left !== void 0 ? this.$props.isRtl ? {
21
21
  left: t.right + "px",
22
22
  right: t.left + "px"
23
23
  } : {
24
24
  left: t.left + "px",
25
25
  right: t.right + "px"
26
- } : {};
26
+ } : void 0;
27
27
  }
28
28
  },
29
29
  render() {
30
30
  const t = function(e, s) {
31
31
  let r = null;
32
- const o = e.locked && e.left !== void 0 ? "k-grid-footer-sticky" : "", a = e.footerClassName ? `k-table-td ${e.footerClassName} ${o}` : "k-table-td " + o;
32
+ const o = e.locked && e.left !== void 0 ? "k-grid-footer-sticky" : "", d = e.footerClassName ? `k-table-td ${e.footerClassName} ${o}` : "k-table-td " + o;
33
33
  return r = n.call(this, {
34
- h: d,
34
+ h: a,
35
35
  template: e.footerCell,
36
36
  defaultRendering: null,
37
37
  additionalProps: {
@@ -43,7 +43,7 @@ const g = /* @__PURE__ */ i({
43
43
  key: s,
44
44
  colspan: e.colSpan !== 1 ? e.colSpan : void 0,
45
45
  style: this.columnStyles(e),
46
- class: a,
46
+ class: d,
47
47
  role: "gridcell"
48
48
  }, [r]);
49
49
  };
@@ -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"),d=require("../filterCommon.js"),x=require("../cells/GridFilterCell.js"),I=require("@progress/kendo-vue-intl"),g=require("../messages/main.js"),f=require("@progress/kendo-vue-data-tools");function $(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!o.isVNode(t)}const L=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,onFilterchange:Function},inject:{kendoLocalizationService:{default:null}},methods:{headerCellClassName(t,l){let a=l?" k-grid-header-sticky":"";return this.$props.sort&&this.$props.sort.filter(s=>s.field===t).length>0&&(a+=" k-sorted"),a},setFilter(t,l,a,s){const n=[];(t!==""&&t!==null||l!=="")&&n.push({field:a,operator:l,value:t}),this.$props.filter&&this.$props.filter.filters&&(this.$props.filter.filters||[]).forEach(e=>{const r=e;r&&r.field!==a&&n.push(r)});const c=n.length>0?{logic:"and",filters:n}:null;this.$emit("filterchange",c,s)}},setup(){return{kendoLocalizationService:o.inject("kendoLocalizationService",{})}},render(){const t=I.provideLocalizationService(this),l=this.$props.filter&&this.$props.filter.filters||[],a=(e,r=null)=>{const i=l.filter(C=>C.field===e)[0];return i?i.value:r},s=e=>{const r=l.filter(i=>i.field===e)[0];return r?r.operator:null};let n=0,c=-1;const b=this.$props.columns.filter(e=>e.children.length===0).map(function(e){const r=h=>{this.setFilter(h.value,h.operator,e.field,h)},i=d.getFilterType(e.filter),p=(e.title||e.field)+" "+d.getAriaLabel(i,t),u=o.createVNode(x.GridFilterCell,{grid:this.$props.grid,field:e.field,title:e.filterTitle,value:a(e.field,i==="text"?"":null),operator:s(e.field),operators:d.operatorMap(this.$props.filterOperators[i]||[],t),booleanValues:d.operatorMap(d.booleanFilterValues,t),filterType:i,onChange:r,render:e.filterCell||this.$props.cellRender,"aria-label":p,size:this.$props.size},null),F=e.declarationIndex>=0?++c:--n,v={ariaLabel:e.filterable?t.toLanguageString(g.filterAriaLabel,g.messages[g.filterAriaLabel]):void 0,ariaColumnIndex:e.ariaColumnIndex},y=e.left!==void 0?this.$props.isRtl?{left:e.right+"px",right:e.left+"px"}:{left:e.left+"px",right:e.right+"px"}:{},k=o.createVNode(f.HeaderTdElement,{key:F,role:"gridcell",columnId:f.tableKeyboardNavigationTools.getFilterColumnId(e.id),navigatable:e.navigatable,style:y,class:this.headerCellClassName(e.field,e.locked)||void 0,ariaColumnIndex:v.ariaColumnIndex,"aria-label":p},$(u)?u:{default:()=>[u]});return e.filterable&&k||o.createVNode(f.HeaderTdElement,{key:F,role:"gridcell",columnId:f.tableKeyboardNavigationTools.getFilterColumnId(e.id),navigatable:e.navigatable,style:y,class:this.headerCellClassName(e.field,e.locked)||void 0,ariaColumnIndex:v.ariaColumnIndex,"aria-label":p},null)},this);return o.createVNode("tr",{class:"k-table-row k-filter-row","aria-rowindex":this.ariaRowIndex,role:"row"},[b])}});exports.FilterRow=L;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),p=require("../filterCommon.js"),m=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,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 n=[];(t!==""&&t!==null||r!=="")&&n.push({field:l,operator:r,value:t}),this.$props.filter&&this.$props.filter.filters&&(this.$props.filter.filters||[]).forEach(c=>{const f=c;f&&f.field!==l&&n.push(f)});const g=n.length>0?{logic:"and",filters:n}: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 a=r.filter(s=>s.field===e)[0];return a?a.value:i},d=e=>{const i=r.filter(a=>a.field===e)[0];return i?i.operator:null};let n=0,g=-1;const u=L.getVirtualHeaderCellsToRender({cellsToRender:this.$props.cellsToRender||[],columns:this.$props.columns,rowIndex:0,enableVirtualization:this.$props.columnVirtualization}),c=u.columnsToRender.length>0,f=this.$props.columns.filter(e=>e.children.length===0),S=c?u.columnsToRender.map(e=>this.$props.columns[e]).filter(e=>e.children.length===0):f,y=c?u.colSpans:[],T=S.map(function(e,i){const a=F=>{this.setFilter(F.value,F.operator,e.field,F)},s=p.getFilterType(e.filter),b=(e.title||e.field)+" "+p.getAriaLabel(s,t),C=o.createVNode(m.GridFilterCell,{grid:this.$props.grid,field:e.field,title:e.filterTitle,value:l(e.field,s==="text"?"":null),operator:d(e.field),operators:p.operatorMap(this.$props.filterOperators[s]||[],t),booleanValues:p.operatorMap(p.booleanFilterValues,t),filterType:s,onChange:a,render:e.filterCell||this.$props.cellRender,"aria-label":b,size:this.$props.size},null),R=e.declarationIndex>=0?++g:--n,k={ariaLabel:e.filterable?t.toLanguageString(v.filterAriaLabel,v.messages[v.filterAriaLabel]):void 0,ariaColumnIndex:e.ariaColumnIndex},$=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,x=c&&y[i]!==void 0?y[i]:void 0,I=o.createVNode(h.HeaderTdElement,{key:R,role:"gridcell",columnId:h.tableKeyboardNavigationTools.getFilterColumnId(e.id),navigatable:e.navigatable,style:$,class:this.headerCellClassName(e.field,e.locked)||void 0,ariaColumnIndex:k.ariaColumnIndex,"aria-label":b,colSpan:x},z(C)?C:{default:()=>[C]});return e.filterable&&I||o.createVNode(h.HeaderTdElement,{key:R,role:"gridcell",columnId:h.tableKeyboardNavigationTools.getFilterColumnId(e.id),navigatable:e.navigatable,style:$,class:this.headerCellClassName(e.field,e.locked)||void 0,ariaColumnIndex:k.ariaColumnIndex,"aria-label":b,colSpan:x},null)},this);return o.createVNode("tr",{class:"k-table-row k-filter-row","aria-rowindex":this.ariaRowIndex,role:"row"},[T])}});exports.FilterRow=j;
@@ -5,16 +5,17 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- import { defineComponent as I, createVNode as n, inject as $, isVNode as m } from "vue";
9
- import { getFilterType as L, getAriaLabel as j, operatorMap as F, booleanFilterValues as O } from "../filterCommon.mjs";
10
- import { GridFilterCell as R } from "../cells/GridFilterCell.mjs";
11
- import { provideLocalizationService as S } from "@progress/kendo-vue-intl";
12
- import { filterAriaLabel as x, messages as w } from "../messages/main.mjs";
13
- import { HeaderTdElement as v, tableKeyboardNavigationTools as k } from "@progress/kendo-vue-data-tools";
14
- function z(t) {
15
- return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !m(t);
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 $, booleanFilterValues as w } from "../filterCommon.mjs";
10
+ import { GridFilterCell as N } from "../cells/GridFilterCell.mjs";
11
+ import { provideLocalizationService as A } from "@progress/kendo-vue-intl";
12
+ import { filterAriaLabel as v, messages as B } from "../messages/main.mjs";
13
+ import { HeaderTdElement as k, tableKeyboardNavigationTools as y } from "@progress/kendo-vue-data-tools";
14
+ import { getVirtualHeaderCellsToRender as E } from "../utils/virtualColumns.mjs";
15
+ function H(t) {
16
+ return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !j(t);
16
17
  }
17
- const B = /* @__PURE__ */ I({
18
+ const Q = /* @__PURE__ */ z({
18
19
  name: "kendoFilterRow",
19
20
  props: {
20
21
  grid: Object,
@@ -26,6 +27,8 @@ const B = /* @__PURE__ */ I({
26
27
  isRtl: Boolean,
27
28
  ariaRowIndex: Number,
28
29
  size: String,
30
+ cellsToRender: Array,
31
+ columnVirtualization: Boolean,
29
32
  onFilterchange: Function
30
33
  },
31
34
  inject: {
@@ -34,96 +37,104 @@ const B = /* @__PURE__ */ I({
34
37
  }
35
38
  },
36
39
  methods: {
37
- headerCellClassName(t, l) {
38
- let o = l ? " k-grid-header-sticky" : "";
39
- return this.$props.sort && this.$props.sort.filter((s) => s.field === t).length > 0 && (o += " k-sorted"), o;
40
+ headerCellClassName(t, r) {
41
+ let i = r ? " k-grid-header-sticky" : "";
42
+ return this.$props.sort && this.$props.sort.filter((s) => s.field === t).length > 0 && (i += " k-sorted"), i;
40
43
  },
41
- setFilter(t, l, o, s) {
42
- const a = [];
43
- (t !== "" && t !== null || l !== "") && a.push({
44
- field: o,
45
- operator: l,
44
+ setFilter(t, r, i, s) {
45
+ const o = [];
46
+ (t !== "" && t !== null || r !== "") && o.push({
47
+ field: i,
48
+ operator: r,
46
49
  value: t
47
- }), this.$props.filter && this.$props.filter.filters && (this.$props.filter.filters || []).forEach((e) => {
48
- const r = e;
49
- r && r.field !== o && a.push(r);
50
+ }), this.$props.filter && this.$props.filter.filters && (this.$props.filter.filters || []).forEach((d) => {
51
+ const f = d;
52
+ f && f.field !== i && o.push(f);
50
53
  });
51
- const d = a.length > 0 ? {
54
+ const h = o.length > 0 ? {
52
55
  logic: "and",
53
- filters: a
56
+ filters: o
54
57
  } : null;
55
- this.$emit("filterchange", d, s);
58
+ this.$emit("filterchange", h, s);
56
59
  }
57
60
  },
58
61
  setup() {
59
62
  return {
60
- kendoLocalizationService: $("kendoLocalizationService", {})
63
+ kendoLocalizationService: L("kendoLocalizationService", {})
61
64
  };
62
65
  },
63
66
  render() {
64
- const t = S(this), l = this.$props.filter && this.$props.filter.filters || [], o = (e, r = null) => {
65
- const i = l.filter((g) => g.field === e)[0];
66
- return i ? i.value : r;
67
+ const t = A(this), r = this.$props.filter && this.$props.filter.filters || [], i = (e, l = null) => {
68
+ const n = r.filter((a) => a.field === e)[0];
69
+ return n ? n.value : l;
67
70
  }, s = (e) => {
68
- const r = l.filter((i) => i.field === e)[0];
69
- return r ? r.operator : null;
71
+ const l = r.filter((n) => n.field === e)[0];
72
+ return l ? l.operator : null;
70
73
  };
71
- let a = 0, d = -1;
72
- const h = this.$props.columns.filter((e) => e.children.length === 0).map(function(e) {
73
- const r = (c) => {
74
- this.setFilter(c.value, c.operator, e.field, c);
75
- }, i = L(e.filter), f = (e.title || e.field) + " " + j(i, t), p = n(R, {
74
+ let o = 0, h = -1;
75
+ const p = E({
76
+ cellsToRender: this.$props.cellsToRender || [],
77
+ columns: this.$props.columns,
78
+ rowIndex: 0,
79
+ // FilterRow is always a single row
80
+ enableVirtualization: this.$props.columnVirtualization
81
+ }), d = p.columnsToRender.length > 0, f = this.$props.columns.filter((e) => e.children.length === 0), I = d ? p.columnsToRender.map((e) => this.$props.columns[e]).filter((e) => e.children.length === 0) : f, C = d ? p.colSpans : [], S = I.map(function(e, l) {
82
+ const n = (b) => {
83
+ this.setFilter(b.value, b.operator, e.field, b);
84
+ }, a = O(e.filter), u = (e.title || e.field) + " " + V(a, t), g = c(N, {
76
85
  grid: this.$props.grid,
77
86
  field: e.field,
78
87
  title: e.filterTitle,
79
- value: o(e.field, i === "text" ? "" : null),
88
+ value: i(e.field, a === "text" ? "" : null),
80
89
  operator: s(e.field),
81
- operators: F(this.$props.filterOperators[i] || [], t),
82
- booleanValues: F(O, t),
83
- filterType: i,
84
- onChange: r,
90
+ operators: $(this.$props.filterOperators[a] || [], t),
91
+ booleanValues: $(w, t),
92
+ filterType: a,
93
+ onChange: n,
85
94
  render: e.filterCell || this.$props.cellRender,
86
- "aria-label": f,
95
+ "aria-label": u,
87
96
  size: this.$props.size
88
- }, null), b = e.declarationIndex >= 0 ? ++d : --a, u = {
89
- ariaLabel: e.filterable ? t.toLanguageString(x, w[x]) : void 0,
97
+ }, null), m = e.declarationIndex >= 0 ? ++h : --o, F = {
98
+ ariaLabel: e.filterable ? t.toLanguageString(v, B[v]) : void 0,
90
99
  ariaColumnIndex: e.ariaColumnIndex
91
- }, C = e.left !== void 0 ? this.$props.isRtl ? {
100
+ }, x = e.locked && e.left !== void 0 ? this.$props.isRtl ? {
92
101
  left: e.right + "px",
93
102
  right: e.left + "px"
94
103
  } : {
95
104
  left: e.left + "px",
96
105
  right: e.right + "px"
97
- } : {}, y = n(v, {
98
- key: b,
106
+ } : void 0, R = d && C[l] !== void 0 ? C[l] : void 0, T = c(k, {
107
+ key: m,
99
108
  role: "gridcell",
100
- columnId: k.getFilterColumnId(e.id),
109
+ columnId: y.getFilterColumnId(e.id),
101
110
  navigatable: e.navigatable,
102
- style: C,
111
+ style: x,
103
112
  class: this.headerCellClassName(e.field, e.locked) || void 0,
104
- ariaColumnIndex: u.ariaColumnIndex,
105
- "aria-label": f
106
- }, z(p) ? p : {
107
- default: () => [p]
113
+ ariaColumnIndex: F.ariaColumnIndex,
114
+ "aria-label": u,
115
+ colSpan: R
116
+ }, H(g) ? g : {
117
+ default: () => [g]
108
118
  });
109
- return e.filterable && y || n(v, {
110
- key: b,
119
+ return e.filterable && T || c(k, {
120
+ key: m,
111
121
  role: "gridcell",
112
- columnId: k.getFilterColumnId(e.id),
122
+ columnId: y.getFilterColumnId(e.id),
113
123
  navigatable: e.navigatable,
114
- style: C,
124
+ style: x,
115
125
  class: this.headerCellClassName(e.field, e.locked) || void 0,
116
- ariaColumnIndex: u.ariaColumnIndex,
117
- "aria-label": f
126
+ ariaColumnIndex: F.ariaColumnIndex,
127
+ "aria-label": u,
128
+ colSpan: R
118
129
  }, null);
119
130
  }, this);
120
- return n("tr", {
131
+ return c("tr", {
121
132
  class: "k-table-row k-filter-row",
122
133
  "aria-rowindex": this.ariaRowIndex,
123
134
  role: "row"
124
- }, [h]);
135
+ }, [S]);
125
136
  }
126
137
  });
127
138
  export {
128
- B as FilterRow
139
+ Q as FilterRow
129
140
  };
@@ -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 l=require("vue"),D=require("../interfaces/GridSortSettings.js"),N=require("../drag/ColumnResizer.js"),j=require("../drag/ColumnDraggable.js"),w=require("./GridHeaderCell.js"),v=require("../columnMenu/ColumnMenu.js"),u=require("@progress/kendo-vue-common"),x=require("@progress/kendo-vue-data-tools"),o=require("../messages/main.js"),z=require("@progress/kendo-vue-intl"),S=require("@progress/kendo-svg-icons");function k(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!l.isVNode(t)}const H={none:"none",asc:"ascending",desc:"descending"},F={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},q=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,columnsMap:Array,columnResize:Object,columnMenu:[Boolean,String,Function,Object],columnMenuAnimate:{type:[Boolean,Object],default:function(){return!0}},columnMenuIcon:Object,isRtl:Boolean,isColCountDefined:Boolean,columnsInitial:Array,onSortChange:Function,onFilterChange:Function,onSelectionchange:Function,onPressHandler:Function,onDragHandler:Function,onReleaseHandler:Function},inject:{onNavFocus:{default:u.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(t,n){this.$emit("pressHandler",t,n)},dragHandler(t,n){this.$emit("dragHandler",t,n)},releaseHandler(t){this.$emit("releaseHandler",t)},selectionChangeHandler(t){this.$emit("selectionchange",t)},cellClick(t,n){if(t.preventDefault(),!u.hasListener.call(this,"sortChange"))return;const{allowUnsort:f,mode:m}=D.normalize(this.$props.sortable||!1,n.sortable||!1),s=(this.$props.sort||[]).filter(c=>c.field===n.field)[0],i=F[f][s&&s.dir||""],a=m==="single"?[]:(this.$props.sort||[]).filter(c=>c.field!==n.field);i!==""&&n.field&&a.push({field:n.field,dir:i}),this.sortChangeHandler(a,{event:t,field:n.field})},sortChangeHandler(t,n){this.$emit("sortChange",t,n)},filterChangeHandler(t,n){this.$emit("filterChange",t,n)},cellClass(t,n,f){const m=n?" "+n:"";let s="k-header"+(f?" k-grid-header-sticky":"")+m;return this.$props.sort&&this.$props.sort.filter(i=>i.field===t).length>0&&(s+=" k-sorted"),s},cellKeyDown(t,n){t.defaultPrevented||(t.keyCode===u.Keys.enter&&this.cellClick(t,n),t.altKey&&t.keyCode===u.Keys.down&&n.field&&(t.preventDefault(),this.columnMenuOpened={[n.field]:!0}))},getTemplate(t){return u.templateRendering.call(this.$props.grid,t,u.getListeners.call(this.$props.grid))},columnMenuClose(){this.onNavFocus({}),this.columnMenuOpened={}}},computed:{element(){return this._element},theadClasses(){return{"k-table-thead":!0}}},render(t){const n=z.provideLocalizationService(this),f=n.toLanguageString(o.sortableColumnAriaLabel,o.messages[o.sortableColumnAriaLabel]),m=n.toLanguageString(o.sortableColumnAscendingAriaLabel,o.messages[o.sortableColumnAscendingAriaLabel]),s=n.toLanguageString(o.sortableColumnDescendingAriaLabel,o.messages[o.sortableColumnDescendingAriaLabel]);this.serviceIndex=0,this.index=-1;const i=function(a){return a.map(function(c){const e=this.$props.columns[c],g=this.$props.sortable&&e.sortable,C=this.$props.sort?this.$props.sort.findIndex(r=>r.field===e.field):-1,$=C>=0&&this.$props.sort[C].dir||"none",p=function(r){if(!this.$props.sort)return null;const b=r>=0?this.$props.sort[r].dir:"";return r>=0&&[l.createVNode("span",{key:1,class:"k-sort-icon"},[l.createVNode(u.Icon,{name:"sort-"+b+"-small",icon:b==="asc"?S.sortAscSmallIcon:S.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,C),d=e.columnMenu||e.columnMenu===!1?e.columnMenu:this.$props.columnMenu,y=e.menuIcon||this.$props.columnMenuIcon,M=(e.kFirst?"k-first ":"")+this.cellClass(e.field,e.headerClassName,e.locked)+(d?" k-filterable":""),R=!d||typeof d=="boolean"?!!d:this.getTemplate(d),O=e.left!==void 0?this.$props.isRtl?{left:e.right+"px",right:e.left+"px"}:{left:e.left+"px",right:e.right+"px"}:{},I=H[$]==="none"?f:H[$]==="ascending"?m:s;let h=e.isAccessible?{ariaSort:H[$],ariaLabel:I,role:"columnheader",ariaColumnIndex:this.$props.isColCountDefined?this.$props.columnsInitial.findIndex(r=>r.field===e.field)+1:void 0,ariaSelected:!1,ariaHaspopup:d?"menu":this.$props.filterable&&e.filterable?"dialog":void 0}:{role:"columnheader"};const V=e.declarationIndex>=0?++this.index:--this.serviceIndex,L=e.columnMenuOpened!==void 0?e.columnMenuOpened:this.columnMenuOpened[e.field];return l.createVNode(x.HeaderThElement,{ariaSort:g?h.ariaSort:void 0,ariaLabel:g?h.ariaLabel:void 0,role:h.role,ariaColumnIndex:h.ariaColumnIndex,ariaSelected:h.ariaSelected,ariaHaspopup:h.ariaHaspopup,key:V,colSpan:e.headerColSpan,rowSpan:e.rowSpan,class:M,style:O,columnId:e.id,navigatable:e.navigatable,onKeydown:r=>this.cellKeyDown(r,e)},{default:()=>[[e.children.length===0&&d&&l.createVNode(v.ColumnMenu,{key:0,column:{field:e.field,filter:e.filter},opened:L,animate:this.$props.columnMenuAnimate,sortable:g,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:R,columnMenuIcon:y},null),e.internalHeaderCell&&l.createVNode("span",{class:"k-cell-inner"},[l.createVNode(e.internalHeaderCell,{key:1,field:e.field,sortable:g,onHeadercellclick:r=>this.cellClick(r,e),onSelectionchange:this.selectionChangeHandler,selectionValue:e.headerSelectionValue,title:e.title,render:(e.headerCell||this.$props.cellRender)&&this.getTemplate(e.headerCell||this.$props.cellRender)},k(p)?p:{default:()=>[p]})])||l.createVNode("span",{class:"k-cell-inner"},[l.createVNode(w.GridHeaderCell,{key:1,field:e.field,sortable:g,onHeadercellclick:r=>this.cellClick(r,e),selectionValue:e.headerSelectionValue,title:e.title,render:(e.headerCell||this.$props.cellRender)&&this.getTemplate(e.headerCell||this.$props.cellRender)},k(p)?p:{default:()=>[p]})]),this.$props.columnResize&&this.$props.columnResize.resizable&&e.resizable&&l.createVNode(N.ColumnResizer,{key:2,onResize:(r,b,A)=>this.$props.columnResize&&this.$props.columnResize.dragHandler(r,e,b,A)},null)]]})},this)};return l.createVNode("thead",{role:"rowgroup",class:this.theadClasses,"data-keyboardnavheader":!0},[this.$props.columnsMap.map(function(a,c){let e;return(this.$props.groupable||this.$props.reorderable)&&l.createVNode(j.ColumnDraggable,{key:c,onPressHandler:this.pressHandler,onDragHandler:this.dragHandler,onReleaseHandler:this.releaseHandler},k(e=i.call(this,a))?e:{default:()=>[e]})||l.createVNode("tr",{class:"k-table-row",role:"row","aria-rowindex":this.columnsMap.length},[i.call(this,a)])},this),this.$props.filterRow])}});exports.HeaderRow=q;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),x=require("../interfaces/GridSortSettings.js"),B=require("../drag/ColumnResizer.js"),K=require("../drag/ColumnDraggable.js"),P=require("./GridHeaderCell.js"),_=require("../columnMenu/ColumnMenu.js"),d=require("@progress/kendo-vue-common"),G=require("@progress/kendo-vue-data-tools"),o=require("../messages/main.js"),E=require("@progress/kendo-vue-intl"),V=require("@progress/kendo-svg-icons"),U=require("../utils/virtualColumns.js");function H(n){return typeof n=="function"||Object.prototype.toString.call(n)==="[object Object]"&&!r.isVNode(n)}const R={none:"none",asc:"ascending",desc:"descending"},J={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},Q=r.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,columnsInitial:Array,onSortChange:Function,onFilterChange:Function,onSelectionchange:Function,onPressHandler:Function,onDragHandler:Function,onReleaseHandler:Function},inject:{onNavFocus:{default:d.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(),!d.hasListener.call(this,"sortChange"))return;const{allowUnsort:f,mode:m}=x.normalize(this.$props.sortable||!1,t.sortable||!1),i=(this.$props.sort||[]).filter(s=>s.field===t.field)[0],u=J[f][i&&i.dir||""],g=m==="single"?[]:(this.$props.sort||[]).filter(s=>s.field!==t.field);u!==""&&t.field&&g.push({field:t.field,dir:u}),this.sortChangeHandler(g,{event:n,field:t.field})},sortChangeHandler(n,t){this.$emit("sortChange",n,t)},filterChangeHandler(n,t){this.$emit("filterChange",n,t)},cellClass(n,t,f){const m=t?" "+t:"";let i="k-header"+(f?" k-grid-header-sticky":"")+m;return this.$props.sort&&this.$props.sort.filter(u=>u.field===n).length>0&&(i+=" k-sorted"),i},cellKeyDown(n,t){n.defaultPrevented||(n.keyCode===d.Keys.enter&&this.cellClick(n,t),n.altKey&&n.keyCode===d.Keys.down&&t.field&&(n.preventDefault(),this.columnMenuOpened={[t.field]:!0}))},getTemplate(n){return d.templateRendering.call(this.$props.grid,n,d.getListeners.call(this.$props.grid))},columnMenuClose(){this.onNavFocus({}),this.columnMenuOpened={}}},computed:{element(){return this._element},theadClasses(){return{"k-table-thead":!0}}},render(){const n=E.provideLocalizationService(this),t=n.toLanguageString(o.sortableColumnAriaLabel,o.messages[o.sortableColumnAriaLabel]),f=n.toLanguageString(o.sortableColumnAscendingAriaLabel,o.messages[o.sortableColumnAscendingAriaLabel]),m=n.toLanguageString(o.sortableColumnDescendingAriaLabel,o.messages[o.sortableColumnDescendingAriaLabel]);this.serviceIndex=0,this.index=-1;const i=this.$props.columnsMap&&this.$props.columnsMap.length===1,u=this.$props.columnVirtualization&&i,g=function(s,b){const a=U.getVirtualHeaderCellsToRender({cellsToRender:this.$props.cellsToRender||[],columns:this.$props.columns,rowIndex:b,enableVirtualization:u}),y=a.columnsToRender.length>0,O=y?a.columnsToRender:s,I=y?a.colSpans:[];return O.map(function(L,A){var M;const e=this.$props.columns[L],C=this.$props.sortable&&e.sortable,k=this.$props.sort?this.$props.sort.findIndex(l=>l.field===e.field):-1,S=k>=0&&this.$props.sort[k].dir||"none",p=function(l){if(!this.$props.sort)return null;const $=l>=0?this.$props.sort[l].dir:"";return l>=0&&[r.createVNode("span",{key:1,class:"k-sort-icon"},[r.createVNode(d.Icon,{name:"sort-"+$+"-small",icon:$==="asc"?V.sortAscSmallIcon:V.sortDescSmallIcon},null)]),this.$props.sort.length>1&&r.createVNode("span",{key:2,class:"k-sort-icon"},[r.createVNode("span",{class:"k-sort-order"},[l+1])])]}.call(this,k),c=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)+(c?" k-filterable":""),N=!c||typeof c=="boolean"?!!c:this.getTemplate(c),v=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,w=R[S]==="none"?t:R[S]==="ascending"?f:m;let h=e.isAccessible?{ariaSort:R[S],ariaLabel:w,role:"columnheader",ariaColumnIndex:this.$props.isColCountDefined?this.$props.columnsInitial.findIndex(l=>l.field===e.field)+1:void 0,ariaSelected:!1,ariaHaspopup:c?"menu":this.$props.filterable&&e.filterable?"dialog":void 0}:{role:"columnheader"};const j=e.declarationIndex>=0?++this.index:--this.serviceIndex,F=e.columnMenuOpened!==void 0?e.columnMenuOpened:this.columnMenuOpened[e.field],T=(M=I[A])!=null?M:e.headerColSpan;return r.createVNode(G.HeaderThElement,{ariaSort:C?h.ariaSort:void 0,ariaLabel:C?h.ariaLabel:void 0,role:h.role,ariaColumnIndex:h.ariaColumnIndex,ariaSelected:h.ariaSelected,ariaHaspopup:h.ariaHaspopup,key:j,colSpan:T,rowSpan:e.rowSpan,class:D,style:v,columnId:e.id,navigatable:e.navigatable,onKeydown:l=>this.cellKeyDown(l,e)},{default:()=>[[e.children.length===0&&c&&r.createVNode(_.ColumnMenu,{key:0,column:{field:e.field,filter:e.filter},opened:F,animate:this.$props.columnMenuAnimate,sortable:C,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&&r.createVNode("span",{class:"k-cell-inner"},[r.createVNode(e.internalHeaderCell,{key:1,field:e.field,sortable:C,onHeadercellclick:l=>this.cellClick(l,e),onSelectionchange:this.selectionChangeHandler,selectionValue:e.headerSelectionValue,title:e.title,render:(e.headerCell||this.$props.cellRender)&&this.getTemplate(e.headerCell||this.$props.cellRender)},H(p)?p:{default:()=>[p]})])||r.createVNode("span",{class:"k-cell-inner"},[r.createVNode(P.GridHeaderCell,{key:1,field:e.field,sortable:C,onHeadercellclick:l=>this.cellClick(l,e),selectionValue:e.headerSelectionValue,title:e.title,render:(e.headerCell||this.$props.cellRender)&&this.getTemplate(e.headerCell||this.$props.cellRender)},H(p)?p:{default:()=>[p]})]),this.$props.columnResize&&this.$props.columnResize.resizable&&e.resizable&&r.createVNode(B.ColumnResizer,{key:2,onResize:(l,$,q)=>this.$props.columnResize&&this.$props.columnResize.dragHandler(l,e,$,q)},null)]]})},this)};return r.createVNode("thead",{role:"rowgroup",class:this.theadClasses,"data-keyboardnavheader":!0},[this.$props.columnsMap.map(function(s,b){let a;return(this.$props.groupable||this.$props.reorderable)&&r.createVNode(K.ColumnDraggable,{key:b,onPressHandler:this.pressHandler,onDragHandler:this.dragHandler,onReleaseHandler:this.releaseHandler},H(a=g.call(this,s,b))?a:{default:()=>[a]})||r.createVNode("tr",{class:"k-table-row",role:"row","aria-rowindex":this.columnsMap.length},[g.call(this,s,b)])},this),this.$props.filterRow])}});exports.HeaderRow=Q;